Operating systems - history & principles. This lesson includes the following sections: History of OS Development Process Allocation Memory Management.

Slides:



Advertisements
Similar presentations
Processes Management.
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
Review: Operating System Manages all system resources ALU Memory I/O Files Objectives: Security Efficiency Convenience.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Chapter 8 Operating System Support
Chapter 1 and 2 Computer System and Operating System Overview
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
Common System Components
Chapter 1 and 2 Computer System and Operating System Overview
Computer Organization and Architecture
University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
Computer Science 101 The Virtual Machine: Operating Systems.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Operating systems CHAPTER 7.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
Operating Systems  By the end of this session, you will know: What an Operating System is. The functions it performs.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Operating System Principles And Multitasking
February 02Page 1 Operating Systems Introduction.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Copyright © Curt Hill Operating Systems An Introductory Overview.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Processes 2 Introduction to Operating Systems: Module 4.
Chapter 7 Operating Systems Foundations of Computer Science  Cengage Learning 1.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
Introduction to Operating System. 1.1 What is Operating System? An operating system is a program that manages the computer hardware. It also provides.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
7.1 Operating Systems. 7.2 A computer is a system composed of two major components: hardware and software. Computer hardware is the physical equipment.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Invitation to Computer Science 6th Edition
CT1503 Network Operating System
Memory Management.
Operating System.
Advanced OS Concepts (For OCR)
William Stallings Computer Organization and Architecture
Economics, Administration & Information system
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Process Description and Control
Chapter 2: Operating-System Structures
CS149D Elements of Computer Science
The Main Features of Operating Systems
LO3 – Understand Business IT Systems
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Chapter 2: Operating-System Structures
Operating System Overview
Presentation transcript:

Operating systems - history & principles

This lesson includes the following sections: History of OS Development Process Allocation Memory Management Scheduling Resource Allocation The File System

An operating system is the most important and most complex piece of software accompanying a computer. The effort in design and development of an operating system is comparable to that of the computer hardware. The modern operating system is a composite of systems designed since the late 1940s and to date one can delineate four generations (each with significant milestones) of operating systems. A history of operating systems development

First generation OS (circa ) There was no OS, and very little support software! machine operation was hands on, time was blocked out for operating the machine. programmers were physically in the room, with paper tapes, punch cards etc. loading programs was done with buttons at the console. difficult, arduous process and “programmers” were highly trained professionals. Very inefficient use of expensive (~$1M) equipment. The majority of time was spent analysing and thinking. human thinking time = idle machine

Second generation OS (circa ) To keep machines busy, batch operating systems were developed. programs handed (on cards) to an operator. several programs were grouped into a batch, then translated onto tape. tape would then be loaded onto the computer. programs run singularly, with results written to tape. output tape was then translated to printed form.

Second generation OS - pluses & minuses “turn around” time was hours to days - even to find a syntax error! Programmers saw this as cumbersome. However, system utilization increased dramatically. No programmer set up or “thinking” time. As one job terminated, the computer would load the next job in the batch and begin execution. Since programmers were separated from the machine, job control languages were developed to specify to the operating system the operations to perform on their program.

Third generation OS (circa ) The use of integrated circuits dramatically improved computer speeds. Batch systems ran “continuously”, but only one job at a time. If a job was paused (to execute an IO process) the CPU was idle, if only for a few milliseconds. The same philosophy that led to 2nd generation systems held - how to make computers work continuously? Many milestone concepts were developed for third generation (multiprogramming) operating systems.

multiprogramming OS supported many user programs simultaneously in memory. when a running job paused for IO, one of several ready jobs would be executed. system utilization further improved efficient allocation of resources became very important. memory protection became very important. time-sharing, interactive communication with the operating system by many users, was developed.

Fourth generation OS (circa ) Small, cheap PCs resulted in a move away from a centralized environment to a distributed environment. Shared peripherals, and networks lead to new operating systems, ones that supported local computation and remote access (for users and resources) Network operating systems

Network OS Manages all the resources of the single computer and those of the telecommunications network (LAN). Users could use the computers as usual with the OS providing all of the services previously described. Users could also access many shared network services, as though they were local. file servers print servers mail servers compute servers

Operating system modules There are several modules to a modern operating system, each responsible for a separate task, and together make for the safe and efficient execution of the computer system and the application software. A modern multi-programming, time-sharing operating system needs to perform many functions, and some of the larger and more important modules are explained briefly here.

Process allocation - the dispatcher The OS is responsible for initiating and coordinating the processes (program execution) that must be performed. The existence of a number of processes implies the CPU must be shared amongst them. It keeps a queue of programs to be executed, and as the CPU is freed, a new process is allocated to it. There are three possible states of a process, running (being executed), ready (executable and awaiting CPU time), blocked (unable to proceed, until the completion of some task).

Process allocation - CPU time slices Equitable time sharing of the CPU is achieved by allocating a quantum of time to a process for its continuous execution. Time slices is ~0.1 sec. After a quantum is used up, the process moves from a running to the ready state, yielding the CPU to some other ready process. When is dispatcher invoked? a running process becomes blocked the quantum of a running process expires a running process terminates Dispatcher sometimes considers process priority.

Memory management - the security guard Has three major aspects 1the allocation of sufficient memory for the program and its associated data. 2protection of allocated memory 3utilisation of memory A program will possess program addresses starting at 0. Program addresses differ from the memory addresses in which the object program eventually resides. Mapping between addresses is done during execution using information maintained by the operating system.

Scheduling - the efficiency expert Scheduler module is responsible for initiating processes and takes account of: amount of required resources amount of resources currently available priority of the job the length of the waiting time. The scheduler maintains the information about resources currently available, and updates this as resources are allocated and released.

Resource allocation (1) static allocation: All resources required by a process are allocated at initiation, and when the process is complete, the resources are reclaimed (a process can be initiated only when all the required resources are available). (2) dynamic allocation: Resources are allocated to a process as required, and are released when the process doesn't need it any more (a process may be initiated at any time, but it may become blocked if the resource is unavailable). Dynamic allocation leads to better resource utilisation but action must be taken to avoid deadlock (ie. two processes each hold a resource which is required by the other.)

Deadlock resolution - the traffic officer Deadlock is analogous to a gridlock traffic jam, where opposing streams of traffic are trying to cross each other’s path - each occupies the space required by the other. Program A, needs disk drive, laser printer, prints file Program B, needs laser printer, disk drive, prints file If the OS satisfies the first request of each program, then both are blocked awaiting the release of resources. Effective deadlock resolution algorithms can be complex. A simple prevention algorithm is, if a resource is not available, give up ALL your resources and issue new requests.

The file system Computer systems need to store information for long periods, eg. programs, its own OS etc. Secondary storage is typically a magnetic disk. Information is usually stored in the form of a file. OS responsibility for files are typically: creation, deletion of files provision of access to files secondary storage management protection from unauthorised access protection against loss and corruption. A user is not concerned with the physical location of the file, so it is normally accessed through a name.

The file system The OS maintains a directory of the names of files and their corresponding locations on the storage media. These are further broken into a system master directory, and several individual user directories. The Master directory contains a list of (allowed) user names, and the locations of user directories. The User directory contains, for each “file”, the file name, its physical location, its size, its access control information, other administrative information such as creation and last modification dates.

The OS has many other responsibilities, such as IO processing, maintaining the system clock, recovery from power failure, access security and literally dozens of other tasks - some large, some trivial but all essential to a functioning computer system. What else does it do?