3 - Introduction to Operating Systems



Similar documents
Chapter 1: Introduction. What is an Operating System?

Contents. Chapter 1. Introduction

Types Of Operating Systems

Overview and History of Operating Systems

Computers: Tools for an Information Age

Operating Systems 4 th Class

Overview of Operating Systems Instructor: Dr. Tongping Liu

Principles of Operating Systems CS 446/646

How To Understand And Understand An Operating System In C Programming

How To Understand The History Of An Operating System

Operating Systems Overview

CHAPTER 15: Operating Systems: An Overview

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

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Chapter 7A. Functions of Operating Systems. Types of Operating Systems. Operating System Basics

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

(Advanced Topics in) Operating Systems

Operating Systems Prof. Ashok K Agrawala

Operating System Tutorial

How To Understand The Principles Of Operating Systems

Operating Systems. Rafael Ramirez (T, S)

Operating Systems: Basic Concepts and History

Components of a Computer System

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Chapter 3. Operating Systems

Operating System Structures

Introduction. System Calls

Chapter 5: System Software: Operating Systems and Utility Programs

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

OPERATING SYSTEMS Software in the Background. Chapter 2

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

Real-Time Scheduling 1 / 39

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

Programming for GCSE Topic H: Operating Systems

Operating Systems PART -A

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

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

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine?

Learning Objectives. Chapter 1: Networking with Microsoft Windows 2000 Server. Basic Network Concepts. Learning Objectives (continued)

Computer Science 4302 Operating Systems. Student Learning Outcomes

Networking Operating Systems (CO32010)

System Structures. Services Interface Structure

Operating System Components and Services

Distributed Systems LEEC (2005/06 2º Sem.)

Software: Systems and Application Software

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

Chapter 2 System Structures

An introduction to operating systems

Virtualization. Types of Interfaces

CPU Scheduling. Core Definitions

EECS 678: Introduction to Operating Systems

Distributed Operating Systems

Upon completion of this chapter, you will able to answer the following questions:

Operating Systems Introduction

Real-Time Operating Systems for MPSoCs

INTRODUCTION TO OPERATING SYSTEMS

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

CSE 501 Monday, September 09, 2013 Kevin Cleary

Computer Architecture. Secure communication and encryption.

nanohub.org An Overview of Virtualization Techniques

Chapter 4. System Software. What You Will Learn... Computers Are Your Future. System Software. What You Will Learn... Starting the Computer


ELEC 377. Operating Systems. Week 1 Class 3

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

CS420: Operating Systems OS Services & System Calls

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

1.5 Distributed Systems

Local Area Networks: Software and Support Systems

Final Report. Cluster Scheduling. Submitted by: Priti Lohani

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

NETWORK OPERATING SYSTEMS. By: Waqas Ahmed (C.E.O at Treesol)

Scaling from 1 PC to a super computer using Mascot

Chapter 2: OS Overview

Operating System Software

evm Virtualization Platform for Windows

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

CPU Scheduling Outline

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

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

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

Introduction to Computer Administration. System Administration

Chapter 3: Operating-System Structures. Common System Components

Computer Organisation Operating Systems

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

IOS110. Virtualization 5/27/2014 1

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

Virtualization. Pradipta De

Chapter 1 Computer System Overview

Course Description and Outline. IT Essential II: Network Operating Systems V2.0

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Chapter 3 Operating-System Structures

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

Enterprise Desktop Virtualization

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Transcription:

3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and run. acts as an intermediary between the user and the hardware. 1

What operating systems have you used? Unix (4.3BSD, SunOS, Ultrix, HPUX, Solaris, OSF1, FreeBSD, Linux, MacOS X) DOS (MSDOS, Windows 3.1, 95, 98, ME) NT (NT 3.51, Windows 2000, Windows XP) MacOS (7, 9) Vax VMS GEC OS4000 CP/M PDA: PalmOS, Psion 3, Psion EPOC, Linux Routers: Cisco IOS, Juniper JunOS, Procket Embedded: car, phone, digital camera, ipod, DSL router, WiFi AP. Goals Optimize use of hardware Convenient for user Efficient Robust Secure Different systems have different goals. Efficiency matters on a PDA, phone, or mars rover. Convenience matters on a PC. Hardware optimization in important on mainframes. OS design is all about tradeoffs. 2

Typical System Components User 1 User 2 User 3 User 4 User 5 Compiler System and Application Programs Operating System Database Computer Hardware What is in an OS? Bill Gates claims that Internet Explorer is part of the Windows Operating System. Is he right? Tannenbaum claims that the Operating System is only what resides in the kernel. Everything else is an application. Is he right? 3

Types of System Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real-Time Systems Handheld Systems Punched Card Reader 4

Mainframe Systems (1): Batch Systems Early computers were huge, expensive and slow. Card readers or paper tape for input. Leave program with the operator, get back printout next day. Role of OS is to load a job, run it, load the next job, run it, etc. Not very efficient, as job takes a long time to load. Operating System User Program Memory Typical Memory Layout IBM 360 Operator Panel 5

Mainframe Systems (2): Multiprogramming Maintain a job pool on disk. Keep a subset of jobs in memory. When one job stalls waiting for I/O, switch to a different one. OS Functions: Job Scheduling Disk I/O Memory Management Operating System Job 1 Job 2 Job 3 Job 4 Typical Memory Layout Mainframe Systems (3): Time Sharing Time-sharing (or Multitasking) is a logical extension of multiprogramming. CPU switches between jobs so quickly that users can interact with a program while it is running. Requires good responsiveness. What a job stalls waiting for I/O, another job can be run, giving good CPU utilization. The job pool is now under the control of the users. But memory is limited, so this requires swapping some jobs out to disk. One solution is virtual memory, where a job that is only partly in memory can be run. Also requires a filesystem for users to store the data from their jobs, and to abstract the details of the disk hardware. 6

DEC PDP 11/44, IBM PC Desktop Systems (1) Early desktop systems had little memory, and no memory management hardware. CP/M, MS-DOS, MacOS One user. One primary user task at a time. Goals were user convenience and responsiveness. As later hardware gained capability, so too did the operating systems. Gained functionality first designed for mainframes. 7

Desktop Systems (2) Unix moved to the workstation, and later to the PC. BSD Unix, SunOS, and later on, FreeBSD and Linux. Windows NT appeared, with true multitasking and memory management support. MacOS X - Mach/FreeBSD Unix derived. Some goals have changed: No longer need to maximize CPU utilization. Some have not: File protection and user isolation, needed on multitasking mainframes to separate user, are now needed for virus isolation on networked PCs with only a single user. Multiprocessor Systems (1) For really big systems, the fastest CPU is never fast enough. Only solution: use many CPUs. One box with many CPUs, or many boxes with one CPU? Multiprocessor can be cheaper (shared peripherals), and faster (low communications cost), and simpler (shared data), but it isn t always. Depends on task. On the desktop, CPUs are now cheap enough to have multiprocessor PCs. Really good for a crisp responsive user interface. Multi-core CPUs will be common soon. 8

Multiprocessor Systems (2): OS style Symmetric multiprocessing (SMP) All CPUs are equal; each runs kernel tasks, and communicate with each other as needed. Eg Solaris, Linux 2.4, Asymmetric multiprocessing A master CPU controls the system, and runs key kernel tasks. Other CPUs do what the master tells them. Variants between the two. Only one CPU allowed in the kernel at a time, but no restriction on which one it can be. Eg. FreeBSD 4, SunOS 4 Distributed Systems Distribute work across a network of computers. Machines are loosely coupled. Can be local or remote machines. Each has its own CPU, memory, disk, peripherals, etc. Advantages: Resource sharing, eg NFS CPU speedup from sharing a task. Load balancing (I/O and CPU speedup) Resilience. Disadvantages: High latency, so tightly coupled tasks perform poorly. 9

Distributed Systems (2) Few network operating systems exist, but many distributed subsystems: NFS local shared filesystem. AFS global shared filesystem. Clustered Systems In between multiprocessor systems and distributed systems. The term clustered is not well defined. Closely linked via a LAN. Share storage. Can be used to improve performance, or improve reliability. Asymmetric clustering: one node runs application, others provide a hot standby. Symmetric clustering: all nodes run parts of the application. 10

Mars Rovers Real-Time Systems Special purpose OS, often used in a control device. Engine control systems, flight control computers, guidance systems in missiles, medical systems, some home appliance CPUs, spacecraft. System has well defined time constraints: Processing must be done by some deadline. 11

Real-Time Systems Hard Realtime: Guarantees critical tasks completed on time. Delays in system must be bounded. No virtual memory, limited use of secondary storage, no time-sharing. Eg. VxWorks Soft Realtime: Critical tasks get priority, and keep this priority until they complete. Common in general-purpose OSs such as Unix. Uses: multimedia, virtual reality, etc. Handheld Devices Personal Digital Assistants (PDAs) Mobile Phones. MP3 players. Issues: Limited memory. Slow CPUs. Small screens. Limited battery. 12

Technology Migration Taken from Silberschatz, OS Concepts Conclusions Different Systems for different purposes. Functionality driven by limitations of the hardware. Features tend to migrate from expensive to cheap systems over time. Key Functionality: Memory Management Scheduling Hardware Abstraction Isolation Mechanisms Filesystems 13