8/3/2019 OS-Unit I-part 2
1/20
Unit I: Fundamentals (part2)Unit I: Fundamentals (part2)
8/3/2019 OS-Unit I-part 2
2/20
2.2 Silberschatz, Galvin and Gagne 2005Operating System Principles
s
Operating System Servicess System Calls
s Types of System Calls
s Operating System Design and Implementation
s Operating System Structure
8/3/2019 OS-Unit I-part 2
3/20
2.3 Silberschatz, Galvin and Gagne 2005Operating System Principles
ObjectivesObjectives
s
To describe the services an operating system provides to users,processes, and other systems
s To discuss the various ways of structuring an operating system
s To explain how operating systems are installed and customizedand how they boot
8/3/2019 OS-Unit I-part 2
4/20
2.4 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System ServicesOperating System Services
s One set of operating-system services provides functions that arehelpful to the user:
q User interface - Almost all operating systems have a user interface (UI)
Varies between Command-Line (CLI), Graphics User Interface(GUI), Batch
q Program execution - The system must be able to load a program intomemory and to run that program, end execution, either normally orabnormally (indicating error)
q I/O operations - A running program may require I/O, which may involvea file or an I/O device.
q
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.
8/3/2019 OS-Unit I-part 2
5/20
2.5 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System Services (Cont.)Operating System Services (Cont.)
s One set of operating-system services provides functions that arehelpful to the user (Cont):
q 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)
q 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
8/3/2019 OS-Unit I-part 2
6/20
2.6 Silberschatz, Galvin and Gagne 2005Operating System Principles
Operating System Services (Cont.)Operating System Services (Cont.)
s Another set of OS functions exists for ensuring the efficient operation of the system itself
via resource sharing
q Resource allocation - When multiple users or multiple jobs running concurrently,resources must be allocated to each of them
Many types of resources - Some (such as CPU cycles,mainmemory, and filestorage) may have special allocation code, others (such as I/O devices) mayhave general request and release code.
q Accounting - To keep track of which users use how much and what kinds ofcomputer resources
q Protection and security - The owners of information stored in a multiuser ornetworked computer system may want to control use of that information, concurrentprocesses 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 todefending external I/O devices from invalid access attempts
If a system is to be protected and secure, precautions must be institutedthroughout it. A chain is only as strong as its weakest link.
8/3/2019 OS-Unit I-part 2
7/202.7 Silberschatz, Galvin and Gagne 2005Operating System Principles
System CallsSystem Calls
s Programming interface to the services provided by the OS
s Typically written in a high-level language (C or C++)
s Mostly accessed by programs via a high-level ApplicationProgram Interface (API) rather than direct system call use
s 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)
8/3/2019 OS-Unit I-part 2
8/202.8 Silberschatz, Galvin and Gagne 2005Operating System Principles
Example of System CallsExample of System Calls
s System call sequence to copy the contents of one file to another file
8/3/2019 OS-Unit I-part 2
9/202.9 Silberschatz, Galvin and Gagne 2005Operating System Principles
Example of Standard APIExample of Standard API
s Consider the ReadFile() function in the
s Win32 APIa function for reading from a file
s A description of the parameters passed to ReadFile()
q HANDLE filethe file to be read
q LPVOID buffera buffer where the data will be read into and written from
q DWORD bytesToReadthe number of bytes to be read into the bufferq LPDWORD bytesReadthe number of bytes read during the last read
q LPOVERLAPPED ovlindicates if overlapped I/O is being used
8/3/2019 OS-Unit I-part 2
10/202.10 Silberschatz, Galvin and Gagne 2005Operating System Principles
System Call ImplementationSystem Call Implementation
s Typically, a number associated with each system call
q System-call interface maintains a table indexed according tothese numbers
s The system call interface invokes intended system call in OS kerneland returns status of the system call and any return values
s
The caller need know nothing about how the system call isimplemented
q Just needs to obey API and understand what OS will do as aresult call
q Most details of OS interface hidden from programmer by API
Managed by run-time support library (set of functions builtinto libraries included with compiler)
8/3/2019 OS-Unit I-part 2
11/202.11 Silberschatz, Galvin and Gagne 2005Operating System Principles
API System Call OS RelationshipAPI System Call OS Relationship
8/3/2019 OS-Unit I-part 2
12/202.12 Silberschatz, Galvin and Gagne 2005Operating System Principles
Standard C Library ExampleStandard C Library Example
s
C program invoking printf() library call, which calls write() system call
8/3/2019 OS-Unit I-part 2
13/202.13 Silberschatz, Galvin and Gagne 2005Operating System Principles
OS StructuresOS Structures
s Simple Structure
s Layered Structure
8/3/2019 OS-Unit I-part 2
14/202.14 Silberschatz, Galvin and Gagne 2005Operating System Principles
Simple StructureSimple Structure
s MS-DOS written to provide the most functionality in the leastspace
q Not divided into modules
q Although MS-DOS has some structure, its interfaces and levelsof functionality are not well separated
8/3/2019 OS-Unit I-part 2
15/202.15 Silberschatz, Galvin and Gagne 2005Operating System Principles
MS-DOS Layer StructureMS-DOS Layer Structure
8/3/2019 OS-Unit I-part 2
16/202.16 Silberschatz, Galvin and Gagne 2005Operating System Principles
Layered ApproachLayered Approach
s 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.
s With modularity, layers are selected such that each uses functions(operations) and services of only lower-level layers
8/3/2019 OS-Unit I-part 2
17/202.17 Silberschatz, Galvin and Gagne 2005Operating System Principles
Layered Operating SystemLayered Operating System
8/3/2019 OS-Unit I-part 2
18/202.18 Silberschatz, Galvin and Gagne 2005Operating System Principles
UNIXUNIX
s UNIX limited by hardware functionality, the original UNIX operatingsystem had limited structuring. The UNIX OS consists of twoseparable parts
q Systems programs
q 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
8/3/2019 OS-Unit I-part 2
19/202.19 Silberschatz, Galvin and Gagne 2005Operating System Principles
UNIX System StructureUNIX System Structure
8/3/2019 OS-Unit I-part 2
20/20
End of Unit IEnd of Unit I
Top Related