University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00.

Slides:



Advertisements
Similar presentations
1 CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note 1: Introduction.
Advertisements

Operating System.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
Lecture 1: History of Operating System
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating Systems.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
OPERATING SYSTEMS Prof. Sujata Rao Lesson 3. Agenda 1. What is an operating system? 2. How have operating systems evolved? 3. Functions of Operating System.
Operating System Overview
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
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,
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
 H.M.BILAL Operating System Concepts.  What is an Operating System?  Mainframe Systems  Desktop Systems  Multiprocessor Systems  Distributed Systems.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 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.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Operating Systems 1 K. Salah Module 1.0: Introduction What is an operating system? Multiprogramming Systems Time-Sharing Systems Parallel Systems Distributed.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Operating System.
Evolution of Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Chapter 1: Introduction
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00

University of Pennsylvania 9/7/00CSE 3802 What is an Operating System? A piece of software that provides a convenient, efficient environment for the execution of user programs. Hardware Operating systems Systems software Applications software Users

University of Pennsylvania 9/7/00CSE 3803 Resource Abstraction and Sharing Hides the details of how the hardware operates Provides an abstract model of the operation of hardware components –generalize hardware behavior –limit the flexibility in which hardware can be manipulated Computation model: processes, threads Resources: memory, disk, files, cpu, etc.

University of Pennsylvania 9/7/00CSE 3804 Why do we need an operating system? User viewpoint -- provide user interface, command interpreter, directory structure, utility programs (compilers, editors, filters) Program environment viewpoint -- enhance the bare machine higher-level I/O, structure files, notion of independent processes, improved store (size, protection) Efficiency viewpoint -- replace a human operator scheduling jobs, storing I/O (files), invoking necessary programs such as compiler Economic viewpoint -- allow concurrent uses and good scheduling of resources So, the goals are to make the system convenient to use (via system calls) and to manage resources efficiently.

University of Pennsylvania 9/7/00CSE 3805 Evolution of an OS Hardware upgrades New types of hardware New services Fixes

University of Pennsylvania 9/7/00CSE 3806 Brief History of Operating Systems 1940's -- First Computers 1950's -- Batch Processing 1960's -- Multiprogramming (timesharing) 1970's -- Minicomputers & Microprocessors Late 1970's, 1980's -- Networking, Distributed Systems, Parallel Systems 1990's and Beyond -- PC’s, WWW, Mobile Systems

University of Pennsylvania 9/7/00CSE 's -- First Computers Computer dedicated to one user/programmer at a time. Program loaded manually by programmer, using console switches. Debugging using console lights. Advantages: –Interactive (user gets immediate response) Disadvantages: –Expensive machine idle most of time, because people are slow. –Programming & debugging are tedious. –Each program must include code to operate peripherals -- error prone, device dependencies. Libraries of subroutines to drive peripherals are example of typical OS service.

University of Pennsylvania 9/7/00CSE 's -- Batch Processing User/programmer submits a deck of cards that describes a job to be executed. Jobs submitted by various users are sequenced automatically by a resident monitor. Tape drives available for batching of input and spooling of output. Advantages: –Computer system is kept busier. Disadvantages: –No longer interactive; longer turnaround time. –CPU is still idle for I/O-bound jobs. OS issues -- command processor (JCL), protection of resident monitor from user programs, loading of user programs after monitor.

University of Pennsylvania 9/7/00CSE 's -- Multiprogramming (timesharing) The advent of the I/O processor made simultaneous I/O and CPU processing possible. CPU is multiplexed (shared) among a number of jobs -- while one job waiting for I/O, another can use CPU. Advantages: –Interactiveness is restored. –CPU is kept busy. Disadvantages: –Hardware and O.S. required become significantly more complex. Timesharing - switch CPU among jobs for pre-defined time interval Most O.S. issues arise from trying to support multiprogramming -- CPU scheduling, deadlock, protection, memory management, virtual memory, etc. CTSS (Compatible Time Sharing System), Multics

University of Pennsylvania 9/7/00CSE 's - Minicomputers & Microprocessors Trend toward many small to mid-range personal computers, rather than a single mainframe. Early minicomputers and microprocessors were small, so there was some regression to earlier OS ideas. –e.g. DOS on PC is still essentially a batch system similar to those used in 1960, with some modern OS ideas thrown in (e.g., hierarchical file system). This trend is changing rapidly because of powerful new microprocessors. Also, the user interface became more important. UNIX, DOS

University of Pennsylvania 9/7/00CSE Late 1970's, 1980's - Networking Powerful workstations (e.g., PDP, VAX, Sunstations, etc.) Local area networks (e.g., Ethernet, Token ring) and long- distance network (Arpanet) Networks organized with clients and servers Decentralization of computing requires more communication (e.g., resource sharing) O.S. issues -- network communication protocols, data encryption, security, reliability, consistency of distributed data Real-Time Systems – timing constraints, deadlines, QoS (90’s term)

University of Pennsylvania 9/7/00CSE 's and Beyond Parallel Computing (tera-flops) Powerful PCs, Multimedia computers High-speed, long-distance communication links to send large amounts of data, including graphical, audio and video World Wide Web Electronic notebooks using wireless communication technologies O.S. issues -- Large heterogeneous systems, mobile computing, etc.

University of Pennsylvania 9/7/00CSE Basic OS Concepts Processes: programs in execution Resources (e.g., files, memory, display) –A process must request it from the OS –The process is blocked until it is allocated System calls Shell -- command interpreter

University of Pennsylvania 9/7/00CSE Services provided by OS Program creation Program execution Access to I/O devices Controlled access to files Error detection and response –hardware errors (e.g., memory error, device failures) –software errors (e.g., overflow, out of memory boundary) Accounting –collect usage statistics, monitor performance

University of Pennsylvania 9/7/00CSE Services Provided by OS (2) CPU scheduling: allocate computing time among several processes Memory management: allocate main memory among several processes Swapping: move processes and their data between main memory and secondary storage I/O device drivers: specialized code required to operate I/O devices File system: organize mass storage (disk) into files and directories Utilities: date/time, accounting, file copy, etc. Command interpreter: allow users to enter commands interactively System calls: allow user programs access to O.S. services Protection: keep processes from interfering with each other and system Communication & Resource sharing: allow users/processes to communicate (over networks) and share resources (e.g., laser printers, disks, etc.) Security: protect machines from intruders, worms and viruses

University of Pennsylvania 9/7/00CSE Factors in OS Design Engineering factors: –Performance/Efficiency -- CPU utilization, resource utilization (e.g. disks), response time –Correctness/Reliability -- error-free (no software crashes) –Maintainability -- modular construction, clearly defined interfaces, well-documented –Small in size-- main memory and secondary storage valuable, larger means more error-prone, larger means takes longer to write Non-engineering factors: –Commercial factors –Standards and open systems

University of Pennsylvania 9/7/00CSE Operating System Structure Monolithic Systems Layered Systems Virtual Machines Client-Server Model