Modern Operating Systems B.Ramamurthy Chapter 2, Section 2.4 Topics New developments and influences Microkernel Architecture Multithreading Symmetric Multiprocessing Distributed Systems Object-oriented design Windows NT architecture Traditional Unix Kernel Summary New Developments Hardware : increased machine speed, high speed network attachments, increased size of memory storage, lower cost Application : multimedia, internet, intranet, Web computing, client/server computing Software : Object Oriented design and programming Influences on OS Wide range of design approaches: 1. Microkernel architecture 2. Multithreading 3. Symmetric multiprocessing 4. Distributed Operating Systems 5. Object-oriented design Microkernel Architecture Essential services such as address space management, interprocess communications, and basic scheduling are done by the kernel. For the rest of the services special servers are designed separately. Flexibility in design and for support of distributed system. Highly suited for customizing services for various environments. Example: Mach system, CTRX realtime kernel for 8051 Multithreading A thread is dispatchable unit of work. Many threads can execute the code in the same process space. Code for multithread should be re-entrant : What is reentracy? Also known as lightweight process since the overhead in thread switching and control is much less compared to process control switching. Example: Windows NT , Solaris Symmetric Multiprocessing (SMP) Many of today’s systems have multiple microprocessors The architecture is known as SMP if the processors share the same main memory and IO space and can be used interchangeably. (do the same functions) For performance and reliability (availability, maintainability, scalability, fault-tolerance). Ex: Windows NT and Solaris Distributed Systems A distributed system is a collection of independent computers that appear to the users of the system as a single computer. In this age of geographically distributed data sources and clients this model works very well. Question is : network connected, networktransparent, network-centric model, or clusters? Object Oriented Design Lends discipline to the process of extending small kernels. Customization of the operating system without disrupting system integrity. Forms the basis for remote location of services, mobility, accountability, security etc. Supports Client-server paradigm of computing. Example: Windows NT Features of Windows NT ( Fig.2.13) User mode and Kernel mode : Separation of user and kernel functions. Modified microkernel architecture. Windows NT Executive: Executive services HAL : Hardware Abstraction Layer : abstract unberlying machine (alpha, intel, etc.) System services (user interface) Features of Traditional Unix kernel User level kernel level System call subsystem User programs may access kernel thru’ libraries or directly thru’ system calls: Which one preferred and why? File Subsystem, Process Control subsystem Study Fig 2.17 (modern unix kernel functions) Summary Major OS Topics include: Process management, File management, scheduling, IO management, concurrency, memory management, security. Keep up with recent developments. Distribution of services and resources is an very critical topic.