pertemuan #2: proses dan thread · pdf fileprosesor memiliki sumber daya fisik terbatas....
TRANSCRIPT
![Page 1: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/1.jpg)
Pertemuan #2:Pertemuan #2:
Proses dan Thread Proses dan Thread
Lecturer: Lecturer: Abdusy SyarifAbdusy Syarif
Prodi Teknik InformatikaProdi Teknik InformatikaFakultas Ilmu KomputerFakultas Ilmu Komputer
![Page 2: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/2.jpg)
Slide - Slide - 22Sistem Operasi #2Sistem Operasi #2
Tujuan Tujuan
Memahami konsep dasar dan definisi dari proses
Menjelaskan keadaan/status proses
Memahami Process Control Block
Memahami operasi-operasi Proses
Memahami Hubungan antar Proses
Memahami konsep Thread
Memahami konsep dasar Penjadualan CPU
Memahami algoritma-algoritma Penjadualan CPU, meliputi FCFS, SJF, Prioritas, Round Robin, Multiprocessor
![Page 3: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/3.jpg)
Slide - Slide - 33Sistem Operasi #2Sistem Operasi #2
ProsesProses
Dalam banyak hal, seluruh aktivitas ini Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut adalah serupa, maka kita menyebut seluruh program itu proses-proses seluruh program itu proses-proses (processes). (processes).
Secara informal; proses adalah program Secara informal; proses adalah program dalam eksekusi. dalam eksekusi.
Suatu proses adalah lebih dari kode Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal program, dimana kadang kala dikenal sebagai bagian tulisansebagai bagian tulisan
![Page 4: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/4.jpg)
Slide - Slide - 44Sistem Operasi #2Sistem Operasi #2
Keadaan ProsesKeadaan Proses
New: Proses sedang dikerjakan/ dibuat.
Running: Instruksi sedang dikerjakan.
Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi
![Page 5: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/5.jpg)
Slide - Slide - 55Sistem Operasi #2Sistem Operasi #2
![Page 6: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/6.jpg)
Slide - Slide - 66Sistem Operasi #2Sistem Operasi #2
Informasi Status Proses
Status Proses biasanya termasuk (tetapi tidak keharusan): Register Stack Memory (global variables and dynamically
allocated memory) Open file tables Signal management information
![Page 7: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/7.jpg)
Slide - Slide - 77Sistem Operasi #2Sistem Operasi #2
Proses adalah kunci abstraksi SO
Penglihatan Pengguna – lingkungan tempat berinteraksi ~>Proses. Perintah yang diketikan. Mengeksekusi program. WWW browser.
![Page 8: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/8.jpg)
Slide - Slide - 88Sistem Operasi #2Sistem Operasi #2
Studi Kasus : Proses di Linux
- Pada Linux, ketika kita memulai sebuah proses, Linux akan memberikan sebuah nomer unik yg disebut PID atau Process-ID.
- PID mulai dari 0 sampai 65535.- PID 1 selalu dimiliki oleh proses 'init', yg menjadi
proses pertama saat booting.- ketik perintah ini pada CLI : “ps -C init -o pid=,cmd” Maka output sistem akan seperti ini : CMD 1 /sbin/init
![Page 9: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/9.jpg)
Slide - Slide - 99Sistem Operasi #2Sistem Operasi #2
Studi Kasus : Proses di Linux
- Untuk melihat seluruh Proses : ~$ sudo ps -aux- Untuk melihat single proses : ~$ sudo ps -C chrome -o pid=,cmd,stat- Untuk memfilter proses : ~$ sudo ps -aux | grep “chrome”- Untuk melihat pohon proses : ~$ pstree- Untuk mematikan sebuah proses : ~$ sudo kill 2222
![Page 10: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/10.jpg)
Slide - Slide - 1010Sistem Operasi #2Sistem Operasi #2
Uniprogramming
Hanya 1 proses dalam 1 waktu. Contoh : DOS. Problem: user sering meminta lebih dari 1
aktifitas dalam satu waktu (contoh : memanggil remote file ketika sedang mengedit program), dan uniprogramming tidak memungkinkan hal ini.
Jadi DOS dan uniprogrammed lain meletakkan sesuatu seperti program memory-resident.
Satu kunci masalah DOS adalah tidak adanya proteksi memori – satu program bisa menulis memori program lain.
![Page 11: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/11.jpg)
Slide - Slide - 1111Sistem Operasi #2Sistem Operasi #2
Multiprogramming
Multiple proses pada satu waktu. Linux/unix saat ini telah
menerapkannya. Memungkinkan sistem untuk
memisahkan aktifitas.
![Page 12: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/12.jpg)
Slide - Slide - 1212Sistem Operasi #2Sistem Operasi #2
Multiprogrammingdan resource sharing
Proses apa yang menggunakan sumber daya mesin? Kapan? → CPU.
Solusi dasar adalah memanfaatkan preemptive multitasking – SO menjalankan proses sesaat, kemudian CPU meninggalkannya serta mengizinkan proses lain berjalan. Harus 'save and restore' status proses. Kunci : kelayakan (fairness). Harus dipastikan
bahwa semua proses mendapatkan pembagian CPU yang layak.
![Page 13: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/13.jpg)
Slide - Slide - 1313Sistem Operasi #2Sistem Operasi #2
Implementasiproses abstraksi
Q: Bagaimana SO mengimplementasikan proses abstraksi?
A: Menggunakan 'context switch' untuk beralih dari menjalankan 1 proses ke yang lain.
![Page 14: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/14.jpg)
Slide - Slide - 1414Sistem Operasi #2Sistem Operasi #2
Implementasi'Context Switch'
Q: Bagaimana mesin mengimplementasikan 'context switch'? Prosesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri.
S: 'save and restore' status hardware pada 'context switch'. Save status pada 'Process Control Block (PCB)'.
![Page 15: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/15.jpg)
Slide - Slide - 1515Sistem Operasi #2Sistem Operasi #2
Proses Control Block (PCB) & CPU Register
![Page 16: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/16.jpg)
Slide - Slide - 1616Sistem Operasi #2Sistem Operasi #2
Thread
Model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal.
Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
![Page 17: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/17.jpg)
Slide - Slide - 1717Sistem Operasi #2Sistem Operasi #2
Multithreading vs. Single threading
Single threading: when the OS does not recognize the concept of thread.Multithreading: when the OS supports multiple threads of execution within a single process.MS-DOS supports a single user process and a single thread.Older UNIXs supports multiple user processes but only support one thread per process.Solaris and Windows NT support multiple threads.
![Page 18: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/18.jpg)
Slide - Slide - 1818Sistem Operasi #2Sistem Operasi #2
A. Frank - P. Weisberg
Multithreading LevelsMultithreading ModelsThreading Issues
![Page 19: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/19.jpg)
Slide - Slide - 1919Sistem Operasi #2Sistem Operasi #2
Multithreading Levels
• Thread library provides programmer with API for creating and managing threads.
• Three multithreading levels:» User-Level Threads (ULT)
– Library entirely in user space.» Kernel-Level Threads (KLT)
– Kernel-level library supported by the OS.
» Hybrid ULT/KLT Approach
![Page 20: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/20.jpg)
Slide - Slide - 2020Sistem Operasi #2Sistem Operasi #2
1) User-Level Threads (ULT)
Thread management done by user-level threads library The kernel is not aware of the existence of threads.All thread management is done by the application by using a thread library.Thread switching does not require kernel mode privileges.Scheduling is application specific.
![Page 21: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/21.jpg)
Slide - Slide - 2121Sistem Operasi #2Sistem Operasi #2
Implementing Threads in User Space
![Page 22: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/22.jpg)
Slide - Slide - 2222Sistem Operasi #2Sistem Operasi #2
2) Kernel-Level Threads (KLT)
All thread management is done by kernel.No thread library but an API to the kernel thread facility.Kernel maintains context information for the process and the threads.Switching between threads requires the kernel.Scheduling on a thread basis.
![Page 23: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/23.jpg)
Slide - Slide - 2323Sistem Operasi #2Sistem Operasi #2 A. Frank - P. Weisberg
Implementing Threads in the Kernel
![Page 24: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/24.jpg)
Slide - Slide - 2424Sistem Operasi #2Sistem Operasi #2
A. Frank - P. Weisberg
KLT Idea
Threads supported by the Kernel.Examples:
Windows 2000/XPOS/2LinuxSolarisTru64 UNIXMac OS X
![Page 25: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/25.jpg)
Slide - Slide - 2525Sistem Operasi #2Sistem Operasi #2
A. Frank - P. Weisberg
3) Hybrid ULT/KLT Approaches
Thread creation done in the user space.
Bulk of scheduling and synchronization of threads done in the user space.
The programmer may adjust the number of KLTs.
May combine the best of both approaches.
Example is Solaris prior to version 9.
![Page 26: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/26.jpg)
Slide - Slide - 2626Sistem Operasi #2Sistem Operasi #2
Studi Kasus: Thread di Linux
- Instal terlebih dahulu tools 'htop'
~$ sudo apt-get install htop
- Menjalankan htop
~$ htop
![Page 27: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/27.jpg)
Slide - Slide - 2727Sistem Operasi #2Sistem Operasi #2
Sistem Operasi adalah event-driven
SO menunggu sebuah 'event' terjadi, meresponnya, lalu menunggu 'event' berikutnya. User menekan tombol. Program mengeluarkan 'system call' untuk membaca
sebuah file. SO mecari 'disk blocks' ke dalam, dan membuat permintaan (request) kepada 'disk controller' untuk membaca 'disk blocks' kedalam memori.
Disk controller selesai membaca dan menginterupsi. SO bergerak membaca data kedalamprogram dan restarts program.
![Page 28: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/28.jpg)
Slide - Slide - 2828Sistem Operasi #2Sistem Operasi #2
Event-driven
![Page 29: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/29.jpg)
Slide - Slide - 2929Sistem Operasi #2Sistem Operasi #2
Contoh event-driven
Sebuah web browser meminta URL. Hal ini akan meminta SO untuk mengirim permintaan (request) melalui jaringan ke WWW server. SO akan mengirim paket.
Response packet datang dari WWW server, menginterupsi prosesor. SO menterjemahkan proses mana yang akan mendapatkan paket, lalu menghantarkan paket tersebut ke proses.
![Page 30: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/30.jpg)
Slide - Slide - 3030Sistem Operasi #2Sistem Operasi #2
Event-driven dan threads
Ketika sebuah 'event-driven' terbuat, dengan beberapa aktifitas, thread adalah sebuah kunci mekanisme terstruktur pada SO.
![Page 31: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/31.jpg)
Slide - Slide - 3131Sistem Operasi #2Sistem Operasi #2
Penjadwalan Proses & Antrian
![Page 32: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/32.jpg)
Slide - Slide - 3232Sistem Operasi #2Sistem Operasi #2
Penjadwalan (Scheduler)
![Page 33: Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas. Contoh, keterbatasan set register. Tetapi setiap proses pada mesin memiliki set register tersendiri](https://reader034.vdokumen.com/reader034/viewer/2022051304/5a78a9b27f8b9a87198eb550/html5/thumbnails/33.jpg)
Slide - Slide - 3333Sistem Operasi #2Sistem Operasi #2
Operasi pada ProsesOperasi pada Proses