TUGAS
MAKALAH
SISTEM OPERASI
PROSES
DAN THREAD
Oleh
:
IRFAN
Kelas
: A
14-650-023
FAKULTAS
TEKNIK INFORMATIKA
UNIVERSITAS
DAYANU IKHSANUDIN
BAUBAU
2015
KATA PENGANTAR
Puja
dan puji syukur kehadirat ALLAH SWT yang telah memberikan rahmat dan hidayah
serta inayah-Nya kepada kita. Sehingga dengan rahmat-Nya, Alhamdulillah makalah
Sistem Operasi yang berjudul “proses dan thread” ini dapat terselesaikan dangan
tepat waktu. Makalah ini saya buat untuk memenuhi tugas dari mata kuliah sistem
operasi.
Terima
kasih saya ucapkan kepada semua pihak
yang telah membantu dalam bentuk materi dan saran, serta dibuat dengan segala
masukan dan kekurangan yang telah diberikan pada saya sehingga makalah ini
dapat selesai.
Saya berharap
kepada semua pihak dengan segala kritik dan saran yang bersifat membangun,
sangat saya harapkan untuk dimasa yang akan datang agar bisa menyempurnakan
makalah ini, sebab makalah ini masih banyak kekurangannya.
DAFTAR ISI
Halaman
judul....................................................................................................................
I
Kata
pengantar..................................................................................................................
II
Daftar
isi............................................................................................................................
III
Bab
1
pendahuluan.............................................................................................................
1
1.1 latar
belakang....................................................................................................1
1.2 rumusan
masalah...............................................................................................1
1.3 tujuan
dan
manfaat............................................................................................
2
bab
2 pembahasan...............................................................................................................3
2.1
proses.................................................................................................................
3
A. pengertian
proses....................................................................................
3
B. keadaan
proses atau status proses...........................................................
3
C. proses
control block................................................................................
4
D. penjadwalan
proses.................................................................................
5
E. operasi
operasi pada proses.....................................................................
9
F. hubungan
antar proses.............................................................................11
2.2
thred....................................................................................................................
15
A. konsep
dasar thread.................................................................................
15
B.
Keuntungan
Multithreading....................................................................
15
C.
Model
Multithreading...............................................................................
16
D.
Pustaka thread.........................................................................................
18
Bab
3
penutup........................................................................................................................
19
3.1
kesimpulan............................................................................................................
19
3.2
saran.....................................................................................................................
19
3.3
daftar
pustaka......................................................................................................
19
BAB I
PENDAHULUAN
1.1 Latar
Belakang
Sistem operasi
merupakan suatu program yang memantau dan mengatur pemakaian sumber daya
computer serta menjembatani antara user/pengguna dengan perangkat keras
computer.Yang mana didalam sistem operasi tersebut memiliki banyak komponen –
komponen yang sangat berperan didalamnya. Salah satu komponen yang ada
didalamnya adalah proses dan thread (multithreading).
Hal tersebutlah
yang melatar belakangi pembuatan makalah ini, yaitu untuk mengupas isi yang
terkandung dalam proses dan thread (multithreading). Dengan tujuan mahasiswa
sedikit banyaknya dapat memahami apa itu proses dan apa itu thread pada sebuah
sistem operasi.
1.2 Rumusan
Masalah
Dalam penulisan
makalah ini membatasi permasalahan yang akan dibahas hanya pada :
1. Proses
Ø
Pengertian
Proses
Ø
Keadaan
Proses / Status Proses
Ø
Penjadwalan
Process
Ø
Operasi-operasi
pada proses
Ø
Hubungan
Antar Proses
2. Thread
Ø
Konsep
dasar thread
Ø
Keuntungan
Multithreading
Ø
Model
Multithreading
Ø
Pustaka
Thread
BAB II
PEMBAHASAN
MATERI
2.1 PROSES
A.
Pengertian
Proses
Proses
merupakan aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai
pada program counter dan isi dari daftar prosesor / procesor’s registry.
Umumnya suatu proses juga termasuk proses stuck, yang berisikan data temporer
(seperti parameter metoda, address yang kembali dan variable local) dan sebuah
data section yang berisikan variable global.
B.
Keadaan
Proses / Status 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 satu dari keadaan berikut ini :
Ø
New : Proses sedang
dikerjakan/dibuat.
Ø
Running : Intruksi sedang dikerjakan.
Ø
Waiting : Proses sedang menunggu sejumlah
kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah
tanda/signal).
Ø
Ready : Proses sedang menunggu untuk ditugaskan pada
sebuah prosesor.
Ø
Terminated : Proses telah selesai melaksanakan
tugasnya/mengeksekusi.
Suatu
prosesor hanya dapat menjalankan satu proses saja, namun banyak proses dapat
ready atau waiting. Diagram proses yang menggambarkan keadaan tersebut adalah
sebagai berikut :
C.
Process
Control Block
Setiap
proses dalam system operasi digambarkan oleh sebuah Process Control Block
(PCB), yang disebut juga dengan Control Block. PCB berfungsi sebagai tempat
menyimpan/gudang informasi apapun yang berfariasi dari proses ke proses.
PCB
berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses
yang spesifik, termasuk hal-hal berikut :
Ø
Status
proses
Status
proses merupakan keadaan yang memungkinkan terjadinya aktivitas new, ready,
running, waiting, halted,terminated dan banyak juga yang lainya.
Ø
Program
counter
Counter mengidentifikasikan address dari perintah
selanjutnya untuk dijalankan dalam proses ini.
Ø
CPU
register
Jumlah dan jenis register memiliki banyak fariasinya,
tergantung pada rancangan komputernya. Register tersebut termasuk accumulator,
index register, stack pointer, general popuses register, kode-kode informasi
dalam bentuk apapun. Besertaan dengan program counter, keadaan/status informasi
harus disimpan ketika terjadi gangguan, dan memungkinkan proses tersebut
berjalan/bekerja dengan benar setelahnya.
Ø
Informasi
manajemen memori
Suatu informasi sebagai nilai dari dasar dan batas
register, tabel page/halaman, atau tabel segmen yang tergantung pada system
memori yang digunakan oleh system operasi.
Ø
Informasi
pencatatan
Informasi yang menyatakan jumlah dari CPU dan waktu
real yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan
lainya.
Ø
Informasi
status I/O
Informasi
ini merupakan daftar dari perangkat I/O yang digunakan dalam suatu proses.
D.
Penjadwalan
Process
Penjadwalan
proses merupakan pembagian waktu yang dilakukan agar suatu proses dapat
berjalan sepanjang waktu dan penggunaan CPU menjadi lebih maksimal. Tujuan dari
pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu
sering dilakukan sehingga pengguna dapat berinteraksi dengan program lain
disaat CPU sedang bekerja.
Ø
Penjadwalan
Antrian
Setiap proses yang memasuki sebuah sistem akan
diletakan pada antrian job, yang terdiri dari seluruh proses dalam sistem.
Meliputi proses yang hidup pada memori
utama, siap dan dan menunggu untuk dieksekusi yang disimpan dalam sebuah daftar
antrian yang disebut ready queue. Dalam sebuah header queue berisikan penunjuk
pada PCB-PCB awal dan akhir, dan setiap PCB memiliki pointer field ysng
menunjuksn proses dalam ready queue.
Ketika sebuah proses mengalokasikan CPU, proses
tersebut berjalan lalu berhenti, di intrupsi, atau menunggu suatu kejadian
tertentu, seperti penyelesaian suatu permintaan I/O. Daftar dari proses yang
menunggu untuk peralatan I/O tertentu disebut dengan device queue. Namun
peralatan memilikai divece queuenya sendiri. Berikut gambar device queue :
Representasi umum untuk suatu diskusi mengenai penjadwalan
proses adalah diagram antrian, seperti gambar berikut:
Setiap kotak segi empat menunjukan sebuah antrian.Dua tipe antrian yang
menunjukan antrian yang siap dan suatu perangkat device queue.Lingkaran
menunuukan sumber-sumber yang melayani sistem. Satu dari beberapa kejadian
dapat terjadi seperti berikut :
§
Proses
dapat mengeluarkan permintaan I/O dan diletakan dalam antrian I/O.
§
Proses
dapat membuka subproses yang baru dan menunggu terminasinya sendiri.
§
Proses
dapat diganti secara paksa dari CPU, sebagai hasil dari intrupsi dan diletakan
kembali dalam ready queue.
Dalam dua
kasus pertama proses akhirnya berhenti dari waiting state menjadi ready state
dan diletakan kembali kedalam ready queue.
Ø
Scheduler
Sebuah proses dapat mengeksekusi hanya untuk bebereapa
milidetik debelum meminta permintaan I/O.
penjadwalan shorter mengeksekusi paling sedikit sekali dalam 100
milidetik. Penjadwalan longterm memiliki interval yang lebih panjang antara
eksekusi, sehingga memakai waktu lebih lama untuk menentukan proses mana yang
harus dipilih untuk dieksekusi.
Secara umum proses dapat dijelaskan sebagai I/O bound
dan CPU bound. Proses I/O bound adalah salah satu proses yang membuang waktunya
untuk mengerjakan I/O dari pada melakukan perhitungan. Sedangkan proses CPU
bound adalah salah satu proses yang jarang menghasilkan permintaan I/O dan
menggunakan lebih banyak waktunya untuk melakukan komputasi daripada yang
digunakan oleh proses I/O bound.
Jika seluruh proses adalah I/O bound, ready queue
hampir akan selalu kosong dan penjadwalan shorter akan memiliki sedikit tugas.
Jika seluruh proses adalah CPU bound, I/O waiting queue hampir akan selalu
kosong, peralatan tidak terpakai dan sistem akan menjadi tidak seimbang. Sistem
yang memiliki kinerja yang baik adalah yang mengkombinasikan proses I/O bound
dan proses CPU bound.
Penjadwal
medium term memiliki tujuan untuk memindahkan proses dari memori (dari
pengisian aktif dari CPU) dan untuk mengurangi derajat dari multi programming.
Kemudian proses dapat diperkenalkan kedalam memori dan eksekusinya dapat
dilanjutkan dimana proses tersebut diangkat. Skema ini disebut swapping. Proses
di swapped out dan diswapped in oleh penjadwal jangka menengah untuk
meningkatkan pencampuran proses atau suatu perubahan dalam persyaratan memori
untuk dibebaskan.
Ø
Switch
Context
Alih konteks atau switch context adalah kegiatan
mengganti CPU ke proses lain dan kemudian beralih ke proses yang baru yang
memerlukan penyimpanan suatu keadaan proses lama (state of old process). Ketika alih konteks terjadi
, karnel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks
yang telah disimpan dari proses baru yang telah terjadwal untuk berjalan.
Pergantian waktu konteks adalah murni overhead, karena sistem melakukan
pekerjaan yang tidak perlu.Kecepatanya bervariasi dari masing-masing mesin,
bergantung pada kecepatan memori, jumlah register yang harus dicopy, dan
keberadaan instruksi khusus (seperti instruksi tunggal untuk mengisi atau
menyimpan seluruh register).Tingkat kecepatan biasanya berkisar antara 1 – 1000
mikro detik.
E.
Operasi-operasi
pada proses
Proses dalam
sistem dapat dieksekusi secara bersamaan, proses tersebut harus dibuat dan
dihapus secara dinamis. Maka sistem operasi harus menyediakan suatu mekanisme
untuk pembuatan proses dari terminasi proses.
a.
Pembuatan
Proses
Suatu proses dapat membuat beberapa proses baru
melalui sistem pemanggilan pembuatan proses selama jalur eksekusi. Pembuatan
proses dinamakan induk proses dan proses baru disebut anak proses dari proses
tersebut. Secara umum suatu proses memerlukan sumber tertentu (waktu CPU,
memori, berkas, perangkat I/O) untuk menyelesaikan tugasnya.
Ketika suatu proses membuat sebuah subproses, sehingga
subproses mampu untuk memperoleh sumbernya secara langsung dari sistem operasi.
Induk operasi harus membatasi sumber dan berbagi sumber (seperti memori berkas)
diantara beberapa anaknya. Membatasi suatu anak proses menjadi subset sumber
daya induknya mencegah proses apapun dari pengisian sistem yang terlalu banyak
dengan menciptakan terlalu banyak subsistem.
Ketika suatu proses membuat proses baru, ada dua
kemungkinan yang terjadi dalam term eksekusi :
Ø
Induk
terus menerus mengeksekusi secara bersama-sama dengan anaknya.
Ø
Induk
menunggu hingga sebagian dari anaknya telah diakhiri/terminasi.
Selain itu juga
ada dua kemungkinan yang terjadi dalam term dari address space pada proses
baru, yaitu:
Ø
Anak
proses adalah duplikat dari induk proses.
Ø
Anak
proses memiliki program yang terisikan didalamnya.
b.
Terminasi
Proses
Terminasi proses merupakan sebuah proses mengakhiri
proses ketika proses tersebut selesai mengeksekusi pernyataan akhirnya dan
meminta sistem operasi untuk menghapusnya dengan menggunakan sistem pemanggilan
exit. Pada saat itu, proses dapat mengembalikan data (keluaran) pada induk
prosesnya (melalui sistem pemanggilan wait). Seluruh sumber-sumber dari proses
termasuk memori fisik dan virtual membuka berkas dan penyimpanan I/O di
tempatkan kembali oleh sistem operasi. Suatu proses dapat menyebabkan terminasi
dari proses ini melalui sistem pemanggilan yang tepat (contohnya abort).
Biasanya hal tersebut hanya dapat dipanggil oleh induk proses tersebut yang
akan diterminasi.
Induk proses dapat menterminasi/mengakhiri satu dari
anaknya untuk beberapa alas an, seperti :
Ø
Anak
telah melampaui kegunaanya atas sebagian sumber yang telah diperuntukan
untuknya.
Ø
Pekerjaan
yang ditugaskan pada anak telah keluar dan sistem operasi tidak memperbolehkan
sebuah anak untuk meneruskan jika induknya berakhir.
F.
Hubungan
Antar Proses
Ada sebab beberapa proses dapat saling berkomunikasi
dan bekerja sama :
a.
Proses
yang kooperatif
Proses yang bersifat simultan (concurrent) dijalankan
pada sistem operasi dapat dibedakan menjadi dua, yaitu proses independent dan
proses kooperatif. Suatu proses dikatakan independent apabila proses tersebut tidak
dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada
sistem. Sedangkan proses kooperatif adalah proses yang dapat dipengaruhi atau
pun terpengaruhi oleh proses lain yang sedang dijalankan pada sistem. Ada empat
alasan untuk penyediaan sebuah lingkungan yang dibolehkan terjadi proses
kooperatif, yaitu:
Ø
Pembagian
informasi, apabila beberapa pengguna tertarik pada bagian informasi yang sama
(contohnya berkas bersama) dan harus tersedia tempat yang memungkinkan akses
terus menerus ke tipe dari sumber-sumber tersebut.
Ø
Kecepatan
penghitungan/komputasi, supaya sebuah tugas dapat berjalan lebih cepat kita
harus membaginya kedalam subtask. Setiap bagian subtask akan dijalankan secara
parallel dengan yang lainya. Dan peningkatan kecepatan dapat dilakukan jika
computer tersebut memiliki elemen pemrosesan ganda (seperti CPU atau jalur
I/O).
Ø
Modularitas,
untuk membangun sebuah sistem pada sebuah model modular-modular, fungsi sistem
perlu dibagi menjadi beberapa proses atau threads.
Ø
Kenyamanan,
pengguna memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu
waktu, seperti mengedit, mencetak, dan mengcompile secara parallel.
b.
Komunikasi
Proses dalam Sistem
Untuk berkomunikasi dengan yang lain perlu diediakan
sebuah alat-alat proses kooperatif yaitu sebuah komunikasi dalam proses
(IPC=Inter Process Comunication). IPC menyediakan mekanisme untuk mengizinkan
proses-proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa
berbagi ruang alamat yang sama. IPC merupakan penyedia layanan terbaik dengan
menggunakan sebuah sistem penyampaian pesan, dan sistem-sistem pesan dapat
diberikan dalam banyak cara :
Ø
Sistem
penyampaian pesan
Sistem pesan berfungsi untuk mempperbolehkan
komunikasi satu dengan yang lain tanpa menggunakan pembagian data. Fasilitas
IPC menyediakan paling sedikit dua operasi yaitu kirim pesan dan terima pesan.
Berikut ada beberapa metode untuk mengimplementasikan
sebuah jaringan dan operasi pengiriman/penerimaan secara logika :
§
Komunikasi
langsung atau tidak langsung.
§
Komunikasi
secara simetris/asimetris.
§
Buffer
otomatis atau eksplisit.
§
Pengiriman
berdasarkan salinan atau referensi.
§
Pesan
berukuran pasti dan variable.
Ø
Komunikasi
Langsung
Setiap proses yang ingin dikomunikasikan harus
memiliki nama yang bersifat eksplisit baik penerima atau pengirim dari
komunikasi tersebut. Pengiriman dan penerimaan pesan secara primitive dapat
dijabarkan sebagai berikut :
§
Send
(P,message), mengirim sebuah pesan ke proses P.
§
Receive
(Q,message), menerima sebuah pesan dari proses Q.
Ada beberapa sifat jaringan komunikasi diantaranya
adalah:
§
Sebuah
jaringan yang didirikan secara otomatis diantara setiap pasang dari proses yang
ingin dikomunikasikan. Proses tersebut harus mengetahui identitas dari semua
yang akan dikomunikasikan.
§
Sebuah
jaringan terdiri dari penggabungan dua buah proses.
§
Diantara
setiap pesan dari proses terdapat tempat sebuah jaringan.
Ø
Komunikasi
tidak langsung
Dengan komunikasi tidak langsung, pesan akan
dikirimkan melalui mailbox (kotak surat) atau terminal-terminal, sebuah mailbox
secara abstrak dapat dilihat sebagai sebuah objek dalam sebuah pesan yang dapat
ditempatkan dari proses dan dari setiap pesan yang bisa dipindahkan. Setiap mailbox memiliki identitas yang unik
dan dapat berkomunikasi dengan beberapa pesan lain melalui nomor dari mailbox
yang berbeda. Pengirim dan penerima dapat dijabarkan sebagai berikut :
§
Send
(A,message), mengirim pesan ke mailbox A.
§
Receive
(A,message), menerima pesan dari mailbox A.
Ada beberapa sifat yang dimiliki link komunikasi,
diantaranya :
§
Sebuah
link dibangun diantara sepasang proses dimana kedua proses tersebut membagi
mailbox.
§
Sebuah
link mungkin dapat berasosiasi dengan lebih dari dua proses.
§
Diantara
setiap pasang proses komunikasi terdapat link yang berbeda-beda, dimana setiap
link berhubungan pasa satu mailbox.
Jika mailbox dimiliki oleh proses, maka mendefinisikan
pemilik sebagai yang dapat menerima pesan melalui mailbox. Dan pengguna sebagai
yang dapat mengirim pesan ke mailbox.
Sistem operasi memiliki mekanisme yang mengizinkan proses untuk melakukan
hal-hal berikut :
§
Membuat
mailbox baru.
§
Mengirim
dan menerima pesan melalui mailbox.
§
Menghapus
mailbox.
Ø
Sinkronisasi
Komunikasi antar proses membutuhkan place by calls
untuk mengirim dan menerima data primitive. Yang dikenal sebagai sinkron atau
asinkron adalah sebagai berikut :
§
Pengiriman
yang diblock, proses pengiriman diblock sampai pesan diterima oleh proses
penerima (receiving process) atau oleh mailbox.
§
Pengirim
yang tidak diblock, proses pengiriman pesan dan mengkalkulasi operasi.
§
Penerimaan
yang diblock, penerima memblock sampai pesan tersedia.
§
Penerimaan
yang tidak diblock, penerima mengembalikan pesan valid atau null.
Ø
Buffering
Meskipun komunikasi itu langsung atau tidak langsung,
penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya
terdapat tiga jalan dimana antrian tersebut diimplementasikan :
§
Kapasitas
nol; antrian mempunyai panjang maksimum 0,dan link tidak mempunyai penungguan
pesan (message waiting). Sehingga pengirim harus memblock sampai penerima
menerima pesan.
§
Kapasitas
terbatas; antrian mempunyai panjang yang telah ditentukan, paling banyak n
pesan dapat dimasukan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan
baru akan menimpa dan pengirim dapat melanjutkan eksekusi tanpa menunggu. Jika
link penuh maka pengirim harus memblock sampai terdapat ruang pada antrian.
§
Kapasitas
tak terbatas; antrian mempunyai batas yang tak hingga, maka semua pesan dapat
menunggu dan pengirim tidak akan pernah diblock.
2.2 THREAD
A.
Konsep
dasar thread
Thread disebut
juga sebagai proses ringan (lightweight) yang merupakan unit dasar dari
utilitas CPU, yang mana didalamnya terdapat id trhead, program counter,
register, dan stuck. Thread saling berbagi bagian program, bagian data, dan
sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang
sama disebut dengan multithreading. Dengan banyak control thread proses dapat
melakukan lebih dari satu pekerjaan dalam waktu yang sama.
B.
Keuntungan
Multithreading
a.
Responsive
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.
b.
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.
c.
Ekonomis
Pembuatan
sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya
adalah dengan menggunakan thread,
karena thread membagi memori
dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan contextswitching thread.
d.
Utilisasi
arsitektur multiprosesor
Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang
berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal
ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi pada
kenyataanya hanya satu thread
yang dijalankan CPU pada satu-satuan waktu.
Ø
User
Threads
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.
Ø
Kernel
Threads
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.
C.
Model
Multithreading
a.
Model
Many to One
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.
b.
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.
c.
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.
D.
Pustaka
Thread
Pustaka Thread
atau yang lebih familiar dikenal dengan Thread
Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Ada dua cara dalam
mengimplementasikan pustaka thread:
Ø
Menyediakan API dalam level pengguna tanpa dukungan
dari kernel sehingga pemanggilan fungsi tidak melalui system call. Jadi, jika kita memanggil fungsi yang sudah ada di
pustaka, maka akan menghasilkan pemanggilan fungsi call yang sifatnya lokal dan bukan sistem call.
Ø
Menyediakan API di level kernel yang didukung secara
langsung oleh sistem operasi. Pemanggilan fungsi call akan melibatkan sistem call ke kernel.
Ada tiga
pustaka thread yang sering
digunakan saat ini, yaitu: POSIX Pthreads, Java, dan Win32. Implementasi POSIX
standard dapat dengan cara user
level dan kernel level, sedangkan Win32 adalah kernel level. Java API thread dapat diimplementasikan oleh
Pthreads atau Win32
BAB III
PENUTUP
3.1 Kesimpulan
A. Proses
merupakan aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai
pada program counter dan isi dari daftar prosesor / procesor’s registry.
B. Tiap
proses mungkin satu dari keadaan berikut ini :
·
New
·
Running
·
Waiting
·
Ready
·
Terminated
C. disebut
juga sebagai proses ringan (lightweight) yang merupakan unit dasar dari
utilitas CPU, yang mana didalamnya terdapat id trhead, program counter,
register, dan stuck.
3.2 Saran
Setelah
makalah ini ditulis hendaknya dosen yang bersangkutan dapat menjalaskan ataupun
menambahkan materi yang berkaitan dengan makalah ini kepada mahasiswa. Agar
mahasiswa dapat lebih memahami materi pembahasan tentang proses dan thread.
3.3
daftar pustaka