ASU 64-bit OS Group7/15/2015 1 Effects of the Single Address Space Paradigm on CPU and OS Design for a Distributed Computer System Donald S. Miller.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

OS Organization Continued Andy Wang COP 5611 Advanced Operating Systems.
Threads, SMP, and Microkernels
OS Components and Structure
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
Chorus Vs Unix Operating Systems Overview Introduction Design Principles Programmer Interface User Interface Process Management Memory Management File.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Multiple Processor Systems
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
G Robert Grimm New York University Opal.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
1: Operating Systems Overview
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Microkernels: Mach and L4
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
OS Organization. OS Requirements Provide resource abstractions –Process abstraction of CPU/memory use Address space Concurrency Thread abstraction of.
Operating System Structure and Processor Architecture for a Large Distributed Single Address Space Alan C. SkousenDonald S. Miller Computer Science and.
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.
The Mach System "Operating Systems Concepts, Sixth Edition" by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presentation by Jonathan Walpole.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
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?
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Presentation by Betsy Kavali
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Protection and the Kernel: Mode, Space, and Context.
Systems Security & Audit Operating Systems security.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS533 Concepts of Operating Systems Jonathan Walpole.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Operating System Organization Chapter 3 Michelle Grieco.
Distributed System Concepts and Architectures Services
Interprocess Communications Continued Andy Wang COP 5611 Advanced Operating Systems.
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)
Thread By Group III Kathryn Bean and Wafa’ Jaffal.
The Mach System Silberschatz et al Presented By Anjana Venkat.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
Threads-Process Interaction. CONTENTS  Threads  Process interaction.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Background Computer System Architectures Computer System Software.
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.
Kernel Design & Implementation
Interprocess Communications Continued
Chorus Distributed OS - Goals
OS Organization Continued
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
Threads, SMP, and Microkernels
Page Replacement.
Introduction Separate application from different supplier run on different operating systems need some higher level of coupling Application often evolve.
Operating Systems: A Modern Perspective, Chapter 3
Presentation transcript:

ASU 64-bit OS Group7/15/ Effects of the Single Address Space Paradigm on CPU and OS Design for a Distributed Computer System Donald S. Miller

ASU 64-bit OS Group7/15/ What’s a Paradigm? u Constellation of beliefs, values, techniques and so on shared by the members of a given community that implicitly define the legitimate problems and methods of a research field for succeeding generations of practitioners 1 v attracts an enduring group of adherents away from competing modes of scientific activity v sufficiently open-ended to leave all sorts of problems for the group of practitioners to resolve u Includes law theory, application and instrumentation together u Examples: Aristotle’s physics, Ptolemaic astronomy, Galileo’s motion studies, Copernican astronomy, Newtonian mechanics, Einstein's relativity and u Process-Oriented OSs and Single Address Space Operating Systems ____________________ 1. The Structure of Scientific Revolutions, 3rd Edition, Thomas S. Kuhn, University of Chicago Press, 1996.

ASU 64-bit OS Group7/15/ Process-Oriented Paradigm u Each process runs in it’s own virtual address space v virtual addresses are (process) context dependent u Process boundaries encapsulate and bind temporary virtual address spaces, execution state, objects, protection domains and principals u Persistent storage is in a separate namespace - the file system u Message-based communication or RPC on top of message passing is the most prevalent mechanism for data exchange and synchronization between executing entities u Page-based object granularity u Threads encapsulated within a process - domain crossing and machine migration without an address space and thread context switch essentially impossible u Layered system structure - operating system kernel and services and user-level servers and programs layered on top of each other

ASU 64-bit OS Group7/15/ Process-Oriented Paradigm (continued) u Obtaining operating system services requires a domain crossing AND entry into privileged supervisor mode u Process and data migration difficult - involves creating a new namespace for data (DSM) and dealing with distinct machine namespaces for code u Difficult to directly support OOD and OOP - preprocessors and OS run-time systems are needed u OS support for protection implementation protection policy are intertwined u Access authorization, resource accounting and name services typically require kernel services or intervention u Copy set management is usually page-based and requires broadcasts reducing scalability u Network-wide fault tolerance requires additional mechanisms

ASU 64-bit OS Group7/15/ Process-Oriented Paradigm (concluded) u Examples of Process-Oriented operating systems v Industrial u MULTICS, UNIX, MVS, Mach, Chorus, VMS, NT v Research u Exokernel, L4, SPIN

ASU 64-bit OS Group7/15/ Single Address Space Paradigm u All programs run in a single virtual address space that covers all levels of the memory hierarchy, all nodes of a network and persists for the life of the computer system. This leads to the following 5 properties. 1.Permanent and unique binding of all data and code to virtual addresses. 2.The ability to freely reassociate memory objects, access rights, protection domains, virtual addresses, principals and threads. 3.A single network-wide namespace backed by the local demand paged memory management on every node and that includes all levels of the memory cache hierarchy. 4. Object, thread and protection domain mobility across the entire network- wide virtual address namespace. 5.Separation of ownership of code and ownership of execution of a computation.

ASU 64-bit OS Group7/15/ Single Address Space Paradigm (continued) u All programs run in the same virtual address space v virtual addresses are not context dependent u Execution state, objects, protection domains and principals are not bound to virtual addresses and hence not bound to each other u Persistent storage is in the same virtual address namespace u Shared memory is the most prevalent mechanism for data exchange and synchronization u Object granularity can be independent of page granularity u Threads can travel throughout the virtual address space without an address space switch or a thread context switch u System architecture can be flat and modular - operating system services, environment servers and user-level programs can be made accessible to each other and themselves via simple procedure calls and returns

ASU 64-bit OS Group7/15/ Single Address Space Paradigm (continued) u Obtaining operating system services is orthogonal to entry into privileged supervisor mode u Process and Data Migration is straight-forward - objects and threads exist at the same virtual addresses on all nodes; kernel structures can be replicated or represented by surrogates on different nodes u OOD and OOP can be directly supported - a protection domain can translate directly into an instantiation of an object class available at the user level - preprocessors and OS run-time systems are not needed; base classes can be extended via overrides at the user level u Clean separation of OS support for protection implementation and user-level definition of protection policy is simple u Access authorization, resource accounting and name services can be done at the user level u The common virtual address space provides simple scaleable per object copy set management and a lowest level cache for fault tolerance

ASU 64-bit OS Group7/15/ Single Address Space Paradigm (concluded) u Examples of Single Address Space Operating Systems v Without additional protection hardware assistance u Opal, Mungi, Arius, Carthage (KFRPC) v With additional protection hardware assistance u AS/400, MONADS, ToM, Carthage (FRPC), Sombrero

ASU 64-bit OS Group7/15/ Sombrero Principals

ASU 64-bit OS Group7/15/ SYSTEM ARCHITECTURE Process Oriented OS Single Address Space OS u Layered system structure - operating system kernel and services and user-level servers and programs layered on top of each other u System architecture can be flat and modular - operating system services, environment servers and user-level programs can be made accessible to each other and themselves via simple procedure calls and returns

ASU 64-bit OS Group7/15/ SYSTEM ARCHITECTURE Process Oriented OS Single Address Space OS u Obtaining operating system services requires a domain crossing AND entry into privileged supervisor mode u Obtaining operating system services is orthogonal to entry into privileged supervisor mode

ASU 64-bit OS Group7/15/201513

ASU 64-bit OS Group7/15/ SYSTEM ARCHITECTURE Process Oriented OS Single Address Space OS u Difficult to directly support OOD and OOP - preprocessors and OS run-time systems are needed u OOD and OOP can be directly supported - a protection domain can translate directly into an instantiation of an object class available at the user level - preprocessors and OS run-time systems are not needed; base classes can be extended via overrides at the user level

ASU 64-bit OS Group7/15/ SYSTEM ARCHITECTURE Process Oriented OS Single Address Space OS u OS support for protection implementation protection policy are intertwined u Clean separation of OS support for protection implementation and user- level definition of protection policy is simple

ASU 64-bit OS Group7/15/ SYSTEM ARCHITECTURE Process Oriented OS Single Address Space OS u Access authorization, resource accounting and name services typically require kernel services or intervention u Access authorization, resource accounting and name services can be done at the user level