Tuesday, June 06, 2006 - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Tuesday, June 06, 2006

Description:

Several programming exercises will be given throughout the course. ... Motor On/Off, Speed, Movement of disk arm, sectors/tracks ... Different for different devices! ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 37
Provided by: Erud
Category:
Tags: june | tuesday

less

Transcript and Presenter's Notes

Title: Tuesday, June 06, 2006


1
Tuesday, June 06, 2006
  • I hear and I forget,
  • I see and I remember,
  • I do and I understand.
  • -Chinese Proverb

2
Today
  • Course Overview
  • Why a course on operating systems?
  • What is an operating system?

3
CS 381 Operating Systems
  • Course URL
  • http//suraj.lums.edu.pk/cs381m05
  • Folder on indus
  • \\indus\Common\cs381m05
  • Website Check Regularly Course announcements,
    Slides, Resources, Policies
  • Course Outline

4
CS 381 Operating Systems
  • Several programming exercises will be given
    throughout the course. The purpose of these
    exercises will be to give students practice in
    using the UNIX system calls, library functions,
    and algorithms.
  • The development environment will be C on UNIX.

5
Assumptions
  • Unix shell commands
  • gcc, gdb, makefile
  • Text editor emacs, vi
  • C programming

6
Pre-requisites
  • Computer Organization Assembly Language (CS
    223)
  • Load registers, interrupts, DMA
  • Data Structures

7
What is an OS?
  • Software between applications and reality
  • Abstracts the underlying hardware.
  • Gives illusion of changing finite into (almost)
    infinite.
  • Provides protection (from malicious or buggy
    programs).

browser
spreadsheet
compiler
editor
OS
hardware
Makes reality pretty!
8
Components of a simple personal computer?
9
Components of a simple personal computer
10
  • Operating System
  • Manages all the devices
  • Provides users simpler interface to the
    hardware
  • Efficiency.
  • Convenience, ease of use.
  • Optimize utilization
  • E.g. mainframes expensive
  • Fairness

11
Intermediary between a user of a computer and the
computer hardware.
12
  • Extended Machine Simpler Interface
  • Disk (Mechanical and Electrical components)
  • Disk I/O?

13
  • Extended Machine Simpler Interface
  • Disk I/O
  • Instructions for loading device registers
  • Motor On/Off, Speed, Movement of disk arm,
    sectors/tracks
  • Different for different devices!

14
Hide Complexity
  • E.g. File interface.

15
OS as Resource Manager
  • Orderly and controlled access,
  • Resolve conflicts
  • Prevent illegal accesses
  • Device I/O (Maintain queues)
  • E.g. Printers
  • Sharing Resources
  • CPU (Time multiplexing)
  • Memory (Space multiplexing)

16
OS Extended example of a complex system
  • Deal with complexity.
  • Millions of lines of code.

17
  • Hardware and Operating Systems have influenced
    each other.

18
  • Charles Babbage (1792-1871)
  • First analytical Engine
  • Purely mechanical

19
  • Vacuum Tubes (1945-55)
  • Calculating Engines
  • Entire rooms
  • Tens of thousands of Vacuum Tubes (problems of
    burn outs)
  • Wiring up plug boards!

Seen a vacuum tube?
20
  • Vacuum Tubes (1945-55)
  • Calculating Engines
  • Entire rooms
  • Tens of thousands of Vacuum Tubes (problems of
    burn outs)
  • Wiring up plug boards!

21
  • Transistors (1955-65)
  • Reliability
  • FORTRAN Program punched on cards
  • Problems
  • CPU idle time
  • I/O speeds vs CPU speeds (Mechanical vs
    Electrical)
  • Costly equipment
  • What if a missed?

22
  • Transistors (1955-65)
  • Reliability
  • FORTRAN Program punched on cards
  • Problems
  • CPU idle time
  • I/O speeds vs CPU speeds (Mechanical vs
    Electrical)
  • Costly equipment

23
  • Early batch system
  • bring cards to 1401
  • read cards to tape
  • put tape on 7094 which does computing
  • put tape on 1401 which prints output

Mostly used for scientific and engineering
calculations
24
  • What if a missed?
  • What if it runs over the cards of another
    program?
  • No protection between users

25
ICs and Multiprogramming (1965-1980)
  • IBM 360 series Software compatible machines
  • Enormous and complex operating systems
  • Costly machines
  • Lead to multiprogramming
  • CPU bound (scientific calculations)
  • I/O bound

26
ICs and Multiprogramming (1965-1980)
  • Software compatible machines
  • Enormous and complex operating systems
  • Costly machines
  • Lead to multiprogramming

Protection among users!
27
  • Introduction of key techniques
  • Multiprogramming
  • Spooling (Simultaneous Peripheral Operation On
    Line)
  • From Batch systems to Timesharing

28
  • Introduction of key techniques (contd)
  • From Batch systems to Timesharing
  • I/O peoples speed
  • Response time
  • Memory management
  • CPU scheduling
  • Process Synchronization

29
  • MIT, Bell Labs and GE
  • Machine that would support hundreds of time
    sharing users
  • MULTICS (MULTIplexed Information and Computing
    Service)
  • Ahead of time.

30
  • At Bell Labs
  • One user version of MULTICS.
  • Developed into UNIX

31
  • Linus Benedict Torvalds
  • (August 1991)
  • I'm doing a (free) operating system (just a
    hobby ) for 386(486) clones
  • Linus himself didn't believe that his creation
    was going to be big enough to change computing
    forever.
  • Linux version 0.01 was released by mid September
    1991, and was put on the net.
  • Enthusiasm gathered around this project and codes
    were downloaded, tested, tweaked, and returned to
    Linus.

32
  • Personal Computers (1980 Present)
  • Large Scale Integration (LSI)
  • Intel came with 8080 which became hugely popular
  • First microcontroller with disk
  • DOS (Disk Operating Systems)
  • Seattle Computer Products
  • MS-DOS (does not support multiprogramming)
  • Doug Engelbart (Mouse, GUI)
  • Apple GUI
  • Windows

33
  • Disk I/O
  • Commands and accepts responses
  • Instructions for loading device registers etc.
  • Different for different devices!
  • Device drivers (by each controller manufacturer)
  • One for each OS supported.

34
  • Device drivers
  • Run inside the kernel.
  • Dynamically loaded drivers.

35
  • Input/Output
  • Controllers have registers for communication
  • Memory mapped I/O
  • Separate I/O space
  • Hybrid

36
  • Some design issues
  • I/O Space
  • Special IN/OUT instructions (use of assembly
    code)
  • Memory mapped
  • Caching of device registers should not be done!
  • Multiple buses
Write a Comment
User Comments (0)
About PowerShow.com