Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the."— Presentation transcript:

1 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

2 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

3  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

4  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

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

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

7  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

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

9 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

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

11 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?

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

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

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

15 History of OS: Change! 19802000Factor 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

16 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

17 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

18 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

19 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

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

21 The Bottom Line OS designs need to adapt to changing technology


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

Similar presentations


Ads by Google