(Advanced Topics in) Operating Systems

Size: px
Start display at page:

Download "(Advanced Topics in) Operating Systems"

Transcription

1 (Advanced Topics in) Operating Systems Winter Term 2008 / 2009 Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC²

2 Organization Schedules: Lectures: Thursday 9:00 11:00 am Exercises: Thursday 8:15 9:00 am Module Assignment: Module III.3.1 or Module III.3.2 Perhaps together with IRTOS in III.3.6 A. Brinkmann

3 Overview Overview of chapter Services offered by an operating system History of operating systems Various kinds of opering systems Structures of operating systems A. Brinkmann

4 Concepts of General Purpose OS User 1 User 1 User 1 Operating System: Services and control Application Application Application Operating System: Management and operation Hardware A. Brinkmann 4

5 Services to be offered by an OS Three basic classes of tasks: Utilities for application programs (Provide easy access to the computer) Providing a more abstract view of the HW structure (Hide away details which are irrelevant for programmers) Allocation and coordination of available resources to competing, concurrently working users (resolve conflicts due to competing demands) A. Brinkmann 5

6 Functions of an OS Interrupt handling Dispatching (context switching) Resource management (allocation, releasing, and operation of resources, tools for process synchronization) Program allocation (linkage of partial programs, loading and unloading of programs to/from main memory) File management Organization of secondary memory by means of files Functions to store, modify, and read information Job control (Decisions concerning the sequence of received jobs) Reliability Reaction on failures of HW or SW Providing correctness, robustness and fault tolerance A. Brinkmann 6

7 2.2 History of Operating Systems Evolution of operating systems closely related to evolution of computer architecture: First generation ( ) Programming in machine code Operating systems and programming languages unknown Second generation ( ) More reliability by use of transistors Distinction of roles: designer, manufacturer, operator, programmer Programs on punched cards Batch processing Manually: operator loads new job upon termination of the old one Automatic: small cheap computer reads jobs, stores them on magnetic tape to be used as input to mainframe A. Brinkmann 7

8 History of Operating Systems Third Generation ( ) Integrated circuits Existence of two, incompatible architecture classes: Word-oriented architectures for numerical calculations in science and technology Byte-oriented architectures for report generation in commercial applications (bancs, insurances, ) Portability problems IBM System/360: Family of SW-compatible computers, same architectures, unifying word- and byte-oriented computing Consequences: Need of efficient and universal system software Incompatible requirements result in large, complex, and error-prone operating systems A. Brinkmann 8

9 Upcoming Software Crisis Operating systems are becoming large, complex, error-prone Request for Structured system design Maintainability Reliability Protection and security Modular programming Abstract Data Types and (later) Object-orientation Consequences: Use of higher programming languages for OS implementation Concept of Process to provide Protected context Own protected address space Own protected capabilities A. Brinkmann 9

10 Introduction of Important Key Technologies Multiprogramming Multiple jobs are kept in MM Jobs waiting for I/O are blocked and other jobs stored in MM are executed HW-mechanisms to protect job partitions in MM Job 1 Job 2 Job 3 OS Memory partition Time Sharing: Introduction of time slices CTSS (Compatible Time Sharing System) Developed by MIT 1962 Commercially introduced after integration of HW protection mechanisms for concurrent jobs (IBM) A. Brinkmann 10

11 Some More Key Technologies I/O processors allow real parallel computing Spooling (Simultaneous Peripheral Operation On Line) Jobs are copied from punched cards to disks and executed as soon as possible Virtualization of the processor by means of Processes Introduction of virtual memory Use of processes also for internal structuring of operating systems A. Brinkmann 11

12 Introduction of UNIX UNIX as simple is beautiful version of MULTICS MULTICS (MULT-iplexed Information and Computing System) System developed by Bell Labs, MIT, and General Electric Basic idea: copy electricity distribution (when electricity is needed: plug in) Here: when computing is needed: plug in Consequence: MULTICS was intended to serve all citizens of Boston Bell Labs and GE leave the project, project continued partially by MIT MULTICS developer Ken Thompson (Bell Labs employee) looked for new challenge developed UNICS for PDP-7 mini computer Received support by his entire department at Bell Labs. Developed what became UNIX A. Brinkmann 12

13 Dennis Ritchie (left) and Ken Thompson at PDP-11 System Source: A. Brinkmann 13

14 Introduction of C-Language Intent at Bell Labs: Porting UNIX to a couple of other machines. Cumbersome when done in Assembler language. Adequate higher programming language needed. In those days used for experimental work: BCPL resp. simpler version, called B. Turned out to be not sufficient. Consequence: Ritchie develops C and together with Thompson reimplements UNIX in C C becomes standard in system programming AT&T decided not to enter computer business UNIX was distributed to universities incl. source code for a nominal fee. UNIX in those days: 8200 lines of C-code lines of Assembler code. A. Brinkmann 14

15 UNIX derivates Companies obtained source code licenses to develop own versions of UNIX (e.g. XENIX by start-up Microsoft). Berkely UNIX: Berkeley Software Distribution (BSD) Enhancements concerning virtual memory, paging, file system, reliable signal handling, inclusion of TCP/IP Utilities like vi, csh, compilers for Pascal and Lisp SUN, DEC etc. based their UNIX versions on BSD instead of the official UNIX V by AT&T Application areas: academics, research, defense Standardization project POSIX System calls from intersection of BSD and System V IEEE Standard Related documents standardize Threads, utilities, networking, ANSI/ISO standardized C. A. Brinkmann 15

16 UNIX and MINIX UNIX versions did again split into OSF (IBM, DEC, HP, ) UI (AT&T, ) See Tanenbaum develops MINIX as UNIX for education Micro kernel offers minimal functionality 1600 lines of C-code lines of assembler code Rapidly growing developers community Design goal restricts MINIX development. A. Brinkmann 16

17 Linux Linus Torvalds (Univ. Helsinki) creates Linux in 1991 Monolithic approach, originally only for Intel 386 Version 1.0 in 1994, lines of C-code Compatible to UNIX standard Version 2.0 in 1996, lines of C-code Freely available (GNU Public License) Evolved to mature, widely used OS A. Brinkmann 17

18 A high impact see also A. Brinkmann 18

19 History of Operating Systems Forth Generation Development of micro-computers and PCs Mass deployment of operating systems CP/M (Control Program for Microcomputers) Disk-oriented OS for Intel 8080 Dominated micro-computer market for appr. 5 years MS-DOS (Microsoft Disk Operating System) Based on DOS from Seattle Computer Products Delivered by IBM bundled with IBM PC (this marketing strategy caused the break-through) MAC OS: Introduction of GUI and user-friendly interfaces UNIX extended by GUI as well, based on X-Windows (MIT) Evolved in follow-ups, e.g. Motif A. Brinkmann 19

20 More about Forth Generation Key technologies: network operating systems, distributed operating systems Powerful communications media allow distributed systems Operating systems go beyond limits of computers: from computer communication to real distributed systems ( the network is the computer ) Integration pushes standardization (OSI, TCP/IP, NFS, POSIX, OSF, ) UNIX becomes de facto standard for such systems Additional trends: Introduction of lightweight processes (Threads) Parallel programming included in programming languages Distributed and parallel computing on networks of PCs A. Brinkmann 20

21 Actual Trends Highly parallel systems Performance explosion and cost reduction of micro processors massively parallel computer clusters Well structured, well adapted system software crucial for fully making use of performance OS extensions concerning parallel execution, load balancing, Multi media (support of pictures, audio/video streams) Embedded systems (customized, efficient, reliable OS, RTOS) Interoperability Distributed Systems on heterogeneous environments Emulation of other OS, multiple OS on one computer A. Brinkmann 21

22 6.3 Kinds of Operating Systems Mainframe OS Originally used in large computing centers Today: Web-/E-commerce Server, B2b platforms Optimized for large I/O bandwidth, allowing to execute many processes concurrently Various modes of operation: Batch processing, e.g. insurance cases Transaction processing, e.g. money transfers, flight reservations Timesharing for central services Example: IBM OS/390 (follow up of OS/360) A. Brinkmann 22

23 Server OS One level below mainframes others Serve many users via network, distribute HW and SW resources Usually used in file, mail, web, or printer servers Examples: UNIX, Linux, Windows Market share of server OS in 2001 (source: IDC, Computerzeitung) A. Brinkmann 23

24 Multiprocessor OS Low-level parallelism gains importance (servers, workstations, PCs) Need for customized server operating systems extended by capabilities for Communication Interoperability Still deficits in supporting the increased HW performance (e.g. scalability of Linux still debatable) A. Brinkmann 24

25 Network OS Each computer uses own OS, knows locally all users Users have knowledge about existence of the network Users may register at remote computers To copy data To use services A. Brinkmann 25

26 Distributed OS Underlying HW architecture (network of computers) invisible to the user. User does not know Location of program Location of data storage. User has impression of a uniform computer resource. A. Brinkmann 26

27 Comparison Distributed/Network/Multiprocessor OS Property Network Distributed Multiprocessor Behaves like virtual CPU? no yes yes Same OS for all nodes? no yes yes No. of copies of the OS n n 1 Implementation of communication shared files message passing shared memory Shared network protocols? yes yes no Single process queue? no no yes A. Brinkmann 27

28 PC Operating Systems PC operating systems are general purpose OS with some specific requirements: User-friendly interface Simple to install and maintain Support of a variety of peripheral devices Simple development of applications Upwards compatible A. Brinkmann 28

29 Real-time OS (RTOS) Applied to monitoring systems, fabrication processes,. Primary requirement: Sensing, analysis, computation, and forwarding of data has to be provided within strict time limits Classification into Hard real-time (catastrophic effects if deadlines are missed) Soft real-time (quality reduced if deadlines are missed) Examples: VxWorks, QNX A. Brinkmann 29

30 OS for Embedded Systems and PDAs In many cases real-time properties Additional optimization towards Small footprint Simple program logics Low energy consumption Used also in devices controlling other devices General purpose OS available for PDAs: PalmOS Windows CE Symbian A. Brinkmann 30

31 Chip Card OS Increasing importance of SmartCards Hard restrictions concerning memory and computing power In most cases a single service is provided (e.g. payment) JAVA-oriented SmartCards, JVM in ROM Different functions implemented as Applets implicit multiprogramming Need for efficient resource management and protection mechanisms A. Brinkmann 31

32 2.4 Structures of Operating Systems Design structures for Operating Systems: Monolithical systems Layered architectures Virtual machines Exokernal Microkernal (Client-Server architectures) A. Brinkmann 32

33 Monolithic OS Application System Interface Operating System Address space Application task OS service A. Brinkmann 33

34 Monolithic OS Most used approach Large amount of functions Each function provides well defined interface for parameters and results Each function can call each other function All functions are compiled together into a single object code. Functions (services) are invoked by deposing parameters in system interface and causing a system trap. Trap causes switch into system mode, OS identifies request and serves this request. A. Brinkmann 34

35 Monolithic OS: Service Calls User programs executed in user mode (user address space) System call means switch from user mode to kernel mode After service completion return to user mode User program 1 System call User program 1 User mode Service program Kernel mode Dispatcher table Special register of processors points to start of dispatcher table A. Brinkmann 35

36 Monolithic OS: Structuring Global structure: Main program: calls the services Services: execute service calls Utilities: support services and provide basic mechanisms like copying data from user program Main program Services Utilities A. Brinkmann 36

37 Layered OS A. Brinkmann 37

38 Virtual Machines Basic idea: Model the underlying HW allowing more than one OS to run concurrently on a single computer First system: IBM VM/370, consisting of two components: Monitor of virtual machine: executed on real HW, implements multiprogramming Multiple virtual machines on top of monitor, with exact copies of HW with kernel and user mode I/O and interrupts Additional properties of the real machine System calls are trapped by virtual machine Real execution of system calls takes place on real HW under control of the monitor at HW level Clear distinction of these two layers makes design of both components easier A. Brinkmann 38

39 VM/370: Basic Principles Virtual machines I/O request OS 1 OS 2 OS 3 System call More recent implementations: Virtual 8086 mode for Pentium processors to execute MS-DOS programs JVM (Java Virtual Machine) Port to many architectures Interprets the output of a Java-compiler Important benefit: running programs can be monitored concerning security. A. Brinkmann 39

40 Exokernel Combination (MIT) of 8086 virtualization and VM/370 Each user gets a copy of the underlying computer, however only with a (fixed) fraction of the resources Example: 1st virtual machine gets blocks from hard disk 2nd virtual machine gets blocks , On lowest level in kernel mode the Exokernel is running, makes sure that no VM makes use of resources of another one Advantages Saving an intermediate level, as no dynamic mapping tables from resources to VMs necessary Exokernel only needs to know static mapping resource <-> VM Disadvantage: Vast of resources due to static mapping A. Brinkmann 40

41 Microkernel and Client-Server Model Trend in he last 15 years: Migration from monolithic OS to fine-grain structured ones with floating boundaries to applications. It remains jus a tiny kernel (Microkernel) OS services migrate to user mode Communication between OS services and user applications following client-server model by message passing Run-time model: Totality of the services offered to an application Questions to be answered: What services are part of run-time model? Which set of services is always mandatory, i.e. what is part of the microkernel? How the underlying system architecture looks like? A. Brinkmann 41

42 Microkernel Applications OS tasks (services) System interface Microkernel Address space Application task OS service A. Brinkmann 42

43 Microkernel: Examples Mach: developed mid 80s at Carnegie Mellon University. Tru64 (previously DigitalUnix): based on Mach-kernel, maps UNIX system calls to messages to respective services. MacOS X: based on Mach kernel as well. RTOS QNX: Microkernel contains services for message passing, lowlevel communication, HW interrupts. Strict microkernel not always possible, Example WindowsNT Hybrid structure: partly layered approach, each application type (Win32, OS/2, Posix) has own server in user space. Kernel coordinates message passing. A. Brinkmann 43

44 Client-Server Model: Advantages Result from partitioning of OS in units like file server, process server, terminal server, Efficient implementation of kernel becomes easier Services are processes in user mode without direct access to HW ==> malfunctions may cause individual services to fail, overall system may remain functional Adaptability in case of distributed systems: computer boundaries may be bridged without creating a distinct version for distributed computing. Problems: Some services are implementable only in kernel mode Service calls may become less efficient (more context switches) Proper distinction of mechanisms (kernel) and policies (services in user space) necessary. A. Brinkmann 44

45 Further Information PC² homepage A. Brinkmann 45

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

Star System. 2004 Deitel & Associates, Inc. All rights reserved. Star System Apple Macintosh 1984 First commercial OS GUI Chapter 1 Introduction to Operating Systems Outline 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 Introduction What Is an Operating System?

More information

3 - Introduction to Operating Systems

3 - Introduction to Operating Systems 3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and

More information

Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023 Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview

More information

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

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

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

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

OS Concepts and structure

OS Concepts and structure OS Concepts and structure Today OS services OS interface to programmers/users OS components & interconnects Structuring OSs Next time Processes Between hardware and your apps User processes Thunderbird

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Operating Systems Introduction

Operating Systems Introduction Operating Systems Introduction Chester Rebeiro IIT Madras Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html The Layers in Systems Applications Operating Systems Computer Organization

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software What is an Operating System? An operating system (OS) is a collection of software that acts as an intermediary between users and the computer hardware One can view an OS as a manager of system resources

More information

How To Understand The History Of An Operating System

How To Understand The History Of An Operating System 7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.

More information

Computers: Tools for an Information Age

Computers: Tools for an Information Age Computers: Tools for an Information Age Chapter 3 Operating Systems: Software in the Background Objectives of Chapter 3 Describe the functions of an Operating System Explain the basics of a personal computer

More information

CHAPTER 15: Operating Systems: An Overview

CHAPTER 15: Operating Systems: An Overview CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint

More information

Components of a Computer System

Components of a Computer System SFWR ENG 3B04 Software Design III 1.1 3 Hardware Processor(s) Memory I/O devices Operating system Kernel System programs Components of a Computer System Application programs Users SFWR ENG 3B04 Software

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction. What is an Operating System? Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Fall 2009. Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Fall 2009. Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu. Fall 2009 Lecture 1 Operating Systems: Configuration & Use CIS345 Introduction to Operating Systems Mostafa Z. Ali mzali@just.edu.jo 1-1 Chapter 1 Introduction to Operating Systems An Overview of Microcomputers

More information

Contents. Chapter 1. Introduction

Contents. Chapter 1. Introduction Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

Operating Systems OS Architecture Models

Operating Systems OS Architecture Models Operating Systems OS Architecture Models ECE 344 OS Architecture Designs that have been tried in practice Monolithic systems Layered systems Virtual machines Client/server a.k.a. Microkernels Many of the

More information

A Comparison of Distributed Systems: ChorusOS and Amoeba

A Comparison of Distributed Systems: ChorusOS and Amoeba A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.

More information

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems Module 9: Operating Systems Objective What is an operating system (OS)? OS kernel, and basic functions OS Examples: MS-DOS, MS Windows, Mac OS Unix/Linux Features of modern OS Graphical operating system

More information

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

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

Understanding the OS Architecture and Linux History. Zhiqiang Lin

Understanding the OS Architecture and Linux History. Zhiqiang Lin CS 6V81-05: System Security and Malicious Code Analysis Understanding the OS Architecture and Linux History Zhiqiang Lin Department of Computer Science University of Texas at Dallas February 15 th, 2012

More information

Types Of Operating Systems

Types Of Operating Systems Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded

More information

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

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity

More information

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

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

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

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note: Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the

More information

CPS221 Lecture: Operating System Structure; Virtual Machines

CPS221 Lecture: Operating System Structure; Virtual Machines Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

Chapter 3. Operating Systems

Chapter 3. Operating Systems Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating

More information

Operating System Components

Operating System Components Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

Overview of Operating Systems Instructor: Dr. Tongping Liu

Overview of Operating Systems Instructor: Dr. Tongping Liu Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems

More information

Operating System Components and Services

Operating System Components and Services Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.

More information

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

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer

More information

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

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Software systems and issues

Software systems and issues Software systems and issues operating systems controlling the computer file systems and databases storing information applications programs that do things cloud computing, virtual machines, platforms where

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Microkernels, virtualization, exokernels. Tutorial 1 CSC469 Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

COS 318: Operating Systems

COS 318: Operating Systems COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms

More information

Unit 10 : An Introduction to Linux OS

Unit 10 : An Introduction to Linux OS Unit 10 : An Introduction to Linux OS Linux is a true 32/64-bit operating system that run on different platforms. It is a multi-user, multi-tasking and time sharing operating system. Linux is a very stable

More information

Operating System Structure

Operating System Structure Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural

More information

Operating Systems: Basic Concepts and History

Operating Systems: Basic Concepts and History Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual

More information

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

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to

More information

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen Folie a: Name & Data Processing 2 1: Introduction to Operating System Concepts Dipl.-Ing. Bogdan Marin Fakultät für Ingenieurwissenschaften Abteilung Elektro-und Informationstechnik -Technische Informatik-

More information

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

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 CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

Overview and History of Operating Systems

Overview and History of Operating Systems Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

Virtualization. Types of Interfaces

Virtualization. Types of Interfaces Virtualization Virtualization: extend or replace an existing interface to mimic the behavior of another system. Introduced in 1970s: run legacy software on newer mainframe hardware Handle platform diversity

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

CS 453/552: Operating Systems

CS 453/552: Operating Systems CS 453/552: Operating Systems Introduction An Operating System is a system software that acts as an intermediary between user and resources (could be hardware or abstract) application software and resources

More information

Networking Operating Systems (CO32010)

Networking Operating Systems (CO32010) Networking Operating Systems (CO32010) 2. Processes and scheduling 1. Operating Systems 1.1 NOS definition and units 1.2 Computer 7. Encryption Systems 1.3 Multitasking and Threading 1.4 Exercises 6. Routers

More information

An introduction to operating systems

An introduction to operating systems An introduction to operating systems 1 Introduction There is no single definition of operating system. Operating systems exist because they are a reasonable way to solve the problems created by a computer

More information

Operating System Software

Operating System Software Operating System Software Lecture 7 The operating system Defines our computing experience. First software we see when we turn on the computer, and the last software we see when the computer is turned off.

More information

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 5: System Software: Operating Systems and Utility Programs Understanding Computers Today and Tomorrow 12 th Edition Chapter 5: System Software: Operating Systems and Utility Programs Learning Objectives Understand the difference between system software and application

More information

Integrated and reliable the heart of your iseries system. i5/os the next generation iseries operating system

Integrated and reliable the heart of your iseries system. i5/os the next generation iseries operating system Integrated and reliable the heart of your iseries system i5/os the next generation iseries operating system Highlights Enables the legendary levels of reliability and simplicity for which iseries systems

More information

Virtual machine interface. Operating system. Physical machine interface

Virtual machine interface. Operating system. Physical machine interface Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that

More information

Chapter 2: OS Overview

Chapter 2: OS Overview Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

More information

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan Lecture 11 Operating Systems Focus of the last lecture: computer SW 1. We found out about the role SW plays in a computing environment 2. We learned to distinguish between SW belonging to the system &

More information

Operating System Organization. Purpose of an OS

Operating System Organization. Purpose of an OS 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

More information

Multi-core Programming System Overview

Multi-core Programming System Overview Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,

More information

Operating Systems PART -A

Operating Systems PART -A Subject Code: Hours/Week : 04 Total Hours : 52 I.A. Marks : 25 Exam Hours: 03 Exam Marks: 100 PART -A UNIT -1 INTRODUCTION TO OPERATING SYSTEMS, SYSTEM STRUCTURES: What operating systems do; Computer System

More information

theguard! ApplicationManager System Windows Data Collector

theguard! ApplicationManager System Windows Data Collector theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview

More information

Principles of Operating Systems CS 446/646

Principles of Operating Systems CS 446/646 Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features c. Types of O/S Mainframe systems Desktop & laptop systems Parallel systems

More information

IOS110. Virtualization 5/27/2014 1

IOS110. Virtualization 5/27/2014 1 IOS110 Virtualization 5/27/2014 1 Agenda What is Virtualization? Types of Virtualization. Advantages and Disadvantages. Virtualization software Hyper V What is Virtualization? Virtualization Refers to

More information

Computer Science 4302 Operating Systems. Student Learning Outcomes

Computer Science 4302 Operating Systems. Student Learning Outcomes Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr Virtualization Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Virtualization Basics System Virtualization Techniques CSE506: Ext Filesystem 2 Virtualization? A virtual machine (VM) is an emulation

More information

After studying this lesson, you will have a clear understanding of, what an Operating System is. functions of an Operating System

After studying this lesson, you will have a clear understanding of, what an Operating System is. functions of an Operating System After studying this lesson, you will have a clear understanding of, what an Operating System is functions of an Operating System User Interfaces how to use Windows Operating System 5.1 Introduction As

More information

Distributed Systems LEEC (2005/06 2º Sem.)

Distributed Systems LEEC (2005/06 2º Sem.) Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users

More information

12. Introduction to Virtual Machines

12. Introduction to Virtual Machines 12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to

More information

How To Understand The Concept Of A Distributed System

How To Understand The Concept Of A Distributed System Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of

More information

Design and Implementation of the Heterogeneous Multikernel Operating System

Design and Implementation of the Heterogeneous Multikernel Operating System 223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,

More information

Principles and characteristics of distributed systems and environments

Principles and characteristics of distributed systems and environments Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: sun@iit.edu, Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

How To Design A Data Centre

How To Design A Data Centre DATA CENTRE TECHNOLOGIES & SERVICES RE-Solution Data Ltd Reach Recruit Resolve Refine 170 Greenford Road Harrow Middlesex HA1 3QX T +44 (0) 8450 031323 EXECUTIVE SUMMARY The purpose of a data centre is

More information

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

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines

More information

Operating System Tutorial

Operating System Tutorial Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection

More information

OPERATING SYSTEMS STRUCTURES

OPERATING SYSTEMS STRUCTURES S Jerry Breecher 2: OS Structures 1 Structures What Is In This Chapter? System Components System Calls How Components Fit Together Virtual Machine 2: OS Structures 2 SYSTEM COMPONENTS These are the pieces

More information

Chapter 4 IT Infrastructure: Hardware and Software

Chapter 4 IT Infrastructure: Hardware and Software 1 Chapter 4 IT Infrastructure: Hardware and Software LEARNING TRACK 1: THE EVOLUTION OF IT INFRASTRUCTURE Evolution of IT Infrastructure: 1950 2005 The IT infrastructure in organizations today is an outgrowth

More information

FAME Operating Systems

FAME Operating Systems FAME Operating Systems 2012 David Picard contributors : Arnaud Revel, Mickaël Maillard picard@ensea.fr 1. Introduction A very simple computer Goals of an operating system Hardware management Task management

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

More information

Arwed Tschoeke, Systems Architect tschoeke@de.ibm.com IBM Systems and Technology Group

Arwed Tschoeke, Systems Architect tschoeke@de.ibm.com IBM Systems and Technology Group Virtualization in a Nutshell Arwed Tschoeke, Systems Architect tschoeke@de.ibm.com and Technology Group Virtualization Say What? Virtual Resources Proxies for real resources: same interfaces/functions,

More information

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine?

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine? Operating Systems Concepts An introduction to the software that makes computers usable, ensures that systems can be made secure, and provides the environment for software to be a marketable commodity Olav

More information