Kcd226 Sistem Operasi Lecture03

870 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
870
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Kcd226 Sistem Operasi Lecture03

  1. 1. Lecture 3 Processes and Threads 3.1. Processes 3.2. Threads Sistem Operasi http://fasilkom.narotama.ac.id/ 1
  2. 2. Processes The Process Model • Multiprogramming of four programs • Conceptual model of 4 independent, sequential processes • Only one program active at any instant Sistem Operasi http://fasilkom.narotama.ac.id/ 2
  3. 3. Process Creation Principal events that cause process creation 1. System initialization • Execution of a process creation system 1. User request to create a new process 2. Initiation of a batch job Sistem Operasi http://fasilkom.narotama.ac.id/ 3
  4. 4. Process Termination Conditions which terminate processes 1. Normal exit (voluntary) 2. Error exit (voluntary) 3. Fatal error (involuntary) 4. Killed by another process (involuntary) Sistem Operasi http://fasilkom.narotama.ac.id/ 4
  5. 5. Process Hierarchies • Parent creates a child process, child processes can create its own process • Forms a hierarchy – UNIX calls this a "process group" • Windows has no concept of process hierarchy – all processes are created equal Sistem Operasi http://fasilkom.narotama.ac.id/ 5
  6. 6. Process States (1) • Possible process states – running – blocked – ready • Transitions between states shown Sistem Operasi http://fasilkom.narotama.ac.id/ 6
  7. 7. Process States (2) • Lowest layer of process-structured OS – handles interrupts, scheduling • Above that layer are sequential processes Sistem Operasi http://fasilkom.narotama.ac.id/ 7
  8. 8. Implementation of Processes (1) Sistem Operasi Fields of a process table entry http://fasilkom.narotama.ac.id/ 8
  9. 9. Implementation of Processes (2) Skeleton of what lowest level of OS does when an interrupt occurs Sistem Operasi http://fasilkom.narotama.ac.id/ 9
  10. 10. Threads The Thread Model (1) (a) Three processes each with one thread (b) Operasi process with three threads Sistem One http://fasilkom.narotama.ac.id/ 10
  11. 11. The Thread Model (2) • Items shared by all threads in a process • Items private to each thread Sistem Operasi http://fasilkom.narotama.ac.id/ 11
  12. 12. The Thread Model (3) Each thread has its own stack Sistem Operasi http://fasilkom.narotama.ac.id/ 12
  13. 13. Thread Usage (1) A word processor with three threads Sistem Operasi http://fasilkom.narotama.ac.id/ 13
  14. 14. Thread Usage (2) Sistem Operasi A multithreaded Web server http://fasilkom.narotama.ac.id/ 14
  15. 15. Thread Usage (3) • Rough outline of code for previous slide (a) Dispatcher thread (b) Worker thread Sistem Operasi http://fasilkom.narotama.ac.id/ 15
  16. 16. Thread Usage (4) Three ways to construct a server Sistem Operasi http://fasilkom.narotama.ac.id/ 16
  17. 17. Implementing Threads in User Space A user-level threads package Sistem Operasi http://fasilkom.narotama.ac.id/ 17
  18. 18. Implementing Threads in the Kernel A threads package managed by the kernel Sistem Operasi http://fasilkom.narotama.ac.id/ 18
  19. 19. Hybrid Implementations Multiplexing user-level threads onto kernel- Sistem Operasi threads level http://fasilkom.narotama.ac.id/ 19
  20. 20. Scheduler Activations • Goal – mimic functionality of kernel threads – gain performance of user space threads • Avoids unnecessary user/kernel transitions • Kernel assigns virtual processors to each process – lets runtime system allocate threads to processors • Problem: Fundamental reliance on kernel (lower layer) calling procedures in user space (higher layer) Sistem Operasi http://fasilkom.narotama.ac.id/ 20
  21. 21. Pop-Up Threads • Creation of a new thread when message arrives (a) before message arrives (b) after messagehttp://fasilkom.narotama.ac.id/ Sistem Operasi arrives 21
  22. 22. Making Single-Threaded Code Multithreaded (1) Conflicts between threads over the use of a global variable Sistem Operasi http://fasilkom.narotama.ac.id/ 22
  23. 23. Making Single-Threaded Code Multithreaded (2) Threads can have private global variables Sistem Operasi http://fasilkom.narotama.ac.id/ 23
  24. 24. Discussion / Question Sistem Operasi http://fasilkom.narotama.ac.id/ 24

×