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.
Threads, SMP, and Microkernels
1 Online communication: remote login and file transfer.
OPERATING SYSTEM SUPPORT
Database System Concepts and Architecture
Executional Architecture
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 OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
DISTRIBUTED COMPUTING
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
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
Paper Review Mach : A New Kernel Foundation For UNIX Development Chan Seok Kang 2013/02/26.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Operating System 4 THREADS, SMP AND MICROKERNELS
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.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
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.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Operating System 4 THREADS, SMP AND MICROKERNELS.
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:
OPERATING SYSTEM SUPPORT
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Background Computer System Architectures Computer System Software.
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
Operating System Structures
The Mach System Sri Ramkrishna.
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
Chapter 3: Windows7 Part 1.
OS Organization.
Chapter 1 Introduction to Operating System Part 5
B.Ramamurthy Chapter 2 : Appendix
Operating System 4 THREADS, SMP AND MICROKERNELS
Operating Systems : Overview
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems : Overview
Operating Systems : Overview
Operating Systems: A Modern Perspective, Chapter 3
OS Organization.
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Presentation transcript:

Operating System Architecture and Distributed Systems Dr. Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Laboratory Department of Computing and Information Systems The University of Melbourne, Australia http://www.cloudbus.org/652 Most concepts are drawn from Chapter 6 © Pearson Education

Operating System Architecture and Distributed Systems 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

Open DS and System Software A open DS should make it possible to: Run only that system software at each computer that is necessary for its particular role in the system architecture. For example, system software needs of PDA and dedicated server are different and loading redundant modules wastes memory resources. 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.

Separating Mechanisms and Policies in OS and DS A Guiding principle of OS design: The separation of fixed resource management “mechanisms“ from resource management “policies”, which vary from application to application and service to service. 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.

OS/Kernel Architecture The two key examples of kernel design approaches are: Monolithic Microkernel Basically these two designs differ primarily in the decision as to what functionality belongs in the kernel and what is left to server processes that can be dynamically loaded to run on top of it. In Literature, we find predominantly 3 types of OS: Monolithic OS Layered OS Microkernel-based OS The first two may be put under the same category as monolithic. The chambers 20th century dictionary definition of monolithic is: a pillar, column, of a single stone: anything that resembling a monolithic, massiveness.

Monolithic kernel and microkernel

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.

Monolithic Operating System Application Programs System Services Hardware User Mode Kernel Mode Better application Performance Difficult to extend Ex: MS-DOS

Memory & I/O Device Mgmt Layered OS Application Programs Application Programs User Mode Kernel Mode System Services Memory & I/O Device Mgmt Process Schedule Hardware Easier to enhance Each layer of code access lower level interface Low-application performance Ex : UNIX

Traditional OS OS User Mode Kernel Mode OS Designer Application Programs User Mode Kernel Mode OS Hardware OS Designer

Disadvantages of Monolithic OS It is massive: It performs all basic OS functions and takes up in the order of megabytes of code and data It is undifferentiated: It is coded in a non-modular way (traditionally) although modern ones are much more layered. It is intractable: Altering any individual software component to adapt it to changing requirements is difficult.

New trend in OS design: Separating mechanisms and policies Servers Application Programs Application Programs User Mode Kernel Mode Microkernel (very basic functions) Hardware

Micro-kernel 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 on those computers in the DS that require them. Clients access these system services using the kernel’s message-based invocation mechanisms.

Microkernel/Client Server OS Application OS Emulators File Server Network Server Display Server User Kernel Microkernel Send Reply Hardware Tiny OS kernel providing basic primitive (process, memory, IPC) Traditional services becomes subsystems OS = Microkernel + User Subsystems Ex: Mach, PARAS, Chorus, etc.

The role of the microkernel MK appears as a layer between H/W and system systems. If performance, rather than portability is goal, then middleware may use facilities of MK directly.

Few Popular Microkernel Systems MACH, CMU It supports different OS emulators including Unix and OS/2. PARAS, C-DAC Chorus QNX, Windows NT – original design.

Comparison: Monolithic and Micro-kernel OS Design The chief advantages of a MK-based OS: Extensibility and its ability to enforce modularity behind memory protection boundaries A relative small kernel is more likely to be free of bugs than one that is larger and complex. The advantage of a monolithic OS: 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 Many modern OS follow hybrid approach in OS structure. E.g., Windows NT. Pure microkernel OSs such as Chorus & Mach have changed over 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 use event-based model as a mechanism for interaction between modules grafted into the kernel address space.

Summary Operating system provides various types of facilities to support middleware for distributed system: encapsulation, protection, and concurrent access and management of node resources. Multithreading enables servers to maximize their throughput, measured as the number of requests processed per second. Threads support treating of requests with varying priorities. Various types of architectures can be used in current processing: Worker pool Thread-per-request Thread-per-connection Thread-per-object Threads need to be synchronized when accessing and manipulating shared resources. New OS designs provide flexibility in terms of separating mechanisms from policies.