Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.

Slides:



Advertisements
Similar presentations
Introduction CSCI 444/544 Operating Systems Fall 2008.
Advertisements

CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Winter 2005 CMPE 151: Network Administration Lecture 2.
Lecture 1: History of Operating System
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Operating Systems: Software in the Background
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
OS Spring’03 Introduction Operating Systems Spring 2003.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
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 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
What do operating systems do? manage processes manage memory and computer resources provide security features execute user programs make solving user.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Operating Systems CSCI 411.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Course Introduction Andy Wang COP 5611 Advanced Operating Systems.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Operating System Principles And Multitasking
February 02Page 1 Operating Systems Introduction.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
COP 4610 Introduction to Operating Systems. Chapter 1 - Introduction OS - Layer between the hardware and user programs (Figure 1.1) OS - The ultimate.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Introduction and History Sarah Diesburg Operating Systems COP 4610.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
CT101: Computing Systems Introduction to Operating Systems.
Introduction and History Andy Wang Operating Systems COP 4610 / CGS 5765.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
Introduction to Operating Systems
Applied Operating System Concepts
2. OPERATING SYSTEM 2.1 Operating System Function
Andy Wang COP 5611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Introduction to Operating System (OS)
Chapter 1: Introduction
Introduction and History
Introduction and History
Introduction and History
Lecture Topics: 11/1 General Operating System Concepts Processes
Andy Wang COP 5611 Advanced Operating Systems
Introduction and History
Operating Systems: A Modern Perspective, Chapter 3
Andy Wang COP 5611 Advanced Operating Systems
Introduction and History
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Operating System Overview
Operating Systems Structure
Andy Wang COP 5611 Advanced Operating Systems
Lecture Topics: 11/1 Hand back midterms
Introduction and History
Presentation transcript:

Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the general OS functions?  Who needs an operating system?  What is operating system?  History of operating system

Where does the OS fit in?  The layer between the hardware and the user program (application programs).  OS is a software system that directly interacts with the hardware. Operating system Operating system interface Hardware User programs Hardware interface

 Hardware  CPU, registers, disks, monitors, etc  Hardware interface  the instruction set  other things like interrupt – anything that a programmer needs to know in order to write programs that use the hardware.  Operating system  Implements the OS interface + resource management  OS interface  The enhanced instruction set: hardware instruction set + special instructions called “traps” or “system calls”.  User programs:  Instructions in the enhanced instruction set + data

 Question: How many of you have dealt with the OS (enhanced) interface before?  One more layer between a typical user program and the OS interface, the programming environment (compiler + run time library).  cout << “hello world.\n”  write(1, “hello world.\n”, 13); Operating system Operating system interface Hardware User programs Hardware interface programming environment

What does the OS achieve?  Make it easy to write programs  Add more powerful instructions to the hardware instruction set.  What kind of instructions are added? Common functions used by many different applications. E.g. write (fileno, buf, len);  Resource virtualization  E.g. the illusion of Infinite memory.

What does the OS achieve?  Make it easy to run programs  How does a program run on the raw machine?  The program is in memory, starting from program counter (pc), run one instruction, goto the next instruction, run until the halt instruction.  How do you run a program?  g++ helloworld.cpp and then a.out.

 The OS must fill the gap between how you run a program and how the hardware runs a program. The OS must be able to:  Take the user command (g++, a.out, etc) – shell  Find the executable file (g++ or a.out) – File system  Load the executable into memory – memory management  Set the registers properly (e.g. pc = starting address of the executable)  When there are multiple programs running, the OS must make each program feel like it solely owns the whole machine (CPU, memory, registers) – virtual machine for each process  Manage processes.  OS functionality: Implements the OS interface + resource management

What does an OS achieve?  It hides the complexity and limitations of hardware (hardware interface) and creates a simpler, more powerful abstraction (OS interface).

Hardware reality vs. OS abstraction RealityAbstraction A single CPUMultiple CPUs Limited RAM capacityInfinite capacity Mechanical diskMemory speed access Insecure and unreliable networks Reliable and secure Many physical machines A single machine

What are the general OS functions?  Standard services  Screen display, disk accesses, etc  Coordination among applications  Protection, correctness, efficiency, and fairness

Coordination  Example: Protection  Applications should not crash one another  Address space: all memory addresses that an application can touch.  Address space for one process is separated from address space for another process and from the OS.  Applications should not crash the OS  Dual-mode operations Kernel mode: some instructions can only be executed by the OS (must be executed with a kernel mode). User mode: an application can only access its own address space Examples of kernel mode instructions?

What is the operating system?  OS is the software layer between the hardware and user programs.  OS is the ultimate API.  OS is the first program that runs when the computer boots up.  OS is the program that is always running.  OS is the resource manager.  OS is the creator of the virtual machine.

Resources managed by OS  CPU: process management  Memory: memory management  Storage: storage and file management  I/O devices: I/O management

Who needs OS?  OS makes a computer easier to use  All general purpose computers need OS.  A better question: Who does not need OS?  Some very specialized systems that usually do one thing (OS can be embedded in the application).  Microwave oven control  MP3 players, etc.

History of OS: Change! Factor SpeedCPU1 MIPS1,000 MIPS1,000 Memory500 ns2 ns250 Disk18 ms2 ms9 Modem300 bits/sec56 Kbits/sec200 CapacityMemory64 Kbytes128 Mbytes2,000 Disk1 Mbytes6 Gbytes6,000 CostPer MIP$100K<= $1100,000 OtherAddress bits8648 Users/machine10s<=1.01

History Phase I: Hardware Expensive, Humans Cheap  Hardware: mainframes  OS: human operators  Handle one job (a unit of processing) at a time  Computer time wasted while operators walk around the machine room

OS Design Goal  Efficient use of the hardware  Batch system: collects a batch of jobs before processing them and printing out results  Job collection, job processing, and printing out results can occur concurrently  Multiprogramming: multiple programs can run concurrently  Example: I/O-bound jobs and CPU-bound jobs

History Phase II: Hardware Cheap, Humans Expensive  Hardware: terminals  OS design goal: more efficient use of human resources  Timesharing systems: each user can afford to own terminals to interact with machines

History Phase III: Hardware Very Cheap, Humans Very Expensive  Hardware: personal computers  OS design goal: allowing a user to perform many tasks at the same time  Multitasking: the ability to run multiple programs on the same machine at the same time  Multiprocessing: the ability to use multiple processors on the same machine

History Phase IV: Distributed Systems  Hardware: computers with networks  OS design goal: ease of resource sharing among machines

The Bottom Line OS designs need to adapt to changing technology