1 CSC 539: Operating Systems Structure and Design Spring 2006 See online syllabus at: Course goals:  to understand key.

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.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (1) 02/18/2008 Yang Song (Prepared by Yang Song and Dr. Hung)
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.
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.
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.
Lecture By : Rupinder Kaur Lect. IT SRS Govt. Polytechnic college Ludhiana Topic : Overview of Operating System.
OPERATING SYSTEMS OVERVIEW. What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware.
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.
 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  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.
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, 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.
Chapter 1: Introduction
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 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.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to Basic OS Concepts
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
Chapter 1 Introduction to Operating System Part 2
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Overview
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

1 CSC 539: Operating Systems Structure and Design Spring 2006 See online syllabus at: Course goals:  to understand key operating system concepts and techniques, including process management, memory management, and file management.  to appreciate the tradeoffs between performance and functionality in an OS (both theoretically and experimentally via simulation).  to apply an understanding of OS concepts and tradeoffs to the evaluation of commercial operating systems.

2 an OS is a collection of software that connects the user with the computer hardware What is an operating system? user perspective: OS is an interface  makes interacting with the computer and running applications easy system perspective: OS is a resource allocator  controls and coordinates the hardware resources, services the application software

3 Why study operating systems?  as a user, you interact with an OS every time you use a computer knowing how they work, tradeoffs, security risks, available options, etc. can make you a better user/consumer  as an applications programmer, you write programs that rely on the OS knowing how they work can lead to more efficient, more reliable programs  as a systems programmer, you write code that integrates with the OS must have a working knowledge of OS concepts and techniques  as a computer scientist, you must know central, recurring themes process management (scheduling algorithms,synchronization, deadlock) memory management (caching, virtual memory, file systems) human computer interaction (command-line interface, GUI)

4 History of operating systems 1940's: computers were special-purpose e.g., ENIAC – wired to compute ballistics tables to change the computation, had to rewire/reconfigure early 1950's: general-purpose computers were built e.g., EDVAC, IAS – utilized the von Neumann architecture: stored program in memory, CPU fetch-execute cycle still, only a single user serviced at a time typical setup:  users would sign up for a time slot (e.g., 2am-3am)  during that slot, had exclusive use of the computer  must load program into memory space, overwriting old contents no need for operating system: 1 program, 1 memory space, minimal peripherals

5 History of operating systems (cont.) drawbacks of single-user, programmable computer  inconvenient for user  wasteful of computer time (computer was idle during setup, debugging, …) mid 1950's: batch processing was introduced  idea: combine multiple user jobs into a single batch job typical setup:  users would submit jobs on cards/tape to computer operator  operator would combine multiple jobs into a single batch job and load into card/tape reader  each user job would be executed in turn  users received output after all jobs finished

6 History of operating systems (cont.) the primitive operating system in charge of executing the batch job was called a resident monitor  it resided permanently in memory  it monitored the execution of each job in succession parts of a resident monitor  control card interpreter (read & carry out card instructions)  loader (load system programs & applications into memory)  device drivers (control peripheral devices) Note: when the monitor started a job, it handed over control of the computer to that job, regained control when the job terminated, then started the next job memory layout for a batch system (resident monitor)

7 History of operating systems (cont.) advantages of batch systems  moves much of the setup work from the user to the computer  increased performance since could start a job as soon as previous job finished drawbacks of batch systems  turn-around time could be large from user standpoint  more difficult to debug program  due to the lack of a protection scheme, one batch job could affect pending jobs (e.g., read too many cards)  a job could corrupt the monitor, thus affecting pending jobs  a job could enter an infinite loop eventually, job corruption handled by modes (user vs. monitor), I/O limited to monitor mode monitor corruption handled using memory protection infinite loops handled by job execution timer

8 History of operating systems (cont.) early 1960's: multiprogramming as memory became cheaper, could load many user programs in memory simultaneously  in contrast to batch, could partition the memory monitor (OS) could switch when a job became idle (e.g., I/O)  since each job had its own memory partition, minimal overhead involved in switching first multiprogramming OS: IBM OS/360 typical setup:  users submitted jobs to computer operator  jobs were loaded into separate memory partitions  computer would begin executing first job  during idle period, could switch to another job  user could receive output as soon as their job terminated memory layout for a multiprogramming system (resident monitor)

9 History of operating systems (cont.) mid 1960's: timesharing timesharing (a.k.a. time-slicing) was the natural extension of multiprogramming service multiple jobs "simultaneously" by automatically switching between jobs frequently (fractions of sec)  to each user, appearance of sole use first timesharing OS: CTSS, followed by MULTICS, UNIX typical setup:  multiple users connected via remote terminals  each user could interact using a command-line interface  each user would see results in real-time – job might require numerous time slices to complete, but fast enough to be unnoticeable

10 History of operating systems (cont.) late 1970's: desktop systems personal computers bucked the trend of centralization  provided a machine cheap enough to be used (and wasted) by a single user typical setup:  single user worked at dedicated machine  at least early on, all peripherals were connected directly (networking not widespread until 90's) early PC's utilized a command-line interface  CP/M (1977), MS-DOS (1981) Graphical User Interface (GUI) introduced by Macintosh  Mac-OS (1984), Windows (1985), Motif (1989) WIMP (Windows/Icons/Menus/Pointer) interface was pioneered by Doug Engelbart in 1960's, first adopted at Xerox PARC

11 New computer architectures  new demands multiprocessor systems (a.k.a. parallel systems, or tightly coupled systems) more than one processor in close communication, share bus and clock, other resources can increase throughput, save on shared resources, provide greater reliability  symmetric multiprocessing (SMP): each CPU runs a copy of the OS, can communicate most modern OS provide support for SMP  asymmetric multiprocessing: master CPU assigns specific tasks to slave CPUs more common in large systems with specialized hardware distributed systems (a.k.a. loosely coupled systems) distribute the computation among several processors, each with its own memory & resources processors communicate via communications lines, e.g., high-speed buses or phone lines similar benefits as multiprocessor, but generally simpler, cheaper, more scaleable (but slower?)  may be structured as client/server or peer-peer, LAN or WAN clustered systems multiple systems share storage and are closely linked via LAN networking  symmetric clustering: all systems run applications simultaneously, monitor each other  asymmetric clustering: one machine runs, other monitors & waits in stand-by mode

12 New architectures (cont.) real-time systems some systems impose well-defined, fixed-time constraints e.g., control for scientific experiments, medical imaging systems, industrial control systems, …  hard real-time: critical tasks must be completed in specified time secondary storage limited or absent, data stored in short term memory or ROM not compatible with timesharing  soft real-time: critical tasks are given priority over other tasks, but no guarantees limited utility in industrial control of robotics useful in apps (multimedia, VR) requiring advanced OS features handheld systems OS functionality is migrating to PDAs, cellular phones issues: limited memory, slow processors, wireless transfer, small display screens