Operating systems Architecture

Similar documents
CSCI 350 Ch. 1 Introduction to OS. Mark Redekopp Ramesh Govindan and Michael Shindler

Spring It takes a really bad school to ruin a good student and a really fantastic school to rescue a bad student. Dennis J.

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Chapter 2 Operating-System Structures

EEE 435 Principles of Operating Systems

TYPES OF OPERATING SYSTEMS. Dimple Juneja

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

CS 390 Chapter 2 Homework Solutions

Operating Systems : Overview

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

Module 1 Introduction/OS Overview

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Chapter 2: Operating-System Structures

Lecture 1: January 23

! Software ( kernel ) that runs at all times. ! OS performs two unrelated functions: Maria Hybinette, UGA. user! 1! Maria Hybinette, UGA. user! n!

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Chapter 2: Operating-System Structures

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Lecture 1: January 22

Overview of Operating Systems

Networks and Operating Systems Chapter 11: Introduction to Operating Systems

Kernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Overview of Operating Systems

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Operating Systems Overview

Operating Systems Overview. Chapter 2

Distributed OS and Algorithms

Chapter 2. Operating-System Structures

Operating Systems: Principles and Practice. Mark Zbikowski Gary Kimura (kudos to Tom Anderson)

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

OPERATING SYSTEMS UNIT - 1

Operating System Structure

Introduction: Context Switch

Basic Concepts & OS History

Introduction to Operating Systems (Part II)

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Chapter 2: System Structures

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition

Chapter 2: Operating-System

Operating System Structure

CSE 4/521 Introduction to Operating Systems

ReVirt: Enabling Intrusion Analysis through Virtual Machine Logging and Replay

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Fundamental Concepts and History

Operating Systems. studykorner.org

Chapter 2: Operating-System Structures

Rab Nawaz Khan Jadoon

OPERATING SYSTEM. Functions of Operating System:

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

Four Components of a Computer System

Introduction. CS3026 Operating Systems Lecture 01

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 8 th Edition

Chapter 1: Introduction

Operating System Structure

Operating System Architecture. CS3026 Operating Systems Lecture 03

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

Chapter 1: Introduction

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

W4118: OS Overview. Junfeng Yang

Operating System Concepts Ch. 2: Operating System Structures

DISTRIBUTED COMPUTING

Operating Systems, Fall

Operating Systems Overview. Chapter 2

Chapter 2: Operating-System Structures

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song Spring 2015

Master level: Operating systems, distributed systems, networking,

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

CSCE-313 Introduction to Computer Systems

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

COMPUTER SYSTEM AND OPERATING SYSTEM OVERVIEW

Operating-System Structures

Introduction to OS (cs1550)

Tessellation: Space-Time Partitioning in a Manycore Client OS

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

Unit 2 : Computer and Operating System Structure

CSC 453 Operating Systems

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

OPERATING SYSTEMS Chapter 13 Virtual Machines. CS3502 Spring 2017

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation

OS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

Chapter 1: Introduction

Chapter 2: Operating-System Structures

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Introduction to Virtualization. From NDG In partnership with VMware IT Academy

Chapter 2: System Structures. Operating System Concepts 9 th Edition

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Introduction to Computer Science

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Transcription:

Operating systems Architecture 1

Operating Systems Low level software system that manages all applications implements an interface between applications and resources manages available resources Resource manager Interface Virtual Machine Introdução : 2/22

Operating System

Operating System OS kernel User space Application that executed in the background (server) Utility programs Code executed in non privileged mode Service / daemons Code executed in privileged mode Application provided by the OS and executed by the user (editor, shell, compiler() System calls functions that implement parts of the OS services or utilities can be used inside the kernel Manage and change internal structure.

Operating System

Operating System Roles Referee management of resources shared between application Isolation of applications from each other Decide which applications get which resources Illusionist Provides abstraction of physical hardware I/O, available memory,... Glue Provide standard common services I/O (disk, network,...) Service implementation

Operating System requirements Reliability Availability Security Portability Performance Adoption

Operating System requirements Reliability Capacity to work correctly Hide HW faults Reduce SW bugs Handle attacks Availability Time the system is working Affected by frequency of failures (MTBF) and time to restore system Buggy system that crashes frequently but never looses information Reliable but not available Subverted system that appears to be working correctly Avalibale but not reliable

Operating System requirements Security Guarantee that operations are not compromised by malicious attacks Privacy guarantee that data is only accessible to authorized users SW has bugs that can be exployted Administrator can be untrustworthy SW developer can be untrustworthy OS Design should minimize vulnerabilities Computer virus Downloaded code

Operating System requirements Portability Applications are provided an abstraction for the HW Resources Access Portable abstractions do not change with time Abstract virtual machines WIN32 POSIX

Operating System requirements Performance Efficient use of of available resources Overhead added cost of implementing an abstraction Efficiency Fairness how long a task takes to run Throughput how to divide resources (memory, CPU) to multiple applications Response Time lack of overhead rate at which tasks are completed Performance predictability

Operating System requirements Adoption rate depend on Availability of Applications Availability of hardware Open vs closed Standardized API more guaranteed of stability more guarantees of portability Interoperability

OS architectures A general purpose OS is composed of: Process manager memory manager Implements and handles mechanism for processes to comunicate I/O manager controls, manages and multiplexes the access to physical and virtual memory Inter-process comunication multiplexes the CPU time between the multiple execution units (processes) manages comunication with perifheral (keyboard/screen, disk, network) User interface command line interpreter GUI

Past, Present Future 1945: ENIAC-Electronic Numerical INtegrator And Computer, 19K válves e 1K relays 200 KW 167 m2 Numeric computations 5000 sums per second or 357 mult per second or 38 divs per second

Past, Present Future Processor idle while reading data Batch processing Load Run Unload While a job was running OS sets I/O devices for next job Job 1 I/O (read) Exec Job 2 I/O (write) I/O (read) Exec I/O (write) t

Past, Present Future Processor idle while reading data Multitasking / multiprocessing multiple programs loaded into memory OS selects program to execute Blocking programs (I/O) do not use CPU Efficeint if queu of tasks is long I/O devices feed processor requires program isolation

Past, Present Future Processor idle while reading data User can interact with the programs multiple display/keyboards make program idle most of the time Time-sharing multiple programs loaded into memory Programs from different users OS selects program to execute Blocking programs (I/O) do not use CPU Efficient if programs require I/O Requires program isolation Requires user isolation

CPU Usage Process 1 New process Process ended X Process 2 Process 3 OS Process 1 CPU transferred to other process Memory usage Process 2 Process 3 Operating System

Past, Present Future Modern OS Future OS Desktop VLS datacenters Smartphone VLS Multicore systems Server Mobile computing Embedded Heterogenous systems Virtual machines Large Storage Server clusters IoT Cloud

OS organization Layered Monolithic Micro kernel Distributed VM based

Monolithic architecture OS composed of a single module Although using data abstraction Although using layered approach All data and code use same memory space low security mechanisms (one driver can mess other drivers) Difficult to evolve (reboot of system needed) Easy to implement Low overhead

Monolithic architecture DOS First Unix versions

Layered OS Components are divided into layers Each layer only interacts with: the bottom layer - requesting services to top layer - answering requests Higher level layer hardware Advantaged Applications lowest level layer grouping similar components good structure, well defined interface,... Disadvantages can be slow, may be difficult to define layers.

Microkernel Removes from kernel as much functionality as possible, limiting the amount of code executed in privileged mode allow easy modifications and extensions Most microkernels provide process management memory management message passing between other services Security and protection can be enhanced most services are performed in user mode, not kernel mode. System expansion can also be easier, only involves adding more system applications, not rebuilding a new kernel.

Microkernel Windows NT was originally microkernel but suffered from performance problems relative to Windows 95. NT 4.0 improved performance by moving more services into the kernel Multiple OSs can be buils on top of a microkernel Each operating system will make use of different system processes.

Microkernel

Hibrid kernel

Distributed OS Each component/service is a separated process on the same machine on different machines Components interactions Messages / Remote procedures Distributed File System Distributed Memory Distributed Processes

Amoeba The Bullet Server The Directory Server Used for file naming Maps from names to capabilities The Replication Server Used for fault tolerence and performance The Run Server Used for file storage Run server manages the processor pools The Boot Server Ensures that servers are up and running If it discovers that a server has crashed, it attempts to restart it, otherwise selects another processor to provide the service