CS 345 Computer System Overview

Slides:



Advertisements
Similar presentations
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Advertisements

Maninder Kaur OPERATING SYSTEM Maninder Kaur 11 Oct 2010.
CS 345 Computer System Overview
Chapter 1: Introduction
Lecture 1: History of Operating System
Operating System (O.S.) Objectives & Functions
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating Systems.
University of Pennsylvania 9/7/00CSE 3801 CSE 380 Introduction to Operating Systems Insup Lee Fall 00.
Operating System Objectives & Functions An operating system is a program that controls the execution of application programs and acts as an interface between.
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.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System Overview
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Operating System Overview Dr. Sunny Jeong & Mr. M.H. Park Operating Systems: Internals and Design Principles, 6/E William Stallings.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
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.
Introduction Operating Systems. No. 2 Contents Definition of an Operating System (OS) Role of an Operating System History of Operating Systems Classification.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
 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.
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.
OSes: 1. Intro 1 Operating Systems v Objectives –introduce Operating System (OS) principles Certificate Program in Software Development CSE-TC and CSIM,
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
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.
1 Operating System Overview Chapter 2. 2 Operating System A program that controls the execution of application programs An interface between applications.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 1: Introduction
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Faculty of Sciences and Social Sciences HOPE Chapter 2 Operating System Overview Stewart Blakeway FML
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.
1 Operating System Overview Chapter 2. 2 Operating System A program that controls the execution of application programs An interface between applications.
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
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.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
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
Operating System Overview
Evolution of Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Chapter 1: Introduction
Chapter 2 Operating System Overview
Operating System Overview
Operating System Concepts
Presentation transcript:

CS 345 Computer System Overview Chapter 2 Alex Milenkovich

CS 345 Stalling’s Chapter # Project 1: Computer System Overview 2: Operating System Overview 4 P1: Shell 3: Process Description and Control 4: Threads P2: Tasking 5: Concurrency: ME and Synchronization 6: Concurrency: Deadlock and Starvation 6 P3: Jurassic Park 7: Memory Management 8: Virtual memory P4: Virtual Memory 9: Uniprocessor Scheduling 10: Multiprocessor and Real-Time Scheduling P5: Scheduling 11: I/O Management and Disk Scheduling 12: File Management 8 P6: FAT Student Presentations BYU CS 345 Chapter 2: OS Overview

Chapter 2 Learning Objectives Summarize, at a top level, the key functions of an operating system. Discuss the evolution of operating systems from early simple batch systems to modern complex systems. Give a brief explanation of each of the major achievements in OS research. Discuss the key design areas that have been instrumental in the development of modern operating systems. Define and discuss virtual machines and virtualization. Understand the OS design issues raised by the introduction of multiprocessor and multicore organization. Understand the basic structure of Windows 7. Describe the essential elements of a traditional UNIX system. Explain the new features found in modern UNIX systems. Discuss Linux and its relationship to UNIX. BYU CS 345 Chapter 2: OS Overview

Evolution of Operating Systems Early Systems (1950) Simple Batch Systems (1960) Multiprogrammed Batch Systems (1970) Time-Sharing and Real-Time Systems (1970) Personal/Desktop Computers (1980) Multiprocessor Systems (1980) Networked/Distributed Systems (1980) Web-based Systems (1990) Virtualization … BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 4

Evolution of Operating Systems Early Systems (1950) Simple Batch Systems (1960) Multiprogrammed Batch Systems (1970) Time-Sharing and Real-Time Systems (1970) Personal/Desktop Computers (1980) Multiprocessor Systems (1980) Networked/Distributed Systems (1980) Web-based Systems (1990) Virtualization … https://www.cs.rutgers.edu/~pxk/416/notes/01-intro.html 1st generation 1945 – 1955 - vacuum tubes, plug boards 2nd generation 1955 – 1965 - transistors, batch systems 3rd generation 1965 – 1980 - ICs and multiprogramming 4th generation 1980 – present - personal computers 5th generation - ??? - iniquitousness, mobile, BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 5

Chapter 2 Reading Exercise What are the objectives of an OS? What services does an OS provide? What computer resources need management? What hardware advancements facilitated OS development? What is JCL? What does SPOOLing stand for? What is a Virtual Machine? Why Virtualize? What differentiates Windows 7, UNIX, and Linux? BYU CS 345 Chapter 2: OS Overview

1. What are the Objectives of an OS? Convenience Make the computer more convenient to use Efficiency Efficient use of computer system resources Accessibility Uniformity Ability to evolve Permit effective development, testing, and introduction of new system functions without interfering with service BYU CS 345 Chapter 2: OS Overview

2. What Services does an OS provide? Program development Editors, debuggers, frameworks Program execution Initialization, scheduling Access to I/O devices Uniform interface, hides details Controlled access to files Authorization, sharing, caching System access Protection, authorization, resolve conflicts Error detection and response Hardware errors: memory error or device failure Software errors: arithmetic errors, access forbidden memory locations errors Accounting Collect statistics (billing), monitor performance (future enhancements) Operating systems are among the most complex pieces of software ever developed... BYU CS 345 Chapter 2: OS Overview

3. What Resources need management? Resource Management 3. What Resources need management? Memory Cache Virtual Secondary Peripherals Computer programs User programs Shared libraries Concurrency / Synchronization CPU cores BYU CS 345 Chapter 2: OS Overview

4. What H/W Advancements? Memory protection (1960’s) Hardware Advancements 4. What H/W Advancements? Memory protection (1960’s) do not allow the memory area containing the monitor to be altered by a user program. Privileged instructions can be executed only by the resident monitor. A trap occurs if a program tries these instructions. Interrupts (1956) provide flexibility for relinquishing control to and regaining control from user programs. Timer interrupts prevent a job from monopolizing the system. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 10

Characteristics of Early Systems Early software: Assemblers, Libraries of common subroutines (I/O, Floating-point), Device Drivers, Compilers, Linkers. Need significant amount of setup time. Extremely slow I/O devices. Very low CPU utilization. But computer was very secure. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 11

Early Systems Structure Single user system. Programmer/User as operator (Open Shop). Large machines run from console. Paper Tape or Punched cards. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 12

Early Computer System Early Systems BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 13

Offline Operation Problem: Hardware Advancements Offline Operation Problem: Card Reader slow, Printer slow (compared to Tape). I/O and CPU could not overlap. Solution: Offline Operation (Satellite Computers) Speed up computation by loading jobs into memory from tapes while card reading and line printing is done off-line using smaller machines. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 14

Simple Batch Systems Use of high-level languages, magnetic tapes. Jobs are batched together by type of languages. An operator was hired to perform the repetitive tasks of loading jobs, starting the computer, and collecting the output (Operator-driven Shop). It was not feasible for users to inspect memory or patch programs directly. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 15

Batch Systems 5. What is JCL? Job Control language is the language that provides instructions to the monitor: what compiler to use what data to use Example of job format: ------->> $FTN loads the compiler and transfers control to it. $LOAD loads the object code (in place of compiler). $RUN transfers control to user program. $JOB $FTN ... FORTRAN program $LOAD $RUN Data $END BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 16

Operator-driven Shop Batch Systems BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 17

Batch Systems Simple Batch Systems The user submits a job (written on cards or tape) to a computer operator. The computer operator place a batch of several jobs on an input device. A special program called the monitor, manages the execution of each program in the batch. “Resident monitor” is always in main memory and available for execution. Monitor utilities are loaded when needed. Reduce setup time by batching similar jobs. Alternate execution between user program and the monitor program. Use Automatic Job Sequencing – automatically transfer control from one job when it finishes to another one. Rely on available hardware to effectively alternate execution from various parts of memory. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 18

Batch Systems Control Cards Special cards that tell the monitor which programs to run: $JOB $FTN $RUN $DATA $END Special characters distinguish control cards from data or program cards: $ in column 1 // in column 1 and 2 709 in column1 BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 19

Card Deck of a Job Batch Systems BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 20

Uniprogramming Uniprogramming I/O operations are exceedingly slow (compared to instruction execution). A program containing even a very small number of I/O operations, will spend most of its time waiting for them. Hence: poor CPU usage when only one program is present in memory. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 21

Batch Multiprogramming Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 22

Concurrent Multiprogramming Allows the processor to execute another program while one program must wait for an I/O device. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 23

Multiprogramming Why Multiprogramming? Single user cannot keep CPU and I/O devices busy at all times. Multiprogramming organizes jobs (code and data) so CPU always has one to execute. A subset of total jobs in system is kept in memory. One job selected and run via job scheduling. When it has to wait, OS switches to another job. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 24

Multiprogramming Requirements Hardware support: I/O interrupts and DMA controllers in order to execute instructions while I/O device is busy. Timer interrupts for CPU to gain control. Memory management several ready-to-run jobs must be kept in memory. Memory protection (data and programs). Software support from the OS: For scheduling (which program is to be run next). To manage resource contention. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 25

Multi (processor/core) Multiprocessing Multi (processor/core) Traditionally, the computer has been viewed as a sequential machine. Multiple control signals Pipelining Parallelism Symmetric Multiprocessors (SMP) 2 or more identical processors that share resources Integrated OS to control jobs, tasks, files, data elements… High degree of interaction/cooperation between processes Multicore Computers Single piece of silicon (die) Independent processors + levels of cache Intel Core i7 Prefetching Cluster computing Loosely coupled - network Client / server environment Middleware DME, RPC BYU CS 345 Chapter 2: OS Overview

6. What does Spool stand for? Spooling 6. What does Spool stand for? Problem: Card reader, Line printer and Tape drives slow I/O and CPU could not overlap. Solution: Spooling - Overlap I/O of one job with the computation of another job (using double buffering, DMA, etc). Technique is called SPOOLing: Simultaneous Peripheral Operation On Line. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 27

7. What is a Virtual Machine? Virtualization technology enables a single PC or server to simultaneously run multiple operating systems on a single platform. The host OS can support many virtual machines, each with characteristics of a particular OS. BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 28

8. Windows 7, Unix, Linux? Windows 7 BYU CS 345 Chapter 2: OS Overview Alex Milenkovich 29

BYU CS 345 Chapter 2: OS Overview