1. What is an Operating System?

Similar documents
Types Of Operating Systems

Chapter 1: Introduction. What is an Operating System?

Contents. Chapter 1. Introduction

Overview and History of Operating Systems

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

3 - Introduction to Operating Systems

Operating Systems Introduction

CS 453/552: Operating Systems

Operating Systems 4 th Class

How To Understand The Principles Of Operating Systems

Chapter 2: OS Overview

(Advanced Topics in) Operating Systems

Overview of Operating Systems Instructor: Dr. Tongping Liu

Principles of Operating Systems CS 446/646

Introduction. What is an Operating System?

EECS 678: Introduction to Operating Systems

CHAPTER 15: Operating Systems: An Overview

Operating System Tutorial

Star System Deitel & Associates, Inc. All rights reserved.

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Chapter 3. Operating Systems

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

UNIT 1 OPERATING SYSTEM : AN OVERVIEW

OPERATING SYSTEM SERVICES

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 1 History of Computers

Operating Systems Overview

How To Understand The History Of An Operating System

Operating system Dr. Shroouq J.

Computers: Tools for an Information Age

This tutorial will take you through step by step approach while learning Operating System concepts.

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

Software: Systems and Application Software

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

P R E L I M I N A R Y P R O O F S

Chapter 5 Process Scheduling

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

Linux Process Scheduling Policy

OPERATING SYSTEM OVERVIEW

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Operating System Structures

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Operating Systems. Study this screen display and answer these questions.

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Introduction to Computer Architecture Concepts

OPERATING SYSTEM INDEX

Operating Systems PART -A

Technological Diffusion in the Development of the Mainframe. Computer and Early Semiconductors

Operating System Software

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Software systems and issues

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

Chapter 3: Operating-System Structures. Common System Components

Chap-02, Hardware and Software. Hardware Model

Operating Systems Lecture #6: Process Management

Operating Systems. Rafael Ramirez (T, S)

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Chapter 2 Logic Gates and Introduction to Computer Architecture

Connecting with Computer Science Chapter 1 Review:

Chapter 5: System Software: Operating Systems and Utility Programs

CPU Scheduling. Core Definitions

System Structures. Services Interface Structure

Lesson 06: Basics of Software Development (W02D2

INTRODUCTION TO OPERATING SYSTEMS

Efficiency of Batch Operating Systems

Early Developments: From Difference Engine to IBM 701

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Understanding the OS Architecture and Linux History. Zhiqiang Lin

Introducción. Diseño de sistemas digitales.1

lesson 1 An Overview of the Computer System

Ways to Use USB in Embedded Systems

CPU Scheduling Outline

IOS110. Virtualization 5/27/2014 1

MULTIPLE CHOICE FREE RESPONSE QUESTIONS

A LECTURE NOTE ON CSC 322 OPERATING SYSTEM I DR. S. A. SODIYA

Origins of Operating Systems OS/360. Martin Grund HPI

Operating Systems: Basic Concepts and History


Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

GCCSI. Ihr Dienstleister in:

Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM

Virtual Machines.

Operating Systems Prof. Ashok K Agrawala

An introduction to operating systems

Programming for GCSE Topic H: Operating Systems

Design and Implementation of the Heterogeneous Multikernel Operating System

Windows Server Performance Monitoring

1 Organization of Operating Systems

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

ELEC 377. Operating Systems. Week 1 Class 3

Transcription:

COSC4740-01 Operating Systems Design, Fall 2004, Byunggu Yu Chapter 1 Introduction 1. What is an Operating System? Various computer programs e.g., text editor, compiler, games, etc. Operating System Hardware Resources Figure 1.1 Conceptual Layers of System An operating system is a program that controls and coordinates the use of hardware resources among various computer programs for various users. - Resources: CPU, memory, I/O devices (secondary & tertiary storage, modem, monitor, etc.) - Control (Control Program): OS controls the execution of various programs to ensure proper use of the hardware resources and to prevent errors. - Coordination (Resource allocator): OS acts as a manager of underlying resources and allocates/de-allocates resources efficiently and fairly. 2. Why We Need an OS? (The Goal of an OS) Convenient and Efficient use of computer hardware resources. 3. Type of OS The first generation (1945-1955) Vacuum Tubes and Plugboards based s: Human operator (No Operating System), on-line 44 MARK I by Howard Aiken, Harvard Univ. Electromechanical 45 ENIAC by J.W. Mauchly and J.P. Eckert Electrical Numerical Integrator and 49 EDSAC by Alan Turing 1 st library of subroutines 1

51 EDVAC by John von Neumann and his colleagues 1 st stored program computer 52 First commercial compiler 54 UNIVAC I by Harvard Univ. 1 st computer sold to US Defense Dept. 54 1 st FORTRAN and Assembler by IBM The second generation (1955-1965) Transistor based s: Developed Resident Monitor (FMS, IBSYS) and Off-line system to utilize CPU. 55 TRIDAC 1 st transistor based computer 55 64 IBM 1401 (Printing, Card reading, commercial) + IBM 7094 (heavy computing, scientific), Fortran Monitor System (FMS), IBM s OS for 7094 (IBSYS) Transistor made the computers much more stable Big companies and government departments started buying computer systems. Because the system price was very high, the owners wanted to maximize the system utilization. As a result, batch system was developed. Off-line Batch system increased the CPU utilization Cardreader Main Figure 1.2 On-Line Processing Line Printer Main must wait the slow Card-reader and Line printer. Cannot I/O while Main is working. Interactive computing environment Card-reader/ Tape writer Tape reader/ Line Printer The operator waits until the tape is full and then delivers the tape to the e.g., IBM 1401 next tape reader. e.g., IBM 1401 Tape reader Main e.g., IBM 7094 Figure 1.3 Off-Line Processing Tape writer Main computer was not constrained by the speed of slow card-readers and line printers, but was limited by only the speed of the much faster tape drives. Less interactive environment 2

The third generation (1965-1980) Integrated Circuit based s: Developed Multiprogramming, General Purpose computers, Spooling based on Disk drive, Time-Sharing Systems, Minicomputers, and UNIX. 59 Integrated Circuit (IC) by Noyce and Moore 61 PDP-1 by DEC 62 CTSS (Compatible Time-Sharing System) by Corbato at MIT 1 st time-sharing OS 64 IBM 360 by IBM 1 st IC based 64 PDP-8 by DEC 1 st mass-produced minicomputer 66 OS/360 Multiprogramming equipped OS 66 MULTICS (MUltiplexed Information and Computing Service) by MIT, Bell Lab, and General Electric 69 UNIX by Thompson and Ritchie at AT&T Bell Lab. 72 PDP-11 by DEC The climax of DEC s PDP series IC reduced the price of computer systems. IBM produced general-purpose computer IBM 360 that can substitute for both 1401 (for I/O-bound jobs) and 7094 (for CPU-bound jobs). Multiprogramming When the current job is waiting for an I/O operation to complete, the CPU simply sits idle. With CPU-bound scientific calculating jobs, I/O is infrequent, so this waist time is not significant. However, with I/O-bound commercial data processing jobs, the I/O wait time is significant. Because general-purpose computers, like IBM 360, do both kinds of jobs (I/O-bound and CPU-bound), something had to be done about it. People started modifying/developing operating systems, like OS 360, to load several jobs into the memory so that, while one job is waiting for an I/O to complete, another job can be using the CPU. IBM 360 and several systems were equipped with a special hardware to protect each job against snooping and mischief by the other jobs. Spooling (Simultaneous Peripheral Operation On Line) Random access storage devices (i.e., Disk storage) made the following possible: the computer systems can read (or write) jobs (or outputs) while other devices are reading or writing data on the storage. As a result, as soon as input data or program is ready, the data or program could be written on the disk. Also, the computer could write output data onto the disk as soon as they are available. Spooling eliminates the delays in tape system (tape delivery, unloading/mounting, tape rewinding, and the delay until enough other jobs or data fill the current tape). Job pool and Job Scheduling Time-sharing (Multitasking) Batch systems are designed to maximize the utilization of system resources. However, the users cannot interact with their jobs. Thus, running multi-step programs, whose next step depends on the result of the current step, and debugging programs were very difficult. The desire for quick response time gave birth to time-sharing (a logical 3

extension of multiprogramming). In time-sharing, the system switches rapidly and frequently from one job to another. As a result, each job continues to run by using many tiny slices of CPU time. Dawn of UNIX 1) Growth of minicomputers (DEC PDP-1 61 DEC PDP-11 72) 2) One of MULTICS developer ported MULTICS for PDP-7 as a single-user version 3) Brian Kernigham called the single user MULTICS UNICS (Uniplexed Information and Computing Service) 4) Later, the spelling was changed to UNIX, which is a trademark of Bell Lab. 5) UNIX worked well on PDP-11/20 and PDP-11/45 6) Dennis Ritchie and Thompson at Bell Lab rewrote the UNIX in C 7) AT&T Bell Lab licensed UNIX to universities almost free 8) UNIX spread rapidly through Interdata 7/32, VAX, and Motorola 68000 Note, Multiprogramming and Time-sharing are the central themes of modern operating systems, and are the central themes of this course. The Fourth generation (1980-Present) LSI (Large Scale Integrated) and VLSI (Very Large Scale Integrated) circuit based s People started thinking about more convenient ways of computing My computer is more convenient to use than shared computer: Personal Graphic User Interface (GUI) is more convenient than text based command interpreter: Mac OS, Windows series, X-windows Now, how to share information and resources Network becomes more popular, Internet was born Distributed Operating Systems become hot issue At the same time, I want protection and security Information Security Resource Protection My PC is too slow to solve my problems Parallel Systems Super s Well organized distributed systems and clustered systems Special Type Operating Systems Two Types of Multiprocessor System Tightly coupled: Processors share computer bus, clock, memory, and I/O devices. Processors are in close communication. 4

o Symmetric Multiprocessing: Each processor self-schedule its processes (more complex) o Asymmetric Multiprocessing: Each processor is assigned a specific task. (e.g., Master/Slave structure, less complex) Loosely coupled: Each processor has its own memory, I/O devices, and clock. Processors do not share computer bus. Processors communicate through communication lines (e.g., LAN, phone lines) OS for tightly coupled multiprocessor systems (Parallel OS) + Increase throughput + Fault tolerant / Reliable - Increased complexity OS for loosely coupled multiprocessor systems (Distributed OS or OS for clustered systems) + Increase throughput + Fault tolerant / Reliable + Resource Sharing - Increased complexity Real-time systems (Real-time OS) Soft Real-time system: A real-time job gets higher priority and maintains it until it completes. (e.g., multimedia and virtual reality applications) can implement on general computer systems. Hard Real-time system: Guarantees that real-time jobs are completed on time. (e.g., missile control and robotics) need special hardware to implement Next Generation? Let s think about Moore s law, Quantum Computing, Biological Computing, and DNA Computing. 5