Your SlideShare is downloading. ×

Kcd226 Sistem Operasi Lecture03

724

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
724
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Lecture 3 Processes and Threads 3.1. Processes 3.2. Threads Sistem Operasi http://fasilkom.narotama.ac.id/ 1
  • 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. 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. 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. 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. Process States (1) • Possible process states – running – blocked – ready • Transitions between states shown Sistem Operasi http://fasilkom.narotama.ac.id/ 6
  • 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. Implementation of Processes (1) Sistem Operasi Fields of a process table entry http://fasilkom.narotama.ac.id/ 8
  • 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. 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. 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. The Thread Model (3) Each thread has its own stack Sistem Operasi http://fasilkom.narotama.ac.id/ 12
  • 13. Thread Usage (1) A word processor with three threads Sistem Operasi http://fasilkom.narotama.ac.id/ 13
  • 14. Thread Usage (2) Sistem Operasi A multithreaded Web server http://fasilkom.narotama.ac.id/ 14
  • 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. Thread Usage (4) Three ways to construct a server Sistem Operasi http://fasilkom.narotama.ac.id/ 16
  • 17. Implementing Threads in User Space A user-level threads package Sistem Operasi http://fasilkom.narotama.ac.id/ 17
  • 18. Implementing Threads in the Kernel A threads package managed by the kernel Sistem Operasi http://fasilkom.narotama.ac.id/ 18
  • 19. Hybrid Implementations Multiplexing user-level threads onto kernel- Sistem Operasi threads level http://fasilkom.narotama.ac.id/ 19
  • 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. 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. 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. Making Single-Threaded Code Multithreaded (2) Threads can have private global variables Sistem Operasi http://fasilkom.narotama.ac.id/ 23
  • 24. Discussion / Question Sistem Operasi http://fasilkom.narotama.ac.id/ 24

×