際際滷

際際滷Share a Scribd company logo
PROSES & THREAD
MODUL
SISTEM
OPERASI
Proses
 Konsep Proses
 Penjadualan Eksekusi Proses
 Operasi pada Proses
 Proses yang saling Bekerjasama (Cooperating
Processes)
 Komunikasi Antar Proses (Interprocess
Communication)
 Komunikasi pada Sistem Client-Server
2
Konsep Proses
 Proses lebih dari program code yang aktif:
 Melacak posisi instruksi (sequential
execution): program counter
 Menyimpan data sementara var., parameter,
return value: stack
 Menyimpan data (initial, global variable dll):
data section
 Menyimpan status proses (contoh, aktif, wait
I/O request dll.)
3
Konsep Proses
 Sistem operasi menjalankan banyak dan beragam
program :
 Batch system  jobs
 Time-shared systems  user programs atau tasks
 Istilah pada buku teks: job, task dan process (dapat
diartikan sama)
 Proses adalah program yang dieksekusi ;
 Aktif (proses=>memori) vs pasif (program => file)
 Instruksi pada program (code) akan dieksekusi
secara berurut (sekwensial) sesuai dengan line
code (stored program concept).
4
Status Proses
 Saat-saat proses dijalankan (executed) maka status dari
proses akan berubah.
 Status proses tidak selamanya aktif menggunakan
CPU).
 Sering proses menunggu I/O complete => status wait,
sebaiknya CPU diberikan kepada proses yang lain.
 Mendukung multi-tasking  utilisasi CPU dan I/O
5
Status Proses
 Status proses (antara lain):
 new: proses dibuat.
 running: instruksi dieksekusi.
 waiting: proses menunggu beberapa event yang akan
terjadi
 ready: proses menunggu jatah waktu dari prosessor
 terminated: proses selesai dieksekusi.
6
Diagram Status Proses
7
Ready Running
Blocked
Submit Dispatch Completed
Timeout
Suspended Blocked
Suspended Ready
Event Wait
Suspend
Resume
Suspend
Resume
Event Occur
Status Proses
 Saat-saat proses dijalankan (executed) maka
status dari proses akan berubah
 Status proses tidak selamanya aktif
menggunakan CPU).
 Sering proses menunggu I/O complete =>
status wait, sebaiknya CPU diberikan kepada
proses yang lain.
 Mendukung multi-tasking  utilisasi CPU dan
I/O
8
Informasi Proses
Dimanakah informasi proses disimpan?
 Data struktur dari OS dalam bentuk table :
 Satu entry table/linked list => struktur data
untuk menampung informasi satu proses
(array of structure).
 Setiap entry pada tabel proses menyimpan
satu proses. Contoh: MINIX
(src/kernel/proc.h) => struct proc {  };
9
Informasi Proses
 Informasi yang disimpan:
 Informasi internal CPU: isi register-register,
program counter, status CPU dll (umumnya dalam
bentuk stack frame).
 Identifikasi proses: nama proses, proses
number/index, proses id.
10
Informasi Proses
 Identifikasi proses: nama proses, proses
number/index, proses id.
 Accounting dan timer: user time, system time,
alarm etc.
 Resources: memory & file management.
11
Process Control Block (PCB)
12
CPU Switch Dari Satu Proses ke Proses
Lainnya
13
Penjadualan Proses
 Apakah tujuan dari multiprogramming?
 Maximize pemakaian CPU secara efisien (jadwal dan
giliran pemakaian CPU).
CPU digunakan oleh proses-proses terus menerus
 Apakah tujuan dari time-sharing?
 Pemakaian CPU dapat di switch dari satu proses ke
proses lain (concurrent process execution)
=> sesering mungkin, user dapat berinteraksi dengan
sistim
14
Penjadualan Proses
 Bagaimana jika sistim prosesor tunggal?
 Hanya ada satu proses yang dapat dijalankan
 Proses lain menunggu sampai CPU dapat dijadwalkan
(schedule) ke proses tsb
15
Ready Queue dan I/O Device Queues
16
Penjadualan Proses
 Proses dapat berubah status dan berpindah dari
satu antrian ke antrian yang lain
 Proses dengan status ready berada di
ReadyQueue
 Menunggu giliran/dipilih oleh scheduler =>
menggunakan CPU
17
Penjadualan Proses
 Selama eksekusi (status run) events yang
dapat terjadi:
 I/O request => I/O wait berada pada
DeviceQueue
 Create child proses => Jalankan proses
child, tunggu sampai proses selesai (wait)
 Time slice expired => Waktu pemakaian
CPU habis, interrupt oleh scheduler, proses
akan berpindah ke ReadyQueue
18
Representasi Penjadualan Proses
19
Penjadual / Schedulers
 Bagaimana schedulers memilih proses atau program
(decision)?
 Lebih dari satu proses atau program yang akan
dijalankan?
 Long-term scheduler (or job scheduler)  memilih
proses/program yang mana yang akan di load dan
berada di ready queue.
 Kemungkinan terdapat proses atau job baru.
 Kemungkinan proses dipindahkan dari memori ke
disk (swap out).
20
Penjadual / Schedulers
 Short-term scheduler (or CPU scheduler)  memilih proses
yang mana yang berada di ready queue akan run
(mendapatkan jatah CPU).
 Long-term scheduler tidak sering (proses baru) (seconds,
minutes) => (may be slow).
 The long-term scheduler controls the degree of
multiprogramming => berapa banyak proses yang dapat
aktif (berada di memori)
21
Penjadual / Schedulers
 Short-term scheduler dijalankan sangat sering
(milliseconds) => giliran pemakaian CPU dari proses-
proses yang siap
 Pada saat terjadi penggantian alokasi CPU dari
satu proses ke proses lain:
 Menyimpan informasi internal CPU dari
proses yang akan digantikan (SAVE).
 Meload kembali informasi internal CPU dari
proses yang akan menggantikan.
 Dikenal dengan istilah: context switch proses.
22
Penjadualan Jangka Menengah
23
Alih Konteks / Context Switch
 Jika Scheduler switch ke proses lain, maka sistim harus
menyimpan informasi proses sekarang (supaya dapat
dijalankan kembali)
 Load informasi dari proses baru yang berada di PCB
 Waktu Context-switch adalah overhead; sistem tidak
melakukan pekerjaan saat terjadi switch.
 Sangat tergantung pada waktu di hardware
 OS modern mencari solusi untuk mengurangi
overhead waktu switch proses
24
Pembuatan Proses
 Umumnya proses dapat membuat proses baru
(child process).
 Child process dapat membuat proses baru.
 Terbentuk tree dari proses.
 Address space
 Child menduplikasi parent.
 Child memiliki program yang di load ke
dalamnya.
25
Pembuatan Proses
 Pilihan hubungan antara parent dan child
proses:
 Resource sharing
 Parent dan child berbagi resource
 Children berbagi subset dari resource milik
parents.
 Parent dan child tidak berbagi resource.
 Execution
 Parent dan children melakukan eksekusi secara
serempak.
 Parent menunggu hingga children selesai.
26
Pembuatan Proses
 Contoh UNIX :
 fork system call membuat proses baru
 execve (EXEC) :
 menjalankan program spesifik yang lain
 nama program tersebut menjadi parameter dari
system call
 EXEC (sering di load sesudah menjalankan fork).
 Tahapan pembuatan proses baru:
 Periksa apakah masih terdapat ruang pada PCB.
 Mencoba mengalokasikan memori untuk proses
baru.
 Mengisi informasi untuk proses baru: nama proses,
id, copy data dari parent dll.
 Mencantumkan informasi proses ke kernel OS.
27
Proses Tree pada Sistem UNIX
28
Terminasi Proses
 Proses dapat berakhir:
 Eksekusi instruksi terakhir (atau keluar: exit system call).
 OS yang akan melakukan dealokasi (memory, file resources).
 UNIX (MINIX):
 Output signal dari child ke parent
 Jika parent tidak menunggu (via wait system call), proses akan
terminate tapi belum di release dari PCB (status: ZOMBIE).
 Proses dengan status ZOMBIE (parent telah terminate), akan
menjadi child dari proses init.
 Parent dapat menghentikan eksekusi proses child secara paksa.
 Parent dapat mengirim signal (abort, kill system call).
29
Kerjasama Proses
 Proses independent tidak mempengaruhi eksekusi proses
yang lain
 Kerjasama proses dapat mempengaruhi atau dipengaruhi
oleh eksekusi proses yang lain
 Keuntungan kerjasama proses :
 Sharing informasi
 Meningkatkan kecepatan komputasi
 Modularitas
 Kemudahan
30
Masalah Producer-Consumer
 Paradigma kerjasama proses  proses Producer menghasilkan
informasi yang akan dikonsumsi oleh proses Consumer
 Unbounded-buffer  tidak menggunakan batasan ukuran
di buffer.
 Consumer selalu dapat meminta item baru dan
Producer selalu dapat menghasilkan item-item baru.
 Bounded-buffer  menggunakan buffer dengan ukuran
tertentu
 Consumer harus menunggu jika buffer kosong dan
Producer harus menunggu jika buffer penuh
31
Bounded-Buffer 
Solusi dari Shared Memory
 Shared data
#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
 Solution is correct, but can only use
BUFFER_SIZE-1 elements
32
Bounded-Buffer  Proses Producer
item nextProduced;
while (1) {
while (((in + 1) % BUFFER_SIZE) == out)
; /* do nothing */
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
33
Bounded-Buffer  Proses Consumer
item nextConsumed;
while (1) {
while (in == out)
; /* do nothing */
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}
34
Interprocess Communication (IPC)
 Mekanisme proses untuk komunikasi dan sinkronisasi
aksi
 Sistem Pesan  komunikasi proses satu dengan yang lain
dapat dilakukan tanpa perlu pembagian data.
 IPC menyediakan dua operasi :
 send(message)  pesan berukuran pasti atau
variabel
 receive(message)
35
Interprocess Communication (IPC)
 Jika P dan Q melakukan komunikasi, maka keduanya
memerlukan :
 Membangun jalur komunikasi diantara keduanya
 Melakukan pertukaran pesan melaui send/receive
 Implementasi jalur komunikasi
 physical (shared memory, hardware bus)
 logical (logical properties)
36
Komunikasi Langsung
 Proses harus diberi nama secara jelas :
 send (P, message)  kirim pesan ke proses P
 receive(Q, message)  terima pesan dari proses Q
 Properti jalur komunikasi
 Jalur dibangun secara otomatis
 Setiap jalur memiliki pasangan masing-masing
dalam proses komunikasi
 Jalur komunikasi tersebut biasanya directional
37
Komunikasi Tidak Langsung
 Pesan dikirim dan diterima melalui mailboxes (yang
ditunjuk sebagai port)
 Proses
 Processes can communicate only if they share a mailbox.
 Properti jalur komunikasi
 Jalur komunikasi hanya dibangun jika proses di-share dalam
mailbox
 Jalur merupakan gabungan beberapa proses
 Setiap pasangan proses dibagi ke dalam beberapa jalur
komunikasi.
38
Komunikasi Tidak Langsung
 Operasi
 Membuat mailbox baru
 Mengirim dan menerima pesan melalui mailbox
 Menghapus/memusnahkan mailbox
 Primitive didefinisikan :
send(A, message)  kirim pesan ke mailbox A
receive(A, message)  terima pesan dari mailbox A
39
Komunikasi Tidak Langsung
 Mailbox sharing
 P1, P2, dan P3 berbagi (share) mailbox A.
 P1, send; P2 and P3 receive.
 Siapa yang mendapat pesan ?
 Solusi
 Memperbolehkan suatu jalur yang merupakan gabungan lebih
dari dua proses
 Hanya meperbolehkan satu proses pada suatu waktu untuk
mengeksekusi operasi receive .
 Memperbolehkan sistem untuk memilih receiver. Sender
diberitahu siapa yang menjadi receiver.
40
Sinkronisasi
 Pesan yang disampaikan dapat di blok atau
tidak (non-blocking)
 Blocking dikenal dengan synchronous.
 Non-blocking dikenal dengan
asynchronous
41
Buffering
 Antrian pesan yang dihubungkan dalam suatu jalur,
diimplementasikan dengan tiga jalan :
1. Zero capacity  tidak ada pesan
- Sender harus menunggu receiver (rendezvous).
2. Bounded capacity  memiliki panjang yang terbatas
(finite length) dari n pesan.
- Sender menunggu pada saat jalur penuh.
3. Unbounded capacity  memiliki panjang tidak terbatas
(infinite length)
- Sender tidak pernah menunggu.
42
Komunikasi Client-Server
 Sockets
 Remote Procedure Calls (RPC)
 Remote Method Invocation (Java)
43
Sockets
 Suatu socket didefinisikan sebagai titik akhir
(endpoint) komunikasi
 A socket is defined as an endpoint for
communication.
 Gabungan IP address dan port
 Socket 161.25.19.8:1625 mengacu pada port
1625 pada host 161.25.19.8
 Komunikasi berada diantara pasangan socket
44
Komunikasi Socket
45
Remote Procedure Calls (RPC)
 Remote Procedure Call (RPC) adalah abstraksi pemanggilan
prosedur diantara proses pada sistem jaringan
 Stubs  proxy sisi client untuk prosedur aktual pada server
 Stub sisi client ditempatkan di server dengan parameter
marshalls.
 Stub sisi server menerima pesan, membongkarnya dengan
parameter marshall dan menjalankan prosedur pada
server.
46
Eksekusi RPC
47
Remote Method Invocation (RMI)
 Remote Method Invocation (RMI) adalah mekanisme pada JAVA
yang hampir sama dengan RPC
 RMI membolehkan program JAVA pada satu mesin untuk
menggunakan metode untuk melakukan remote objek.
48
Parameter Marshall
49
THREAD
Thread merupakan unit dasar dari penggunaan CPU,
yang terdiri dari Thread_ID, program counter, register
set, dan stack. Sebuah thread berbagi code section,
data section, dan sumber daya sistem operasi dengan
Thread lain yang dimiliki oleh proses yang sama. Thread
juga sering disebut lightweight process. Sebuah proses
tradisional atau heavyweight process mempunyai
thread tunggal yang berfungsi sebagai pengendali.
Perbedaannya ialah proses dengan thread yang banyak
mengerjakan lebih dari satu tugas pada satu satuan
waktu.
Gambar Thread Tunggal dan Multi-Thread
Keuntungan Multi-Thread
Keuntungan dari program yang multithreading terbagi menjadi 4
kategori:
1.Responsif
Aplikasi interaktif menjadi tetap responsif meski pun sebagian dari
program sedang diblok atau melakukan operasi yang panjang kepada
pengguna. Umpamanya, sebuah thread dari web browser dapat
melayani permintaan pengguna sementara thread lain berusaha
menampilkan gambar.
2.Berbagi sumber daya
Thread berbagi memori dan sumber daya dengan thread lain yang
dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah
mengizinkan sebuah aplikasi untuk mempunyai beberapa thread
yang berbeda dalam lokasi memori yang sama.
Keuntungan Multi-Thread
3. Ekonomis
Pembuatan sebuah proses memerlukan dibutuhkan
pengalokasian memori dan sumber daya. Alternatifnya
adalah dengan penggunaan thread, karena thread berbagi
memori dan sumber daya proses yang memilikinya maka
akan lebih ekonomis untuk membuat dan context switch
thread. Akan susah untuk mengukur perbedaan waktu antara
proses dan thread dalam hal pembuatan dan pengaturan,
tetapi secara umum pembuatan dan pengaturan proses lebih
lama dibandingkan thread. Pada Solaris, pembuatan proses
lebih lama 30 kali dibandingkan pembuatan thread, dan
context switch proses 5 kali lebih lama dibandingkan context
switch thread.
Keuntungan Multi-Thread
4. Utilisasi arsitektur multiprocessor
Keuntungan dari multithreading dapat sangat
meningkat pada arsitektur multiprocessor, dimana
setiap thread dapat berjalan secara pararel di atas
processor yang berbeda. Pada arsitektur processor
tunggal, CPU menjalankan setiap thread secara
bergantian tetapi hal ini berlangsung sangat cepat
sehingga menciptakan ilusi pararel, tetapi pada
kenyataannya hanya satu thread yang dijalankan CPU
pada satu-satuan waktu (satu-satuan waktu pada CPU
biasa disebut time slice atau quantum).
Thread Pengguna & Thread Kernel
1.Thread Pengguna
Thread pengguna didukung kernel serta diimplementasikan dengan
pustaka thread pada tingkatan pengguna. Pustaka menyediakan
fasilitas untuk pembuatan thread, penjadwalan thread, dan
manajemen thread tanpa dukungan dari kernel. Karena kernel tidak
menyadari user-level thread maka semua pembuatan dan
penjadwalan thread dilakukan dalam ruang pengguna tanpa
campur tangan kernel. Oleh karena itu, thread pengguna biasanya
dapat cepat dibuat dan dikendalikan. Tetapi thread pengguna
mempunyai kelemahan untuk kernel thread tunggal. Salah satu
thread tingkatan pengguna menjalankan blocking system call maka
akan mengakibatkan seluruh proses diblok walau pun ada thread
lain yang dapat jalan dalam aplikasi tersebut. Contoh pustaka
thread pengguna ialah POSIX Pthreads, Mach C-threads, dan Solaris
threads.
Thread Pengguna & Thread Kernel
2. Thread Kernel
Thread kernel didukung langsung oleh sistem operasi.
Pembuatan, penjadwalan, dan manajemen thread
dilakukan oleh kernel pada kernel space. Karena
pengaturan thread dilakukan oleh sistem operasi maka
pembuatan dan pengaturan kernel thread lebih lambat
dibandingkan user thread. Keuntungannya adalah
thread diatur oleh kernel, karena itu jika sebuah thread
menjalankan blocking system call maka kernel dapat
menjadwalkan thread lain di aplikasi untuk melakukan
eksekusi.
KUIS
1.Jelaskan Perbedaan Proses dan Thread?
2.Jelaskan Prinsip kerja Proses?
3.Jelaskan Implementasi dari Thread?
Ad

Recommended

Proses di Sistem Operasi
Proses di Sistem Operasi
eddie Ismantoe
referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1
DedeAlamsyah2
ini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptx
akunoo
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasi
belajarkomputer
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasi
belajarkomputer
IV. Proses-prosadcadasadeafadasfsesdads.ppt
IV. Proses-prosadcadasadeafadasfsesdads.ppt
Join Sigalingging
IV. Proses-proses.ppt
IV. Proses-proses.ppt
RezzaFahlevvi
Pengenalan Konsep Proses Dalam Sistem Operasi.pptx
Pengenalan Konsep Proses Dalam Sistem Operasi.pptx
heldayennisuarman
3. so proses
3. so proses
Solehudin Solehudin
Proses SO
Proses SO
Solehudin Solehudin
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasi
belajarkomputer
4.proses proses
4.proses proses
nasib silaban
Dedi Purwanto - Proses - proses Sistem Operasi
Dedi Purwanto - Proses - proses Sistem Operasi
belajarkomputer
Khoirul Marati - Proses pada sistem operasi
Khoirul Marati - Proses pada sistem operasi
belajarkomputer
Proses dan implementasinya
Proses dan implementasinya
Lyna Blue
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
MuhammadRaihan1IA10
Pertemuan 6
Pertemuan 6
mutmainnamaruru
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
AlwiyahRachman1
Siklus introduksi.pptx
Siklus introduksi.pptx
AbdulHakim246199
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhh
Sejahtera Affif
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
belajarkomputer
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Elmitiodatacp
ikh311-02
ikh311-02
Anung Ariwibowo
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
karuniaman
pembelajaran untuk strukturfungsicpu1.ppt
pembelajaran untuk strukturfungsicpu1.ppt
ssuser651430
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Proses and thread
Proses and thread
Gus Dan
Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
ZaimatunNiswati
Matriks dan Transformasi Linier 06^&*.pdf
Matriks dan Transformasi Linier 06^&*.pdf
ZaimatunNiswati

More Related Content

Similar to Sistem_Operasi_04.pdffffffdddddddddddddd (20)

3. so proses
3. so proses
Solehudin Solehudin
Proses SO
Proses SO
Solehudin Solehudin
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasi
belajarkomputer
4.proses proses
4.proses proses
nasib silaban
Dedi Purwanto - Proses - proses Sistem Operasi
Dedi Purwanto - Proses - proses Sistem Operasi
belajarkomputer
Khoirul Marati - Proses pada sistem operasi
Khoirul Marati - Proses pada sistem operasi
belajarkomputer
Proses dan implementasinya
Proses dan implementasinya
Lyna Blue
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
MuhammadRaihan1IA10
Pertemuan 6
Pertemuan 6
mutmainnamaruru
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
AlwiyahRachman1
Siklus introduksi.pptx
Siklus introduksi.pptx
AbdulHakim246199
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhh
Sejahtera Affif
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
belajarkomputer
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Elmitiodatacp
ikh311-02
ikh311-02
Anung Ariwibowo
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
karuniaman
pembelajaran untuk strukturfungsicpu1.ppt
pembelajaran untuk strukturfungsicpu1.ppt
ssuser651430
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Proses and thread
Proses and thread
Gus Dan
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasi
belajarkomputer
Dedi Purwanto - Proses - proses Sistem Operasi
Dedi Purwanto - Proses - proses Sistem Operasi
belajarkomputer
Khoirul Marati - Proses pada sistem operasi
Khoirul Marati - Proses pada sistem operasi
belajarkomputer
Proses dan implementasinya
Proses dan implementasinya
Lyna Blue
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
Sistem Operasi-3 Struktur SO universiatas Gunadarma.pptx
MuhammadRaihan1IA10
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
AlwiyahRachman1
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhh
Sejahtera Affif
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
belajarkomputer
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Elmitiodatacp
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
Modul Struktur Fungsi CPU Pada Prodi Ilmu Komputer
karuniaman
pembelajaran untuk strukturfungsicpu1.ppt
pembelajaran untuk strukturfungsicpu1.ppt
ssuser651430
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Pertemuan 2.1. proses pada so 2
Pertemuan 2.1. proses pada so 2
Setyady Peace
Proses and thread
Proses and thread
Gus Dan

More from ZaimatunNiswati (7)

Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
ZaimatunNiswati
Matriks dan Transformasi Linier 06^&*.pdf
Matriks dan Transformasi Linier 06^&*.pdf
ZaimatunNiswati
Matriks dan Transformasi Linierv _07!@#.pdf
Matriks dan Transformasi Linierv _07!@#.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier 04.@#$pdf
Matriks dan Transformasi Linier 04.@#$pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _05 %^&.pdf
Matriks dan Transformasi Linier _05 %^&.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _03 *((.pdf
Matriks dan Transformasi Linier _03 *((.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _01^%&.pdf
Matriks dan Transformasi Linier _01^%&.pdf
ZaimatunNiswati
Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
Sistem_Operasi_01.pdf%^bnjhgfdfdfffgggggg
ZaimatunNiswati
Matriks dan Transformasi Linier 06^&*.pdf
Matriks dan Transformasi Linier 06^&*.pdf
ZaimatunNiswati
Matriks dan Transformasi Linierv _07!@#.pdf
Matriks dan Transformasi Linierv _07!@#.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier 04.@#$pdf
Matriks dan Transformasi Linier 04.@#$pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _05 %^&.pdf
Matriks dan Transformasi Linier _05 %^&.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _03 *((.pdf
Matriks dan Transformasi Linier _03 *((.pdf
ZaimatunNiswati
Matriks dan Transformasi Linier _01^%&.pdf
Matriks dan Transformasi Linier _01^%&.pdf
ZaimatunNiswati
Ad

Recently uploaded (19)

penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
Groupy -
PPT pembelajaran aljabar linear BARU_14.pptx
PPT pembelajaran aljabar linear BARU_14.pptx
erni765006
PCM BLK Kediri..........................
PCM BLK Kediri..........................
teynomas
rangkuman untuk Bahan Ajar Mekanika Tanah
rangkuman untuk Bahan Ajar Mekanika Tanah
MikeJoyful
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
ReginaMardatillah1
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
sasuken798
persetasi, awal pekerjaan...............
persetasi, awal pekerjaan...............
teynomas
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
mileakrysti
Pertemuan 3-4#Kendali Industri Dasar.pdf
Pertemuan 3-4#Kendali Industri Dasar.pdf
adyapakaapatya2
RB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptx
FauzanR7
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
mileakrysti
5R (Ringkas Rapi Resik Rawat Rajin) di Perusahaan
5R (Ringkas Rapi Resik Rawat Rajin) di Perusahaan
mashartono1
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
erni765006
Kit Pembelajaran Motor AU 3 Fasa AU 3 Fasa
Kit Pembelajaran Motor AU 3 Fasa AU 3 Fasa
QamarinaZainalAbidin
Presentasi_Autopsy_Forensik_Digital.pptx
Presentasi_Autopsy_Forensik_Digital.pptx
christopernkunku25
mekanika tanah 1 tulisan dari hary christady
mekanika tanah 1 tulisan dari hary christady
MikeJoyful
Bab 2_Kesetimbangan Gaya matakuliah mektek
Bab 2_Kesetimbangan Gaya matakuliah mektek
AhmadZubairSultanJur
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
AminMustofa16
GRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptx
wahidangkasaparipurn
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
Groupy -
PPT pembelajaran aljabar linear BARU_14.pptx
PPT pembelajaran aljabar linear BARU_14.pptx
erni765006
PCM BLK Kediri..........................
PCM BLK Kediri..........................
teynomas
rangkuman untuk Bahan Ajar Mekanika Tanah
rangkuman untuk Bahan Ajar Mekanika Tanah
MikeJoyful
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
ReginaMardatillah1
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
sasuken798
persetasi, awal pekerjaan...............
persetasi, awal pekerjaan...............
teynomas
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
Kuliah 2, Presipitasi.pptx penting diketahui oleh petani
mileakrysti
Pertemuan 3-4#Kendali Industri Dasar.pdf
Pertemuan 3-4#Kendali Industri Dasar.pdf
adyapakaapatya2
RB_presentasi faro volume satu jembatan.pptx
RB_presentasi faro volume satu jembatan.pptx
FauzanR7
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
Kuliah 1, Daur Hidrologi dan Ekosistim DAS tgl 2 Maret 2022(1).pptx
mileakrysti
5R (Ringkas Rapi Resik Rawat Rajin) di Perusahaan
5R (Ringkas Rapi Resik Rawat Rajin) di Perusahaan
mashartono1
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
Kelompok 1_Managemen Audit Energi_Perhitungan IKE (1).pptx
erni765006
Kit Pembelajaran Motor AU 3 Fasa AU 3 Fasa
Kit Pembelajaran Motor AU 3 Fasa AU 3 Fasa
QamarinaZainalAbidin
Presentasi_Autopsy_Forensik_Digital.pptx
Presentasi_Autopsy_Forensik_Digital.pptx
christopernkunku25
mekanika tanah 1 tulisan dari hary christady
mekanika tanah 1 tulisan dari hary christady
MikeJoyful
Bab 2_Kesetimbangan Gaya matakuliah mektek
Bab 2_Kesetimbangan Gaya matakuliah mektek
AhmadZubairSultanJur
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
AminMustofa16
GRAFIK INM semester 1 plus analisis.pptx
GRAFIK INM semester 1 plus analisis.pptx
wahidangkasaparipurn
Ad

Sistem_Operasi_04.pdffffffdddddddddddddd

  • 2. Proses Konsep Proses Penjadualan Eksekusi Proses Operasi pada Proses Proses yang saling Bekerjasama (Cooperating Processes) Komunikasi Antar Proses (Interprocess Communication) Komunikasi pada Sistem Client-Server 2
  • 3. Konsep Proses Proses lebih dari program code yang aktif: Melacak posisi instruksi (sequential execution): program counter Menyimpan data sementara var., parameter, return value: stack Menyimpan data (initial, global variable dll): data section Menyimpan status proses (contoh, aktif, wait I/O request dll.) 3
  • 4. Konsep Proses Sistem operasi menjalankan banyak dan beragam program : Batch system jobs Time-shared systems user programs atau tasks Istilah pada buku teks: job, task dan process (dapat diartikan sama) Proses adalah program yang dieksekusi ; Aktif (proses=>memori) vs pasif (program => file) Instruksi pada program (code) akan dieksekusi secara berurut (sekwensial) sesuai dengan line code (stored program concept). 4
  • 5. Status Proses Saat-saat proses dijalankan (executed) maka status dari proses akan berubah. Status proses tidak selamanya aktif menggunakan CPU). Sering proses menunggu I/O complete => status wait, sebaiknya CPU diberikan kepada proses yang lain. Mendukung multi-tasking utilisasi CPU dan I/O 5
  • 6. Status Proses Status proses (antara lain): new: proses dibuat. running: instruksi dieksekusi. waiting: proses menunggu beberapa event yang akan terjadi ready: proses menunggu jatah waktu dari prosessor terminated: proses selesai dieksekusi. 6
  • 7. Diagram Status Proses 7 Ready Running Blocked Submit Dispatch Completed Timeout Suspended Blocked Suspended Ready Event Wait Suspend Resume Suspend Resume Event Occur
  • 8. Status Proses Saat-saat proses dijalankan (executed) maka status dari proses akan berubah Status proses tidak selamanya aktif menggunakan CPU). Sering proses menunggu I/O complete => status wait, sebaiknya CPU diberikan kepada proses yang lain. Mendukung multi-tasking utilisasi CPU dan I/O 8
  • 9. Informasi Proses Dimanakah informasi proses disimpan? Data struktur dari OS dalam bentuk table : Satu entry table/linked list => struktur data untuk menampung informasi satu proses (array of structure). Setiap entry pada tabel proses menyimpan satu proses. Contoh: MINIX (src/kernel/proc.h) => struct proc { }; 9
  • 10. Informasi Proses Informasi yang disimpan: Informasi internal CPU: isi register-register, program counter, status CPU dll (umumnya dalam bentuk stack frame). Identifikasi proses: nama proses, proses number/index, proses id. 10
  • 11. Informasi Proses Identifikasi proses: nama proses, proses number/index, proses id. Accounting dan timer: user time, system time, alarm etc. Resources: memory & file management. 11
  • 13. CPU Switch Dari Satu Proses ke Proses Lainnya 13
  • 14. Penjadualan Proses Apakah tujuan dari multiprogramming? Maximize pemakaian CPU secara efisien (jadwal dan giliran pemakaian CPU). CPU digunakan oleh proses-proses terus menerus Apakah tujuan dari time-sharing? Pemakaian CPU dapat di switch dari satu proses ke proses lain (concurrent process execution) => sesering mungkin, user dapat berinteraksi dengan sistim 14
  • 15. Penjadualan Proses Bagaimana jika sistim prosesor tunggal? Hanya ada satu proses yang dapat dijalankan Proses lain menunggu sampai CPU dapat dijadwalkan (schedule) ke proses tsb 15
  • 16. Ready Queue dan I/O Device Queues 16
  • 17. Penjadualan Proses Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain Proses dengan status ready berada di ReadyQueue Menunggu giliran/dipilih oleh scheduler => menggunakan CPU 17
  • 18. Penjadualan Proses Selama eksekusi (status run) events yang dapat terjadi: I/O request => I/O wait berada pada DeviceQueue Create child proses => Jalankan proses child, tunggu sampai proses selesai (wait) Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue 18
  • 20. Penjadual / Schedulers Bagaimana schedulers memilih proses atau program (decision)? Lebih dari satu proses atau program yang akan dijalankan? Long-term scheduler (or job scheduler) memilih proses/program yang mana yang akan di load dan berada di ready queue. Kemungkinan terdapat proses atau job baru. Kemungkinan proses dipindahkan dari memori ke disk (swap out). 20
  • 21. Penjadual / Schedulers Short-term scheduler (or CPU scheduler) memilih proses yang mana yang berada di ready queue akan run (mendapatkan jatah CPU). Long-term scheduler tidak sering (proses baru) (seconds, minutes) => (may be slow). The long-term scheduler controls the degree of multiprogramming => berapa banyak proses yang dapat aktif (berada di memori) 21
  • 22. Penjadual / Schedulers Short-term scheduler dijalankan sangat sering (milliseconds) => giliran pemakaian CPU dari proses- proses yang siap Pada saat terjadi penggantian alokasi CPU dari satu proses ke proses lain: Menyimpan informasi internal CPU dari proses yang akan digantikan (SAVE). Meload kembali informasi internal CPU dari proses yang akan menggantikan. Dikenal dengan istilah: context switch proses. 22
  • 24. Alih Konteks / Context Switch Jika Scheduler switch ke proses lain, maka sistim harus menyimpan informasi proses sekarang (supaya dapat dijalankan kembali) Load informasi dari proses baru yang berada di PCB Waktu Context-switch adalah overhead; sistem tidak melakukan pekerjaan saat terjadi switch. Sangat tergantung pada waktu di hardware OS modern mencari solusi untuk mengurangi overhead waktu switch proses 24
  • 25. Pembuatan Proses Umumnya proses dapat membuat proses baru (child process). Child process dapat membuat proses baru. Terbentuk tree dari proses. Address space Child menduplikasi parent. Child memiliki program yang di load ke dalamnya. 25
  • 26. Pembuatan Proses Pilihan hubungan antara parent dan child proses: Resource sharing Parent dan child berbagi resource Children berbagi subset dari resource milik parents. Parent dan child tidak berbagi resource. Execution Parent dan children melakukan eksekusi secara serempak. Parent menunggu hingga children selesai. 26
  • 27. Pembuatan Proses Contoh UNIX : fork system call membuat proses baru execve (EXEC) : menjalankan program spesifik yang lain nama program tersebut menjadi parameter dari system call EXEC (sering di load sesudah menjalankan fork). Tahapan pembuatan proses baru: Periksa apakah masih terdapat ruang pada PCB. Mencoba mengalokasikan memori untuk proses baru. Mengisi informasi untuk proses baru: nama proses, id, copy data dari parent dll. Mencantumkan informasi proses ke kernel OS. 27
  • 28. Proses Tree pada Sistem UNIX 28
  • 29. Terminasi Proses Proses dapat berakhir: Eksekusi instruksi terakhir (atau keluar: exit system call). OS yang akan melakukan dealokasi (memory, file resources). UNIX (MINIX): Output signal dari child ke parent Jika parent tidak menunggu (via wait system call), proses akan terminate tapi belum di release dari PCB (status: ZOMBIE). Proses dengan status ZOMBIE (parent telah terminate), akan menjadi child dari proses init. Parent dapat menghentikan eksekusi proses child secara paksa. Parent dapat mengirim signal (abort, kill system call). 29
  • 30. Kerjasama Proses Proses independent tidak mempengaruhi eksekusi proses yang lain Kerjasama proses dapat mempengaruhi atau dipengaruhi oleh eksekusi proses yang lain Keuntungan kerjasama proses : Sharing informasi Meningkatkan kecepatan komputasi Modularitas Kemudahan 30
  • 31. Masalah Producer-Consumer Paradigma kerjasama proses proses Producer menghasilkan informasi yang akan dikonsumsi oleh proses Consumer Unbounded-buffer tidak menggunakan batasan ukuran di buffer. Consumer selalu dapat meminta item baru dan Producer selalu dapat menghasilkan item-item baru. Bounded-buffer menggunakan buffer dengan ukuran tertentu Consumer harus menunggu jika buffer kosong dan Producer harus menunggu jika buffer penuh 31
  • 32. Bounded-Buffer Solusi dari Shared Memory Shared data #define BUFFER_SIZE 10 Typedef struct { . . . } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0; Solution is correct, but can only use BUFFER_SIZE-1 elements 32
  • 33. Bounded-Buffer Proses Producer item nextProduced; while (1) { while (((in + 1) % BUFFER_SIZE) == out) ; /* do nothing */ buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; } 33
  • 34. Bounded-Buffer Proses Consumer item nextConsumed; while (1) { while (in == out) ; /* do nothing */ nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; } 34
  • 35. Interprocess Communication (IPC) Mekanisme proses untuk komunikasi dan sinkronisasi aksi Sistem Pesan komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data. IPC menyediakan dua operasi : send(message) pesan berukuran pasti atau variabel receive(message) 35
  • 36. Interprocess Communication (IPC) Jika P dan Q melakukan komunikasi, maka keduanya memerlukan : Membangun jalur komunikasi diantara keduanya Melakukan pertukaran pesan melaui send/receive Implementasi jalur komunikasi physical (shared memory, hardware bus) logical (logical properties) 36
  • 37. Komunikasi Langsung Proses harus diberi nama secara jelas : send (P, message) kirim pesan ke proses P receive(Q, message) terima pesan dari proses Q Properti jalur komunikasi Jalur dibangun secara otomatis Setiap jalur memiliki pasangan masing-masing dalam proses komunikasi Jalur komunikasi tersebut biasanya directional 37
  • 38. Komunikasi Tidak Langsung Pesan dikirim dan diterima melalui mailboxes (yang ditunjuk sebagai port) Proses Processes can communicate only if they share a mailbox. Properti jalur komunikasi Jalur komunikasi hanya dibangun jika proses di-share dalam mailbox Jalur merupakan gabungan beberapa proses Setiap pasangan proses dibagi ke dalam beberapa jalur komunikasi. 38
  • 39. Komunikasi Tidak Langsung Operasi Membuat mailbox baru Mengirim dan menerima pesan melalui mailbox Menghapus/memusnahkan mailbox Primitive didefinisikan : send(A, message) kirim pesan ke mailbox A receive(A, message) terima pesan dari mailbox A 39
  • 40. Komunikasi Tidak Langsung Mailbox sharing P1, P2, dan P3 berbagi (share) mailbox A. P1, send; P2 and P3 receive. Siapa yang mendapat pesan ? Solusi Memperbolehkan suatu jalur yang merupakan gabungan lebih dari dua proses Hanya meperbolehkan satu proses pada suatu waktu untuk mengeksekusi operasi receive . Memperbolehkan sistem untuk memilih receiver. Sender diberitahu siapa yang menjadi receiver. 40
  • 41. Sinkronisasi Pesan yang disampaikan dapat di blok atau tidak (non-blocking) Blocking dikenal dengan synchronous. Non-blocking dikenal dengan asynchronous 41
  • 42. Buffering Antrian pesan yang dihubungkan dalam suatu jalur, diimplementasikan dengan tiga jalan : 1. Zero capacity tidak ada pesan - Sender harus menunggu receiver (rendezvous). 2. Bounded capacity memiliki panjang yang terbatas (finite length) dari n pesan. - Sender menunggu pada saat jalur penuh. 3. Unbounded capacity memiliki panjang tidak terbatas (infinite length) - Sender tidak pernah menunggu. 42
  • 43. Komunikasi Client-Server Sockets Remote Procedure Calls (RPC) Remote Method Invocation (Java) 43
  • 44. Sockets Suatu socket didefinisikan sebagai titik akhir (endpoint) komunikasi A socket is defined as an endpoint for communication. Gabungan IP address dan port Socket 161.25.19.8:1625 mengacu pada port 1625 pada host 161.25.19.8 Komunikasi berada diantara pasangan socket 44
  • 46. Remote Procedure Calls (RPC) Remote Procedure Call (RPC) adalah abstraksi pemanggilan prosedur diantara proses pada sistem jaringan Stubs proxy sisi client untuk prosedur aktual pada server Stub sisi client ditempatkan di server dengan parameter marshalls. Stub sisi server menerima pesan, membongkarnya dengan parameter marshall dan menjalankan prosedur pada server. 46
  • 48. Remote Method Invocation (RMI) Remote Method Invocation (RMI) adalah mekanisme pada JAVA yang hampir sama dengan RPC RMI membolehkan program JAVA pada satu mesin untuk menggunakan metode untuk melakukan remote objek. 48
  • 50. THREAD Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaannya ialah proses dengan thread yang banyak mengerjakan lebih dari satu tugas pada satu satuan waktu.
  • 51. Gambar Thread Tunggal dan Multi-Thread
  • 52. Keuntungan Multi-Thread Keuntungan dari program yang multithreading terbagi menjadi 4 kategori: 1.Responsif Aplikasi interaktif menjadi tetap responsif meski pun sebagian dari program sedang diblok atau melakukan operasi yang panjang kepada pengguna. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan gambar. 2.Berbagi sumber daya Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
  • 53. Keuntungan Multi-Thread 3. Ekonomis Pembuatan sebuah proses memerlukan dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.
  • 54. Keuntungan Multi-Thread 4. Utilisasi arsitektur multiprocessor Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu (satu-satuan waktu pada CPU biasa disebut time slice atau quantum).
  • 55. Thread Pengguna & Thread Kernel 1.Thread Pengguna Thread pengguna didukung kernel serta diimplementasikan dengan pustaka thread pada tingkatan pengguna. Pustaka menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread maka semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel. Oleh karena itu, thread pengguna biasanya dapat cepat dibuat dan dikendalikan. Tetapi thread pengguna mempunyai kelemahan untuk kernel thread tunggal. Salah satu thread tingkatan pengguna menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walau pun ada thread lain yang dapat jalan dalam aplikasi tersebut. Contoh pustaka thread pengguna ialah POSIX Pthreads, Mach C-threads, dan Solaris threads.
  • 56. Thread Pengguna & Thread Kernel 2. Thread Kernel Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space. Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Keuntungannya adalah thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi.
  • 57. KUIS 1.Jelaskan Perbedaan Proses dan Thread? 2.Jelaskan Prinsip kerja Proses? 3.Jelaskan Implementasi dari Thread?