17
Operating System

Operating system

Embed Size (px)

Citation preview

Page 1: Operating system

Operating System

Page 2: Operating system

Operating System

Functions of OS

• scheduler (time allocation to programs) ,

• synchronizer ( avoid conflicts for a resource at the same time)

• memory manager (space allocation to programs)

Page 3: Operating system

Scheduling

• Scheduling Algo

• basically utilize IO time by scheduling another task

• Switching from one thread to another (A --> B ) can occur when

a) A is complete b) A is blocked on IOc) Timer interrupt forcefully preempts A

Page 4: Operating system

SCHEDULER

Page 5: Operating system

Synchronization

• Synchronization is needed as process need to exchange information using a shared region in memory.

• However, this shared region cannot be accessed in any manner. They needed to be accessed in correct sequence

Page 6: Operating system

Synchronization

The code accessing Shared Data is called Critical Section

No more than one process can access shared data at a given time

Critical Sections must obey mutual exclusion

Page 7: Operating system

Synchronization

• How to ensure Mutual exclusion (only one process is in critical section)

• Disable interrupts

• Test and set instructions

• Semaphore

Page 8: Operating system

Synchronization

• Semaphores

• Used to solve Producer Consumer problems

• Producer consumer problems occur for example in networks (sending and receiving packets), unix shell IO

Page 9: Operating system

Synchronization

• Producer Code

down(empty_slot)

put item in buffer

up(full_slot)

Page 10: Operating system

Synchronization

• The above solution works for a single producer consumer

• When multiple producers and consumers are present , then a race condition can happen resulting in writing to the same slot by two different producers

• To overcome this problem, we need to make sure that only one producer is executing "put item in buffer". So we need to execute mutual exclusion within a critical section

Page 11: Operating system

Synchronization

• down(empty_slot)

• down(mutex)

• put item in buffer

• up(mutex)

• up(full_slot)

Page 12: Operating system

Memory Management

• How to run process when not enough physical memory?

• How to protect one process from accessing another’s memory

Page 13: Operating system

Memory Management

• How to run process when not enough physical memory?• How to protect one process from accessing another’s

memory

VIRTUAL MEMORY provides illusion of more memory

Each process access only a window of memory – due to Locality of Reference

Only a small portion of address space must be in physical memory

Page 14: Operating system

Memory Management

• Each layer acts as “backing store” for layer above

disk storage

main memory

cache

registers

sizespeed cost

Page 15: Operating system

vpn …

vpn 3

vpn 2

vpn 1

vpn 0

P1Virtualpages

Frame # Present bit

… …

Blk 1031 0

Blk 1030 0

Fr # 15 1

Blk 1030

Blk 1031

Fr #15

Fr #16

Fr # 16 1

…PAGE TABLE

Page 16: Operating system
Page 17: Operating system

Memory ManagementPage Replacement