OLEH:
ILMU KOMPUTER
UNIVERSITAS NEGERI MEDAN
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
2020
KATA PENGANTAR
Bismillahirrahmaanirrahim
Assalamu’alaikum Wr Wb
Puji dan syukur penyusun panjatkan ke Khadirat Allah SWT, karena atas curahan
Rahmat dan Karunia-Nya penyusun dapat menyelesaikan makalah Critical Book Review
ini dengan baik.
Makalah Critical Book Review yang berjudul “Process dan Thread” ini penyusun
buat untuk memenuhi salah satu tugas mata kuliah Sistem Operasi.
Terimakasih penyusun ucapkan kepada semua pihak yang telah berperan dalam
pembuatan makalah ini, khususnya dosen mata kuliah Sistem Operasi, sehingga makalah
ini dapat terselesaikan.
Orang bijak mengatakan “tiada gading yang tak retak”, sehingga makalah ini pun
masih jauh dari kesempurnaan, untuk itu kritik dan saran yang bersifat membangun sangat
penyusun harapkan guna perbaikan pembuatan makalah dimasa yang akan datang.
Akhirnya, penyusun berharap semoga makalah ini dapat bermanfaat bagi pembaca
sekalian.
Kelompok Penyusun
i
DAFTAR ISI
KATA PENGANTAR..............................................................................................i
DAFTAR ISI...........................................................................................................ii
BAB I PENDAHULUAN
C. Manfaat CBR.........................................................................................1
D. Identitas Buku........................................................................................2
BAB II PEMBAHASAN
I. Buku Pertama......................................................................................... 3
I. Kelebihan Buku................................................................................... 23
A. Kesimpulan..........................................................................................25
B. Daftar Pustaka.....................................................................................26
ii
BAB I
PENDAHULUAN
C. MANFAAT CBR
1. Menambah wawasan pengetahuan tentang Process dan Thread.
2. Mempermudah pembaca mendapatkan inti dari sebuah buku yang telah
dilengkapi dengan ringkasan buku, pembahasan isi buku, serta kekurangan dan
kelebihan buku tersebut.
3. Melatih mahasiswa merumuskan serta mengambil kesimpulan-kesimpulan dari
berbagai penjelasan deskripsi tentang buku-buku yang akan dianalisis.
1
D. IDENTITAS BUKU
I. Buku Pertama
1. Judul buku : Teori Dan Praktek Sistem Operasi
2. Pengarang : Zaid Romegar Mair
3. Kota terbit : Yogyakarta
4. Tahun terbit : 2018
5. Penerbit : CV BUDI UTAMA
6. Tebal buku : 372 halaman
7. ISBN : 978–602–475–682–6
2
BAB II
PEMBAHASAN
A. PEMBAHASAN ISI BUKU
I. Buku Pertama
A. Definisi Proses
Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih
dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga
termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada
program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses
umumnya juga termasuk process stack, yang berisikan data temporer (seperti
parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section,
yang berisikanvariabel global.
Dapat ditekankan bahwa program itu sendiri bukanlah sebuah proses, suatu
program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan
didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah
program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan
dan seperangkat sumber daya/ resource yang berkenaan dengannya.
Walau dua proses dapat dihubungkan dengan program yang sama, program
tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa
pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna
yang sama dapat meminta banyak copy dari program editor.
Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text
adalah sama, data section bisa saja bervariasi. Terlihat umum juga untuk memiliki
proses yang menghasilkan banyak proses begitu ia bekerja.
B. Siklus Proses
Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/
asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada
dari proses tersebut.
Tiap proses mungkin adalah satu dari keadaan berikut ini:
New: Proses sedang dikerjakan/ dibuat.
3
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.
Nama-nama diatas adalah arbitrer/berdasar opini, istilah tersebut bervariasi pada
sistem operasi. Keadaan yang digambarkan dapat ditemukan pada seluruh sistem.
Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/status
proses. Penting untuk diingat bahwa hanya satu proses dapat berjalan pada prosesor
dalam satu waktu.
4
dengan program counter, keadaan/ status informasi harus disimpan ketika
gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja
dengan benar setelahnya.
Informasi managemen memori: Informasi ini dapat termasuk suatu informasi
sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel
segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi.
Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil
yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dll.
Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di
gunakan pada proses ini, daftar open berkas dan banyak lagi.
PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi
apa pun yang dapat bervariasi dari proses ke proses.
D. Definisi Thread
5
Thread merupakan cara dari komputer untuk menjalankan dua atau lebih task
dalam waktu bersamaan, sedangkan multithreading adalah cara komputer untuk
membagi-bagi pekerjaan yang dikerjakan sebagian-sebagian dengan cepat sehingga
menimbulkan efek seperti menjalakan beberapa task secara bersamaan walaupun
otaknya hanya satu.
E. MultiThreading
Multiprocessing merupakan penggunaan dua atau lebih CPU dalam sebuah sistem
komputer. Multitasking merupakan metode untuk menjalankan lebih dari satu proses
dimana terjadi pembagian sumberdaya seperti CPU. Multithreading adalah cara
pengeksekusian yang mengizinkan beberapa thread terjadi dalam sebuah proses,
saling berbagi sumber daya tetapi dapat dijalankan secara independen.
Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan
menjadi 4 bagian:
1. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari
program sedang diblok atau melakukan operasi lain yang panjang.
Umpamanya, sebuah thread dari web browser dapat melayani permintaan
pengguna sementara thread yang lain berusaha menampilkan gambar.
2. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama
akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah
aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi
memori yang sama.
6
dibandingkan pembuatan thread sedangkan proses context switch 5 kali lebih
lama dibandingkan context switching thread.
F. Model MultiThreading
Terdapat beberapa terminologi yaitu :
1. Thread pengguna : Thread yang pengaturannya dilakukan oleh pustaka thread
pada tingkatan pengguna. Karena pustaka yang menyediakan fasilitas untuk
pembuatan dan penjadwalan thread, thread pengguna cepat dibuat dan
dikendalikan.
2. Thread Kernel : Thread yang didukung langsung oleh kernel. Pembuatan,
penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space.
Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat
jika dibandingkan dengan thread pengguna.
1. Model Many-to-One
7
Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread.
tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna
sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread
kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel
pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable
Threads.
2. Model One-to-One.
Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia
menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini
ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel.
Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan
kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam
sistem. Contoh: Windows NT/XP/2000, Linux, Solaris 9.
3. Model Many-to-Many.
Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel
yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini
mengizinkan developer membuat thread sebanyak yang ia mau tetapi
concurrency tidak dapat diperoleh karena hanya satu thread yang dapat
dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah
kernel thread yang bersangkutan dapat berjalan secara paralel pada
multiprosessor.
8
berikut, antara lain: new, ready, running, waiting, atau terminated. Setiap proses
direpresentasikan ada sistem operasi berdasarkan proses-control-block (PCB)-nya.
Sebuah proses, ketika sedang tidak dieksekusi, ditempatkan pada antrian yang
sama. Disini ada 2 kelas besar dari antrian dalam sebuah sistem operasi: permintaan
antrian I/O dan ready queue. Ready queue memuat semua proses yang siap untuk
dieksekusi dan yang sedang menunggu untuk dijalankan pada CPU. Setiap proses
direpresentasikan oleh sebuah PCB, dan PCB tersebut dapat digabungkan secara
bersamaan untuk mencatat sebuah ready queue. Penjadwalan Long-term adalah
pilihan dari proses-proses untuk diberi izin menjalankan CPU. Normalnya,
penjadualan long-term memiliki pengaruh yang sangat besar bagi penempatan
sumber, managemen memori. Penjadualan Short-term adalah pilihan dari satu proses
dari ready queue.
Proses-proses pada sistem dapat dieksekusi secara berkelanjutan. Disini ada
beberapa alasan mengapa proses tersebut dapat dieksekusi secara berkelanjutan:
pembagian informasi, penambahan kecepatan komputasi, modularitas, dan
kenyamanan atau kemudahan. Eksekusi secara berkelanjutan menyediakan sebuah
mekanisme bagi proses pembuatan dan penghapusan.
B. Operasi Proses
9
a. Pembuatan Proses
Suatu proses dapat membuat beberapa proses baru, melalui sistem
pemanggilan pembuatan proses, selama jalur eksekusi. Pembuatan proses
dinamakan induk proses, sebagaimana proses baru disebut anak dari proses
tersbut. Tiap proses baru tersebut dapat membuat proses lainnya, membentuk
suatu pohon proses.
Secara umum, suatu proses akan memerlukan sumber tertentu (waktu
CPU, memori, berkas, perangkat I/O) untuk menyelesaikan tugasnya. Ketika
suatu proses membuat sebuah subproses, sehingga sub-proses dapat mampu
untuk memperoleh sumbernya secara langsung dari sistem operasi. Induk
mungkin harus membatasi sumber diantara anaknya, atau induk dapat berbagi
sebagian sumber (seperti memori berkas) diantara beberapa dari anaknya.
Membatasi suatu anak proses menjadi subset sumber daya induknya
mencegah proses apa pun dari pengisian sistem yang telalu banyak dengan
menciptakan terlalu banyak sub-proses.
Sebagai tambahan pada berbagai sumber fisik dan logis bahwa suatu
proses diperoleh ketika telah dibuat, data pemula (masukan) dapat turut lewat
oleh induk proses sampai anak proses. Sebagai contoh, anggap suatu proses
yang fungsinya untuk menunjukkan status sebuah berkas, katakan F1, pada
layar terminal.
10
yang sedang dijalankan dalam sistem. Dengan kata lain, proses dikatakan
kooperatif bila proses dapat membagi datanya dengan proses lain. Ada empat
alasan untuk penyediaan sebuah lingkungan yang memperbolehkan terjadinya
proses kooperatif.
C. Definisi Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang
multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat
yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user,
pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil
keuntungan dari arsitektur multiprosesor. User level thread adalah thread yang
tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara
tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung
dan dikelola oleh kernel sistem operasi.
11
2. Managemen Thread Java
Java menyediakan beberapa fasilitas API untuk mengatur thread, diantaranya
adalah :
Suspend(): berfungsi untuk menunda eksekusi dari thread yang sedang
berjalan.
Sleep(): berfungsi untuk menempatkan thread yang sedang berjalan
untuk tidur dalam beberapa waktu.
Resume(): hasil eksekusi dari thread yang sedang ditunda.
Stop(): menghentikan eksekusi dari sebuah thread; sekali thread telah
dihentikan dia tidak akan memulainya lagi.
12
Thread yang sedang dieksekusi keluar dari status runnable misalnya
diblok atau berakhir.
Thread dengan prioritas yang lebih tinggi dari thread yang sedang
dieksekusi memasuki statusrunnable. Maka thread dengan prioritas
yang lebih rendah ditunda eksekusinya dan digantikan oleh thread
dengan prioritas lebih tinggi.
5. Prioritas Thread
Java Virtual Machine memilih thread yang runnable dengan prioritas tertinggi.
Semua thread java mempunyai prioritas dari 1 sampai 10. Prioritas tertinggi
10 dan berakhir dengan 1 sebagai prioritas terendah. Sedangkan prioritas
normal adalah 5.
Thread.MIN_PRIORITY = thread dengan prioritas terendah.
Thread.MAX_PRIORITY = thread dengan prioritas tertinggi.
Thread.NORM_PRIORITY = thread dengan prioritas normal.
13
Macam-macam model proses, yaitu :
1. Sequential Process / bergantian : Proses akan dikerjakan terurut dan
bergantian secara satu per satu dalam sebuah sistem operasi.
2. Multiprogramming : Proses akan dieksekusi secara bergantian dalam satu
satuan waktu dengan waktu yang sangat cepat sehingga akan tampak
bersamaan yang diijinkan oleh sistem operasi.
3. CPU Switching : Peralihan prosedur dalam mengolah satu proses ke
proses lainnya.
Berbagai status Dalam proses terbagi atas 5 bagian, yaitu :
1. New yaitu sebuah proses yang sedang dibuat
2. Running yaitu instruksi yang sedang dieksekusi
3. Waiting yaitu sebuah proses sedang menunggu untuk beberapa peristiwa
bisa terjadi
4. Ready yaitu sebuah proses sedang menunggu untuk ditugaskan ke
prosesor
5. Terminated yaitu sebuah proses telah selesai dieksekusi
14
CPU, informasi penjadwalan CPU, informasi pengelolaan memori, informasi
akunting, dan informasi status masukan/keluaran.
CPU dapat berpindah dari satu proses ke proses lainnya jika terjadi interupsi atau
system call. Saat berpindah dari satu proses ke proses lain, CPU menyimpan
informasi proses yang dihentikan ke PCB proses tersebut dan membaca PCB proses
yang akan dieksekusi. Hal ini disebut dengan peralihan konteks (context switch).
Peralihan konteks menyebabkan overhead, karena CPU tidak melakukan pekerjaan
yang berguna pada saat peralihan tersebut. Selain itu, waktu yang dibutuhkan untuk
melakukan peralihan konteks sangat bergantung pada perangkat keras (hardware).
15
Penjadwalan Penjadwalan terbagi menjadi tiga :
1. Penjadwalan jangka panjang ((job scheduler)) : Memilih proses yang harus
dibawa ke antrian yang sudah siap
2. Penjadwalan jangka pendek (CPU scheduler) : Menentukan proses mana yang
akan dieksekusi berikutnya dan mengalokasikan CPU untuk proses tersebut.
3. Penjadwalan jangka menengah : Seandainya ada proses yang bagiannya harus
disimpan sementara ke memori utama, maka pekerjaan ini termasuk tugas dari
penjadwal jangka menengah
D. Penciptaan Proses
Proses induk dan proses anak memiliki beberapa mekanisme dalam cara berbagi
sumber daya :
16
1. Induk dan anak-anak berbagi semua sumber daya
2. Anak berbagi sebagian sumber daya orangtuanya
3. Orang tua dan anak tidak berbagi sumber daya
Program Percabangan Proses secara Terpisah
int main()
{
pid_t pid;
/* fork another process */ pid = fork();
if (pid < 0) { /* error occurred */ fprintf(stderr, "Fork Failed"); exit(-1);
}
else if (pid == 0) { /* child process */ execlp("/bin/ls", "ls", NULL);
}
else { /* parent process */
/* parent will wait for the child to complete */ wait (NULL);
printf ("Child Complete"); exit(0);
}
}
Sebagai contoh, pohon proses pada Sistem Operasi Solaris dapat dilihat pada
gamabar dibawah yang dimulai dengan proses induk Sched dengan pid = 0.
E. Pemberhentian Proses
Induk dapat menghentikan eksekusi pada proses anak (batalkan) yaitu ketika :
1. Anak telah melampaui sumber daya yang dialokasikan
2. Tugas yang diberikan kepada anak tidak lagi diperlukan
17
3. Orangtua sedang keluar terdapat beberapa sistem operasi tidak
memungkinkan anak untuk melanjutkan jika induknya berhenti, maka
nantinya semua anak dihentikan. Hal itu disebut dengan cascading
termination.
F. Komunikasi antar proses
Proses yang saling bekerjasama dapat mempengaruhi atau dipengaruhi oleh
proses-proses lain, termasuk dalam berbagi data. Alasan proses bekerjasama antara
lain:
1. Berbagi informasi
2. Perhitungan yang cepat
3. Modularitas
4. Kenyamanan
18
2. Pertukaran pesan melalui operasi send/receive.
Komunikasi antar proses dapat dilakukan secara langsung ataupun tidak langsung.
Untuk dapat melakukan komunikasi langsung setiap proses harus menuliskan si
penerima atau pengirim pesan secara eksplisit seperti: send(P, pesan) untuk mengirim
pesan ke proses P, receive(Q, pesan) untuk menerima pesan dari proses Q.
Karakteristik dari hubungan komunikasi adalah sebagai berikut:
1. Hubungan dibangun secara otomatis.
2. Satu hubungan hanya diasosiasikan dengan tepat satu pasang proses yang
saling berkomunikasi.
3. Dalam setiap pasang proses hanya ada tepat satu hubungan.
4. Hubungan dapat berupa satu arah (uni-directional) atau dua arah (bi-
directional).
Komunikasi tidak langsung dapat dilakukan melalui mailbox. Sifat-sifat dari
komunikasi tidak langsung adalah:
1. Hubungan terbentuk hanya jika proses-proses berbagi mailbox yang sama.
2. Sebuah hubungan dapat diasosiasikan dengan banyak proses.
3. Setiap pasang proses dapat memiliki hubungan lebih dari satu.
4. Hubungan yang terbangun dapat berupa satu arah atau dua arah.
Operasi-operasi yang terjadi pada komunikasi tidak langsung adalah penciptaan
mailbox, kirim dan terima pesan melalui mailbox, dan hancurkan mailbox. Beberapa
alternative penyelesaian untuk masalah ini adalah
1. Setiap hubungan diasosiasikan hanya dengan paling banyak dua proses.
2. Hanya satu proses yang dapat mengeksekusi perintah receive pada satu waktu
yang sama.
3. Sistem operasi dapat menentukan secara acak siapa penerima pesan, kemudian
proses pengirim diberitahu siapa proses penerima pesannya.
19
1. Blocking (synchronous)
Pengirim pesan akan diblok sampai pesannya diterima (blocking send) dan
penerima pesan akan dihentikan sampai pesannya tersedia (blocking receive).
2. Non-blocking (asynchronous).
Non-blocking tidak akan menghentikan pengirim pesan setelah pesannya
dikirim (non-blocking send) dan tidak akan menghentikan penerima pesan
baik ada ataupun tidak ada pesan (non-blocking receive).
H. Thread
Thread adalah sebuah unit dasar dari penggunaan (utilization) CPU. Thread terdiri
dari identitas thread, PC, register, dan stack. Thread berbagi kode, data, dan sumber
daya sistem operasi lainnya, seperti berkas dan sinyal, dengan thread lain yang berada
dalam proses yang sama dalam sebuah sistem operasi.Manfaat thread antara lain :
1. Punya kemampuan (lebih responsif)
2. Berbagi sumber daya
3. Lebih Ekonomis
4. Skalabilitas
I. Multicore Programming
Manajemen banyak proses di komputer multicore (banyak pemproses di
dalamnya). Sistem seperti ini menempatkan tekanan pada programmer, tantangan
20
meliputi : pembagian aktivitas, keseimbangan, pemisahan data, ketergantungan data,
pengujian dan penelusuran.
21
2. Many-to-one
Many-to-one memetakan banyak threads pemakai ke sebuah thread kernel.
Sistem operasi yang mengadopsi mekanisme ini adalah Solaris Green Threads
dan GNU Portable Threads.
3. Many-to-many
Many-to-many dapat memetakan banyak thread pemakai ke banyak thread
kernel. Sistem operasi yang mengadopsi mekanisme ini adalah Windows
NT/2000 dengan ThreadFiber paketnya dan Solaris sebelum versi 9.
22
B. KELEBIHAN DAN KEKURANGAN BUKU
a) Kelebihan
I. Buku Pertama
1. Pada buku ini, penyajian materi Proses terbilang cukup lengkap, dengan
adanya definisi proses, lalu siklusnya yang disajikan dengan gambar
beserta pengertian PCB (Process Control Block)
2. Penggunaan Bahasa yang tidak baku, serta penyajian gambar yang
memudahkan pembaca mudah memahami konsep
23
3. Tiap contoh dan jenis proses dan thread disajikan gambar yang banyak
sehingga mampu membuat pemcaca mudah memahami materi dan tidak
monoton.
b) Kekurangan
I. Buku Pertama
1. Buku ini disajikan terlalu umum, tidak cocok untuk bagi programmer
advance, terbukti dari penyajian materi proses dan thread yang sangat
general dan tidak terlalu dalam
2. Tidak terdapat contoh syntax program pada buku ini
3. Cover buku yang kurang menarik serta penyajian gambar di tiap materi
yang hanya sedikit, mengurangi minat pembaca dengan alasa monoton
24
BAB III
PENUTUP
A. KESIMPULAN
Sebuah proses adalah sebuah peristiwa adanya sebuah proses yang dapat dieksekusi.
Sebagai sebuah eksekusi proses, maka hal tersebut membutuhkan perubahan keadaan.
Keadaan dari sebuah proses dapat didefinisikan oleh aktivitas proses tertentu tersebut. Setiap
proses mungkin menjadi satu dari beberapa state berikut, antara lain: new, ready, running,
waiting, atau terminated. Setiap proses direpresentasikan ada sistem operasi berdasarkan
proses-control-block (PCB)-nya.
Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan
dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses,
ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. User
level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel.
User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level
thread didukung dan dikelola oleh kernel sistem operasi.
B. REKOMENDASI
Setelah tim penyusun menganalisis dan membaca ketiga buku, penulis dapat
merekomendasikan buku pertama sangat cocok dibaca oleh para pemula yang baru mengenal
proses dan thread , karena pada buku tersebut materi yang disajikan cukup general mulai dari
pengertian proses dan thread , lalu pembagiannya proses dan thread seperti sikulu proses, lalu
model-model threading, dan lain-lain.
25
Sedangkan pada buku ketiga lebih cocok dibaca oleh para programmer yang cukup
berpengalaman karena penyajian materi juga cukup mendalam tidak banyak basa basi
penjelasan umum dan mudah dipahami karena tersedia juga conton sintax programnya secara
langsung agar dapat dipahami oleh pembaca.
DAFTAR PUSTAKA
Mair, Zaid Romegar (2018). Teori Dan Praktek Sistem Operasi. CV BUDI UTAMA : Jakarta.
978-602-475-682-6
26