
















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Professor: Chow; Class: DIST OPER SYS PRINC; Subject: COMPUTER PROGRAMMING; University: University of Florida; Term: Unknown 1989;
Typology: Study notes
1 / 24
This page cannot be seen from the preview
Don't miss anything!

















Two-level concurrency of processes and threads
PCB TCB TCB TCB thread thread thread
PCB TCB TCB TCB thread thread thread
PCB
thread process
Native Computer System
Single thread (^) Multiple thread processes Thread run-time library support Native operating system
multiple processor system
LWP LWP LWP LWP
Heavy-weight process Heavy-weight process User space threads Light-weight processes
Kernel space threads
Synchronous Process, Asynchronous Communication, Time-Space
Graph representations
precedencerelations communicationchannels
one - way
client / server
peer
Synchronous process graph Asynchronous process graph andcommunication scenarios
Time-space model
Processes P P P P
: communication : events
Space
Time
Physical clock A distributed time service architecture
TS
TS TS TC TC
Distributed Time Service
Client Time Clerks T ime Servers
External UTC Sources
Time Discrepancies
Logical clock
The happens-before relationship:
Implementation:
timestamp of the s ending event and^ C(b) =^ C(a) +^ d^ and^ Cj^ (b) =^ max d is a positive number.(T Sa^ +^ d, Cj^ (b)), where^ T Sa^ is the
Matrix logical clock
MCi[i, i] = MCi[i, i] + d MCj [j, l] = max(MCj [j, l], T Si[j, l]) : l = 1...n MCj [k, l] = max(MCj [k, l], T Si[k, l]) : k = 1...n, l = 1...n
Language constructs
Example:rency the reader/write problems, synchronization + concur-
Semaphore solution to the weak reader preference problem
var mutex, db: semaphore; rc: integer reader processes writer processes Prc := rc + 1(mutex) if V (^) (mutex)rc = 1 then P(db) P(db)
read database write database Prc := rc -1(mutex) if V (^) (mutex)rc = 0 then V(db) V(db)
Monitor solution
Mutual exclusion using asyn. msg. passing
Mutual exclusion using syn. msg. passing
Communicating Sequential Processes (CSP)
P : Q!exp, Q: P ?var, and guarded commands
ADA rendezvous
Coordination languages
Programming languages for loosely coupled systems:
ORCA
fork process-name(parameters) [on (processor-number)]; operation guard condition op(parameters) do statements; guard condition do statements; invoke(object, operation, parameters) t t[1] = 6[6] = 0, A,, B, (^80) t[8] = 0, C, 0
JAVA