Operating System Organization. Purpose of an OS



Similar documents
Components of a Computer System

Example of Standard API

Chapter 3 Operating-System Structures

Operating System Structures

CPS221 Lecture: Operating System Structure; Virtual Machines

Operating System Components and Services

System Structures. Services Interface Structure

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Chapter 2 System Structures

Operating System Components

ELEC 377. Operating Systems. Week 1 Class 3

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023


Chapter 3: Operating-System Structures. Common System Components

Operating System Structure

Operating Systems. Lecture 03. February 11, 2013

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Overview of Operating Systems Instructor: Dr. Tongping Liu

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

CHAPTER 15: Operating Systems: An Overview

Operating Systems 4 th Class

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Introduction to Virtual Machines

Virtualization Technology. Zhiming Shen

x86 ISA Modifications to support Virtual Machines

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Chapter 2: OS Overview

OPERATING SYSTEMS STRUCTURES

Virtualization for Cloud Computing

COS 318: Operating Systems

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Virtualization. Pradipta De

COS 318: Operating Systems. Virtual Machine Monitors

KVM: Kernel-based Virtualization Driver

Chapter 3. Operating Systems

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

OS Concepts and structure

Chapter 1: Introduction. What is an Operating System?

Why Threads Are A Bad Idea (for most purposes)

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Star System Deitel & Associates, Inc. All rights reserved.

System Virtual Machines

Origins of Operating Systems OS/360. Martin Grund HPI

Have both hardware and software. Want to hide the details from the programmer (user).

Operating System Structures

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

The Plan Today... System Calls and API's Basics of OS design Virtual Machines

Virtualization. Dr. Yingwu Zhu

Virtualization. Types of Interfaces

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Multi-core Programming System Overview

Introduction. What is an Operating System?

Virtual Computing and VMWare. Module 4

Unit 4 Objectives. System Software. Component 4: Introduction to Information and Computer Science. Unit 4: Application and System Software Lecture 2

A Comparison of Distributed Systems: ChorusOS and Amoeba

Rackspace Cloud Databases and Container-based Virtualization

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Eloquence Training What s new in Eloquence B.08.00

LSN 10 Linux Overview

Virtualization. Jukka K. Nurminen

Using Linux as Hypervisor with KVM

Virtual Machines. COMP 3361: Operating Systems I Winter

Operating Systems OS Architecture Models

Virtualization. Jia Rao Assistant Professor in CS

CS161: Operating Systems

How To Understand The History Of An Operating System

Windows NT. Chapter 11 Case Study 2: Windows Windows 2000 (2) Windows 2000 (1) Different versions of Windows 2000

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

theguard! ApplicationManager System Windows Data Collector

Operating System Overview. Otto J. Anshus

The Microsoft Windows Hypervisor High Level Architecture

OPERATING SYSTEM SERVICES

Using Multipathing Technology to Achieve a High Availability Solution

Virtual Machines.

IOS110. Virtualization 5/27/2014 1

Virtualization. Explain how today s virtualization movement is actually a reinvention

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Experience with the integration of distribution middleware into partitioned systems

A Unified View of Virtual Machines

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Operating Systems. Rafael Ramirez (T, S)

2972 Linux Options and Best Practices for Scaleup Virtualization

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Principles and characteristics of distributed systems and environments

COM 444 Cloud Computing

Transcription:

Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1

OS Requirements Slide 3-3 Provide resource abstractions abstraction of CPU/memory use Address space hread abstraction of CPU within address space Resource abstraction Anything a process can request that can block the process if it is unavailable N uses object abstraction to reference resources File abstraction of secondary storage use OS Requirements Slide 3-4 Device Management, thread, and resource management Memory Management File Management 2

Device Management Slide 3-5 Device-Independent Part Device-Dependent Part Device-Dependent Part Device-Dependent Part Device Device Device Virtual Device Drivers Slide 3-6 used in virtualization environments emulate a piece of hardware - illusion of accessing real hardware How does it work? Attempts by the guest operating system to access the hardware are routed to the virtual device driver in the host operating system as function calls 3

, hread, and Resource Management Slide 3-7 Multiprogramming, thread, and resource manager hread Abstraction Abstraction Other Generic Resource Manager or Primary Memory Abstract Resources Memory Management Slide 3-8 Manager Block Allocation Isolation & Sharing Virtual Memory Primary Memory Storage Devices 4

File Management Slide 3-9 Abstraction of storage devices Interacts with device and memory managers Modern OS: file system can be distributed across a network of machines Slide 3-10 OS Design Constraints Performance Protection and security Correctness Maintainability Commercial factors Standards and open systems 5

wo software design issues Performance - OS must be efficient efficient use of resources (CPU time and memory space) Maximize the availability of resources Exclusive use of resources - OS must provide resource isolation OS Mechanisms to Handle Performance and Exclusive use of resources - or Modes - hardware mode bit is used to distinguish between OS and user instructions Kernels - most critical part of OS placed in kernel (trusted software module) Method of invoking system service - calling a system function or sending a message to a system process Slide 3-11 Performance Slide 3-12 he OS is an overhead function should not use too much of machine s resources Minimum functionality is to implement abstractions Additional function must be traded off against performance DOS: one process UNIX: low level file system 6

Exclusive Access to a Resource Slide 3-13 Exclusive control of a resource - must be guaranteed OS provides mechanism to isolate processes OS must also provide ability for processes to share Security Policy - the machine specific strategy for managing access to resources rusted software - carefully constructed and part of OS (us) Kernel Untrusted software - temporary and unknown (them) Apps, system software, and OS extensions Exclusive Access to a Resource Slide 3-14 or A B Supervisor Program A s Protected Object 7

Protection & Security Slide 3-15 Multiprogramming resource sharing herefore, need software-controlled resource isolation Security policy: Sharing strategy chosen by computer s owner Protection mechanism: ool to implement a family of security policies or Modes Slide 3-16 Mode bit: Supervisor or User mode Supervisor mode Can execute all machine instructions Can reference all memory locations User mode Can only execute a subset of instructions Can only reference a subset of memory locations 8

Kernels Slide 3-17 he part of the OS critical to correct operation (trusted software) Executes in supervisor mode he trap instruction is used to switch from user to supervisor mode, entering the OS Supervisor and User Memory Slide 3-18 User User Space Supervisor Supervisor Space 9

Procedure Call and Message Passing Operating Systems Slide 3-19 call(); send(, A, ); receive(, B, ); trap send/receive return; receive(a, ); send(, B, ); System Call Using the trap Instruction Slide 3-20 fork(); fork() { trap N_SYS_FORK() } rap able sys_fork() Kernel sys_fork() { /* system function */ return; } 10

A hread Performing a System Call Slide 3-21 User Space Kernel Space fork(); hread sys_fork() { } Correctness & Maintainability Slide 3-22 Security depends on correct operation of software trusted vs untrusted software Maintainability relates to ability of software to be changed If either is sufficiently important, can limit the function of the OS Guiding a manned spaceship Managing a nuclear reactor 11

Basic Operating System Organization Slide 3-23, hread & Resource Manager File Manager Memory Manager Device Manager or(s) Main Memory Devices Basic Operating System Organization Slide 3-24 Dilemma - modularize vs. flater design Modularize Four separate functional units Easier to maintain and update Flater performance important UNIX - four parts combined into one 12

Basic Operating System Organization Slide 3-25, hread & Resource Manager File Manager Memory Manager Device Manager or(s) Main Memory Devices MicroKernel Slide 3-26 MicroKernel - only essential trusted code thread scheduling hardware device management fundamental protection mechanisms other basic functions remainder of the 4 - into user code Must use system call to microkernel 13

Modern OS Kernels Slide 3-27 Unix - first to support multiprogramming and networking Windows version - more widely used he UNIX Architecture Slide 3-28 Interactive User Libraries Device Driver Device Driver Device Driver Application Commands Programs OS System Call Interface rap able Driver Interface Monolithic Kernel Module Management Memory Management File Management Device Mgmt Infrastructure 14

Windows N Organization Slide 3-29 User Supervisor Libraries Subsystem N Executive N Kernel Hardware Abstraction Layer Management Memory Management File Management Subsystem Subsystem Device Mgmt Infrastructure I/O Subsystem or(s) Main Memory Devices N Design Goals Slide 3-30 Extensibility configured for workstation or server OS uses the same source code in both extensible nucleus software model like microkernel Portability Reliability and Security 15

Windows N Organization Slide 3-31 User Supervisor Libraries Subsystem N Executive N Kernel Hardware Abstraction Layer Management Memory Management File Management Subsystem Subsystem Device Mgmt Infrastructure I/O Subsystem or(s) Main Memory Devices Slide 3-32 DOS -- Resource Abstraction Only Program Program Libraries Program OS Services ROM Routines or(s) Main Memory Devices 16

Abstraction & Sharing Program State Program State Slide 3-33 Libraries Program State OS Services Abstraction Manage sharing ROM Routines or(s) Main Memory Devices Microkernel Organization Slide 3-34 Libraries User Supervisor Server Server Server Microkernel Device Drivers or(s) Main Memory Devices 17

Monitoring the Kernel Slide 3-35 ask Manager pview pstat User Supervisor Libraries Subsystem Subsystem Subsystem N Executive N Kernel Hardware Abstraction Layer I/O Subsystem or(s) Main Memory Devices 18