Operating Systems Structure

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Threads, SMP, and Microkernels
An Overview Of Windows NT System Student: Yifan Yang Student ID:
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
1 Module 1 The Windows NT 4.0 Environment. 2  Overview The Microsoft Operating System Family Windows NT Architecture Overview Workgroups and Domains.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
Course Overview Introduction Computer System Structures
CS533 Concepts of Operating Systems Class 14 Virtualization.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Figure 1.1 Interaction between applications and the operating system.
Chapter 4 Structure of Operating Systems Copyright © 2008.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Windows NT Operating System Junhua Duan Junhua Duan Aug. 26th, 1999 Aug. 26th, 1999.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Ceng Operating Systems
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
CS533 Concepts of Operating Systems Jonathan Walpole.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Advanced Design and System Patterns The Microkernel Pattern.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Processes Introduction to Operating Systems: Module 3.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
COP 4610 Introduction to Operating Systems. Chapter 1 - Introduction OS - Layer between the hardware and user programs (Figure 1.1) OS - The ultimate.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
The Mach System Silberschatz et al Presented By Anjana Venkat.
1 Windows NT A Distributed Architecture Windows NT A Distributed Architecture Professor: Mohamed Khalil CSE 8343 GROUP-A5 Dhaval Sanghvi Amit Sharma Ali.
Operating-System Structures
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Overview of today’s lecture Major components of an operating system Structure and internal architecture of an operating system Monolithic Vs Micro-kernels.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
Virtual Machine Monitors
Kernel Design & Implementation
An Introduction to Operating Systems
The Mach System Sri Ramkrishna.
Operating System Organization
Operating System Structure
Unit OS2: Operating System Principles
CS490 Windows Internals Quiz 2 09/27/2013.
Chapter 3: Windows7 Part 1.
OS Organization.
Threads, SMP, and Microkernels
Chapter 1 Introduction to Operating System Part 5
Basic Concepts Protection: Security:
B.Ramamurthy Chapter 2 : Appendix
Operating Systems Lecture 3.
Operating Systems : Overview
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating Systems: A Modern Perspective, Chapter 3
OS Components and Structure
OS Organization.
Outline Operating System Organization Operating System Examples
Operating System Concepts
Operating System Concepts
Presentation transcript:

Operating Systems Structure External Structure Operating System Interfaces System Calls Device Drivers Internal Structure: Layering and Monolithic Kernels Alternative Structures: Microkernels Exokernels and Library Operating Systems

External Structure of an OS applications programs/ processes system call interface scheduler file system kernel memory manager etc. device drivers hardware

Example: Windows NT User mode Integral subsystems Application POSIX Application OS/2 Application User mode Integral subsystems Environment subsystems Workstation service Server service Security Win 32 POSIX OS/2 Kernel mode Executive Executive Services I/O Manager Security Refernce Monitor IPC Manager Virtual Memory Manager (VMM) Process Manager PnP Manager Power Manager Window Manager GDI Object Manager Kernel mode drivers Microkernel Hardware Abstraction Layer (HAL) Hardware

Internal Structure of an OS applications programs/ processes system call interface scheduler file system kernel memory manager etc. device drivers hardware

Internal Structure: Layered Services The “Onion View” of the OS. user programs file system intermachine network communication device manager and device drivers real-time clock manager interprocess communication process coordinator process manager memory manager hardware Xinu [Comer 1984]

Internal Structure: Monolithic vs. μ-Kernels Layered Kernel Microkernel ... user process device drivers file server process server virtual memory user user user file system user IPC kernel I/O and device management virtual memory process management μ-kernel kernel hardware hardware Hierarchical decomposition. Leads to monolithic kernels. Kernel has only core operating system functions. Other functions run in server processes in user space.

Operations in a μ-Kernel user file system server sys_open() file handle μ-kernel open_file request Non-kernel components of the OS are implemented as server processes. Communication between user and servers using messages through kernel. “Client-server computing on a single computer.” Examples: Mach, Windows NT/2000/XP/7/8/10/…, Chorus, L4, …

In micro-kernels, both users and servers run in user-mode. This includes the File System Server. The file server does not need to execute any privileged instructions (i.e., instructions that need to be run in kernel mode.)   Of course, IO operations to read/write from/to disks need to run in kernel mode, but these usually are managed by the microkernel. (For example, IO port operations are privileged on the x86.)

Client-Server Computing with μ-Kernel user file system server file handle Network μ-kernel μ-kernel μ-kernel open_file req open_file request Non-kernel components of the OS are implemented as server processes. Communication between user and servers using messages through kernel. “Client-server computing on a single computer.” Examples: Mach, Windows NT/2000/XP/7/8/10/…, Chorus, L4, …

Benefits of μ-Kernels Extensibility: New services can be added by adding server processes. Flexibility: Services can be customized. Portability: Kernel small, with well-defined interface. Robustness: Servers can fail “locally” Distributed System Support: Interface between users and services is message-based.

μ-Kernels: Performance is Problem user server reply μ-kernel request Request traverses user/kernel boundary twice, same for reply. Solution approaches: Move critical services back into the kernel (“make kernel bigger”) Make kernel “smaller”

Bigger: Windows NT User mode Integral subsystems Application POSIX Application OS/2 Application User mode Integral subsystems Environment subsystems Workstation service Server service Security Win 32 POSIX OS/2 Kernel mode Executive Executive Services I/O Manager Security Refernce Monitor IPC Manager Virtual Memory Manager (VMM) Process Manager PnP Manager Power Manager Window Manager GDI Object Manager Kernel mode drivers Microkernel Hardware Abstraction Layer (HAL) Hardware

Smaller: Exokernel Claim: Providing abstractions of resources or virtual machines for applications to execute is the wrong approach! The Exokernel approach: Export hardware resources securely (!) instead of emulating them. Expose everything about resources, but do it securely, e.g.: Allow application to access HW resources as efficiently as possible. Export physical names of resources (e.g., addresses) Allow applications to allocate specific resources

Exokernel: Secure Binding Web Application High-Performance Num. Application Application http Application libraries DSM POSIX TCP IPC Traps VM “Library Operating System” Exokernel Secure bindings Hardware Frame Buffer TLB Network Memory Disk Library OSs manage hardware resources. Exokernel protects Library OSs from each other.

Summary: Operating Systems Structure External Structure Operating System Interfaces System Calls Device Drivers Internal Structure: Layering and Monolithic Kernels Alternative Structures: Microkernels Exokernels and Library Operating Systems