Chapter 1: Introduction

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
1/23/2004CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Abhinav Kamra Computer Science, Columbia University 1.1 Operating System Concepts Silberschatz, Galvin and Gagne  2002 COMS 4118 Operating Systems Spring.
OS1-1 Chapter 1 Introduction. OS1-2 Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems.
1 CIS450/IMSE450/ECE478 Operating Systems Winter 2003 Professor Jinhua Guo.
Silberschatz, Galvin and Gagne  Operating System Concepts Bare Machine (early 1950s) Structure  Large machines run from console  Single user.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
EE 469 Operating Systems Engineering Introduction to Operating Systems Spring 2001 David S. Ebert Introduction to Operating Systems Spring 2001 David S.
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.
1/18/2008CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
 Understand model of operation  Easier to see how to use the system  Enables you to write efficient code  Learn to design an OS  Even so, OS is pure.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Introduction to Basic OS Concepts. Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed 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
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:
OSes: 1. Intro 1 Operating Systems v Objectives –introduce Operating System (OS) principles Certificate Program in Software Development CSE-TC and CSIM,
 H.M.BILAL Operating System Concepts.  What is an Operating System?  Mainframe Systems  Desktop Systems  Multiprocessor Systems  Distributed Systems.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
Eastern Mediterranean University Computer Engineering Department CMPE242 - OPERATING SYSTEMS SPRING , Course Description Instructors: Gr.1. Asst.Prof.Dr.
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.
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
Silberschatz, Galvin and Gagne  Operating System Concepts Lectured by Dr. Lican Huang
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Operating System. Chapter 1: 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.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Multiprocessor Systems Distributed.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
10/06/ :03:20 CSC Alliance — 1 Kimera Richard Phone: INSTITUTE OF COMPUTER SCIENCE DEPARTMENT.
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.
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
Introduction to Basic OS Concepts
Operating Systems Lecture 2.
Chapter 1: Introduction
Chapter 1: Introduction
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.
Introduction to Operating Systems
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

Chapter 1: Introduction Why are you taking this course? Why UNIX? What is an operating system? Historic perspective Lecture foils are available on-line: http://www.wright.edu/~travis.doom/courses/CEG433 Lecture foils are based on originals provided with the textbook, “Operating System Concepts” by Silberschatz and Galvin. CEG 433/633 - Operating Systems I

Computer System Components HARDWARE CPU Memory I/O Devices APPLICATION PROGRAMS Compilers Databases Games Productivity Tools How do we use the resources? OS U S E R SOFTWARE Limited Resources Many Demands CEG 433/633 - Operating Systems I

Computer System Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system – controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). CEG 433/633 - Operating Systems I

What is an Operating System? The OS is a program that acts as an intermediary between the application programs and the hardware resources All communication requires hardware resources, thus the OS is also an intermediary between users and applications The purpose of any OS is to provide an environment in which: users can (conveniently) execute programs and access data application programs can (efficiently and fairly) access system resources (processor time, memory, file space, I/O devices, etc.) The OS need not perform any other useful function: it is a control environment (kernel) controls access to all resources All other software is an application program How does the existence of an OS simplify coding an app? Do you trust others to protect your rights and data? CEG 433/633 - Operating Systems I

Historic Perspective: 1950’s Early Systems were non-interactive single-user systems Input: Card Reader (later: tape drives) Systems had precious little memory - everything needed for the “job” had to be included with the set of cards: Control Cards, Program, Data, etc. Output: Card Printer (later: line printers) Results of program or memory dump Fairly simple OS (Resident Monitor) Only task: transfer control from one job to the next Always resident in memory Secure (no sharing issues!) Problems? OS rereads program with every job. CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Simple Batch Systems How can we better utilize the limited hardware resources? Reduce setup time by “batch”-ing similar jobs Hire an operator to sort input/output cards First rudimentary operating system initial control in monitor, always in memory (resident) Automatic job sequencing: automatically transfers control from one job to another. when job completes control transfers back to monitor Control card interpreter – responsible for reading and carrying out instructions on the cards. Loader – loads systems programs and applications programs into memory. Device drivers – know special characteristics and properties for each of the system’s I/O devices. CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Simple Batch Systems Problem: Slow Performance – I/O and CPU could not overlap ; card reader very slow. Solution: Off-line operation – speed up computation by loading jobs into memory from tapes and card reading and line printing done off-line. Remote Job Entry Specialized front-end and back-end systems Better Solution: Spooling - Simultaneous Peripheral Operation On-Line Faster I/O devices (disk drives) allow the input and output to be buffered on-line CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Simple Batch Systems With Spooling: The CPU can perform three tasks simultaneously: (1) output Job#1 from disk to output device; (2) process Job#2 from disk to disk; (3) input Job#3 Cost: Disk space, administration of disk space by OS Job pool – data structure that allows the OS to select which job to run next in order to increase CPU utilization. CEG 433/633 - Operating Systems I

Mulitprogrammed Batch Systems Problem: In general, process execution consists of a cycle of CPU execution (CPU burst) and I/O wait (I/O burst). How can we more efficiently utilize the CPU? Solution: Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them The CPU is never idle (when there are jobs ready to run) When one job becomes I/O dependent, it is swapped out by the OS and another job starts Cost: Complexity of the OS (and CPU overhead) CPU Scheduling (Fairness, Starvation) Resource Allocation (Deadlock) Memory Management (Security) I/O routine provided by the system CEG 433/633 - Operating Systems I

Time-Sharing Systems–Interactive Computing Problem: Batch systems with Multiprogramming are efficient from the CPUs point of view, but not necessarily from the users Non-batch systems had a single user at the console Batch systems had an operator at the console, all user interaction must be handled a priori via control cards Consider the effect on multi-step jobs (compile and execute) Debugging is static (from dumps), no tracing Programmers fear to experiment Solution: Use multiple I/O devices (CRT, Keyboard) and timeshare. The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory) CEG 433/633 - Operating Systems I

Time-Sharing Systems–Interactive Computing On-line communication between the user and the system is provided; when the operating system finishes the execution of one command, it seeks the next “control statement” not from a card reader, but rather from the user’s keyboard Cost: A multitude of “on-line” OS chores On-line file system (with human friendly names/directories) must be available for users to access data and code Security Fairness? How do we handle resource limitations? CEG 433/633 - Operating Systems I

Personal-Computer Systems Personal computers – computer system dedicated to a single user Affordable due to decreasing hardware costs I/O devices – keyboards, mice, display screens, small printers. New OS Goals Can adopt technology developed for larger operating system User convenience and responsiveness valued at the price of efficiency Often individuals have sole use of computer and do not need advanced CPU utilization of protection features. Multitasking? Security? CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Parallel Systems Multiprocessor systems with more than one CPU in “close” communication Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory Distributed systems with more than one CPU in communication Loosely coupled system - processors have local memory; communication usually takes place through high-speed bus Advantages of parallel systems: Increased throughput and/or speedup through load sharing Economics of scale (resource sharing, etc) Increased reliability graceful degradation fail-soft systems Communication CEG 433/633 - Operating Systems I

Parallel Systems (Cont.) Symmetric multiprocessing Each processor runs and identical copy of the operating system Many processes can run at once without performance deterioration Asymmetric multiprocessing Each processor is assigned a specific task; master processor schedules and allocated work to slave processors More common in extremely large systems CEG 433/633 - Operating Systems I

CEG 433/633 - Operating Systems I Real-Time Systems Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, automobile, robotics, weapons, etc. Well-defined (Rigid) fixed-time constraints Process must complete in bounds or fail! Hard real-time system Secondary storage limited or absent, data stored in short-term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by general-purpose operating systems Soft real-time system Limited utility in industrial control or robotics Useful in applications (multimedia, virtual reality) requiring advanced operating-system features CEG 433/633 - Operating Systems I

Migration of Operating-System Concepts and Features CEG 433/633 - Operating Systems I