Operating Systems: Overview and Introduction

Similar documents
Operating System Overview. Chapter 2

OPERATING SYSTEMS OVERVIEW

Principles of Operating Systems CS 446/646

The First Operating System Was Human

Operating System Overview. Chapter 2

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

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

Computer System Overview

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

Operating Systems Overview. Chapter 2

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

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

Operating Systems Overview. Chapter 2

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

Introduction. CS3026 Operating Systems Lecture 01

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

Introduction to Operating Systems

Introduction to Computer Systems and Operating Systems

Operating Systemss and Multicore Programming (1DT089)

Chapter 2 Operating System Overview

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

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

Introduction to Operating. Chapter Chapter

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm

Operating Systems. I. Introduction. Eurecom

Introduction to Operating Systems. Chapter Chapter

Unit 2 : Computer and Operating System Structure

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

Introduction to Operating Systems. Jo, Heeseung

Operating System Support

Introduction to Operating Systems. Chapter Chapter

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University

Module 1: Introduction

Module 1: Introduction. What is an Operating System?

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

History, Hardware, OS Concepts

COS 318: Operating Systems

Chapter 1 Computer System Overview

Chapter 2. OS Overview

Today s class. Review of more C Operating system overview. Informationsteknologi

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

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

Introduction and Overview

OPERATING SYSTEM SUPPORT (Part 1)

Part I Overview Chapter 1: Introduction

Operating Systems (ECS 150) Spring 2011

Introduction to System Programming

Operating Systems Lecture 1: Introduction to Operating Systems

Introduction To Operating System

SRI VENKATESWARA COLLEGE OF ENGINEERING PENNALUR, SRIPERUMBUDUR TK

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

Learning the Hard Way

Computer Organization and Architecture. OS Objectives and Functions Convenience Making the computer easier to use

TYPES OF OPERATING SYSTEMS. Dimple Juneja

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm

Four Components of a Computer System

Operating Systems CS3502 Spring 2018

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208

Contents. Today's Topic: Introduction to Operating Systems

Chapter 1: Introduction

Introduction to Operating Systems

Process Description and Control. Chapter 3

CHAPTER 1 Introduction

Figure 1-1. A multilevel machine.

Part I Introduction Hardware and OS Review

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

CPS221 Lecture: Operating System Protection

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

CHAPTER 1 Introduction

Announcement. Exercise #2 will be out today. Due date is next Monday

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

Basic Computer Hardware

EECS 678: Introduction to Operating Systems. Heechul Yun

Chapter 1 Basic Computer Organization

Major Requirements of an OS

CS450/550 Operating Systems

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

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

Topics: Early systems and OS overview Skim Chapters 1-2 of SGG Read Chapter 1 of USP CS 3733 Operating Systems

Operating System Overview

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

7/20/2008. What Operating Systems Do Computer-System Organization

CSC 453 Operating Systems

Role 1: The Operating System is an Abstract Machine. Learning Outcomes. Introduction to Operating Systems. What is an Operating System?

CSC 453 Operating Systems

An Incomplete History of Computation

EECS 678: Introduction to Operating Systems. Heechul Yun

OPERATING SYSTEMS. P. PRAVEEN Asst.Prof, CSE

Evolution of the Computer

Welcome to CSE 4300! Spring 2018

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Q.1 Explain Computer s Basic Elements

Architecture and OS. To do. q Architecture impact on OS q OS impact on architecture q Next time: OS components and structure

Operating System Support

Operating Systems CS 571

Hardware OS & OS- Application interface

Chapter 8. Operating System Support. Yonsei University

Operating Systems : Overview

Transcription:

Operating Systems: Overview and Introduction Announcements: Assignment is assigned Easy, steep learning curve, fun!! Need to register for CCnet Midterm & final are CLOSED BOOK

What are the Objectives of an Operating System Convenience & abstraction OS should facilitate the tasks of application and system programmer Hardware details should be hidden Uniform interface for system resources (e.g., I/O, files) Efficiency Take up few resources, make good use of resources, and be fast Protection Fairness, security, safety, resources

The Layers of Computer Systems End User Application Programs Programmer OS Designer Utilities Operating System Hardware

Services Provided By the OS I Program execution Load instructions and data into memory Initialize I/O devices Access to I/O devices Provides a uniform interface to I/O devices (e.g., a file-like read/write interface) Controlled access to files Provides file access control mechanisms $ ls -l total 102 -rwxr-xr-x 1 Arno Profs 104448 Jan 13 08:10 w2.ppt

Services Provided By the OS II System access and protection Data, processes System resources Resolves access conflicts Program development Provides editors, debuggers, loader, linker (not part of core, but usually supplied together with OS and often intimately tied to OS.)

Services Provided By the OS II Error detection and response Internal and external hardware errors (e.g., memory error, device failure) Software errors (e.g., division by zero, arithmetic overflow, access of forbidden memory location) OS cannot grant request of application The OS has to Clear error conditions Minimize effects on other applications

Designing for Errors

Services Provided By the OS Accounting Collect statistics Monitor performance Anticipate future developments and enhancements Billing of users Due to a $US 0.75 accounting discrepancy

Operating System The OS controls the Movement, storage, and processing of data But it is not always in control Functions in same way as ordinary computer program It is just a program (set of programs) in execution Relinquishes control of processor to execute other programs Must depend on the processor to regain control The OS is a resource manager

Kernel Portion of OS that is running in privileged (or kernel, supervisory mode) Usually resides in main memory (its pages are pinned to memory) Implements protection mechanisms Contains fundamental functionality to implement other services and functions A,k.a. the nucleus, supervisor, core, (resident) monitor

A Crude History of Operating Systems

Charles Babbage 1792-1871 Analytical engine No operating system Ada Lovelace hired as first programmer

First Generation 1945-1955 Zuse, Germany

Vacuum Tube Memory 1940 This electron tube developed at RCA Laboratories in Princeton, New Jersey, could store 4096-bits in one glass envelope. The Selectron was designed at the behest of John von Neumann of the Institute for Advanced Study and intended for use in their digital computer being designed during the 1940s.

First Generation 1945-1955 ENIAC-1, U.S.

Plugboard Example (Age Unknown)

First Generation Computers build from vacuum tubes and plug boards No operating system Operator, administrator, programmer were all the same Machines about a million times slower than today s PCs (very crude estimate) Programmed in machine code (not assembly) Used to calculate tables for sinus, cosines, logarithms et al.

A Punchcard (introduced around 1950s) http://www.murraystate.edu/polcrjlst/p660punchcard.htm

Second Generation 1955-1965 Transistors and Batch Systems Reliable manufacturing of computer due to transistor technology Clear separation between computer operators, programmers, maintenance personnel Introduction of mainframes Programmed through Fortran and initially based on punchcards Operating system was the FMS (Fortran Monitoring System)

ENIAC-10

Evolution of OS Computing setup for each user included Loading compiler, source program Saving compiled program Loading and linking Executing Improvements: Libraries of common functions, loader, linker, compiler, debugger available to all users and batching of jobs.

Evolution of OS about 1950s-1960s Simple Batch Systems: (e.g., by GM for IBM 701) The monitor controls the execution of all program Batches jobs together Program branches back to monitor when finished Resident monitor is in main memory and is ready for execution Instructions to monitor via Job Control Language Monitor contains a JCL interpreter Each Job includes instructions in JCL that tell the monitor what compiler to use and what data to use Predecessor of today s shell Monitor takes up compute time and memory but improves overall utilization of computer

Predominant Model at the time: Uniprogramming Problem: CPU must wait for I/O instructions to complete before proceeding I/O instructions are very slow as compared to compute instructions Job A waits for I/O to complete Job A Job A doing I/O Job A waits Job A time Terminology: processes = jobs = tasks

Solution: Multiprogramming When one job waits for I/O, the processor can switch to another job (interleave I/O and computing.) Increased throughput Increased system utilization Job A Run Wait Run Job B Wait Run Wait Run Wait Wait Job C Wait Run Wait Run Wait Combined Run Run Run Wait

Concurrency vs. parallelism Multiprogramming leads to the interleaved execution of multiple processes True parallelism is only possible if we have multiple CPU to execute processes in parallel Otherwise (single CPU) we say processes execute concurrently Apparent, simultaneous execution of multiple different processes in an interleaved fashion

Time Sharing

Time Sharing Batch multiprogramming improves the utilization of the CPU through batch jobs, but what about interactive jobs? Batch jobs and interactive jobs have different characteristics CPU s time is shared among multiple users Multiple users simultaneously access the system through multiple terminals Referred to as time shared system, i.e., each terminal / users obtains a share of the compute time

Third Generation 1965-1980 ICs and Multiprogramming Multiprogramming and time-sharing are part of the third generation MULTICS as first time-shared OS developed at M.I.T.

System Calls System calls provide the interface between a running program and the operating system. In the past implemented in assembly-language Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++) System calls are handled like interrupts

System_call( Arg1,, ArgN ) 1. 2. Return to caller TRAP to kernel Call System_call A System Call Put code for `System-call in register Increment Stack Ptr. Push ArgN to Stack Push Arg1 to Stack library 4. 3. 5. 3. Dispatch System call handler OS

Types of System Calls Process control File management Device management Information maintenance Communications

Summary Services of OS Protection mechanisms Batch processing Uniprogramming vs. multiprogramming Time sharing System Calls

Hardware Features New hardware features support development of OS features: Memory protection Do not allow memory area containing monitor to be altered. Protect individual jobs. Timer Prevent jobs from monopolizing the system. Privileged instructions For example, I/O instructions Interrupts Relinquish control and gain control over user programs.

Cray

More like Today

Batch Multiprogramming vs. Time Sharing Batch Multiprogramming Time Sharing Objective maximize CPU utilization minimize response time Control JCL with Jobs interactive commands One of the first systems: Compatible Time Sharing System (CTSS), 1961, IBM 709 and IBM 7094. Multics at MIT System clock emits interrupts in regular intervals System switches to new user Old user s program and data saved to disk