SlideShare una empresa de Scribd logo
1 de 43
INTERPROCESSOR
COMMUNICATION AND
PROCESS SYNCHRONIZATION
Presented By
Neena R Krishna
S8,BTECH CSE
SNGIST
CONTENTS
• INTRODUCTION
• INTERPROCESSOR COMMUNICATION
• PROCESS SYNCHRONIZATION AND
SEMAPHORE
INTRODUCTION
• Independent process cannot affect or be
affected by the execution of another process
• Cooperating process can affect or be affected by
the execution of another process
• Advantages of process cooperation
– Information sharing
– Modularity
– Convenience
Interprocessor Communication
• Exchange of data between two or more processes.
– Os provide facilities for IPC.
• IPC facility provides two operations:
send(message)and receive(message) (message size fixed or
variable).
• If P and Q wish to communicate, they need to:
–establish a communication link between them
exchange messages via send/receive
Contd..
• Multiprocessor and multiple memory modules are
connected together via some interconnection
network.
• They fall on two categories:-
1)Shared memory
2)Message passing
INTERPROCESSOR COMMUNICATION
THROUGH ADDRESS SPACE SHARING
INTERPROCESSOR COMMUNICATION
VIA KERNAL SPACE
SHARED MEMORY
• Processors exchange information through
their central shared memory system.
• Inter co-ordination through a global memory
shared by all processor.
• Server system that communicate through a
bus and cache memory controller.
• Access to shared memory is balanced
– Symmetric multiprocessor
Contd..
• Each processor has equal opportunities to
read/write to memory including equal access
speed.
PROCESSORs
Registers
Local memory
banks (additional
memory resource
Cache
Buffers
Contd..
• Basic issues in the design of shared memory
system have to be taken in consideration :-
1)Access Control
2)Synchronization
3)Protection and Security
ACCESS CONTROL
• Determines which process access are possible to
which resource.
• The latter contain flag that determine the legality
of each access attempt.
• If there are access attempt to resources then until
the desired access is completed, all disallowed
access are attempt and illegal process are blocked.
SYNCHRONIZATION
• Constraints limit the time of access from
sharing processes to shared resource.
• Appropriate synchronization ensures that the
information flows properly and ensure system
functionality.
PROTECTION AND SECURITY
• It is a system feature that prevents processes
from making arbitrary access to resource
belonging to other processes.
• Sharing and protection are incompatible:-
– Sharing allow access & protection restricts it.
FEATURES
• All communications are done using implicit
loads and stores to a global address space.
• Synchronization and communication are
distinct.
MESSAGE PASSING
• Combine the local memory and processor at
each node of the interconnection network.
• There is no global memory.
– Move data from one local memory to another by
means of message passing.
– Done by a send/reciever pair of commands and
dealing consistency issues.
– Eg: c.1990 Ncube.
Contd..
• A node in message passing system of
processor and its local memory.
• They are able to store message buffers and
able to perform send/receive operation at the
same time as processing.
• Processor do not share a global memory and
each processor has access to its own address
space.
• Basic advantage :-
– Scalable.
SYNCHRONIZATION
• Required when one process must wait for
another to complete some operation before
proceeding.
– Eg:-one process (called a writer) may be writing
data to a certain main memory area, while
another process (a reader) may be reading data
from that area and sending it to the printer. The
reader and writer must be synchronized so that
the writer does not overwrite.
IMPORTANCE OF SYNCHRONIZATION
• Prevention and elimination of race conditions,
deadlocks and starvation.
• Data integrity/consistency.
• Collaboration.
• Efficiency.
SYNCHRONIZATION PROBLEMS
• Race conditions
– the exact timing in the execution of concurrent
processes is critical
• Critical sections
– part of a program that must be protected from
interference
– usually resolved via mutual exclusion
• Mutual exclusion
– the usage of resources by processes is restricted
– usually: only one process may use one instance of a
resource
RACE CONDITION
TYPES OF SYNCHRONIZATION
• Barrier
• Lock
• Semaphore
BARRIER
• Usually implies that all tasks are involved
• Each task performs its work until it reaches
the barrier. It then stops, or "blocks".
• When the last task reaches the barrier, all
tasks are synchronized.
• What happens from here varies. Often, a
serial section of work must be done. In other
cases, the tasks are automatically released to
continue their work.
LOCK
Suppose there are 2 processes
– Write-process 1 and Read-process 2
PROCESS 1
WRITE
MEMORY LOCKED
AFTER WRITING
UNLOCK MEMORY
PROCESS 2
READ
Contd..
• The LOCK(x) operation may be implemented
as follows:
Var x:shared integer;
LOCK (x):begin
var y: integer;
y x;
While y =1 do yx;//wait until gate is open //
x1 //set gate to unavailable status //
end
• The UNLOCK(x) operation may be
implemented as
UNLOCK(x): x  0;
SEMAPHORE
• It is a resource that contains an integer value
and allows process to synchronize by testing
and setting this value on a single atomic
operations.
– Process that test the value of a semaphore and
sets it to a different value,is guaranteed no other
process will interfere with the operation in the
middle.
Contd..
• Two types of operations :-
– Wait
– Signal.
FEATURES OF SEMAPHORE
• Semaphores are used to synchronize operations
when processes access a common, limited, and
possibly non-shareable resource.
• Each time a process wants to obtain the resource,
the associated semaphore is tested. A positive,
non-zero semaphore value indicates the resource
is available.
• Semaphore system calls will, by default, cause the
invoking process to block if the semaphore value
indicates the resource is not available
TYPES OF SEMPAHORE
• COUNTING SEMAPHORE
– Semaphores controlling access to N (multiple)
resources, thus assuming a range of non-negative
values, are frequently.
• BINARY SEMAPHORE
– Semaphores that control access to a single
resource, taking the value of 0 (resource is in use)
or 1 (resource is available).
SEMAPHORE IMPLEMENTATION
var s: semaphore
P(s): MUTEXBEGIN (s)
s  s-1;
If s < 0 then
begin
Block the process executing the P(s) and
put it in a FIFO queue associated with the
semaphore s;
end
MUTEXEND
V(s): MUTEXBEGIN (s)
SS + 1;
If s < 0 then
begin
if an inactive process associated with
semaphore s exists, then wake up the highest
priority blocked process associated with s and
put it in a ready list.
end
MUTEXEND
EXAMPLE
PRODUCER CONSUMER PROBLEM
Producer
While(true)
{
while(((in+1) % Buffer_Size)==out);
buffer[in]=item;
in=(in+1)%Buffer_Size;
}
Contd..
Consumer
While(true)
{
while(in==out);
item=buffer[out];
out=(out+1)%Buffer_Size;
return item;
}
Contd..
Solution with Semaphore
Empty=n,full=0.mutex=1
Producer
Do
{
//Produce item
wait(empty);
wait(mutex);
//add item to the buffer
signal(mutex);
signal(full);
}while(true);
Contd..
Consumer
Do
{
wait(full);
wait(mutex);
//Remove an item from buffer
signal(mutex);
signal(empty);
//consume the remove item
}while(true);
Multiprocessing -Interprocessing communication and process sunchronization,semaphore

Más contenido relacionado

La actualidad más candente

Inter process communication
Inter process communicationInter process communication
Inter process communication
Mohd Tousif
 
Clientserver Presentation
Clientserver PresentationClientserver Presentation
Clientserver Presentation
Tuhin_Das
 

La actualidad más candente (20)

Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Interprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.SInterprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.S
 
Csma
CsmaCsma
Csma
 
Operating systems galvin-ch1
Operating systems galvin-ch1Operating systems galvin-ch1
Operating systems galvin-ch1
 
Data link layer
Data link layer Data link layer
Data link layer
 
Virtual memory - Demand Paging
Virtual memory - Demand PagingVirtual memory - Demand Paging
Virtual memory - Demand Paging
 
Processes description and process control.
Processes description and process control.Processes description and process control.
Processes description and process control.
 
Multiprocessor architecture
Multiprocessor architectureMultiprocessor architecture
Multiprocessor architecture
 
Network layer tanenbaum
Network layer tanenbaumNetwork layer tanenbaum
Network layer tanenbaum
 
Operating Systems - "Chapter 4: Multithreaded Programming"
Operating Systems - "Chapter 4:  Multithreaded Programming"Operating Systems - "Chapter 4:  Multithreaded Programming"
Operating Systems - "Chapter 4: Multithreaded Programming"
 
evolution of operating system
evolution of operating systemevolution of operating system
evolution of operating system
 
Clientserver Presentation
Clientserver PresentationClientserver Presentation
Clientserver Presentation
 
Kernel I/O subsystem
Kernel I/O subsystemKernel I/O subsystem
Kernel I/O subsystem
 
Switching concepts Data communication and networks
Switching concepts Data communication and networksSwitching concepts Data communication and networks
Switching concepts Data communication and networks
 
SCHEDULING ALGORITHMS
SCHEDULING ALGORITHMSSCHEDULING ALGORITHMS
SCHEDULING ALGORITHMS
 
Operating system critical section
Operating system   critical sectionOperating system   critical section
Operating system critical section
 
NETWORK COMPONENTS
NETWORK COMPONENTSNETWORK COMPONENTS
NETWORK COMPONENTS
 
ContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling ProtocolContikiMAC : Radio Duty Cycling Protocol
ContikiMAC : Radio Duty Cycling Protocol
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Concurrent/ parallel programming
Concurrent/ parallel programmingConcurrent/ parallel programming
Concurrent/ parallel programming
 

Destacado

Destacado (10)

Réseau sémaphore 7
Réseau sémaphore 7Réseau sémaphore 7
Réseau sémaphore 7
 
Multiprocessor
MultiprocessorMultiprocessor
Multiprocessor
 
Mutual exclusion and synchronization
Mutual exclusion and synchronizationMutual exclusion and synchronization
Mutual exclusion and synchronization
 
Lecture 48
Lecture 48Lecture 48
Lecture 48
 
Offshore Software Development Company
Offshore Software Development CompanyOffshore Software Development Company
Offshore Software Development Company
 
Lecture 39
Lecture 39Lecture 39
Lecture 39
 
13. multiprocessing
13. multiprocessing13. multiprocessing
13. multiprocessing
 
Lecture 47
Lecture 47Lecture 47
Lecture 47
 
Multiprocessor system
Multiprocessor system Multiprocessor system
Multiprocessor system
 
Feng’s classification
Feng’s classificationFeng’s classification
Feng’s classification
 

Similar a Multiprocessing -Interprocessing communication and process sunchronization,semaphore

ch13 here is the ppt of this chapter included pictures
ch13 here is the ppt of this chapter included picturesch13 here is the ppt of this chapter included pictures
ch13 here is the ppt of this chapter included pictures
PranjalRana4
 
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
ssuser4a97d3
 
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
morganjohn3
 
Linux kernel development_ch9-10_20120410
Linux kernel development_ch9-10_20120410Linux kernel development_ch9-10_20120410
Linux kernel development_ch9-10_20120410
huangachou
 
Linux kernel development chapter 10
Linux kernel development chapter 10Linux kernel development chapter 10
Linux kernel development chapter 10
huangachou
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
shreesha16
 

Similar a Multiprocessing -Interprocessing communication and process sunchronization,semaphore (20)

IPC
IPCIPC
IPC
 
IPC
IPCIPC
IPC
 
Lecture 5 inter process communication
Lecture 5 inter process communicationLecture 5 inter process communication
Lecture 5 inter process communication
 
Operating system 27 semaphores
Operating system 27 semaphoresOperating system 27 semaphores
Operating system 27 semaphores
 
INTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptxINTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptx
 
Introduction 1
Introduction 1Introduction 1
Introduction 1
 
Inter Process Communication - IPC
Inter Process Communication - IPCInter Process Communication - IPC
Inter Process Communication - IPC
 
Ch03 processes
Ch03 processesCh03 processes
Ch03 processes
 
ch13 here is the ppt of this chapter included pictures
ch13 here is the ppt of this chapter included picturesch13 here is the ppt of this chapter included pictures
ch13 here is the ppt of this chapter included pictures
 
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
Operating-System-(1-3 group) Case study on windows Mac and linux among variou...
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
unit 4.pptx
unit 4.pptxunit 4.pptx
unit 4.pptx
 
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
Module 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModule 2 - PPT.pdfModul...
 
Intro Basic of OS .ppt
Intro Basic of OS .pptIntro Basic of OS .ppt
Intro Basic of OS .ppt
 
Chapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptxChapter Introductionn to distributed system .pptx
Chapter Introductionn to distributed system .pptx
 
Linux kernel development_ch9-10_20120410
Linux kernel development_ch9-10_20120410Linux kernel development_ch9-10_20120410
Linux kernel development_ch9-10_20120410
 
Linux kernel development chapter 10
Linux kernel development chapter 10Linux kernel development chapter 10
Linux kernel development chapter 10
 
Os
OsOs
Os
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
 

Último

IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
17thcssbs2
 

Último (20)

....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf
 
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 
Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024Capitol Tech Univ Doctoral Presentation -May 2024
Capitol Tech Univ Doctoral Presentation -May 2024
 
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptxslides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdfPost Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 
How to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 InventoryHow to Manage Closest Location in Odoo 17 Inventory
How to Manage Closest Location in Odoo 17 Inventory
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
IATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdffIATP How-to Foreign Travel May 2024.pdff
IATP How-to Foreign Travel May 2024.pdff
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
Essential Safety precautions during monsoon season
Essential Safety precautions during monsoon seasonEssential Safety precautions during monsoon season
Essential Safety precautions during monsoon season
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
An Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptxAn Overview of the Odoo 17 Discuss App.pptx
An Overview of the Odoo 17 Discuss App.pptx
 

Multiprocessing -Interprocessing communication and process sunchronization,semaphore

  • 2. CONTENTS • INTRODUCTION • INTERPROCESSOR COMMUNICATION • PROCESS SYNCHRONIZATION AND SEMAPHORE
  • 3. INTRODUCTION • Independent process cannot affect or be affected by the execution of another process • Cooperating process can affect or be affected by the execution of another process • Advantages of process cooperation – Information sharing – Modularity – Convenience
  • 4. Interprocessor Communication • Exchange of data between two or more processes. – Os provide facilities for IPC. • IPC facility provides two operations: send(message)and receive(message) (message size fixed or variable). • If P and Q wish to communicate, they need to: –establish a communication link between them exchange messages via send/receive
  • 5. Contd.. • Multiprocessor and multiple memory modules are connected together via some interconnection network. • They fall on two categories:- 1)Shared memory 2)Message passing
  • 8. SHARED MEMORY • Processors exchange information through their central shared memory system. • Inter co-ordination through a global memory shared by all processor. • Server system that communicate through a bus and cache memory controller. • Access to shared memory is balanced – Symmetric multiprocessor
  • 9. Contd.. • Each processor has equal opportunities to read/write to memory including equal access speed. PROCESSORs Registers Local memory banks (additional memory resource Cache Buffers
  • 10.
  • 11.
  • 12. Contd.. • Basic issues in the design of shared memory system have to be taken in consideration :- 1)Access Control 2)Synchronization 3)Protection and Security
  • 13. ACCESS CONTROL • Determines which process access are possible to which resource. • The latter contain flag that determine the legality of each access attempt. • If there are access attempt to resources then until the desired access is completed, all disallowed access are attempt and illegal process are blocked.
  • 14. SYNCHRONIZATION • Constraints limit the time of access from sharing processes to shared resource. • Appropriate synchronization ensures that the information flows properly and ensure system functionality.
  • 15. PROTECTION AND SECURITY • It is a system feature that prevents processes from making arbitrary access to resource belonging to other processes. • Sharing and protection are incompatible:- – Sharing allow access & protection restricts it.
  • 16. FEATURES • All communications are done using implicit loads and stores to a global address space. • Synchronization and communication are distinct.
  • 17. MESSAGE PASSING • Combine the local memory and processor at each node of the interconnection network. • There is no global memory. – Move data from one local memory to another by means of message passing. – Done by a send/reciever pair of commands and dealing consistency issues. – Eg: c.1990 Ncube.
  • 18.
  • 19. Contd.. • A node in message passing system of processor and its local memory. • They are able to store message buffers and able to perform send/receive operation at the same time as processing. • Processor do not share a global memory and each processor has access to its own address space.
  • 20. • Basic advantage :- – Scalable.
  • 21. SYNCHRONIZATION • Required when one process must wait for another to complete some operation before proceeding. – Eg:-one process (called a writer) may be writing data to a certain main memory area, while another process (a reader) may be reading data from that area and sending it to the printer. The reader and writer must be synchronized so that the writer does not overwrite.
  • 22. IMPORTANCE OF SYNCHRONIZATION • Prevention and elimination of race conditions, deadlocks and starvation. • Data integrity/consistency. • Collaboration. • Efficiency.
  • 23. SYNCHRONIZATION PROBLEMS • Race conditions – the exact timing in the execution of concurrent processes is critical • Critical sections – part of a program that must be protected from interference – usually resolved via mutual exclusion • Mutual exclusion – the usage of resources by processes is restricted – usually: only one process may use one instance of a resource
  • 25. TYPES OF SYNCHRONIZATION • Barrier • Lock • Semaphore
  • 26. BARRIER • Usually implies that all tasks are involved • Each task performs its work until it reaches the barrier. It then stops, or "blocks". • When the last task reaches the barrier, all tasks are synchronized. • What happens from here varies. Often, a serial section of work must be done. In other cases, the tasks are automatically released to continue their work.
  • 27. LOCK Suppose there are 2 processes – Write-process 1 and Read-process 2 PROCESS 1 WRITE MEMORY LOCKED AFTER WRITING UNLOCK MEMORY PROCESS 2 READ
  • 28. Contd.. • The LOCK(x) operation may be implemented as follows: Var x:shared integer; LOCK (x):begin var y: integer; y x; While y =1 do yx;//wait until gate is open // x1 //set gate to unavailable status // end
  • 29. • The UNLOCK(x) operation may be implemented as UNLOCK(x): x  0;
  • 30. SEMAPHORE • It is a resource that contains an integer value and allows process to synchronize by testing and setting this value on a single atomic operations. – Process that test the value of a semaphore and sets it to a different value,is guaranteed no other process will interfere with the operation in the middle.
  • 31. Contd.. • Two types of operations :- – Wait – Signal.
  • 32. FEATURES OF SEMAPHORE • Semaphores are used to synchronize operations when processes access a common, limited, and possibly non-shareable resource. • Each time a process wants to obtain the resource, the associated semaphore is tested. A positive, non-zero semaphore value indicates the resource is available. • Semaphore system calls will, by default, cause the invoking process to block if the semaphore value indicates the resource is not available
  • 33. TYPES OF SEMPAHORE • COUNTING SEMAPHORE – Semaphores controlling access to N (multiple) resources, thus assuming a range of non-negative values, are frequently. • BINARY SEMAPHORE – Semaphores that control access to a single resource, taking the value of 0 (resource is in use) or 1 (resource is available).
  • 35.
  • 36. var s: semaphore P(s): MUTEXBEGIN (s) s  s-1; If s < 0 then begin Block the process executing the P(s) and put it in a FIFO queue associated with the semaphore s; end MUTEXEND
  • 37. V(s): MUTEXBEGIN (s) SS + 1; If s < 0 then begin if an inactive process associated with semaphore s exists, then wake up the highest priority blocked process associated with s and put it in a ready list. end MUTEXEND
  • 38. EXAMPLE PRODUCER CONSUMER PROBLEM Producer While(true) { while(((in+1) % Buffer_Size)==out); buffer[in]=item; in=(in+1)%Buffer_Size; }
  • 41. Solution with Semaphore Empty=n,full=0.mutex=1 Producer Do { //Produce item wait(empty); wait(mutex); //add item to the buffer signal(mutex); signal(full); }while(true);
  • 42. Contd.. Consumer Do { wait(full); wait(mutex); //Remove an item from buffer signal(mutex); signal(empty); //consume the remove item }while(true);