Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas....

33
Pertemuan #2: Pertemuan #2: Proses dan Thread Proses dan Thread Lecturer: Lecturer: Abdusy Syarif Abdusy Syarif Prodi Teknik Informatika Prodi Teknik Informatika Fakultas Ilmu Komputer Fakultas Ilmu Komputer

Transcript of Pertemuan #2: Proses dan Thread · PDF fileProsesor memiliki sumber daya fisik terbatas....

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Slide - Slide - 3333Sistem Operasi #2Sistem Operasi #2

Operasi pada ProsesOperasi pada Proses