Operating Systems - PowerPoint PPT Presentation

1 / 72
About This Presentation
Title:

Operating Systems

Description:

is a software layer between the hardware and the user. ... Accounting information. I/O status information. 18. CPU Switch From Process to Process ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 73
Provided by: loua2
Category:

less

Transcript and Presenter's Notes

Title: Operating Systems


1
Operating Systems
  • Chapter 6

2
What is an operating system?
  • A program that runs on the hardware and supports
  • Resource Abstraction
  • Resource Sharing
  • Abstracts and standardises the interface to the
    user across different type of hardware
  • Virtual machine hides the messy details witch
    must be performed.
  • Manages the hardware resources
  • Each program gets time with the resource
  • Each program gets space on the resource

3
Introduction
  • The aims of an operating system are
  • User convenience
  • System performance
  • Number of requests serviced per unit time, etc

4
Introduction
  • Fundamental tasks of an operation system
  • Management of Programs
  • Organize their execution by sharing the CPU
  • Ensure good user service and efficient use
  • Management of Resources
  • Efficient allocation/de-allocation without
    constraining user programs
  • Security and Protection
  • Ensure absence of interference with programs and
    resources by entities within and outside the
    operating system

5
Operating Systems
  • Application programs needs to access the devices
    connected to a computer.
  • Operation System (system program slide-19,
    chapter 2).
  • is a software layer between the hardware and the
    user.
  • provides a consistent application program
    interface (API).
  • first program that runs when the computer boots
    up.
  • is a program that is always running when the
    machine is on.

6
Main functions of an operating system
  • User/computer interface
  • Provides an interface between the user and the
    computer
  • Resource manager
  • manages all computers resources.
  • Process manager
  • Memory manager
  • Device manager
  • File manager, etc.

7
A model of an operation System
User command interface
Process Manager Memory manager Device
Manager File manager Network manager
Operation System
Resource management
8
Operating system as a user/computer interface
  • A user command such as open, save or print would
    correspond a sequence of machine-code
    instructions.
  • The user does not need to provide these sequences
    of instructions.
  • Operating system translates these commands to a
    machine-code instructions.

9
Operating system as a resource manager
  • Process Manager
  • Next program to be executed?
  • Time to be given to each program?
  • Memory manager
  • Best use of the memory to run as
  • many programs as possible
  • I/O Device (e.g.printer) Manager
  • Which program should use a particular I/O device?
  • Network manager
  • which computer should execute a particular
    program?

Resource management
10
Type of operating systems
  • Multi-programming
  • Operating system can handle several programs at
    once.
  • Time-sharing
  • Operating system allows many user to share the
    same computer and interact with it.
  • Or, in case of a single-user computer (e.g. PC),
    the user can work on several programs at the same
    time.

11
How the operating system get started?
  • Main memory has a small section of permanent read
    only memory (ROM)
  • ROM contains a program, bootstrap.
  • At the start the CPU runs bootstrap. Which
    directs the CPU to load the operation system from
    disk and transfer control to it.

12
Main memory
Main memory
Disk storage
R O M
R O M
Bootstrap program
Bootstrap Program
Operating System
Operating System
R A M
R A M
13
Operating system as a process manager
  • Coordinates the occupation of the main memory by
    different processes and their data.
  • At any time the operation system may be dealing
    with many processes.
  • e.g. a process may be executed or allowed to wait
    in main memory, or swapped out of the main
    memory.

14
Processes
  • Definition of a process
  • Process Scheduling
  • Operations on Processes
  • Cooperating Processes

15
What is a process
  • Process a program in execution process
    execution must progress in sequential fashion.
  • A process includes
  • program counter
  • stack
  • data section
  • heap

16
Process State
  • As a process executes, it changes state
  • new The process is being created.
  • running Instructions are being executed.
  • waiting The process is waiting for some event
    to occur.
  • ready The process is waiting to be assigned to
    a process.
  • terminated The process has finished execution.

17
Process Control Block (PCB)
  • Information associated with each process.
  • Identifier
  • Process state
  • Program counter
  • CPU registers
  • CPU scheduling information
  • Memory-management information
  • Accounting information
  • I/O status information

18
CPU Switch From Process to Process
  • The PCB is saved when a process is removed from
    the CPU and another process takes its place
    (context switch).

19
Process Scheduling Queues
  • Job queue set of all processes in the system.
  • Ready queue set of all processes residing in
    main memory, ready and waiting to execute.
  • Device queues set of processes waiting for an
    I/O device.
  • Process migration between the various queues.

20
Schedulers
  • Long-term scheduler (or job scheduler) selects
    which processes should be brought into the ready
    queue.
  • Short-term scheduler (or CPU scheduler) selects
    which process should be executed next and
    allocates CPU.

21
Medium Term Scheduling
  • Time sharing Operating systems may introduce a
    medium term scheduler
  • Removes processes from memory (and thus CPU
    contention) to reduce the degree of
    multiprogramming swapping
  • Swapping may be needed to improve the process mix
    or to free up memory if it has become
    overcommitted

22
Intermediate queue
Job queue
CPU
Ready queue
End
Process request
I/O
I/O
I/O
I/O
23
Scheduling Criteria
  • CPU utilization keep the CPU as busy as
    possible
  • Throughput of processes that complete their
    execution per time unit
  • Turnaround time amount of time to execute a
    particular process
  • waiting to get into memory waiting in the ready
    queue executing on the CPU I/O
  • Waiting time amount of time a process has been
    waiting in the ready queue
  • Response time amount of time it takes from when
    a request was submitted until the first response
    is produced,

24
Optimization Criteria
  • Max CPU utilization
  • Max throughput
  • Min turnaround time
  • Min waiting time
  • Min response time
  • In most cases we optimize the average measure

25
Scheduling AlgorithmsFirst-Come, First-Served
(FCFS)
  • Process Burst Time
  • P1 24
  • P2 3
  • P3 3
  • Suppose that the processes arrive in the order
    P1 , P2 , P3 The Gantt Chart for the schedule
    is
  • Waiting time for P1 0 P2 24 P3 27
  • Average waiting time (0 24 27)/3 17
  • CPUI/O Burst Cycle Process execution
    consists of a cycle of CPU execution and I/O
    wait.

26
FCFS Scheduling (Cont.)
  • Suppose that the processes arrive in the order P2
    , P3 , P1
  • The Gantt chart for the schedule is
  • Waiting time for P1 6 P2 0 P3 3
  • Average waiting time (6 0 3)/3 3
  • Much better than previous case.
  • Average waiting time is generally not minimal and
    may vary substantially if the process CPU-burst
    times vary greatly

27
FCFS Scheduling (Cont.)
  • FCFS is non-preemptive
  • Not good for time sharing systems where where
    each user needs to get a share of the CPU at
    regular intervals
  • Short process(I/O bound) wait for one long
    CPU-bound process to complete a CPU burst before
    they get a turn
  • lowers CPU and device utilization
  • I/O bound processes complete their burst and
    enter ready queue I/O devices idle and I/O
    bound processes waiting
  • CPU bound process completes CPU burst and moves
    to I/O device
  • I/O bound processes all quickly complete their
    CPU bursts and enter I/O queue now CPU is idle
  • CPU bound completes I/O and executes on CPU back
    to step 1

28
Shortest-Job-First (SJR) Scheduling
  • Associate with each process the length of its
    next CPU burst. Use these lengths to schedule
    the process with the shortest time (on a tie use
    FCFS)
  • Two schemes
  • nonpreemptive once CPU given to the process it
    cannot be preempted until completes its CPU
    burst.
  • preemptive if a new process arrives with CPU
    burst length less than remaining time of current
    executing process, preempt.
  • This scheme is know as the shortest-Remaining-Tim
    e-First (SRTF).
  • SJF is optimal gives minimum average waiting
    time for a given set of processes.

29
Example of Non-Preemptive SJF
  • Process Arrival Time Burst Time
  • P1 0.0 7
  • P2 2.0 4
  • P3 4.0 1
  • P4 5.0 4
  • SJF (non-preemptive)
  • Average waiting time (0 6 3 7)/4 4

30
Example of Preemptive SJF
  • Process Arrival Time Burst Time
  • P1 0.0 7
  • P2 2.0 4
  • P3 4.0 1
  • P4 5.0 4
  • SJF (preemptive)
  • Average waiting time (9 1 0 2)/4 3

31
Priority Scheduling
  • A priority number (integer) is associated with
    each process
  • The CPU is allocated to the process with the
    highest priority (smallest integer ? highest
    priority).
  • Can be preemptive (compares priority of process
    that has arrived at the ready queue with priority
    of currently running process) or non-preemptive
    (put at the head of the ready queue)
  • SJF is a priority scheduling where priority is
    the predicted next CPU burst time.
  • Problem ? Starvation low priority processes may
    never execute.
  • Solution ? Aging as time progresses increase
    the priority of the process.

32
Round Robin (RR)
  • Each process gets a small unit of CPU time (time
    quantum), usually 10-100 milliseconds. After
    this time has elapsed, the process is preempted
    and added to the end of the ready queue.
  • If there are n processes in the ready queue and
    the time quantum is q, then each process gets 1/n
    of the CPU time in chunks of at most q time units
    at once. No process waits more than (n-1)q time
    units.

33
Example of RR with Time Quantum 20
  • Process Burst Time
  • P1 53
  • P2 17
  • P3 68
  • P4 24
  • The Gantt chart is
  • Typically, higher average turnaround than SJF,
    but better response.

34
Memory Management
  • When a process is executed it has to be in main
    memory as the main memory can be accessed
    quicker.
  • An efficient use of the main memory is an
    important task of the operation system.
  • Different memory management techniques are used
    for this purpose.

35
Memory partition
  • How processes are arranged in the main memory
    before been executed?
  • Fixed-sized partitions
  • Variable-sized partitions

36
Fixed-sized partitions
OS 8M
8M
8M
8M
8M
37
Variable-sized partitions
OS 8M
2M
4M
8M
18M
38
Swapping
  • I/O operations are slow
  • If a running process requires an I/O operation.
    The CPU will move to another process in the main
    memory.
  • Suppose the main memory is full of processes
    waiting on I/O.
  • CPU becomes idle
  • To solve this problem Swapping technique is used.

39
disk
Main memory
Operation System
Long-term queue
Completed processes
No Swapping
Main memory
Long-term queue
Operation System
Completed processes
With Swapping
Medium-term
40
os
os
os
os
P1
P1
P1
p2
p2
p3
a
c
d
b
os
os
os
os
P1
P1
p2
P4
P4
P4
P3
P3
p3
p3
e
g
h
f
41
Fragmentation
  • Memory is divided into partitions
  • Each partition has a different size
  • Processes are allocated space and later freed
  • After a while memory will be full of small holes!
  • No free space large enough for a new process even
    though there is enough free memory in total
  • If we allow free space within a partition we have
    internal fragmentation
  • Fragmentation
  • External fragmentation unused space between
    partitions
  • Internal fragmentation unused space within
    partitions

42
Problems with swapping
  • Swapped process are I/O output processes.
  • I/O processes are slower.
  • The swapping process is slow as well.
  • Solution
  • Reduce the amount of codes that needs to be
    swapped.
  • Paging

43
Paging
  • A program is divided into small fixed-sized
    chunks(pages).
  • Main memory is divided into small fixed-sized
    chunks (frames).
  • A page is stored in one frame.
  • A program is stored in a set of frames. These
    frames do not need to be continuous.

44
disk
disk
13

page 0 of A
13
Process A
Process A

page 1 of A
14
page 0 page 1 page 2 page 3
page 0 page 1 page 2 page 3
14

page 2 of A
15
15
In use
In use
16
16
In use
In use
17
17

page 3 of A
A- page table
18
18
In use
In use
19
13
19
14


20
20
15
18
45
Logical and physical address
disk

page 0 of A
Page 1
13
Process A
page 1 of A
14
I . . . J(30)
page 0 page 1 page 2 page 3
Logical address(J)
page 2 of A
15
130
In use
16
In use
17
page 3 of A
A- page table
18
In use
19
13
14

20
Physical address(J)
15
18
1430
46
simple paging is not efficient
  • Better than fixed and variable-sized partitions.
  • OS - loads all pages of a process in the main
    memory.
  • However, not all pages of a process need to be in
    the main memory in order to be executed.
  • OS - can still execute a process if only some of
    the pages are loaded
  • Demand paging.

47
Demand paging
  • Operating system loads a page only when it is
    required
  • No swapping in or out of unused pages is needed.
  • Better use of memory.
  • CPU can access only a number of pages of a
    process at one time.
  • Then asks for more pages to be loaded.

48
Virtual memory
  • Demand paging gives rise the concept of virtual
    memory.
  • Only a small part of a process needs to be in
    main memory at one time.
  • Programs which require bigger memory that main
    memory can still be executed.
  • Impression of a bigger computer memory.
  • This concept of the main memory is called virtual
    memory.
  • Demand paging and virtual memory are widely used
    in todays operation systems (wind-2000, XP).

49
Interrupts
  • Definition of Interrupt
  • Event that disrupts the normal execution of a
    program and causes the execution of special
    instructions

50
Interrupts
Interrupt
Program
time t
51
Interrupts
Program
time t
52
Interrupts
Interrupt
Program
Program
Interrupt Service Routine
time t
53
Interrupts
Interrupt
Program
mov R1, cent
mul R1, 9
div R1, 5
add R1, 32
mov fahr, R1
time t
54
Interrupts
Interrupt
Program
Program
Interrupt Service Routine
mul R1, 9
mov R1, cent
time t
55
Interrupts
Interrupt
Program
Program
Save Context
Restore Context
Interrupt Service Routine
mul R1, 9
mov R1, cent
time t
56
Interrupts
Interrupt
Program
Program
Save Context
Restore Context
Interrupt Service Routine
mul R1, 9
mov R1, cent
eg push R1
eg pop R1
time t
57
I/O devices
  • Called peripherals
  • Keyboard
  • Mouse
  • Speakers
  • Monitor
  • scanner
  • Printer
  • Disk drive
  • CD-drive.
  • OS manages all I/O operations and devices

58
OS - I/O management
  • There are four main I/O operations.
  • Control tell the system to perform some action
    (e.g. rewind tape).
  • Test check the status of the device
  • Read read data from the device
  • Write write data to the device.

59
I/O modules
System bus
I/O module
I/O module
CPU
Main memory
I/O device
I/O device
60
Advantages of I/O modules
  • They allow the CPU to view a wide range of
    devices in a simple-minded format
  • CPU does not need to know details of timing,
    format, or electronic mechanics.
  • CPU only needs to function in terms of a simple
    read and write commands.
  • They help the CPU to work more efficiently
  • They are 3 ways in which I/O modules can work
  • Programmed I/O
  • Interrupt-driven I/O
  • Direct memory access.

61
Programmed I/O
  • The CPU controls I/O device directly Via the I/O
    modules.
  • The CPU sends an I/O command the I/O module.
  • And waits until the I/O operation is completed
    before sending another I/O command.
  • The performance is poor as the CPU spends too
    much time waiting the I/O device.

62
Programmed I/O
Issue Read to I/O module
Check status
Ready
Read word from I/O module
Write word To memory
NO
done
yes
Next instruction
63
Interrupt-driven I/O
  • The CPU issues a command to the I/O module and
    then gets on with executing other instructions.
  • The I/O module interrupts the CPU when it is
    ready to exchange data with the CPU.
  • The CPU then executes the data transfer.
  • Most computer have interrupt lines to detect and
    record the arrival of an interrupt request.

64
Interrupt-driven I/O
Issue Read to I/O module
CPU goes to do Other things
Check status
When the status Is ready the I/O module sends An
interrupt-signal
Ready
Read word from I/O module
Write word To memory
NO
done
yes
Next instruction
65
How does I/O module send an interrupt to the CPU?
  • I/O module is linked to the control bus.
  • I/O module reads a word from the I/O device.
  • Puts the word in the data register which is
    linked to data bus.
  • Sends a interrupt signal to the CPU via control
    bus.

66
How does CPU know Interrupt-signal?
  • The CPU executes an instruction cycle.
  • An interrupt stage is added at the end of the
    cycle.
  • At the end of an instruction cycle the CPU checks
    for interrupts.
  • The CPU hardware has a wire, interrupt-request
    line that the CPU can sense.
  • If no interrupt the CPU carries on executing next
    instruction.
  • Otherwise, it updates the process control block,
    save it.
  • Then process the interrupt.
  • Resume the execution of the interrupted process.

67
How does CPU process interrupts?
  • Interrupt detection.
  • CPU executes Interrupt-handler program.
  • Interrupt-handler program makes use of the
    process control block save earlier.
  • Interrupt-handler decides what to do with
    interrupt.
  • Then asks the CPU to resume the execution
    interrupted.

68
Disadvantages of Interrupt-driven I/O
  • CPU is responsible for managing I/O data
    transfer.
  • Every transferred word must go through the CPU.
  • Devices with large transfer, e.g. disk drive, the
    CPU wastes time dealing with data transfer.
  • Solution Direct-memory-access(DMA).

69
Direct-memory-access - DMA
  • Special-purpose processor.
  • Handles data transfer.
  • CPU issues to the DMA
  • starting address in main memory to read/write to.
  • Starting address in the I/O device to read/write
    to.
  • The number of words to be transferred.
  • DMA transfers data without intervention from the
    CPU.
  • DMA sends interrupt to the CPU when transfer is
    completed.

70
DMA/CPU - bus system
  • DMA take care data transfer.
  • CPU free to do other jobs.
  • However, they can not use the bus at the same
    time.
  • DMA can use the bus only when the CPU is not
    using it.
  • Some times it has to force to CPU to free the
    bus, cycles stealing.

71
DMA/CPU
System bus
DMA
CPU
Main memory
I/O module
I/O device
72
Summery
  • OS- memory manager
  • Fixed-sized partition waist of memory.
  • Variable-sized partition fragmentation.
  • Swapping. Time wasted in swapping the whole
    process
  • Simple paging process divided into pages and
    loaded into main memory(divided into frames).
  • Demand paging only the required pages are loaded
    to main memory.
  • OS- I/O manager
  • Programmed I/O CPU waste waiting for I/O
    operation.
  • Interrupt-driven I/O CPU responsible for data
    transfer.
  • DMA takes care of data transfer instead the
    CPU.
Write a Comment
User Comments (0)
About PowerShow.com