What is an Operating System? Split Personality - Two Goals:

Similar documents
Operating System Components

Chapter 1: Introduction. What is an Operating System?

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

Operating Systems 4 th Class

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

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

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

Example of Standard API

OPERATING SYSTEM SERVICES

Chapter 3 Operating-System Structures

Amoeba Distributed Operating System

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

Operating System Structures

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

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

Operating Systems Introduction

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

Operating Systems. Rafael Ramirez (T, S)

Chapter 2: OS Overview

Components of a Computer System

OS Concepts and structure

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

CHAPTER 15: Operating Systems: An Overview

EECS 678: Introduction to Operating Systems

Overview and History of Operating Systems

CPS221 Lecture: Operating System Structure; Virtual Machines

Chapter 6, The Operating System Machine Level

Programming for GCSE Topic H: Operating Systems

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

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

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

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

Overview of Operating Systems Instructor: Dr. Tongping Liu

Chapter 2 System Structures

CS161: Operating Systems

(Advanced Topics in) Operating Systems

CSC 2405: Computer Systems II

System Structures. Services Interface Structure

ELEC 377. Operating Systems. Week 1 Class 3

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

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

Introduction. What is an Operating System?

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

Chapter 10 Case Study 1: LINUX

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating System Structures

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Chapter 3. Operating Systems

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

Virtual machine interface. Operating system. Physical machine interface


Operating system Dr. Shroouq J.

Types Of Operating Systems

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

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

OPERATING SYSTEMS STRUCTURES

Weighted Total Mark. Weighted Exam Mark

A Comparison of Distributed Systems: ChorusOS and Amoeba

Chapter 3: Operating-System Structures. Common System Components

How To Understand The History Of An Operating System

Multi-core Programming System Overview

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

Principles of Operating Systems CS 446/646

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.)

Enabling Technologies for Distributed Computing

I/O. Input/Output. Types of devices. Interface. Computer hardware

Operating Systems OS Architecture Models

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating System Components and Services

Chapter 5: System Software: Operating Systems and Utility Programs

Understanding the OS Architecture and Linux History. Zhiqiang Lin

Symmetric Multiprocessing

Chapter 1 Computer System Overview

COS 318: Operating Systems

Lecture 1 Operating System Overview

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005

Enabling Technologies for Distributed and Cloud Computing

Operating System Software

Chapter 2 Logic Gates and Introduction to Computer Architecture

Distributed Operating Systems

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

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

Design and Implementation of the Heterogeneous Multikernel Operating System

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

CS3600 SYSTEMS AND NETWORKS

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

3 - Introduction to Operating Systems

1 Organization of Operating Systems

Gildart Haase School of Computer Sciences and Engineering

Chapter 14 MS-DOS Operating System

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Operating System Overview. Otto J. Anshus

Cloud Computing through Virtualization and HPC technologies

Operating System Tutorial

Transcription:

What Is An Operating System (1) MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction A modern computer consists of: One or more processors Main memory Disks Printers Various input/output devices Managing all these components requires a layer of software the operating system What Is An Operating System (2) What is an Operating System? Split Personality - Two Goals: It is an extended (virtual) machine Hides the messy details which must be performed Presents user with a virtual machine, easier to use It is a resource manager Each program gets time with the resource Each program gets space on the resource Figure 1-1. Where the operating system fits in. What is an Operating System? Split Personality - Two Goals: The Operating System as an Extended Machine Definition: an Operating System is a program that controls the resources of a computer(s), and provides its users with an interface of virtual machine that is more convenient to use than the bare machine Figure 1-2. Operating systems turn ugly hardware into beautiful abstractions. 1

The Operating System as a Resource Manager Allow multiple programs to run at the same time Manage and protect memory, I/O devices, and other resources Includes multiplexing (sharing) resources in two different ways: In time In space History of Operating Systems Generations: (1945 55) Vacuum Tubes (1955 65) Transistors and Batch Systems (1965 1980) ICs and Multiprogramming (1980 Present) Personal Computers Transistors and Batch Systems (1) Transistors and Batch Systems (2) Figure 1-3. An early batch system. (a) Programmers bring cards to 1401. (b)1401 reads batch of jobs onto tape. Figure 1-3. (c) Operator carries input tape to 7094. (d) 7094 does computing. (e) Operator carries output tape to 1401. (f) 1401 prints output. Transistors and Batch Systems (4) ICs and Multiprogramming Figure 1-4. Structure of a typical FMS job. Figure 1-5. A multiprogramming system with three jobs in memory. 2

Computer Hardware Review CPU Pipelining Figure 1-6. Some of the components of a simple personal computer. Figure 1-7. (a) A three-stage pipeline. (b) A superscalar CPU. Multithreaded and Multicore Chips Memory (1) Figure 1-8. (a) A quad-core chip with a shared L2 cache. (b) A quad-core chip with separate L2 caches. Figure 1-9. A typical memory hierarchy. The numbers are very rough approximations. Memory (2) Disks Questions when dealing with cache: When to put a new item into the cache. Which cache line to put the new item in. Which item to remove from the cache when a slot is needed. Where to put a newly evicted item in the larger memory. Figure 1-10. Structure of a disk drive. 3

I/O Devices Buses Figure 1-11. (a) The steps in starting an I/O device and getting an interrupt. Figure 1-12. The structure of a large Pentium system Computer Hardware Review (5) One base-limit pair and two base-limit pairs The Operating System Zoo Mainframe operating systems Server operating systems Multiprocessor operating systems Personal computer operating systems Handheld operating systems Embedded operating systems Sensor node operating systems Real-time operating systems Smart card operating systems The Operating System Zoo Serial OS (MS DOS, CPM) - work on a single machine; parallel access to shared resources Network OS (UNIX, Windows) - operate on computers connected by WANs/MANs/LANs; the users are aware of the existence of multiple computers Distributed OS (Amoeba, Mach, Locus) - looks like serial OS but runs on multiple CPUs in LANs; transparency of use of multiple processors Parallel OS (Hydra, Medusa, Munix, Dynix, Mach, Symunix, Concentrix, CMOST) - runs on parallel computers OS versus Other Programs Typical program has input data and produces output data. OS program inputs are user programs, compilers, shell commands, and outputs are hardware actions, synchronization, resource control Typical program has 3 phases: initiation, main part and termination. OS is a reactive program - it has only 2 phases: initiation and main part. It never terminates (normally it supposed to be always ready to serve users) 4

Operating System Concepts Processes Address spaces Files Input/Output Protection The shell Ontogeny recapitulates phylogeny Large memories Protection hardware Disks Virtual memory Processes Figure 1-13. A process tree. Process A created two child processes, B and C. Process B created three child processes, D, E, and F. Files (1) Files (2) Figure 1-14. A file system for a university department. Figure 1-15. (a) Before mounting, the files on the CD-ROM are not accessible. (b) After mounting, they are part of the file hierarchy. Files (3) System Calls Figure 1-16. Two processes connected by a pipe. Figure 1-17. The 11 steps in making the system call read(fd, buffer, nbytes). 5

System Calls for Process Management System Calls for File Management (1) Figure 1-18. Some of the major POSIX system calls. Figure 1-18. Some of the major POSIX system calls. System Calls for File Management (2) Miscellaneous System Calls Figure 1-18. Some of the major POSIX system calls. Figure 1-18. Some of the major POSIX system calls. A Simple Shell Memory Layout Figure 1-19. A stripped-down shell. Figure 1-20. Processes have three segments: text, data, and stack. 6

Linking Mounting Figure 1-21. (a) Two directories before linking /usr/jim/memo to ast s directory. (b) The same directories after linking. Figure 1-22. (a) File system before the mount. (b) File system after the mount. Windows Win32 API Operating Systems Structure Monolithic systems basic structure: A main program that invokes the requested service procedure. A set of service procedures that carry out the system calls. A set of utility procedures that help the service procedures. Figure 1-23. The Win32 API calls that roughly correspond to the UNIX calls of Fig. 1-18. Monolithic Systems Layered Systems Figure 1-24. A simple structuring model for a monolithic system. Figure 1-25. Structure of the THE operating system. 7

Microkernels Client-Server Model Figure 1-26. Structure of the MINIX 3 system. Figure 1-27. The client-server model over a network. Virtual Machines (1) Virtual Machines (2) Figure 1-28. The structure of VM/370 with CMS. Figure 1-29. (a) A type 1 hypervisor. (b) A type 2 hypervisor. The World According to C The Model of Run Time The C language Header files Large programming projects The model of run time Figure 1-30. The process of compiling C and header files to make an executable. 8