1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

Threads, SMP, and Microkernels
Operating System Architecture and Distributed Systems
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Microkernels How to build a dependable, modular and secure operating system?
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.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Computer Systems/Operating Systems - Class 8
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Yousuf Surmust Instructor: Marius Soneru Course: CS550 Fall 2001
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
Figure 1.1 Interaction between applications and the operating system.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
PRASHANTHI NARAYAN NETTEM.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Course Instructor: Aisha Azeem
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?
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 Operating System Overview Chapter 2 Advanced Operating System.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
1 Threads, SMP, and Microkernels Chapter 4. 2 Focus and Subtopics Focus: More advanced concepts related to process management : Resource ownership vs.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Chapter 2 Operating System Overview
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Types of Operating Systems
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.
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.
Processes Introduction to Operating Systems: Module 3.
Operating Systems Structure what is the organizational principle?
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
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)
The Mach System Silberschatz et al Presented By Anjana Venkat.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
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
Operating System Structures
Operating System Structure
Chapter 3: Windows7 Part 1.
Threads, SMP, and Microkernels
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Outline Chapter 2 (cont) OS Design OS structure
Operating Systems : Overview
Operating Systems: A Modern Perspective, Chapter 3
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
Presentation transcript:

1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration and particular applications.” --from Choices homepage

2 What is Choices? Choices is an object-oriented operating system Written in C++ Machine and processor dependent portions are in assembler It has an object-oriented interface Operating system entities are objects

3 Where could Choices run? Bare networked SPARC stations Shared memory Encore Multimaxes Personal computers using the Intel 386 and MC68030 processors Tapestry hypercubes

4 Frameworks An architectural design of a system Components and interactions From general to specific Advantages –Code reuse, Portability, Rapid prototyping

5 Building Frameworks Abstract classes for generalized interfaces Inclusion polymorphism Constraints between classes Dynamic code loading Delayed binding and virtual functions Conversions

6 Choices Framework A hierarchy of framework representing the OS Abstract classes as configurable components Single inheritance Subtyping to express inclusion polymorphism A particular OS is a possible instantiation of the framework

7 Choices Framework MemoryObject Process Domain (Kernel domain, User domain) Relationship between these three NameServer

8 Choices Subsystems Virtual memory Persistent storage Process management Message passing Device management

9 Virtual Memory Features –Multiple 32 bit virtual memory address spaces –One and two level paging –Shared memory Components –MemoryObject –Domain –MemoryObjectCache –Address Translation

10 Process Management Features –Multi-threading support –Grouping of processes (Gang) Components –Process (System, Application, Interrupt) –ProcessContext (machine dependent state) –Processsor –Gang –ProcessContainer (implements scheduling)

11 Persistent Storage Features –Support both standard and customized storage systems Components –PersistentStore (random access) –PersistentObject –PersistentStoreContainer –PersistentStoreDictionary –PersistentArray, RecordFile, AutoloadPersistentObject

12 Message Passing System Features –Different reliability models –Support multiprocessor and distributed system Components –MessageContainer (Mach ports, communication entity) –ContainerRepresentative –MessageSystemInterface –Transport –DataTransfer (buffering strategy)

13 Device Management Features –Processes communicate with devices –Similarities and differences with UNIX Components –Device (server) –DevicesControllers –DevicesManager

14 Further Work uChoices –Micro kernel OS Adaptive file systems that provide different caching and network protocol support A fast process migration facility

15 uChoices (1) “To support modern OS services such as user level and gang scheduling, distributed customizable virtual memory, and multimedia in a completely modular architecture, while maintaining high performance.” Redesign of Choices as a micro-kernel

16 uChoices (2) Nano-kernel encapsulates hardware dependencies Micro-kernel provides the interface to the remainder of the OS –Encapsulates the micro-kernel data structures –Single standard interface to nano-kernel Intermediate levels of OS –Client, server, file system components, etc. Application interfaces

17 Comparisons (1) Choices vs. OS-Kit –general purposes –OS-Kit also support finer granularity –Different attitudes toward legacy code –OS-Kit supports COM interface –Choices supports ORB –OS-Kit tries to minimize the interaction and dependencies between components –OS-Kit has a minimal API

18 Comparisons (2) Choices vs. MMLite –General purpose (MMLite is also used in embedded systems) –The distributed file system extension of Choices is close to the mechanism used in MMLite (proxy) –MMLite focuses on support for transparently replacing components in use –MMLite supports COM

19 Comparisons (3) Choices vs. PURE –PURE is for deeply embedded systems –PURE extension has an OSEK API –PURE uses the concept of components at the design level, and avoids artificical boundaries in implementation concerning run time and code size –PURE is fine-grained

20 Comparisons (4) Choices vs. Pebble –Pebble is for complex embedded system –Concerns about safe extensibility and low interrupt latency –Pebbles uses a micro-kernel stucture –Pebble uses fine-grained components

21 Comparisons (5) Choices vs. eCos –eCos is designed for embedded system –eCos has its own published API –eCos is fine-grained –Statically reconfigurable –eCos has very good tool support (analysis and configuration tool)

22 Conclusion Relatively old research work Limited work on constraints No clear description of how to build a system

23 Choices Reference: –Choices, Frameworks and Refinement –Getting Started with Choices –An Object-Oriented Nano-Kernel for Operating System Hardware Support