 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.

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
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
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.
EE 469 Operating Systems Engineering Introduction to Operating Systems Spring 2001 David S. Ebert Introduction to Operating Systems Spring 2001 David S.
Slide 1-1 Computer Systems II Gordon College Operating System Overview.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
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.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
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:
 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
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.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Operating Systems 1 K. Salah Module 1.0: Introduction What is an operating system? Multiprogramming Systems Time-Sharing Systems Parallel Systems Distributed.
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.
CMPS Operating Systems Prof. Scott Brandt Computer Science Department University of California, Santa Cruz.
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
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Introduction.
Outline Introduction to Operating Systems Using the Operating Systems
Operating System Concepts
Chapter 1: Introduction
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Introduction.
Operating Systems: A Modern Perspective, Chapter 1
Chapter 1: Introduction
Instructor: Xiuwen Liu Department of Computer Science
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

 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 overhead of real work  Application programs have the real value to person who buys the computer 2

 A computer system consists of hardware and software that are combined to provide a tool to solve specific problems  Hardware includes CPU, memory, disks, printers, screen, keyboard, mouse...  Software includes  System software  A general environment to create specific applications  Application software  A tool to solve a specific problem 3

4 Application Software System Software Hardware (a)End User View (b) Application Programmer View (c) OS Programmer View Application Software Application Software System Software System Software Hardware cut save print send malloc () fork() open() read-disk track-mouse start-printer

 Independent of applications, but common to all  Examples  C library functions  A window system  A database management system  Resource management functions 5

 Process: An executing program  Resource: Anything that is needed for a process to run  Memory  Space on a disk  The CPU  “An OS creates resource abstractions”  “An OS manages resource sharing” 6

7 Hardware Resources OS OS Resources (OS Interface) Middleware Abstract Resources (API) Application User Interface

 Provides an abstract model of the operation of hardware components  Like data abstraction in Object-Oriented programming  Interface functions  Internal functions and status  Eliminates the tedious details that a programmer would otherwise have to handle 8

 Processor: execute instructions  Memory: store programs and data  Input/output (I/O)controllers: transfer to and from devices  Disk devices: long-term storage  Other devices: conversion between internal and external data representations 9

10

 Everything that a programmer needs to know in order to write programs that perform desired operation on the hardware  Disk drive is an example  Disk interface provides functions to move disk head, transfer data  Monitor  Monitor interface provides functions to move the cursor, display characters/graphics 11

 System software  Provides a general programming environment in which programmers can create specific applications  Application software  Intended to solve a specific problem 12

13 Loader OS Database Management System Database Management System Window System Window System Application Programmer System Software Libraries Compiler Hardware Command Line Interpreter Command Line Interpreter Libraries Software API

 The operating system is the part of the system software that manages the use of the hardware used by other system software and all application software  It is the system program that acts between the hardware and the user programs 14

 It provides services to user programs  Through system calls / message passing  File system services  Memory services  I/O services  It hides hardware from user programs  When your program shows a message on the monitor, it does not need to know the details  When your program generates a new file, it does not need to where the free space is on your hard drive 15

 Major differences between OS and general system software  General system software relies on the abstractions provided by OS  OS abstracts the hardware directly  OS provides the fundamental trusted mechanisms for resource sharing  A general purpose OS is domain-independent 16

 Resource manager  manage hardware and software resources  Resource abstraction and sharing  A nicer environment  implement a virtual machine for processes to run in  A program in execution is called a process  a nicer environment than the bare hardware 17

 Transform physical resources to logical resources  Resource abstraction  Make the hardware resources easier to use  Multiplex one physical resource to several logical resources  Create multiple, logical copies of resources  Schedule physical and logical resources  Decide who gets to use the resources 18

 Three interface functions  load(block, length, device)  seek(device, track)  out(device, sector) 19

 An abstract function for writing write(char *block, int len, int device, int track, int sector) {... load(block, length, device); seek(device, 236); out(device, 9);... } 20

21 load(…); seek(…); out(…); void write() { load(…); seek(…) out(…) } int fprintf(…) {... write(…) … } (a) Direct Control (b) write() abstraction (c) fprintf() abstraction Application Programmer OS Programmer

 The dark side …  While simplifying the way application programmers can control hardware, abstraction can limit the flexibility by which specific hardware can be manipulated  Certain operations may be impossible to achieve using the abstraction 22

 Concurrent execution  Two or more processes appear to be (or actually are) executing at the same time  Parallel execution  Two or more processing actually executing simultaneously  Processes which are concurrent, or parallel, must share the computer 23

 Two types of sharing  Time multiplexed sharing  time-sharing  schedule a serially-reusable resource among several users  Space multiplexed sharing  space-sharing  divide a multiple-use resource up among several users 24

25 - Called multiprogramming

26 - Resulted in concurrent execution or concurrency

27 Time Using the processor I/O operation / paused 0titi P i ’s Total Execution Time, t i (a) P i ’s Use of Machine Resources Time P1P1 P2P2 PiPi PNPN … … (a) All Processes’ Use of Machine Resources Improves performance

28

29

30

 Resource isolation and sharing  Protection  Prevent unauthorized access of resources by one process when they are currently allocated to another  Sharing  Resource allocation  Scheduling 31

 Not always  When resource abstraction or sharing is not needed  Some programs run “stand-alone”  Early computers did not have a sophisticated OS  OS was evolved along the hardware technology  But they are very useful  Reusable functions  Easier to use than the bare hardware 32

 Several different strategies have been used  Earliest computers were dedicated to a single program and there was no multiprogramming and no OS  Batch systems  Timesharing systems  There are a few other recent strategies  Personal computers and workstations  Embedded systems  Small, communicating computers  Network technology 33

 Reduce setup time by batching similar jobs  Automatic job sequencing – automatically transfers control from one job to another. First rudimentary operating system.  Resident monitor  initial control in monitor  control transfers to job  when job completes control transfers back to monitor 34

35 Job 19 Input SpoolerOutput Spooler Job 3 Input Spool Output Spool

36

 Overlap I/O of one job with computation of another job. While executing one job, the OS  Reads next job from card reader into a storage area on the disk (job queue).  Outputs printout of previous job from disk to printer.  Job pool – data structure that allows the OS to select which job to run next in order to increase CPU utilization 37

38 Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

 I/O routine supplied by the system  Memory management – the system must allocate the memory to several jobs  CPU scheduling – the system must choose among several jobs ready to run  Allocation of devices 39

 The goal is to enable users to interact with the computer system  Batch processing systems do not allow user interactions  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.  On-line system must be available for users to access data and code. 40

41 Physical Machine Abstract Machines … Command Result

 Personal computers – computer system dedicated to a single user.  I/O devices – keyboards, mice, display screens, small printers.  User convenience and responsiveness.  Can adopt technology developed for larger operating system  often individuals have sole use of computer and do not need advanced CPU utilization of protection features. 42

43 Win32 API Windows CE (Pocket PC) Windows CE (Pocket PC) Windows 95/98/Me Windows NT/2000/XP Win32 API Subset Win32 API SubSet

 Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.  Well-defined fixed-time constraints.  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. 44

 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.  Advantages of parallel system:  Increased throughput  Economical  Increased reliability  graceful degradation  fail-soft systems 45

 Distribute the computation among several physical processors  Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines  Advantages of distributed systems  Resources Sharing  Computation speed up – load sharing  Reliability  Communications 46

 Network operating system  provides file sharing  provides communication scheme  runs independently from other computers on the network  Distributed operating system  less autonomy between computers  gives the impression there is a single operating system controlling the network. 47

48

49 Modern OS Batch Timesharing PC & Wkstation Network OS Real-Time Memory Mgmt Protection Scheduling Files Devices Memory Mgmt Protection Scheduling System software Human-Computer Interface Client-Server Model Protocols Scheduling Small Computer Network storage, Resource management