* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating system organization
Survey
Document related concepts
Transcript
Create an abstract machine environment A nicer environment than bare hardware Consists of multiple, autonomous abstract components Components may be in use concurrently Coordinate the use of the components Resource manager Manage according to the policies of the machine’s administrator 2 Exact set of functions required depends on engineering and marketing choices but each function falls in one of these categories: Device management Process, thread, and resource management Memory management File management 3 File Manager Process, Thread & Resource Manager Processor(s) Memory Manager Device Manager Main Memory Devices 4 OS uses policies chosen by designer or system administrator to manage Allocation Isolation Sharing Device manager in two parts Device independent – provides unified interface Device dependent – device driver: handles those aspects unique to a device 5 Device-Independent Part Device-Dependent Part Device-Dependent Part Device Device Device-Dependent Part … Device 6 Application Process System Interface File Manager Device-Independent Device-Dependent Hardware Interface Command Status Data Device Controller 7 read(device, …); 1 9 8b Data System Interface Device Status Table read driver 2 4 7 Device Handler write driver 6 Interrupt Handler 3 8a 5 Hardware Interface Command Status Data Device Controller 8 9 10 Process Mgr Protection Process Description Deadlock Synchronization Scheduler Resource Resource Manager Resource Manager Manager CPU Other H/W 11 Thread Abstraction Process Abstraction Generic Resource Manager Multiprogramming Other Primary Memory … Abstract Resources Processor 12 Isolation & Sharing Process Manager Block Allocation Primary Memory Virtual Memory Storage Devices 13 14 15 16 17 Process/Thread Admin Scheduler Virtual Memory File Management Synchronization Device Management IPC Deadlock Management Interrupt Handler Resource Management Protection Mechanisms Memory Allocation 18 Application Software Application Software Application Software Application Software Other System Software Other System Software Other System Software Other System Software Other OS Functions Other OS Functions Other OS Functions Other OS Functions Kernel Functions Nucleus Functions Nucleus Functions Nucleus Functions Skeletal Nucleus (a) Monolithic (b) Modular (c) Extensible (d) Layered (microkernel) 19 Two recurring issues in design Performance Exclusive use of resources Three basic implementation mechanisms Processor modes Kernels Method of invoking system service 20 Must be as efficient as possible in use of resources (especially processor and memory) Every design issue MUST be evaluated wrt its contribution to functionality of system AND its impact on performance Seek to minimize “overhead” of the system wrt the applications running on the system Increased hardware performance does allow added functionality in spite of inefficiency 21 22 Multiprogramming resource sharing Therefore, need software-controlled resource isolation Security policy: Sharing strategy chosen by computer’s owner Protection mechanism: Tool to implement a family of security policies 23 Security depends on correct operation of software trusted vs. untrusted software Need to insure that untrusted software cannot change trusted software Can limit the function of the OS Guiding a manned spaceship Managing a nuclear reactor 24 Mode bit: Supervisor or User mode Supervisor mode (privileged, protected) Some processors may have more than one mode Can execute all machine instructions Can reference all memory locations User mode Can only execute a subset of instructions Can only reference a subset of memory locations 25 Ensures proper operation of a computer system Protect the operating system and all other programs and their data from any malfunctioning program Protection is needed for any shared resource Trusted OS software runs in supervisor mode All other software runs in user mode 26 Supervisor mode all instructions are legal all addresses are absolute physical addresses (base and bound are not used) User mode instructions that modify control registers are illegal all addresses must be less than bound and have base added to them 27 Instructions that can only be executed in the supervisor mode are called supervisor, privileged, or protected instructions I/O instructions are privileged instructions A user program in user mode cannot perform its own I/O Instruction to change the mode is a privileged instruction Instruction to set the halt flag is a privileged instruction 28 Processor Process A Process B A’s Protected Object Supervisor Program When A is using processor, register points to its object When B is using processor, register does not point to A’s object 29 Kernels Critical parts of OS that run in supervisor mode Have access to other parts of the kernel Trusted software Extensions to the OS execute in user mode The trap instruction is used to switch from user to supervisor mode, entering the OS 30 Mode S Branch Table 1 2 trap 3 Trusted Code User Supervisor 31 … fork(); … Trap Table fork() { … trap N_SYS_FORK() … } Kernel sys_fork() sys_fork() { /* system function */ … return; } 32 Two techniques System call Message passing call(…); trap return; 33 For the system through a trap instruction which causes an interrupt Hardware saves PC and current status information Hardware changes mode to system mode Hardware loads PC from system call interrupt vector location. Execute the system call interrupt handler return from the handler, restores PC and other saved status information User process continues. 34 … fork(); … Trap Table fork() { … trap N_SYS_FORK() … } Kernel sys_fork() sys_fork() { /* system function */ … return; } 35 Parameter passing Through registers System call number passed through register Parameters are passed through registers Returned value is also passed through a register to C/C++ Through a table in memory Pass the address of the table in a register Through the stack Push the parameters on the stack by the user program Pop the parameters off the stack by the O.S. 36 User Space Kernel Space Thread fork(); sys_fork() { } 37 Two techniques System call Message passing send(…, A, …); receive(…, B, …); send/receive receive(…A, …); … send(…, B, …); 38 File Manager Process, Thread & Resource Manager Processor(s) Memory Manager Device Manager Main Memory Devices 39 UNIX MACH MS-DOS Windows NT OS/2 MacOS 40 One of the most popular operating systems First version released in 1969 By Ken Thompson & Dennis Ritchie at Bell Labs ACM Turing Award – 1983 National Medal of Technology – 1999 Japan Prize for Information and Communications – 2011 Widely used in universities and research organizations Time-sharing system Supports multiple processes Disk files and I/O devices are treated similarly 41 42 Written in a high-level language. Distributed in source form. Provided powerful operating-system primitives on an inexpensive platform. Small size, modular, clean design. 43 Designed to be a time-sharing system Has a simple standard user interface that can be replaced. File system with multilevel tree-structured directories. Files are supported by the kernel as unstructured sequences of bytes. Supports multiple processes; a process can easily create new processes. High priority given to making system interactive, and providing facilities for program development. 44 Interactive User Device Driver Device Driver … Device Driver Driver Interface Libraries Application Commands … Programs OS System Call Interface Trap Table Monolithic Kernel Module •Process Management •Memory Management •File Management •Device Mgmt Infrastructure 45 UNIX is copyrighted – now supported by SCO long litigious story there! Open source variations freebsd www.freebsd.org/availability.html Linux many distributions 46 32-bit preemptive multitasking operating system for modern microprocessors. Key goals for the system: portability security POSIX compliance multiprocessor support extensibility international support compatibility with MS-DOS and MS-Windows applications. Uses a micro-kernel architecture. Available in two versions, Windows NT Workstation and Windows NT Server. In 1996, more NT server licenses were sold than UNIX licenses 47 T Process T T T Process Process T T T T T Libraries Subsystem User Process Management Memory Management File Management Subsystem Subsystem Device Mgmt Infrastructure NT Executive NT Kernel Hardware Abstraction Layer Processor(s) Main Memory I/O Subsystem Devices 48 In 1988, Microsoft decided to develop a “new technology” (NT) portable operating system that supported both the OS/2 and POSIX APIs. Originally, NT was supposed to use the OS/2 API as its native environment but during development NT was changed to use the Win32 API, reflecting the popularity of Windows 3.0. 49 Extensibility — layered architecture. NT executive, which runs in protected mode, provides the basic system services. On top of the executive, several server subsystems operate in user mode. Modular structure allows additional environmental subsystems to be added without affecting the executive. 50 Portability — NT can be moved from one hardware architecture to another with relatively few changes. Written in C and C++. Processor-dependent code is isolated in a dynamic link library (DLL) called the “hardware abstraction layer” (HAL). Reliability — NT uses hardware protection for virtual memory, and software protection mechanisms for operating system resources. 51 Compatibility — applications that follow the IEEE 1003.1 (POSIX) standard can be complied to run on NT without changing the source code. Performance — NT subsystems can communicate with one another via highperformance message passing. Preemption of low priority threads enables the system to respond quickly to external events. Designed for symmetrical multiprocessing. International support — supports different locales via the national language support (NLS) API. 52 Layered system of modules. Protected mode — HAL, kernel, executive. User mode — collection of subsystems Environmental subsystems emulate different operating systems. Protection subsystems provide security functions. 53