Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course Overview Introduction Computer System Structures

Similar presentations


Presentation on theme: "Course Overview Introduction Computer System Structures"— Presentation transcript:

1 Course Overview Introduction Computer System Structures
Operating System Structures Processes Process Synchronization Deadlocks CPU Scheduling Memory Management Virtual Memory File Management Security Networking Distributed Systems Case Studies Conclusions

2 Chapter Overview Operating System Structures
Motivation Objectives OS Components OS Services System Calls System Programs OS Structure Kernel Virtual Machines Characteristics of Modern Operating Systems Important Concepts and Terms Chapter Summary

3 Motivation to understand the functioning of an operating system, it is important to have an overall view of it many components can’t considered in isolation because they interact with and depend on each other different design approaches are possible with different underlying hardware capabilities

4 Objectives get to know the important components of an operating system
understand the interrelationships between the components identify different approaches to the overall design of operating systems be aware of current trends in operating system design

5 OS Components process management main memory management
secondary storage management file management I/O system management networking protection user interface

6 OS Services program execution I/O operations
file and directory services communication error detection and handling resource allocation protection accounting

7 Producing an Executable.
Source Code Object File Executable Compile Link Libraries and other Object files [David Jones

8 System Calls interface between processes and operating system
used to request services from the OS provides operations on objects that processes can not or are not allowed to handle directly used by programmers, not by users types of system calls process control file manipulation device manipulation information maintenance communications

9 System Calls Functions supplied by system libraries.
These functions will contain a trap instruction. #include <sys/types.h> #include <dirent.h> #include "ourhdr.h" int main(int argc, char *argv[]) { DIR *dp; struct dirent *dirp; if (argc != 2) err_quit("a single argument (the directory name) is required"); if ( (dp = opendir(argv[1])) == NULL) err_sys("can't open %s", argv[1]); while ( (dirp = readdir(dp)) != NULL) printf("%s\n", dirp->d_name); closedir(dp); exit(0); } [David Jones]

10 Interrupt Handling Main Memory User Mode 1. Program performs trap
User Program #2 1. Program performs trap 2. OS determines service number 3. Service is located and executed. 4. Control returns to user program. User Program #1 Main Memory trap 002 4 1 3 Based on a diagram from “Modern Operating Systems” by Andrew Tanenbaum. 2 System/Kernel Mode Kernel [David Jones]

11 System Programs programs providing more convenient functions to utilize the system directly accessible by the user types of system programs file manipulation and modification programming environments communication status information command interpreter

12 OS Structure monolithic approach layered approach
the whole OS is one large program often used under resource constraints (processing power, memory space) example: PC DOS layered approach functionalities are grouped into layers from hardware to user programs better separation of functions example: OS

13 Kernel core part of the operating system comprising the minimal set of functionalities process dispatching basic memory management interprocess communication protection is always kept in main memory porting is made easier

14 Virtual Machines software abstraction by the OS
provides an interface identical to the corresponding hardware emulates different hardware architectures on the same hardware isolates users, programs, and processes from each other example: Java Virtual Machine

15 Characteristics of Modern Operating Systems
microkernel architecture multithreading symmetric multiprocessing distributed operating systems object-oriented design

16 Microkernel Architecture
kernel contains only a few essential functions address spaces, interprocess communication, basic scheduling the kernel must be adapted to a specific hardware server processes provide the remaining functionality in the form of services services can be offered by local or remote server processes flexible approach, especially for distributed systems previous architectures: large, monolithic kernel includes most of the OS functionality

17 Multithreading an application is executed by one or more processes
each process may be divided into threads threads are the basic unit of work in an OS threads are also known as lightweight processes switching between threads is simpler than between processes the general treatment of threads and processes by the OS is essentially the same a thread shares resources with its peers good for the modularity of applications allows modules to execute largely independently

18 Symmetric Multiprocessing
provides more processing power through multiple processing elements the processes share main memory and I/O devices the processors are either identical, or can at least perform the same functions

19 Distributed Operating Systems
all resources within the distributed system are available to all processes if they have the right permissions the execution of tasks can be distributed over several nodes there is one single file system encompassing all files on all nodes

20 Object-Oriented Design
development method for modular systems the interface of modules is independent of the actual implementation internal details of modules are not accessible to others goes well with the microkernel method and distributed systems

21 OS Design Goals user perspective system perspective
convenient, responsive, easy to use, reliable, safe, fast system perspective efficient, flexible, reliable, easy to design, implement, and maintain difficult task, requires many tradeoffs

22 Microkernel OS Applications Operating System Micro-Kernel Hardware CPU
Main Memory I/O Devices System Bus Control Unit Registers Arithmetic Logic Unit (ALU) Controllers Hardware [David Jones

23 Microkernel OS Applications Server Processes Operating System
Services File System Device Drivers Personalities Operating System Micro-Kernel CPU Main Memory I/O Devices System Bus Control Unit Registers Arithmetic Logic Unit (ALU) Controllers Hardware [David Jones

24 Microkernel OS Microkernel OS Applications Users and User Programs
Server Processes Personalities System Services Device Drivers File System Operating System Micro-Kernel CPU Main Memory I/O Devices System Bus Control Unit Registers Arithmetic Logic Unit (ALU) Controllers Hardware [David Jones

25 Distributed OS Applications Users and User Programs Server Processes
Personalities System Services Device Drivers File System Operating System Micro- Kernel Computer Node Micro- Kernel Computer Node Micro- Kernel Computer Node Micro- Kernel Computer Node Micro- Kernel Computer Node Micro- Kernel Computer Node Hardware [David Jones

26 Future Operating Systems
micro-kernel based multiple personalities emulate appearance and functionality of existing OSes distributed systems

27 OS Structure Examples MS-DOS & Windows Windows NT Unix

28 MS-DOS & Windows Structure
originally (DOS 1) monolithic due to space and processing power restrictions (Intel 8086, 8 KBytes main memory) slow incorporation of advanced concepts hard disk, hierarchical file systems, I/O redirection, background printing, networking, ... fresh start with Windows NT single-user, multitasking designed for 32-bit microprocessors (Intel Pentium)

29 Windows NT Structure hardware abstraction layer (HAL) microkernel
provides adaptation to the underlying hardware through a generic hardware interface microkernel thread scheduling, process switching, exception handling (interrupts), multiprocessor synchronization executive services modules for system functions I/O manager, object manager, process manager, virtual memory manager, security reference monitor, windows modules system services interface to software running in user mode

30 Hardware Abstraction Layer (HAL)
Windows NT Structure Microkernel OS Users and User Programs Applications and User Interface POSIX Subsystem Win32 Subsystem OS/2 Subsystem Security Subsystem System Services Local Procedure Call Facility I/O Manager Object Manager Security Reference Monitor Process Manager Virtual Memory Manager Window Manager Windows NT Executive Cache Manager File System Drivers Micro-Kernel Graphic Device Drivers Network Drivers Hardware Abstraction Layer (HAL) Device Drivers Hardware [Stallings 98]

31 Unix Structure single processor, multi-user, multitasking system
portable through implementation in a high-level language (C), in contrast to assembly language relatively large, non-modular kernel access to kernel functions through system calls shells as user interface, GUI (XWindows) added later modern Unix variants have been redesigned around microkernel

32 Modern Unix Kernel Common Facilities a.out elf exec switch file
mappings NFS device mappings virtual memory framework vnode/vfs interface FFS RFS anonymous mappings Common Facilities time-sharing processes block device switch scheduler framework disk driver system processes tape driver Streams network driver tty driver [Stallings 98]

33 Important Concepts and Terms
command interpreter communication device management directory system distributed system file system interrupt kernel layered structure memory management microkernel monolithic structure multiprocessing multiprogramming multitasking operating system process process control block (PCB) process management protection resource allocation secondary storage management shell system call system program task thread time-sharing user interface virtual machine

34 Chapter Summary the operating system provides services and manages resources user processes request services from the OS through system calls protection, resource management, abstraction modern operating systems separate functions into modules layered approach, microkernel, object-oriented, virtual machine


Download ppt "Course Overview Introduction Computer System Structures"

Similar presentations


Ads by Google