![Page 1: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/1.jpg)
Silberschatz, Galvin and Gagne 20023.1Operating System Concepts
Chapter 3: Operating-System Structures
� System Components� Operating System Services� System Calls
✦ POSIX� System Programs� System Structure� Virtual Machines� System Design and Implementation� System Generation
![Page 2: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/2.jpg)
Silberschatz, Galvin and Gagne 20023.2Operating System Concepts
Common System Components
� Process Management� Main Memory Management� File Management� I/O System Management� Secondary Storage Management� Networking� Protection System� Command-Interpreter System
![Page 3: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/3.jpg)
Silberschatz, Galvin and Gagne 20023.3Operating System Concepts
Process Management
� A process is a program in execution. A process needscertain resources, including CPU time, memory, files, andI/O devices, to accomplish its task.
� The operating system is responsible for the followingactivities in connection with process management.
✦ Process creation and deletion.✦ process suspension and resumption.✦ Provision of mechanisms for:
✔ process synchronization✔ process communication
![Page 4: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/4.jpg)
Silberschatz, Galvin and Gagne 20023.4Operating System Concepts
Main-Memory Management
� Memory is a large array of words or bytes, each with itsown address. It is a repository of quickly accessible datashared by the CPU and I/O devices.
� Main memory is a volatile storage device. It loses itscontents in the case of system failure.
� The operating system is responsible for the followingactivities in connections with memory management:
✦ Keep track of which parts of memory are currently beingused and by whom.
✦ Decide which processes to load when memory spacebecomes available.
✦ Allocate and deallocate memory space as needed.
![Page 5: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/5.jpg)
Silberschatz, Galvin and Gagne 20023.5Operating System Concepts
File Management
� A file is a collection of related information defined by itscreator. Commonly, files represent programs (bothsource and object forms) and data.
� The operating system is responsible for the followingactivities in connections with file management:
✦ File creation and deletion.✦ Directory creation and deletion.✦ Support of primitives for manipulating files and directories.✦ Mapping files onto secondary storage.✦ File backup on stable (nonvolatile) storage media.
![Page 6: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/6.jpg)
Silberschatz, Galvin and Gagne 20023.6Operating System Concepts
I/O System Management
� The I/O system consists of:✦ A buffer-caching system✦ A general device-driver interface✦ Drivers for specific hardware devices
![Page 7: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/7.jpg)
Silberschatz, Galvin and Gagne 20023.7Operating System Concepts
Secondary-Storage Management
� Since main memory (primary storage) is volatile and toosmall to accommodate all data and programspermanently, the computer system must providesecondary storage to back up main memory.
� Most modern computer systems use disks as theprinciple on-line storage medium, for both programs anddata.
� The operating system is responsible for the followingactivities in connection with disk management:✦ Free space management✦ Storage allocation✦ Disk scheduling
![Page 8: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/8.jpg)
Silberschatz, Galvin and Gagne 20023.8Operating System Concepts
Networking (Distributed Systems)
� A distributed system is a collection processors that do notshare memory or a clock. Each processor has its ownlocal memory.
� The processors in the system are connected through acommunication network.
� Communication takes place using a protocol.� A distributed system provides user access to various
system resources.� Access to a shared resource allows:
✦ Computation speed-up✦ Increased data availability✦ Enhanced reliability
![Page 9: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/9.jpg)
Silberschatz, Galvin and Gagne 20023.9Operating System Concepts
Protection System
� Protection refers to a mechanism for controlling accessby programs, processes, or users to both system anduser resources.
� The protection mechanism must:✦ distinguish between authorized and unauthorized usage.✦ specify the controls to be imposed.✦ provide a means of enforcement.
![Page 10: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/10.jpg)
Silberschatz, Galvin and Gagne 20023.10Operating System Concepts
Command-Interpreter System
� Many commands are given to the operating system bycontrol statements which deal with:
✦ process creation and management✦ I/O handling✦ secondary-storage management✦ main-memory management✦ file-system access✦ protection✦ networking
![Page 11: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/11.jpg)
Silberschatz, Galvin and Gagne 20023.11Operating System Concepts
Command-Interpreter System (Cont.)
� The program that reads and interprets control statementsis called variously:
✦ command-line interpreter✦ shell (in UNIX)
Its function is to get and execute the next commandstatement.
![Page 12: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/12.jpg)
Silberschatz, Galvin and Gagne 20023.12Operating System Concepts
Operating System Services
� Program execution – system capability to load a program intomemory and to run it.
� I/O operations – since user programs cannot execute I/Ooperations directly, the operating system must provide somemeans to perform I/O.
� File-system manipulation – program capability to read, write,create, and delete files.
� Communications – exchange of information between processesexecuting either on the same computer or on different systemstied together by a network. Implemented via shared memory ormessage passing.
� Error detection – ensure correct computing by detecting errorsin the CPU and memory hardware, in I/O devices, or in userprograms.
![Page 13: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/13.jpg)
Silberschatz, Galvin and Gagne 20023.13Operating System Concepts
Additional Operating System Functions
Additional functions exist not for helping the user, but ratherfor ensuring efficient system operations.
• Resource allocation – allocating resources to multiple usersor multiple jobs running at the same time.
• Accounting – keep track of and record which users use howmuch and what kinds of computer resources for accountbilling or for accumulating usage statistics.
• Protection – ensuring that all access to system resources iscontrolled.
![Page 14: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/14.jpg)
Silberschatz, Galvin and Gagne 20023.14Operating System Concepts
System Calls� System calls provide the interface between a running program
and the operating system.✦ Generally available as assembly-language instructions.✦ Languages defined to replace assembly language for systems
programming allow system calls to be made directly (e.g., C, C++)� Three general methods are used to pass parameters between a
running program and the operating system.✦ Pass parameters in registers.✦ Store the parameters in a table in memory, and the table address
is passed as a parameter in a register.✦ Push (store) the parameters onto the stack by the program, and
pop off the stack by operating system.� In Unix there is a C typedef accessible by
» #include<sys/types.h>✦ that define parameter passing structures such as pid_t for process
ID type.
![Page 15: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/15.jpg)
Silberschatz, Galvin and Gagne 20023.15Operating System Concepts
Passing of Parameters As A Table
![Page 16: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/16.jpg)
Silberschatz, Galvin and Gagne 20023.16Operating System Concepts
Types of System Calls
� Process control� File management� Device management� Information maintenance� Communications
![Page 17: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/17.jpg)
Silberschatz, Galvin and Gagne 20023.17Operating System Concepts
MS-DOS Execution
At System Start-up Running a Program
![Page 18: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/18.jpg)
Silberschatz, Galvin and Gagne 20023.18Operating System Concepts
UNIX Running Multiple Programs
![Page 19: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/19.jpg)
Silberschatz, Galvin and Gagne 20023.19Operating System Concepts
System Calls versus Library Calls
![Page 20: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/20.jpg)
Silberschatz, Galvin and Gagne 20023.20Operating System Concepts
Posix Process Control System Calls: Getpid
![Page 21: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/21.jpg)
Silberschatz, Galvin and Gagne 20023.21Operating System Concepts
Posix Process Control System Calls: getpid
![Page 22: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/22.jpg)
Silberschatz, Galvin and Gagne 20023.22Operating System Concepts
Process Control System Calls: Fork
![Page 23: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/23.jpg)
Silberschatz, Galvin and Gagne 20023.23Operating System Concepts
Fork Example
![Page 24: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/24.jpg)
Silberschatz, Galvin and Gagne 20023.24Operating System Concepts
Fork example: output
![Page 25: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/25.jpg)
Silberschatz, Galvin and Gagne 20023.25Operating System Concepts
FileSyscalls:
Open
![Page 26: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/26.jpg)
Silberschatz, Galvin and Gagne 20023.26Operating System Concepts
File Syscall: Write
![Page 27: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/27.jpg)
Silberschatz, Galvin and Gagne 20023.27Operating System Concepts
File Syscall: Read
![Page 28: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/28.jpg)
Silberschatz, Galvin and Gagne 20023.28Operating System Concepts
File Syscall: Lseek
![Page 29: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/29.jpg)
Silberschatz, Galvin and Gagne 20023.29Operating System Concepts
File Syscall: Close
![Page 30: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/30.jpg)
Silberschatz, Galvin and Gagne 20023.30Operating System Concepts
File System Calls: Example
![Page 31: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/31.jpg)
Silberschatz, Galvin and Gagne 20023.31Operating System Concepts
File Syscalls example (cont.)
![Page 32: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/32.jpg)
Silberschatz, Galvin and Gagne 20023.32Operating System Concepts
File System Call example: output
![Page 33: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/33.jpg)
Silberschatz, Galvin and Gagne 20023.33Operating System Concepts
More File System Calls
![Page 34: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/34.jpg)
Silberschatz, Galvin and Gagne 20023.34Operating System Concepts
![Page 35: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/35.jpg)
Silberschatz, Galvin and Gagne 20023.35Operating System Concepts
Communication Models
Msg Passing Shared Memory
� Communication may take place using either messagepassing or shared memory.
![Page 36: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/36.jpg)
Silberschatz, Galvin and Gagne 20023.36Operating System Concepts
System Programs
� System programs provide a convenient environment forprogram development and execution. The can be dividedinto:
✦ File manipulation✦ Status information✦ File modification✦ Programming language support✦ Program loading and execution✦ Communications✦ Application programs
� Most users’ view of the operation system is defined bysystem programs, not the actual system calls.
![Page 37: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/37.jpg)
Silberschatz, Galvin and Gagne 20023.37Operating System Concepts
MS-DOS System Structure
� MS-DOS – written to provide the most functionality in theleast space
✦ not divided into modules✦ Although MS-DOS has some structure, its interfaces and
levels of functionality are not well separated
![Page 38: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/38.jpg)
Silberschatz, Galvin and Gagne 20023.38Operating System Concepts
MS-DOS Layer Structure
![Page 39: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/39.jpg)
Silberschatz, Galvin and Gagne 20023.39Operating System Concepts
UNIX System Structure
� UNIX – limited by hardware functionality, the originalUNIX operating system had limited structuring. The UNIXOS consists of two separable parts.
✦ Systems programs✦ The kernel
✔ Consists of everything below the system-call interfaceand above the physical hardware
✔ Provides the file system, CPU scheduling, memorymanagement, and other operating-system functions; alarge number of functions for one level.
![Page 40: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/40.jpg)
Silberschatz, Galvin and Gagne 20023.40Operating System Concepts
UNIX System Structure
![Page 41: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/41.jpg)
Silberschatz, Galvin and Gagne 20023.41Operating System Concepts
Layered Approach
� The operating system is divided into a number of layers(levels), each built on top of lower layers. The bottomlayer (layer 0), is the hardware; the highest (layer N) isthe user interface.
� With modularity, layers are selected such that each usesfunctions (operations) and services of only lower-levellayers.
![Page 42: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/42.jpg)
Silberschatz, Galvin and Gagne 20023.42Operating System Concepts
An Operating System Layer
![Page 43: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/43.jpg)
Silberschatz, Galvin and Gagne 20023.43Operating System Concepts
OS/2 Layer Structure
![Page 44: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/44.jpg)
Silberschatz, Galvin and Gagne 20023.44Operating System Concepts
Microkernel System Structure
� Moves as much from the kernel into “user” space.� Communication takes place between user modules using
message passing.� Benefits:
- easier to extend a microkernel- easier to port the operating system to new architectures- more reliable (less code is running in kernel mode)- more secure
![Page 45: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/45.jpg)
Silberschatz, Galvin and Gagne 20023.45Operating System Concepts
Windows NT Client-Server Structure
![Page 46: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/46.jpg)
Silberschatz, Galvin and Gagne 20023.46Operating System Concepts
Virtual Machines
� A virtual machine takes the layered approach to its logicalconclusion. It treats hardware and the operating systemkernel as though they were all hardware.
� A virtual machine provides an interface identical to theunderlying bare hardware.
� The operating system creates the illusion of multipleprocesses, each executing on its own processor with itsown (virtual) memory.
![Page 47: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/47.jpg)
Silberschatz, Galvin and Gagne 20023.47Operating System Concepts
Virtual Machines (Cont.)
� The resources of the physical computer are shared tocreate the virtual machines.
✦ CPU scheduling can create the appearance that users havetheir own processor.
✦ Spooling and a file system can provide virtual card readersand virtual line printers.
✦ A normal user time-sharing terminal serves as the virtualmachine operator’s console.
![Page 48: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/48.jpg)
Silberschatz, Galvin and Gagne 20023.48Operating System Concepts
System Models
Non-virtual Machine Virtual Machine
![Page 49: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/49.jpg)
Silberschatz, Galvin and Gagne 20023.49Operating System Concepts
Advantages/Disadvantages of Virtual Machines
� The virtual-machine concept provides completeprotection of system resources since each virtualmachine is isolated from all other virtual machines. Thisisolation, however, permits no direct sharing of resources.
� A virtual-machine system is a perfect vehicle foroperating-systems research and development. Systemdevelopment is done on the virtual machine, instead of ona physical machine and so does not disrupt normalsystem operation.
� The virtual machine concept is difficult to implement dueto the effort required to provide an exact duplicate to theunderlying machine.
![Page 50: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/50.jpg)
Silberschatz, Galvin and Gagne 20023.50Operating System Concepts
Java Virtual Machine
� Compiled Java programs are platform-neutral bytecodesexecuted by a Java Virtual Machine (JVM).
� JVM consists of- class loader- class verifier- runtime interpreter
� Just-In-Time (JIT) compilers increase performance
![Page 51: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/51.jpg)
Silberschatz, Galvin and Gagne 20023.51Operating System Concepts
Java Virtual Machine
![Page 52: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/52.jpg)
Silberschatz, Galvin and Gagne 20023.52Operating System Concepts
System Design Goals
� User goals – operating system should be convenient touse, easy to learn, reliable, safe, and fast.
� System goals – operating system should be easy todesign, implement, and maintain, as well as flexible,reliable, error-free, and efficient.
![Page 53: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/53.jpg)
Silberschatz, Galvin and Gagne 20023.53Operating System Concepts
Mechanisms and Policies
� Mechanisms determine how to do something, policiesdecide what will be done.
� The separation of policy from mechanism is a veryimportant principle, it allows maximum flexibility if policydecisions are to be changed later.
![Page 54: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/54.jpg)
Silberschatz, Galvin and Gagne 20023.54Operating System Concepts
System Implementation
� Traditionally written in assembly language, operatingsystems can now be written in higher-level languages.
� Code written in a high-level language:✦ can be written faster.✦ is more compact.✦ is easier to understand and debug.
� An operating system is far easier to port (move to someother hardware) if it is written in a high-level language.
![Page 55: Chapter 3: Operating-System Structuresweb2.uwindsor.ca/courses/cs/tawfik/2002/60330/Chap3-slides.pdf · Since main memory (primary storage) is volatile and too small to accommodate](https://reader034.vdocuments.site/reader034/viewer/2022052519/5f173179df9d027788541e19/html5/thumbnails/55.jpg)
Silberschatz, Galvin and Gagne 20023.55Operating System Concepts
System Generation (SYSGEN)
� Operating systems are designed to run on any of a classof machines; the system must be configured for eachspecific computer site.
� SYSGEN program obtains information concerning thespecific configuration of the hardware system.
� Booting – starting a computer by loading the kernel.� Bootstrap program – code stored in ROM that is able to
locate the kernel, load it into memory, and start itsexecution.