210 likes | 540 Views
Operating System Concepts 8 th Edition. Chapter 2. System Structures Gan Lin, OSLab . GNU. Contents. 2.1 Operating-System Services 2.2 User Operating-System Interface 2.3 System Calls 2.4 Types of System Calls 2.5 System Programs 2.6 Operating-System Design and Implementation
E N D
Operating System Concepts 8th Edition Chapter 2. System Structures Gan Lin, OSLab. GNU
Contents • 2.1 Operating-System Services • 2.2 User Operating-System Interface • 2.3 System Calls • 2.4 Types of System Calls • 2.5 System Programs • 2.6 Operating-System Design and Implementation • 2.7 Operating-System Structure • 2.8 Virtual Machines • 2.9 Operating-System Debugging • 2.10 Operating-System Generation • 2.11 System Boot • 2.12 Summary - Ch.2 System Structures -
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 customized and how they boot. - Ch.2 System Structures -
2.1 Operating-System Services user and other system programs Fig. 2.1 A view of operating system services GUI batch command line user interface system calls program execution I/O operations file systems communication resource allocation accounting error detection protection & security services operating system hardware - Ch.2 System Structures -
2.2 User Operating-System Interface • Command Interpreter • Graphical User Interfaces - Ch.2 System Structures -
2.3 System Calls Example System Call Sequence Acquire input file name Write prompt to screen Accept input Acquire output file name Write prompt to screen Accept input Open the input file if file doesn't exits, abort Create out file if file exits, abort Loop Read from input file Write to output file Until read fails Close output file Write completion message to screen Terminate normally Fig. 2.2 Example of how system calls are used source file destination file - Ch.2 System Structures -
2.3 System Calls • API(Application Programming Interface) - Win32 API, POSIX API, and Java API return value BOOL ReadFile c (HANDLE file, LPVOID buffer, DWORD bytes To Read, LPDWORD bytes Read, LPOVERLAPPED ovl); parameters function name Fig. 2.3 The API for the ReadFile() function - Ch.2 System Structures -
2.3 System Calls • System-call interface user application open() user mode system call interface kernel mode open() Implementationof open() system call … … return . . . i . . Fig.2.4 The handling of a user application invoking the open() system call - Ch.2 System Structures -
2.4 Types of System Calls - Ch.2 System Structures -
2.5 System Programs • File management -create, delete, copy, rename, print, dump, list, and generally manipulate files and directories • Status information -ask data, time, memory, disk, and user and such information • File modification -create, modify and search the contents of the files - Ch.2 System Structures -
2.5 System Programs • File management -create, delete, copy, rename, print, dump, list, and generally manipulate files and directories • Status information -ask data, time, memory, disk, and user and such information • File modification -create, modify and search the contents of the files - Ch.2 System Structures -
2.5 System Programs • Programming-language support -compilers, assemblers, debuggers and interpreters • Program loading and execution -absolute loaders, relocatable loaders, linkage editors and overlay loaders • Communications -create virtual connections among processes, users, and computer systems. - Ch.2 System Structures -
2.6 Operating-System Design and Implementation • Design Goals • Mechanisms and Policies • Implementation - Ch.2 System Structures -
2.7 Operating-System Structure • Simple Structure Application program Resident system program MS-DOS device drivers Application program Fig. 2.5 MS-DOS layer structure - Ch.2 System Structures -
2.7 Operating-System Structure • Layered Approach layer N user interface layer 1 layer 0 hardware Fig. 2.6 A layered operating system - Ch.2 System Structures -
2.7 Operating-System Structure • Microkernels -Mach: remove all nonessential components from the kernel and implement them as system and user-level programs. -provide a communication facility between the client program and the various services that are also running in user space. -easy to extend the operating system - Ch.2 System Structures -
2.7 Operating-System Structure • Modules scheduling classes device and bus drivers file systems Core Solaris kernel miscellaneous modules loadable system call STREAMS modules executable formats Fig. 2.7 Solaris loadable modules - Ch.2 System Structures -
2.10 Operating-System Generation • An operating system is designed to run on any of a class of machines at a variety of sites with a variety of peripheral configurations. • SYSGEN(system generation) -reads from a given file, or ask for information. - Ch.2 System Structures -
2.11 System Boot • Bootstrap program/loader -a small piece of code which locates the kernel and loads it into main memory, and starts its execution. 1.Powered up 2.IR load a predefined location 3.Bootstrap perform a variety of tasks(diagnostics) 4.Start the operating system - Ch.2 System Structures -