DM526 – Operating Systems
Chapter 3: Operating Systems
Daniel Merkle
Based on Slides by J. Glenn Brookshear and DM510 Slides
Chapter 3: Operating Systems Daniel Merkle Based on Slides by J. - - PowerPoint PPT Presentation
Chapter 3: Operating Systems Daniel Merkle Based on Slides by J. Glenn Brookshear and DM526 Operating Systems DM510 Slides Functions of Operating Systems Control overall operation of computer Store and retrieve files
DM526 – Operating Systems
Based on Slides by J. Glenn Brookshear and DM510 Slides
3-2
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
Show Linux Kernel Map: http://www.makelinux.net/kernel_map
3-5
DM526 – Operating Systems
3-6
DM526 – Operating Systems
3-7
DM526 – Operating Systems
3-8
DM526 – Operating Systems
1.9 DM510 - 2009
3-10
DM526 – Operating Systems
3-11
DM526 – Operating Systems
3-12
DM526 – Operating Systems
DM526 – Operating Systems
3-14
DM526 – Operating Systems
3-15
DM526 – Operating Systems
3-16
DM526 – Operating Systems
3-17
DM526 – Operating Systems
3-18
DM526 – Operating Systems
3-19
DM526 – Operating Systems
3-20
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
Show http://www.it.uom.gr/teaching/opsysanimation/animations/PROCESS.SWF
3-23
DM526 – Operating Systems
3-24
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
3
P1 P2 P3 24 27 30
DM526 – Operating Systems
P1 P3 P2 6 3 30
DM526 – Operating Systems
DM526 – Operating Systems
P4 P3 P1 3 16 9 P2 24
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
3
P1 P2 P3 P1 P1 P1 P1 P1 4 7 10 14 18 22 26 30
DM526 – Operating Systems
1.44 DM510 - 2009
(a) Nonvirtual machine (b) virtual machine Non-virtual Machine Virtual Machine
DM526 – Operating Systems
3-46
DM526 – Operating Systems
DM526 – Operating Systems
n1
DM526 – Operating Systems
48
Thread 1 for i = 0, n/2-1 s = s + f(A[i]) Thread 2 for i = n/2, n-1 s = s + f(A[i]) static int s = 0;
DM526 – Operating Systems
49
Thread 1 …. compute f([A[i]) and put in reg0 reg1 = s reg1 = reg1 + reg0 s = reg1 … Thread 2 … compute f([A[i]) and put in reg0 reg1 = s reg1 = reg1 + reg0 s = reg1 … static int s = 0;
9 25 9 25 25 9
DM526 – Operating Systems
50
Thread 1 local_s1= 0 for i = 0, n/2-1 local_s1 = local_s1 + f(A[i]) s = s + local_s1 Thread 2 local_s2 = 0 for i = n/2, n-1 local_s2= local_s2 + f(A[i]) s = s +local_s2 static int s = 0;
static lock lk; lock(lk); unlock(lk); lock(lk); unlock(lk);
3-51
DM526 – Operating Systems
3-52
DM526 – Operating Systems
DM526 – Operating Systems
The dining philosophers problem is summarized as five philosophers sitting at a table doing one
they are not thinking, and while thinking, they are not eating. The five philosophers sit at a circular table with a large bowl of spaghetti in the
adjacent philosophers, and as such, each philosopher has one fork to his left and one fork to his right. As spaghetti is difficult to serve and eat with a single fork, it is assumed that a philosopher must eat with two forks. Each philosopher can only use the forks on his immediate left and immediate right. (Wikipedia)
DM526 – Operating Systems
DM526 – Operating Systems
3-56
DM526 – Operating Systems
3-57
DM526 – Operating Systems
DM526 – Operating Systems
DM526 – Operating Systems
3-60
DM526 – Operating Systems