Operating System Architecture and Distributed Systems

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.
OPERATING SYSTEM SUPPORT
An Overview Of Windows NT System Student: Yifan Yang Student ID:
Operating System Architecture and Distributed Systems
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
Figure 1.1 Interaction between applications and the operating system.
CS444/CS544 Operating Systems Introduction 1/12/2007 Prof. Searleman
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
DISTRIBUTED COMPUTING
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
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?
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Ceng Operating Systems
Computer System Architectures Computer System Software
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
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.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Operating Systems Structure what is the organizational principle?
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Damian Gordon.  This module will serve as an introduction to Operating Systems.  It provides an overview of the major components of a computer system.
OPERATING SYSTEM SUPPORT
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
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.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
OPERATING SYSTEM CONCEPTS AND PRACTISE
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
The Mach System Sri Ramkrishna.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
OS Organization.
Chapter 1 Introduction to Operating System Part 5
B.Ramamurthy Chapter 2 : Appendix
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems: A Modern Perspective, Chapter 3
Operating System Introduction.
Outline Operating System Organization Operating System Examples
System calls….. C-program->POSIX call
Operating Systems Structure
Operating System Concepts
Operating System Concepts
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

Operating System Architecture and Distributed Systems Most concepts are drawn from Chapter 6 © Pearson Education Dr. Christian Vecchiola Postdoctoral Research Fellow csve@unimelb.edu.au Cloud Computing and Distributed Systems (CLOUDS) Lab Dept. of Computer Science and Software Engineering The University of Melbourne

Outline Hybrid Approaches Introduction OS / Kernel Models Summary Monolithic Operating Systems Layered Systems Traditional Operating Systems Micro-kernel Operating Systems Observations Architecture Client Server Model Comparison Hybrid Approaches Summary

Introduction Why Operating Systems? OSes are a fundamental component of today’s computing systems. They offer a set of services for: Managing the hardware resources of devices Scheduling the execution of the applications Simplifying the development of applications OSes constitute a common sub-stratus for (almost) all the applications …. …. even distributed system middleware

Introduction A little bit of history… Pre-OS software development (before 60s) Single task model (one application running) Developers had to: Program the system from booting the hardware up.. Manage every aspect of the system Assembly language Very challenging Model: Machine + Program + Data = Application

Introduction A little bit of history… The OS era (60s onwards) Evolution from single task to multi-tasking There exist a common program that .. is loaded before any other program .. manages the hardware resources of the machine .. schedules the execution of user applications (one or more) .. provides a higher level interface to the system Development of compilers Model: Application + OS +Machine = Execution

Introduction What does an OS do? Manages the hardware resources Memory CPU Disks Provides access to connected devices (drivers) Printers Cameras Scanners… Manages and Schedules applications Simple user applications Services

Introduction Ehy… are we studying DS…? OSes are a fundamental component in DS They provide the basic services for what concerns Network connectivity Machine resources management Concurrency and IPC Access to the file system Distributed Systems are based on middleware it is “just another” application for the OS it might be a fundamental part of the OS

Introduction DS-wanted features of an OS Let us look into the architecture of a kernel suitable for a distributed system. A key principle of DS is openness and with this in mind let us examine the major kernel architectures: Monolithic kernels Layered architecture-based kernels Micro-kernels Course page has not yet been updated, will be by the end of the week This is were all the important information will reside - the latest lecture nodes, assignments, marking guides, sample exams, so check it regularly!

Introduction DS-wanted features of an OS An open DS should make it possible to: Run only that system software on each computer that is necessary for its particular role in the system architecture: Avoiding redundant modules on capability-limited devices. Optimizing the behavior of specific components in different scenarios (server, client, ….) Allow the software (and the computer) implementing any particular service to be changed independent of other facilities. Allow for alternatives of the same services to be provided, when this is required to suit different users or applications. Introduce new services without harming the integrity of existing ones. Which features are required by an OS to expose these properties?

Introduction A Guiding principle of OS design For example, an ideal scheduling system would provide mechanisms that enable a multimedia application such as videoconferencing to meet its real-time demands while coexisting with a non-real-time application such as web browsing. That is kernel would provide only the most basic mechanisms upon which the general resource management tasks at a node are carried out. Server modules would be dynamically loaded as required, to implement the required RM policies for the currently running applications. Separation of fixed resource management “mechanisms“ from resource management “policies”, which vary from application to application and service to service.

OS / Kernel Models Main Design Principles The two key examples of kernel design approaches are: Monolithic Microkernel Key difference: what does belong to the kernel? Three main models: Monolithic OS Layered OS Microkernel-based OS The first two can be considered monolithic. The chambers 20th century dictionary definition of monolithic is: a pillar, column, of a single stone: anything that resembling a monolithic, massiveness.

OS / Kernel Models Monolithic Kernel vs Micro-Kernel S1 ....... S1 S2 Server: Kernel code and data: Dynamically loaded server program:

OS / Kernel Models Operating System Models Serve as frameworks that unify capabilities, services and tasks to be performed Three approaches to building OS.... Monolithic OS Layered OS Microkernel based OS Client server OS Suitable for distributed systems Simplicity, flexibility and high performance are crucial for OS.

OS / Kernel Models Monolithic Kernels System Services Hardware Better application performance Hard to extend Example: MS-DOS Application Programs Application Programs User Mode Kernel Mode System Services Hardware

Memory & I/O Device Mgmt OS / Kernel Models Layered Operating Systems Application Programs Application Programs User Mode Kernel Mode System Services Memory & I/O Device Mgmt Process Scheduler Hardware

OS / Kernel Models Traditional Operating Systems OS User Mode Application Programs Application Programs User Mode Kernel Mode OS OS Designer

Micro-Kernel Operating Systems Observations Monolithic Operating Systems are: Massive: they perform all basic OS functions and take up in the order of megabytes of code and data. Undifferentiated: they are coded in a non-modular way (traditionally) although modern ones are much more layered. Intractable: altering any individual software component to adapt it to changing requirements is difficult.

Micro-Kernel Operating Systems Observations New trend in Operating System Design User Mode Kernel Mode Hardware Microkernel (very basic functions) Servers Application Programs

Micro-Kernel Operating Systems Compared to monolithic, microkernel design provides only the most basic abstractions, principally address space, threads and local IPC. All other system services are provided by servers that are dynamically loaded precisely those computers in the DS that require them. Clients access these system services using the kernel’s message based invocation mechanisms.

Micro-Kernel Operating Systems Client Server Model Tiny OS kernel providing basic primitive (process, memory, IPC) Traditional services becomes subsystems OS = Microkernel + User Subsystems Examples: Mach, PARAS, and Chorus Client Application OS Emulators File Server Network Display Microkernel Hardware User Kernel Send Reply

Micro-Kernel Operating Systems Architecture Micro-Kernels are a layer between H/W and system systems. If performance is goal, rather than portability, then middleware may use facilities of the kernel directly. Micro-Kernels support middleware as subsystems. Middleware Language support subsystem OS emulation .... Microkernel Hardware

Micro-Kernel Operating Systems Examples of Micro-Kernels MACH, CMU It supports different OS emulators (Unix and OS/2). (Mach only) base for OS X PARAS, C-DAC Chorus QNX, (Windows NT) combination of layered and microkernel.. .. but massive code.

Micro-Kernel Operating Systems Comparison Micro-Kernel main advantages: Extensibility and its ability to enforce modularity behind memory protection boundaries A relative small kernel is more likely to free of bugs than one that is larger and complex. Monolithic OS main advantage: Relative efficiency with which operations can be invoked is high because even invocation to a separate user-level address space on the same node is more costly.

Hybrid Approaches Which is the trend today? Many modern OS follow hybrid approach in OS structure. E.g., Windows NT. Pure microkernel OSs such as Chorus & Mach have changed over a time to allow servers to be loaded dynamically into the kernel address space or into a user-level address space. Some OSs such as SPIN used event-based model as a mechanism for interaction between modules grafted into the kernel address space.

Summary What did we learn? Operating system provides various types of facilities to support middleware for distributed system: encapsulation, protection, concurrent access management of node resources. New OS designs provide flexibility in terms of separating mechanisms from policies. Car

Additional References Tanenbaum, A.S, Modern Operating Systems, 2nd /3rd Editions,  Prentice Hall, ISBN 013-031-3580 / 0136-006-639. Silbershatz, A., Galvin, P.B., Gagne, Modern Operating Systems, 8th Editions,  Wiley, ISBN 0470-128-720.