swe305 uniti p2
TRANSCRIPT
-
7/28/2019 Swe305 Uniti p2
1/20
-
7/28/2019 Swe305 Uniti p2
2/20
-
7/28/2019 Swe305 Uniti p2
3/20
2.3 Silberschatz, Galvin and Gagne 2005Operating System Principles
Objectives
To describe the services an operating system provides to users,processes, and other systems
To discuss the various ways of structuring an operating system
To explain how operating systems are installed and customizedand how they boot
-
7/28/2019 Swe305 Uniti p2
4/20
2.4 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System Services
One set of operating-system services provides functions that arehelpful to the user:
User interface - Almost all operating systems have a user interface (UI)
Varies between Command-Line (CLI), Graphics User Interface(GUI), Batch
Program execution - The system must be able to load a program intomemory and to run that program, end execution, either normally orabnormally (indicating error)
I/O operations - A running program may require I/O, which may involvea file or an I/O device.
File-system manipulation - The file system is of particular interest.Obviously, programs need to read and write files and directories, createand delete them, search them, list file Information, permissionmanagement.
-
7/28/2019 Swe305 Uniti p2
5/20
2.5 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System Services (Cont.)
One set of operating-system services provides functions that arehelpful to the user (Cont):
Communications Processes may exchange information, on the samecomputer or between computers over a network
Communications may be via shared memory or through messagepassing (packets moved by the OS)
Error detection OS needs to be constantly aware of possible errors
May occur in the CPU and memory hardware, in I/O devices, in userprogram
For each type of error, OS should take the appropriate action to
ensure correct and consistent computing Debugging facilities can greatly enhance the users and
programmers abilities to efficiently use the system
-
7/28/2019 Swe305 Uniti p2
6/20
2.6 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System Services (Cont.)
Another set of OS functions exists for ensuring the efficient operation of thesystem itself via resource sharing
Resource allocation - When multiple users or multiple jobs runningconcurrently, resources must be allocated to each of them
Many types of resources - Some (such as CPU cycles,mainmemory,and file storage) may have special allocation code, others (such as I/Odevices) may have general request and release code.
Accounting - To keep track of which users use how much and what kindsof computer resources
Protection and security - The owners of information stored in a multiuseror networked computer system may want to control use of that information,concurrent processes should not interfere with each other
Protection involves ensuring that all access to system resources is
controlled Security of the system from outsiders requires user authentication,
extends to defending external I/O devices from invalid access attempts
If a system is to be protected and secure, precautions must beinstituted throughout it. A chain is only as strong as its weakest link.
-
7/28/2019 Swe305 Uniti p2
7/202.7 Silberschatz, Galvin and Gagne 2005Operating System Principles
System Calls
Programming interface to the services provided by the OS
Typically written in a high-level language (C or C++)
Mostly accessed by programs via a high-level ApplicationProgram Interface (API) rather than direct system call use
Three most common APIs are Win32 API for Windows, POSIX API
for POSIX-based systems (including virtually all versions of UNIX,Linux, and Mac OS X), and Java API for the Java virtual machine(JVM)
-
7/28/2019 Swe305 Uniti p2
8/202.8 Silberschatz, Galvin and Gagne 2005Operating System Principles
Example of System Calls
System call sequence to copy the contents of one file to anotherfile
-
7/28/2019 Swe305 Uniti p2
9/202.9 Silberschatz, Galvin and Gagne 2005Operating System Principles
Example of Standard API
Consider the ReadFile() function in the
Win32 APIa function for reading from a file
A description of the parameters passed to ReadFile()
HANDLE filethe file to be read
LPVOID buffera buffer where the data will be read into and writtenfrom
DWORD bytesToReadthe number of bytes to be read into the buffer
LPDWORD bytesReadthe number of bytes read during the last read
LPOVERLAPPED ovlindicates if overlapped I/O is being used
-
7/28/2019 Swe305 Uniti p2
10/202.10 Silberschatz, Galvin and Gagne 2005Operating System Principles
System Call Implementation
Typically, a number associated with each system call
System-call interface maintains a table indexed according tothese numbers
The system call interface invokes intended system call in OS kerneland returns status of the system call and any return values
The caller need know nothing about how the system call isimplemented
Just needs to obey API and understand what OS will do as aresult call
Most details of OS interface hidden from programmer by API
Managed by run-time support library (set of functions builtinto libraries included with compiler)
-
7/28/2019 Swe305 Uniti p2
11/202.11 Silberschatz, Galvin and Gagne 2005Operating System Principles
API System Call OS Relationship
-
7/28/2019 Swe305 Uniti p2
12/202.12 Silberschatz, Galvin and Gagne 2005Operating System Principles
Standard C Library Example
C program invoking printf() library call, which calls write() system call
-
7/28/2019 Swe305 Uniti p2
13/202.13 Silberschatz, Galvin and Gagne 2005Operating System Principles
OS Structures
Simple Structure
Layered Structure
-
7/28/2019 Swe305 Uniti p2
14/202.14 Silberschatz, Galvin and Gagne 2005Operating System Principles
Simple Structure
MS-DOS written to provide the most functionality in the leastspace
Not divided into modules
Although MS-DOS has some structure, its interfaces and levelsof functionality are not well separated
-
7/28/2019 Swe305 Uniti p2
15/202.15 Silberschatz, Galvin and Gagne 2005Operating System Principles
MS-DOS Layer Structure
-
7/28/2019 Swe305 Uniti p2
16/202.16 Silberschatz, Galvin and Gagne 2005Operating System Principles
Layered Approach
The operating system is divided into a number of layers (levels),each built on top of lower layers. The bottom layer (layer 0), is thehardware; the highest (layer N) is the user interface.
With modularity, layers are selected such that each uses functions(operations) and services of only lower-level layers
-
7/28/2019 Swe305 Uniti p2
17/202.17 Silberschatz, Galvin and Gagne 2005Operating System Principles
Layered Operating System
-
7/28/2019 Swe305 Uniti p2
18/202.18 Silberschatz, Galvin and Gagne 2005Operating System Principles
UNIX
UNIX limited by hardware functionality, the original UNIX operatingsystem had limited structuring. The UNIX OS consists of twoseparable parts
Systems programs
The kernel
Consists of everything below the system-call interface andabove the physical hardware
Provides the file system, CPU scheduling, memorymanagement, and other operating-system functions; a largenumber of functions for one level
-
7/28/2019 Swe305 Uniti p2
19/202.19 Silberschatz, Galvin and Gagne 2005Operating System Principles
UNIX System Structure
-
7/28/2019 Swe305 Uniti p2
20/20
End of Unit I