Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall.

Similar documents
Operating Systems. Hadi Salimi Computer Engineering Department Iran University of Science and Technology Tehran, Iran

Operating Systems CS 571

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

EEE 435 Principles of Operating Systems

Operating Systems ( )

Operating Systems ( )

Introduction. Operating Systems. Introduction. Introduction. Introduction

Operating Systems ( )

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

Principles of Operating Systems CS 446/646

Operating Systems ( )

Unit 2 : Computer and Operating System Structure

TYPES OF OPERATING SYSTEMS. Dimple Juneja

Welcome to CSE 4300! Spring 2018

CS450/550 Operating Systems

Operating Systems. Antônio Augusto Fröhlich LISHA/UFSC. December 20, 2008

Module 1: Introduction

Contents. Today's Topic: Introduction to Operating Systems

CSC 453 Operating Systems

Operating Systems CS3502 Spring 2018

Module 1: Introduction. What is an Operating System?

Operating Systems, Fall

Master level: Operating systems, distributed systems, networking,

Introduction To Operating System

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

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

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

Operating Systems. I. Introduction. Eurecom

Chapter 2 Operating-System Structures

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

Lecture 2 Operating System Structures (chapter 2)

Introduction to Computer Systems and Operating Systems

OPERATING SYSTEMS OVERVIEW

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CSC Operating Systems Spring Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. January 17 th, 2007.

Announcements. Operating System Structure. Roadmap. Operating System Structure. Multitasking Example. Tevfik Ko!ar

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

OPERATING SYSTEMS. P. PRAVEEN Asst.Prof, CSE

COSC243 Part 2: Operating Systems

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM

GENERAL I ARTICLE. Operating Systems. 1. Objectives and Evolution. operating systems, and then we trace the evolution of operating

Chapter 3: Operating-System Structures

Chapter 3: Operating-System Structures

COURSE OVERVIEW & OPERATING SYSTEMS CONCEPT Operating Systems Design Euiseong Seo

SMD149 - Operating Systems

Roland Parviainen Phone: Office:? Web:

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

CS30002: Operating Systems. Arobinda Gupta Spring 2017

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Operating Systems Overview. Chapter 2

Module 3: Operating-System Structures

Chapter 1 Introduction

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Introduction to System Programming

Introduction to Operating Systems

CSE3008: Operating Systems. Computer Systems Laboratory Sungkyunkwan University

Operating-System Structures

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

The First Operating System Was Human

Chapter 1: Introduction

Operating Systems Concepts. CMPUT 379, Winter 2014 Section B1

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

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

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

System Call. Preview. System Call. System Call. System Call 9/7/2018

Fundamental Concepts and History

Operating Systems: Overview and Introduction

Chapter 3: Operating-System Structures

Basic Concepts & OS History

Introduction to Operating System

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Chapter 2: Operating-System Structures

Module 3: Operating-System Structures. Common System Components

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

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

Major OS Achievements. Chris Collins. 15 th October 2006

W4118: OS Overview. Junfeng Yang

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

OS - Introduction Ezio Bartocci Institute for Computer Engineering

Course Description: This course includes the basic concepts of operating system

Operating Systems. studykorner.org


Teaching and Examination Scheme: PAPER HRS TH TU PR TH PR OR TW TOTAL

Operating Systems (ECS 150) Spring 2011

CMPS 111: Introduction to Operating Systems

Chapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services

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

Introduction to OS (cs1550)

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

CS 390 Chapter 2 Homework Solutions

Computer System Overview

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

Transcription:

Chapter 1 Introduction and Fundamental Concepts OPERATING SYSTEMS Design and Implementation Instructor: Hadi Salimi Computer Engineering Department IRAN University of Science and Technology hsalimi@iust.ac.ir Course Resources Textbook: Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall. Supplementary Textbooks: Avi Silberschatz, Operating System Concepts, 5th Edition, Wiley & Sons, Inc. William Stallings, Operating Systems: Internals and Design Principles, Prentice Hall, Fifth Edition. Course Homepage: http://webpages.iust.ac.ir/hsalimi/??? Operating Systems - By: Hadi Salimi - IUST-CE 2

Grading Policy Homework: 2 (10%) Quiz: 2 (10%) Project: 3 (15%) Midterm: 5 (25%) Final: 8 (40%) Note: if ((Midterm + Final + Quiz) < 10) then fail!!! Operating Systems - By: Hadi Salimi - IUST-CE 3 Chapter Outline What is an operating system History of operating systems Operating system concepts System calls Operating system structure Operating Systems - By: Hadi Salimi - IUST-CE 4

Layers Hardware, System Software, Application Software. Operating Systems - By: Hadi Salimi - IUST-CE 5 Why an Operating System? It is an extended 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 Operating Systems - By: Hadi Salimi - IUST-CE 6

History The First Generation (1945-55) There was no technology higher than vacuum tubes. Programming languages were unknown. Operating System were unheard of. All programming was done in absolute machine language. Operating Systems - By: Hadi Salimi - IUST-CE 7 History (cont.) The Second Generation (1955-1965) By introducing the transistor technology, the picture changed rapidly. To run a job, the programs were needed to be punched on cards. So, the processor utilization could not increase because of different processing speeds. Card Reader Processor Printer Operating Systems - By: Hadi Salimi - IUST-CE 8

History (cont.) To avoid that, batch systems were introduced. bringing cards to 1401 1401 reads cards to a tape put tape on 7094 which does computing put tape on 1401 which prints output Operating Systems - By: Hadi Salimi - IUST-CE 9 Job Structure It started out with $JOB card, specifies job properties. The next card tells the OS to load FORTRAN compiler. The $LOAD card directs the OS to load the object program just compiled. Typical OSs were FMS (Fortran Monitor System) and IBSYS. (IBM s OS for 7094) Operating Systems - By: Hadi Salimi - IUST-CE 10

History (cont.) The 3 rd generation: Integrated circuits were appeared in this generation. IBM attempted to integrate both 1401 and 7094 into its new System/360. The OS/360 which was developed for this hardware consists of millions of lines of assembly code. Multiprogramming was first introduced in it. Operating Systems - By: Hadi Salimi - IUST-CE 11 Multiprogramming The solution was to partition the memory into pieces. While on job was waiting for I/O another job could use the CPU. If enough jobs could be held in the main memory, the CPU could be kept busy nearly 100%. Operating Systems - By: Hadi Salimi - IUST-CE 12

History (cont.) Another major feature in this generation of operating systems was the ability of reading cards into disk. Whenever a running job finished, the OS could load a new job from the disk. The technique is called spooling. (Simultaneous Peripheral Operation On Line) Disk Card Reader Processor Printer Operating Systems - By: Hadi Salimi - IUST-CE 13 Time Sharing Systems Using the third generation systems, the time between submitting a job and getting back the output, was often several hours. A single misplaced comma could cause a compilation to fail, and the programmers to waste half a day. This desire for quick response time paved the way for timesharing. Operating Systems - By: Hadi Salimi - IUST-CE 14

History (cont.) The 4 th Generation (1980-now): The age of the personal computer dawned using LSI (Large Scale Integration). Two operating systems initially dominated the PCs: Microsoft s MS-DOS and UNIX. Network Operating Systems Distributed Operating Systems Operating Systems - By: Hadi Salimi - IUST-CE 15 OS Concepts System Call The interface between the operating system and the user program is defined by a set of extended instructions. They have been traditionally known as system calls. Application Program Operating System Hardware Operating Systems - By: Hadi Salimi - IUST-CE 16

Processes The key concept in all operating systems is the process. It basically is a program in execution. An address space and some set of registers are associated with each process. In many operating systems, the information about the processes are storing in a table called process table. Operating Systems - By: Hadi Salimi - IUST-CE 17 Processes The key process management system calls are those dealing with the creation and termination of processes. Each process may create one or more child processes. Example: A: Shell B: Compiler D: Linker Operating Systems - By: Hadi Salimi - IUST-CE 18

Files The other broad category of system calls are related to files. These system calls handle creation, opening, reading, writing and closing files. Other may act as a directory structure handler. Operating Systems - By: Hadi Salimi - IUST-CE 19 File System Operating Systems - By: Hadi Salimi - IUST-CE 20

Mounting Before mounting the files on floppy are inaccessible, but after it the floppy becomes part of the file system. Operating Systems - By: Hadi Salimi - IUST-CE 21 Shell It makes heavy use of many system call. In MINIX, the command interpreter, called the shell, creates a child process for each command that user types. $ date The shell creates a child process and runs the date program as the child and waits for it to terminate. Operating Systems - By: Hadi Salimi - IUST-CE 22

System Calls and POSIX We can now begin to look at the interface between the operating system and its application programs as the set of system calls. To make sure that application programs can run on different operating systems, an international standard, namely POSIX has been specified. Operating Systems - By: Hadi Salimi - IUST-CE 23 OS Structure Monolithic system Layered system Virtual machine Client/Server Operating Systems - By: Hadi Salimi - IUST-CE 24

Monolithic system Kernel call 4 User Program 1 2 3 OS in Kernel Mode Operating Systems - By: Hadi Salimi - IUST-CE 25 Monolithic system Main procedure Service Procedures Utility Procedures Operating Systems - By: Hadi Salimi - IUST-CE 26

Monolithic system Application s System call interface Kernel MM PS IPC FS I/O Net User Space Kernel Space MM = Memory Manager PS = Processor Scheduler IPC = Inter Process Communication FS = File System I/O = Input/Output manager Net = Network manager Operating Systems - By: Hadi Salimi - IUST-CE 27 Layered Systems Layer 5 4 3 2 1 0 Function The operator User programs Input/output management Operator-process communication Memory and drum management Processor allocation and multiprogramming Structure of THE operating system Operating Systems - By: Hadi Salimi - IUST-CE 28

Virtual Machines The idea of virtual machines is heavily used nowadays in different contexts. As an example: Windows Linux VM-Ware Operating System Hardware Operating Systems - By: Hadi Salimi - IUST-CE 29 Client-Server Model Client process Client process Process server Terminal server File server Memory server User mode Microkernel Kernel mode The client-server model Pros and Cons: Modular, Easily can be distributed, Safer Reduces System Performance Operating Systems - By: Hadi Salimi - IUST-CE 30

Client-Server Model The client server model in a distributed system. Operating Systems - By: Hadi Salimi - IUST-CE 31