1 / 25

Chapter 3: Operating-System Structures (18M)

Chapter 3: Operating-System Structures (18M). System Components Operating System Services System Calls System Structure. Services of O.S. Program Execution I/O Management File system manipulation Communication Error detection Accounting Protection Resource Allocation.

Download Presentation

Chapter 3: Operating-System Structures (18M)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 3: Operating-System Structures(18M) System Components Operating System Services System Calls System Structure

  2. Services of O.S. Program Execution I/O Management File system manipulation Communication Error detection Accounting Protection Resource Allocation

  3. Common System Components A system as large and complex as an OS can be created only by partitioning it into smaller pieces Process Management Main Memory Management File Management I/O System Management Secondary Management

  4. Process Management A process is a program in execution. A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. A process is the unit of work in a system The operating system is responsible for the following activities in connection with process management. Process creation and deletion. Creation and deletion of user and system process Process suspension and resumption. Provision of mechanisms for: process synchronization process communication

  5. Main-Memory Management Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. The CPU reads instructions from main memory (MM) during the instruction-fetch cycle and both reads and writes data from MM during the data-fetch cycle Main memory is a volatile storage device. It loses its contents in the case of system failure. To improve both CPU utilization and response speed, several programs are kept in memory The following are some of the activities in connections with memory management that are handled by the operating system : Keep track of which parts of memory are currently being used and by whom. Decide which processes to load when memory space becomes available. Allocate and deallocate memory space as needed.

  6. File Management A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. The operating system is responsible for the following activities 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.

  7. I/O System Management Hide the peculiarities of specific hardware devices from the user The I/O system consists of: A memory management component that includes buffering, caching and spooling A general device-driver interface Drivers for specific hardware devices

  8. Secondary-Storage Management Since main memory (primary storage) is volatile and too small to accommodate all data and programs permanently, the computer system must provide secondary storage to back up main memory. Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. Because secondary storage is used frequently, it must be used efficiently or else it will become a processing bottleneck The operating system is responsible for the following activities in connection with disk management: Free space management Storage allocation Disk scheduling

  9. System Calls System calls provide the interface between a running program and the operating system. For example – open input file, create output file, print message to console, terminate with error or normally Generally available as routines written in C and C++ Certain low-level tasks (direct hardware access) may be written in assembly-language Mostly accessed by programs via a high-level Application Program Interface (API) rather than direct system call use Provides portability (underlying hardware handled by OS) Hides the detail from the programmer 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)

  10. Example of System Calls System call sequence to copy the contents of one file to another file

  11. API – System Call – OS Relationship

  12. Standard C Library Example C program invoking printf() library call, which calls write() system call

  13. Passing Parameters as a Table

  14. Types of System Calls Process control end, abort, load, execute, allocate/free memory File management Create/delete file, open, close, read, write Device management Request/release device, read, write Information maintenance Get/set date or time, get process, get/set system data Communications Send/receive message, create/delete comm link

  15. UNIX System Calls

  16. SYSTEM CALLS Device management o request device, release device o read, write, reposition o get device attributes, set device attributes o logically attach or detach devices Information maintenance o get time or date, set time or date o get system data, set system data o get process, file, or device attributes o set process, file, or device attributes Communications o create, delete communication connection o send, receive messages o transfer status information o attach or detach remote devices o get host id o open,close connection Process control o end, abort o load, execute o create process, terminate process o get process attributes, set process attributes o wait for time o wait event, signal event o allocate and free memory File management o create file, delete file o open, close o read, write, reposition o get file attributes, set file attributes

  17. SYSTEM STRUCTURE Simple Structure Layered Monolithic Microkernel

  18. Operating System Structure • MS-DOS – written to provide the most functionality in the least space • Not well divided into modules • Designed without realizing it was going to become so popular • Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated • Vulnerable to system crashes when a user program fails • Written for Intel 8088 which had no dual mode or hardware protection MS-DOS layer structure

  19. Operating System Structure UNIX – the original UNIX operating system had limited structuring due to limited hardware functionality. The UNIX OS consists of two separable parts. Systems programs The kernel – series of interfaces and device drivers Consists of everything below the system-call interface and above the physical hardware Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level. All this functionality in one level makes UNIX difficult to enhance – difficult to determine impact of change in one part of the kernel on other parts

  20. UNIX System Structure kernel

  21. 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 the hardware; 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. • Simplifies debugging and system verification – each layer only uses those below it, so by testing from bottom up, you isolate errors to the layer being tested • Requires careful definition oflayers • Less efficient as each layer adds overhead to the system increasing overall time for a system call to execute An operating system layer

  22. Layered Approach • These limitations have led to the design of OSs with fewer layers each with more functionality • Provides most of the advantages of modularized code while avoiding the difficulties of layer definition and interaction • OS/2, a descendent of MS-DOS, adds multitasking and dual-mode operation • Designed in a more layered approach than MS-DOS • Direct access to low-level facilities is not allowed; this gives the OS more control over the hardware and more knowledge of which resources each user program is using • The first release of Windows NT had a highly layered approach but it delivered low performance compared to Windows 95 • NT 4.0 addressed that problem in part by moving layers from user space to kernel space and more closely integrating them

  23. OS/2 Layer Structure

  24. Microkernel System Structure In the mid 1980s, researchers at Carnegie Mellon university developed the Mach microkernel OS Moves nonessential components from the kernel into “user” space resulting in a smaller kernel Main function of the microkernel is to provide a communication facility between the client program and various services that are also running in user space Communication takes place between user modules using message passing. Benefits: easier to extend a microkernel all new services are added to user space easier to port the operating system to new architectures more reliable and secure less code is running in kernel mode Apple MacOS X Server OS is based on the Mach kernel maps system calls into messages to the appropriate user-level services Tru 64 Unix (formerly Digital UNIX)

  25. MONOLITHIC

More Related