Chapter 1: Introduction - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 1: Introduction

Description:

the way in which an OS works. the algorithms and data structures inside an OS ... if ( (dp = opendir(argv[1])) == NULL) err_sys('can't open %s', argv[1] ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 45
Provided by: fpayid
Category:

less

Transcript and Presenter's Notes

Title: Chapter 1: Introduction


1
Chapter 1 Introduction
  • What is the aim of the subject?
  • Why are OSes important?
  • What is an OS?
  • A bit of history
  • Some basic OS concepts
  • How does an OS work?
  • OS Structures

2
The Aim of the Subject
  • WILL NOT TEACH YOU HOW TO USE AN OPERATING
    SYSTEM.
  • It will examine
  • the way in which an OS works
  • the algorithms and data structures inside an OS
  • the problems, solutions and trade offs in
    designing an OS
  • TO ACHIEVE AN UNDERSTANDING OF HOW AN OPERATING
    SYSTEM WORKS.

3
Computer System Components
  • Application Software Bank automation system,
    airline reservations, payroll etc.
  • System Software OS, data base, compilers,
    editors etc.

4
What is SYSTEM SOFTWARE?
  • System software provides the environment and the
    tools to create the application software (sort of
    virtual machine)
  • It is also the interface between the hardware and
    the applications

5
Why is the OS Important?
  • The operating system is the foundation upon which
    all computing work is performed.
  • Knowledge of the internals of an OS is essential
    to achieve efficiency in
  • building software applications
  • deciding upon a computing platform

6
What is an Operating System?
  • A big, complex program (sometimes many)
  • It has two main purposes in life
  • An interface between the user and the hardware
    (provides a virtual machine)
  • Provide efficient, safe management of computing
    resources

7
Life without an OS
  • Every programmer would
  • have to know the hardware
  • be able to access the hardware
  • Every program
  • would contain code to do the same thing
  • probably do something wrong

8
Where does the OS Fit?
System Calls
Users and User Programs
Operating System
CPU Memory
Hardware
I/O Devices
9
History First Generation (1945-1955)
  • Vacuum tubes
  • No operating system
  • Programming is done by wiring a plug board
  • Applications are mostly numerical calculations
    (trajectory computations, computation of tables
    such as sine, cosine etc.)

10
HistorySecond Generation (1955-1965)
  • Transistors
  • Commercially produced computers
  • Very expensive and very slow computers compared
    with your old PC at home
  • Batch operation (collect jobs, run in one go,
    print all outputs)

11
  • Spooling (Simultaneous Peripheral Operation
    On-line)
  • off-line spooling
  • on-line spooling
  • Off-line spooling replace slow I/O devices with
    I/O dedicated computers so that the main system
    sees these machines as its I/O devices

12
Early Batch Systems
  • bring cards to 1401
  • read cards to tape
  • put tape on 7094 which does computing
  • put tape on 1401 which prints output

13
A Deck of Cards (Program)
14
  • Applications are mostly scientific and
    engineering calculations (eg., solution of
    partial differential equations)
  • High level languages such as FORTRAN and COBOL

15
HistoryThird Generation (1965-1980)
  • Integrated circuits (small scale) packed as chips
  • I/O processors (channels) which can work in
    parallel with CPU - Multiprogramming

16
Multiprogramming system - three jobs in memory
17
  • On-line spooling (using channels)
  • Time-sharing (TTY terminals and VDUs)
  • Multics OS - original UNIX Minicomputers -
    Cheaper than mainframes but with limited hardware
    (eg. DEC PDPx)

18
HistoryFourth Generation (1980-1990)
  • Large scale integration
  • Personal computers
  • CP/M, MS DOS, Unix operating systems
  • Networks

19
Now!
  • Client/Server computation
  • Clients PCs, workstations running under Windows
    and UNIX operating systems
  • Servers systems that run under UNIX and Windows
    NT
  • Internet and intranet networking (WWW)

20
Links for More History
  • http//www.old-computers.com
  • http//www.hitmill.com/computers/history/index.htm
    l
  • http//www.computerhistory.org/

21
Important Points
  • OS provides
  • a simpler, more powerful interface
  • higher level services
  • OS services only accessed via system calls
  • Users and programs cant directly access the
    hardware
  • Set of System Calls (APIs) is what programs
    think the operating system is.

22
Some OS Concepts
  • Kernel
  • The main OS program. Contains code for most
    services. Always in primary memory
  • Device Drivers
  • Programs that provide a simple, consistent
    interface to I/O devices
  • Typically part of the kernel

23
Some OS Concepts
  • Program
  • A static file of machine code on a disk
  • Process
  • A program in execution.
  • The collection of OS data structures and
    resources owned by a program while it is running.

24
Producing an Executable
Source Code
Object File
Executable
Compile
Link
Libraries and other Object files
25
A Simple Program to print a directory
include ltsys/types.hgt include
ltdirent.hgt include "ourhdr.h" int
main(int argc, char argv) DIR
dp struct dirent dirp
if (argc ! 2) err_quit("a single
argument (the directory name) is required") if (
(dp opendir(argv1)) NULL)
err_sys("can't open s", argv1)
while ( (dirp readdir(dp)) ! NULL)
printf("s\n", dirp-gtd_name)
closedir(dp) exit(0)
Functions supplied by system libraries. These
functions will contain a trap instruction.
26
User Program 2
User Mode
RAM
1. Program performs trap 2. OS determines
service number 3. Service is located and
executed. 4. Control returns to user
program.
User Program 1
trap 002
4
1
3
Based on a diagram from Modern Operating
Systems by Andrew Tanenbaum.
2
Kernel
System/Kernel Mode
27
Steps in Making a System Call
There are 11 steps in making the system call
read (fd, buffer, nbytes)
28
Some System Calls For Process Management
29
Some System Calls For File Management
30
Some System Calls For Directory Management
31
Some System Calls For Miscellaneous Tasks
32
A System Call Example
  • A stripped down shell
  • while (TRUE) / repeat forever /
  • type_prompt( ) / display prompt /
  • read_command (command, parameters) / input
    from terminal /
  • if (fork() ! 0) / fork off child process
    /
  • / Parent code /
  • waitpid( -1, status, 0) / wait for
    child to exit /
  • else
  • / Child code /
  • execve (command, parameters, 0) / execute
    command /

33
OS Structures
  • Monolithic systems
  • Hierarchy of layers
  • Virtual machines
  • Micro-kernel (client/server) model

34
Monolithic System
  • OS has no structure but is a collection of
    procedures with well defined calling interfaces
  • Program - OS interface is via supervisor calls
    (SVC)

35
Simple structuring model for a monolithic system
36
Monolithic System (Cont.)
  • OS code is a binded object program and its source
    code may be logically divided into
  • OS main program
  • System call service routines
  • Utility procedures which help service routines

37
Layered System
  • Structure of THE OS (a batch OS)

38
Layered System (Cont.)
  • 0. Process switching, multi programming, CPU
    scheduling
  • 1. Memory and swap space (disk) management
    (segment controller)
  • 2. Message interpretation, job control (JCL)
    functions
  • 3. I/O management (virtual peripherals)
  • 4. User programs
  • 5. Operator

39
Layered System (Cont.)
  • Synchronisation between layers Hardware and
    software (semaphores) interrupts
  • Each layer provides some sort of a virtual
    machine

40
Virtual Machines
  • VM provides n duplicates of physical hardware
    using software. So different Oses can work in the
    same machine at the same time

41
What is wrong so far?
  • OS is one large program that provides all the
    required services.
  • Anytime you add a new device you must
  • get a device driver for the device
  • recompile the kernel with the new device driver
  • reboot the machine so the new kernel will be
    used

42
Micro-Kernel (Client/Server) Model
  • OS is a minimal core known as Kernel.

43
  • The kernel contains the minimum of function
  • memory management
  • basic CPU management
  • inter-process communication (messages)
  • I/O support
  • Other functionality provided by user level
    processes

44
Characteristics of Kernel
  • Makes use of message passing
  • Easy to replace server processes
  • Easier to write and port OS
  • Design is perfect for distributed systems
  • Less performance
Write a Comment
User Comments (0)
About PowerShow.com