Proses adalah program yang sedang berjalan. Proses meliputi kode program, status saat ini, dan informasi lainnya seperti nilai register prosesor. Suatu proses diwakili oleh Process Control Block yang berisi informasi tentang proses tersebut seperti status, register CPU, dan informasi manajemen memori dan I/O. Sistem operasi modern mendukung eksekusi multithread dimana satu proses dapat melakukan beberapa tugas sekaligus.
Manajemen proses mencakup konsep utama sistem operasi seperti multiprogramming, pseudoparallelism, dan multiprocessing. Status proses termasuk new, running, waiting, ready, dan terminated. Proses control block menyimpan informasi tentang proses seperti program counter, register CPU, informasi memori, dan status I/O. Sistem operasi menjadwalkan proses dan melakukan operasi seperti penciptaan, terminasi, penundaan, dan pengubahan prioritas proses.
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfElmitiodatacp
Sistem operasi merupakan penghubung antara pengguna dan perangkat keras komputer. Makalah ini membahas proses penciptaan proses sistem operasi, termasuk penjadwalan proses, penghentian proses, dan proses switching.
Dokumen tersebut membahas tentang manajemen proses di sistem operasi. Secara singkat, proses adalah program yang sedang berjalan dan mencakup aktivitas saat ini, sementara program adalah entitas pasif yang tersimpan di disk. Sistem operasi mengelola proses dengan mencatat informasi tentangnya di PCB dan menentukan urutan eksekusi berdasarkan prioritas. Ada berbagai algoritma penjadwalan proses untuk mencapai efisiensi dan keadilan.
Proses adalah program yang sedang berjalan. Proses meliputi kode program, status saat ini, dan informasi lainnya seperti nilai register prosesor. Suatu proses diwakili oleh Process Control Block yang berisi informasi tentang proses tersebut seperti status, register CPU, dan informasi manajemen memori dan I/O. Sistem operasi modern mendukung eksekusi multithread dimana satu proses dapat melakukan beberapa tugas sekaligus.
Manajemen proses mencakup konsep utama sistem operasi seperti multiprogramming, pseudoparallelism, dan multiprocessing. Status proses termasuk new, running, waiting, ready, dan terminated. Proses control block menyimpan informasi tentang proses seperti program counter, register CPU, informasi memori, dan status I/O. Sistem operasi menjadwalkan proses dan melakukan operasi seperti penciptaan, terminasi, penundaan, dan pengubahan prioritas proses.
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfElmitiodatacp
Sistem operasi merupakan penghubung antara pengguna dan perangkat keras komputer. Makalah ini membahas proses penciptaan proses sistem operasi, termasuk penjadwalan proses, penghentian proses, dan proses switching.
Dokumen tersebut membahas tentang manajemen proses di sistem operasi. Secara singkat, proses adalah program yang sedang berjalan dan mencakup aktivitas saat ini, sementara program adalah entitas pasif yang tersimpan di disk. Sistem operasi mengelola proses dengan mencatat informasi tentangnya di PCB dan menentukan urutan eksekusi berdasarkan prioritas. Ada berbagai algoritma penjadwalan proses untuk mencapai efisiensi dan keadilan.
Proses adalah program yang sedang dieksekusi oleh sistem operasi. Sistem operasi mengelola sumber daya dan menjadwalkan proses-proses. Ada beberapa jenis manajemen proses seperti multiprogramming, multiprocessing, dan distributed processing. Sistem operasi menggunakan Program Control Block untuk menyimpan informasi setiap proses seperti identitas, status, dan kontrol proses.
Sistem operasi mengelola proses dan memungkinkan komunikasi antar proses. Proses dapat berpindah antara status running, ready, waiting, dan blocked saat dieksekusi, menunggu sumber daya, atau menunggu peristiwa."
Dokumen tersebut membahas tentang proses-proses sistem operasi, meliputi definisi proses, sumber daya yang dibutuhkan proses, hubungan antara proses dan thread, keadaan proses, model proses dua dan lima keadaan, struktur pengontrolan proses berupa process control block, serta proses switching dan context switching.
Dokumen tersebut membahas tentang teknik penjadwalan prosesor pada sistem operasi komputer. Terdapat penjelasan mengenai istilah-istilah terkait penjadwalan prosesor seperti pekerjaan, tugas, proses, algoritma penjadwalan, dan jenis-jenis penjadwalan prosesor seperti penjadwalan satu tingkat dan multi tingkat. Algoritma penjadwalan yang dijelaskan antara lain PTPD, PTD, PTDP, dan RPTD."
Dokumen tersebut membahas konsep proses dalam sistem operasi, termasuk definisi proses, status proses, proses control block, konsep fork dan terminasi proses. Proses didefinisikan sebagai program yang sedang dieksekusi dan memiliki status running, ready, atau waiting. Setiap proses direpresentasikan oleh proses control block yang berisi informasi tentang status, register, dan sumber daya proses. Sistem operasi UNIX menggunakan system call fork untuk membuat proses baru dan exec untuk mengganti program proses.
Proses adalah program yang sedang dieksekusi oleh sistem operasi. Sistem operasi mengelola sumber daya dan menjadwalkan proses-proses. Ada beberapa jenis manajemen proses seperti multiprogramming, multiprocessing, dan distributed processing. Sistem operasi menggunakan Program Control Block untuk menyimpan informasi setiap proses seperti identitas, status, dan kontrol proses.
Sistem operasi mengelola proses dan memungkinkan komunikasi antar proses. Proses dapat berpindah antara status running, ready, waiting, dan blocked saat dieksekusi, menunggu sumber daya, atau menunggu peristiwa."
Dokumen tersebut membahas tentang proses-proses sistem operasi, meliputi definisi proses, sumber daya yang dibutuhkan proses, hubungan antara proses dan thread, keadaan proses, model proses dua dan lima keadaan, struktur pengontrolan proses berupa process control block, serta proses switching dan context switching.
Dokumen tersebut membahas tentang teknik penjadwalan prosesor pada sistem operasi komputer. Terdapat penjelasan mengenai istilah-istilah terkait penjadwalan prosesor seperti pekerjaan, tugas, proses, algoritma penjadwalan, dan jenis-jenis penjadwalan prosesor seperti penjadwalan satu tingkat dan multi tingkat. Algoritma penjadwalan yang dijelaskan antara lain PTPD, PTD, PTDP, dan RPTD."
Dokumen tersebut membahas konsep proses dalam sistem operasi, termasuk definisi proses, status proses, proses control block, konsep fork dan terminasi proses. Proses didefinisikan sebagai program yang sedang dieksekusi dan memiliki status running, ready, atau waiting. Setiap proses direpresentasikan oleh proses control block yang berisi informasi tentang status, register, dan sumber daya proses. Sistem operasi UNIX menggunakan system call fork untuk membuat proses baru dan exec untuk mengganti program proses.
2. ⚫ Konsep Proses
⚫ Definisi Proses
⚫ Status Proses
⚫ Process Control Block (PCB)
⚫ Konsep Penjadwalan
⚫ Queue Scheduling
⚫ Schedulers
⚫ Context switch
⚫ Operasi Pada Proses
⚫ Pembuatan Proses
⚫ Penghentian Proses
⚫ Thread
Topik:
3. ⚫Proses adalah program dalam
eksekusi.
⚫Proses adalah unit kerja terkecil
yang secara individu memiliki
sumber daya dan dijadwalkan
oleh sistem operasi.
⚫Istilah Proses dapat berbeda
pada beberapa buku referensi
yakni : Job/task/process
Konsep Proses
4. ⚫ Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode
program, yang terkadang disebut text section.
⚫ Proses juga mencakup program counter, yaitu sebuah stack untuk
menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan
register.
⚫ Sebuah proses pada umumnya juga memiliki sebuah stack yang
berisikan data-data yang dibutuhkan selama proses dieksekusi seperti
parameter metoda, alamat return dan variabel lokal, dan sebuah data
section yang menyimpan variabel global.
5. Proses = Program
Program itu sendiri bukanlah sebuah proses, suatu program adalah satu entitas pasif
menunjukkan benda/objek(noun), seperti isi dari sebuah file yang disimpan didalam media
penyimpanan (memory). program===lines of code
Sedangkan sebuah proses dalam suatu entitas aktif dalam bentuk suatu kegiatan atau kata
kerja (verb), dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang
akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar sebuah proses
dapat dieksekusi.===program in execution
Contoh:
Program : a program in java language, application, file or others
Process: compile, load to memory,out/send to disk
6. Untuk mempermudah membedakan program dengan proses, kita akan menggunakan
analogi yang diberikan oleh Tanenbaum.
⚫ Misalnya ada seorang tukang kue yang ingin membuat kue ulang tahun untuk
anaknya. Tukang kue tersebut memiliki resep kue ulang tahun dan bahan-bahan
yang dibutuhkan untuk membuat kue ulang tahun di dapurnya seperti: tepung
terigu, telur, gula, bubuk vanila dan bahanbahan lainnya.
⚫ Dalam analogi ini, resep kue ulang tahun adalah sebuah program, si tukang kue
tersebut adala prosesor (CPU), dan bahan-bahan untuk membuat kue tersebut
adalah data input.
⚫ Sedangkan proses-nya adalah kegiatan sang tukang kue untuk membaca resep,
mengolah bahan, dan memanggang kue tersebut.
7. ⚫ Pada Windows, dapat dilihat di Task Manager
⚫ Pada Linux, dapat menggunakan syntax: ps, top
Notes :
8. ⚫Status dari proses akan berubah pada saat-saat proses dijalankan
⚫Status dari sebuah proses merupakan suatu keadaan/ aktivitas yang
sedang dilakukan oleh proses itu sendiri.
⚫Hanya satu proses yang dapat berjalan pada prosesor manapun pada
satu waktu, tetapi banyak proses yang dapat berstatus ready atau
waiting
Status Proses
10. ⚫NEW
⚫Status yang dimiliki pada saat proses baru saja dibuat
⚫RUNNING
⚫Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses
dieksekusi
⚫Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain
⚫WAITING
⚫Status yang dimiliki pada saat proses menunggu suatu event, seperti
penyelesaian I/O atau menerima signal
Status Proses
11. ⚫READY
⚫Status yang dimiliki pada saat proses siap dieksekusi oleh processor
⚫Proses menunggu jatah waktu dari processor
⚫TERMINATED
⚫Status yang dimiliki pada saat proses telah selesai dieksekusi
Status Proses
12. ⚫ Masih dalam tahap inisiasi oleh prosedur
⚫ Meliputi alokasi memory utama untuk proses
⚫ Pengisian tabel proses
⚫ Pembuatan struktur data kendali untuk menyimpan informasi dan status
proses
⚫ Belum siap untuk di eksekusi
⚫ Kondisi yang memicu proses new
⚫ Login ke sistem operasi
⚫ Permintaaan eksekusi program
⚫ Aplikasi yang menciptakan proses anak
⚫ Penciptaan proses baru dari eksekusi batch
New
13. Apabila proses sedang berstatus running, maka Ada 3 kemungkinan yang akan
terjadi:
1. Jika program telah selesai dieksekusi
Maka status proses berubah menjadi TERMINATED
2. Jika waktu yang disediakan oleh OS untuk proses tersebut habis
maka akan terjadi interrupt dan proses berstatus READY
1. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request I/O)
maka proses tersebut akan menunggu event tersebut dan proses berstatus
WAITING
Running
14. ⚫ Proses tersebut sudah dihentikan eksekusinya
⚫ Proses telah selesai secara normal
⚫ Batas waktu total sudah terlewati
⚫ Kekurangan ruang memory
⚫ Pelanggaran batas memory
⚫ Pelanggaran proteksi berkas
⚫ Kesalahan aritmatika
⚫ Waktu tunggu melebihi batas
⚫ Terjadi kegagalan I/O
⚫ Instruksi tidak benar
⚫ Terjadi pemakaian instruksi yang tidak di izinkan
Terminated
15. ⚫ Sebuah proses direpresentasikan pada sistem operasi dalam bentuk Process
Control Block, PCB disebut juga sebagai deskriptor proses.
⚫ Setiap PCB harus memiliki identitas unik, untuk membedakannya dengan
prosesproses lain yang berjalan pada sistem yang sama.
⚫ Informasi pada PCB antara lain:
⚫Keadaan proses (process state)
⚫Program counter
⚫ Nilai register CPU
⚫Informasi penjadwalan
⚫Informasi manajemen memori
⚫Informasi status I/O
⚫Informasi akunting
Process Control Block (PCB)
16. ⚫PCB hanya berfungsi sebagai tempat penyimpanan
informasi yang dapat bervariasi dari proses satu
dengan proses yang lainnya
Process Control Block (PCB)
17. Penjelasan Informasi yang terdapat di PCB
⚫ Status Proses
⚫Status yang mungkin dimiliki oleh setiap proses : new, ready, running, waiting, terminated
⚫ Program Counter
⚫Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut
⚫ CPU Register
⚫Accumulator, register index, stack pointer, dan register serbaguna
⚫ Informasi Penjadwalan CPU
⚫Berisi prioritas dari proses, pointer ke antrian penjadwalan, parameter penjadwalan
lainnya
Aspek Penentu Prioritas Proses : batas waktu, penggunaan memori, banyaknya file yang
dibuka, perbandingan I/O Burst dan CPU Burst
Process Control Block (PCB)
18. ⚫ 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 yang digunakan oleh sistem operasi
⚫ Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di
gunakan pada proses ini, suatu daftar open berkas dan banyak lagi.
⚫ Informasi Akunting: berisi jumlah CPU dan real time yang digunakan, time
limits, jumlah job/proses dll
PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apa
pun yang dapat bervariasi dari proses ke proses.
20. ⚫Konsep dari Multiprogramming :
⚫Suatu proses akan menggunakan CPU sampai proses tersebut dalam status
“wait” (misal : meminta I/O) selesai
⚫Pada saat “wait”, CPU akan menganggur, untuk mengatasi hal ini maka CPU
dialihkan ke proses lain yang berstatus “ready”
⚫Tujuan dari Multiprogramming adalah :
⚫Untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi
waktu yang digunakan oleh CPU untuk memperkecil waktu idle
Konsep Penjadwalan
23. ⚫Queue Scheduling diklasifikasikan dalam 3 kategori :
⚫Job Queue
⚫Antrian berisi semua proses yang masuk dalam sistem
⚫Ready Queue
⚫Proses yang berada pada memori utama, siap dan menunggu untuk
dieksekusi
⚫Device Queue
⚫Deretan proses yang sedang menunggu peralatan I/O
⚫Tiap peralatan I/O memiliki device queue
1. Queue Scheduling
24. ⚫Setiap antrian disimpan
sebagai linked list dan berisi
pointer awal dan akhir PCB.
⚫Tiap PCB memiliki suatu
pointer menunjuk ke proses
selanjutnya pada antrian
1. Queue Scheduling
25. ⚫Proses baru mula-mula diletakkan di ready queue dan menunggu
sampai dipilih untuk dieksekusi (dispatched) CPU
⚫Ketika proses dialokasikan CPU dan dieksekusi, terjadi satu dari event
berikut :
⚫Proses meminta I/O dan kemudian ditempatkan pada I/O queue
⚫Proses membuat sub proses baru dan menunggu diterminasi
⚫Proses dihapus dari CPU karena diinterrupt dan dikembalikan ke ready
queue
1. Queue Scheduling
27. Bagaimana schedulers memilih proses atau program (decision)?
⚫Ada 3 tipe Scheduler :
⚫Long Term Scheduler (Job Scheduler)
⚫Short Term Scheduler (CPU Scheduler)
⚫Medium Term Scheduler
2. Scheduler
28. Long Term Scheduler (Job Scheduler)
⚫Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready
queue dan membawanya ke memori untuk dieksekusi
⚫Long Term Scheduler mengeksekusi lebih jarang, dibutuhkan beberapa
menit untuk pembuatan proses baru dalam sistem
⚫Long Term Scheduler: mengontrol jumlah proses dalam memori (degree
of multiprogramming)
2. Scheduler
29. Short Term Scheduler (CPU Scheduler)
⚫Menentukan proses mana yang selanjutnya akan dieksekusi dan
mengalokasikan CPU untuk proses tersebut
⚫Sort Term Scheduler : lebih sering dipanggil (hanya dalam waktu
milisecond)
⚫Karena durasi yang pendek antara eksekusi, short Term Scheduler harus
sangat cepat
2. Scheduler
30. Medium Term Scheduler
⚫Penjadwal ini akan menguntungkan
untuk memindahkan proses dari
memori → jumlah proses dalam
memori akan berkurang
⚫Skema Medium Term Scheduler
disebut swapping.
Swapping diperlukan untuk meningkatkan
mutu penggabungan proses (karena
perubahan dalam kebutuhan memori
yang mengakibatkan memori harus
dibebaskan)
2. Scheduler
31. Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari
proses lama dan mengambil state dari proses yang baru.Pekerjaan ini
disebut Context Switch
3. Context Switch
33. ⚫ Context Switch sebuah proses direpresentasikan dalam PCB dari suatu proses :
nilai dari CPU register, status proses, informasi manajemen memori
⚫ Ketika context switch terjadi, kernel menyimpan konteks dari proses lama
kedalam PCB nya dan mengisi konteks yang telah disimpan dari process baru
yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni
overhead, karena sistem melakukan pekerjaan yang tidak perlu.
⚫ Waktu context switch mempunyai kecepatan bervariasi (biasanya berkisar 1 –
1000 ms) tergantung:
⚫Kecepatan memori
⚫Jumlah register yang dicopy
⚫Ada atau tidaknya instruksi khusus (misal : instruksi tunggal untuk mengisi atau
menyimpan seluruh register)
3. Context Switch
35. ⚫Penciptaan proses
⚫Terminasi proses
⚫Penundaan proses
⚫Pelanjutan kembali proses
⚫Pengubahan prioritas proses
⚫Memblock proses
⚫Membangkitkan proses
⚫Menjadwalkan proses
⚫Komunikasi proses
Operasi Proses
36. 1. Pembuatan Proses
Aktifitas yang berkenaan dengan pembuatan proses:
⚫Memberi identitas (nama) pada proses yang dibuat
⚫Menyisipkan proses pada list proses atau tabel proses
⚫Menentukan prioritas awal proses
⚫Membuat/menciptakan PCB
⚫Mengalokasikan sumber daya (resource) awal bagi proses
Operasi Proses
37. 2. Penghentian Proses
⚫Pada saat proses berhenti, proses akan mengembalikan semua data ke
parent proses, dan proses dihapus dari sistem, dilanjutkan dengan
menghapus PCB
⚫Alasan yang menyebabkan proses dihentikan:
⚫Selesainya proses secara normal
⚫Proses berjalan melewati batas waktu yang telah ditentukan
⚫Memori tidak tersedia
⚫Pelanggaran terhadap batas memori
⚫Terjadi kesalahan perhitungan (misal :pembagian dengan 0)
⚫Proses menunggu terlalu lama
⚫Terjadi kegagalan I/O (misal : tidak menemukan file)
Operasi Proses
38. 1. Proses Kooperatif
⚫Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi
dapat dibedakan menjadi yaitu proses independent dan proses
kooperatif.
⚫ Proses Independen: Suatu proses dikatakan independen apabila proses
tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang
sedang dijalankan pada sistem.
⚫ Proses kooperatif : proses yang dapat dipengaruhi atau pun terpengaruhi
oleh proses lain yang sedang dijalankan dalam sistem. Dengan kata lain,
proses dikatakan kooperatif bila proses dapat membagi datanya dengan
proses lain.
Hubungan Antar Proses
39. 1. Proses Kooperatif
⚫ Syarat terjadinya proses kooperatif:
⚫Pembagian informasi: apabila beberapa pengguna dapat tertarik pada bagian
informasi yang sama (sebagai contoh, sebuah berkas bersama)
⚫Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas khusus
untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke dalam subtask,
setiap bagian dari subtask akan dijalankan secara parallel dengan yang lainnya.
⚫Modularitas: membangun sebuah sistem pada sebuah model modular-modular,
membagi fungsi sistem menjadi beberapa proses atau threads.
⚫Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas
untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang
pengguna dapat mengedit, memcetak, dan meng-compile secara paralel.
Hubungan Antar Proses
40. 2. Sistem Penyampaian Pesan
⚫Cara lain untuk meningkatkan efek yang sama adalah untuk sistem
operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk
berkomunikasi dengan yang lain lewat sebuah komunikasi dalam proses
(IPC = Inter-Process Communication).
⚫IPC menyediakan sebuah mekanisme untuk mengizinkan proses-proses
untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi
ruang alamat yang sama.
⚫IPC adalah khusus digunakan dalam sebuah lingkungan yang terdistribusi
dimana proses komunikasi tersebut mungkin saja tetap ada dalam
komputer-komputer yang berbeda yang tersambung dalam sebuah
jaringan.
Hubungan Antar Proses
41. 3. Sinkronisasi
⚫ Komunikasi antara proses membutuhkan place by calls untuk mengirim dan
menerima data primitive. Terdapat rancangan yang berbeda-beda dalam
implementasi setiap data primitive. Pengiriman pesan mungkin dapat diblok
(blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan nama
sinkron atau asinkron.
⚫ Pengiriman yang diblok: Proses pengiriman di blok sampai pesan diterima oleh
proses penerima (receiving process) atau oleh mailbox.
⚫ Pengiriman yang tidak diblok: Proses pengiriman pesan dan mengkalkulasi
operasi.
⚫ Penerimaan yang diblok: Penerima mem blok samapai pesan tersedia.
⚫ Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null.
Hubungan Antar Proses
42. 4. Buffering
⚫ Komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses memerlukan
antrian sementara. Ada 3 jalan dimana antrian tersebut diimplementasikan:
⚫ Kapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai
penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai
penerima menerima pesan.
⚫ Kapasitas terbatas: antrian mempunyai panjang yang telah ditentukan, paling banyak n
pesan dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan yang
baru akan menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa menunggu.
Link mempunyai kapasitas terbatas. Jika link penuh, pengirim harus memblok sampai
terdapat ruang pada antrian.
⚫ Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan
dapat menunggu disini. Pengirim tidak akan pernah di blok.
Hubungan Antar Proses
43. ⚫ Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari
Thread_ID adalah : 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.
⚫ Perbedaan antara proses dengan thread tunggal dengan proses dengan
thread yang banyak adalah proses dengan thread yang banyak dapat
mengerjakan lebih dari satu tugas pada satu waktu.
Thread
46. ⚫Di dalam process, dapat
terdiri dari satu atau lebih
Thread, dimana masing-
masing Thread :
⚫Thread memiliki execution
state.
⚫Access shared memory
dan resource yang dimiliki
oleh process, dan berbagi
dengan Thread yang
lainya.
Thread dan Process
47. ⚫Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada
pembentukan process.
⚫Membutuhkan waktu yang lebih sedikit untuk mengakhiri Thread
daripada process.
⚫Lebih mudah dan cepat untuk melakukan switch antar Thread daripada
switch antar process.
Thread dan Process
48. Keuntungan
⚫Tanggap: Multithreading mengizinkan program untuk berjalan terus
walau pun pada bagian program tersebut di block atau sedang dalam
keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh,
multithread web browser dapat mengizinkan pengguna berinteraksi
dengan suatu thread ketika suatu gambar sedang diload oleh thread yang
lain.
⚫Pembagian sumber daya: Secara default, thread membagi memori dan
sumber daya dari proses. Keuntungan dari pembagian kode adalah
aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori
yang sama.
Thread
49. Keuntungan
⚫Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat
proses adalah sangat mahal. Alternatifnya, karena thread membagi
sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
⚫Pemberdayaan arsitektur multiprosesor: Keuntungann dari
multithreading dapat ditingkatkan dengan arsitektur multiprosesor,
dimana setiap thread dapat jalan secara parallel pada prosesor yang
berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-
pindah antara setiap thread dengan cepat, sehingga terdapat ilusi
paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan
di setiap waktu.
Thread
50. 2 macam thread:
⚫ User thread:
⚫ Didukung oleh kernel dan diimplementasikan oleh thread library ditingkat pengguna.
Library mendukung untuk pembentukan thread, penjadualan, dan managemen yang tidak
didukung oleh kernel.
⚫ Kernel thread:
⚫ Kernel thread didukung secara langsung oleh sistem operasi: pembentukan thread,
penjadualan, dan managemen dilakukan oleh kernel dalam ruang kernel. Karena
managemen thread telah dilakukan oleh sistem operasi, kernel thread biasanya lebih
lambat untuk membuat dan mengelola daripada user thread.
⚫ Bagaimana pun, selama kernel mengelola thread, jika suatu thread di block tehadap sistem
pemanggilan, kernel dapat menjadualkan thread yang lain dalam aplikasi untuk dieksekusi.
Juga, di dalam lingkungan multiprosesor, kernel dapat menjadualkan thread dalam
prosesor yang berbeda. Windows NT, Solaris, dan Digital UNIX adalah sistem operasi yang
mendukung kernel thread.
Thread
51. ⚫Multithreading merupakan kemampuan OS untuk mendukung multiple
dan eksekusi secara concurrency di dalam suatu single process.
⚫Thread seringkali disebut sebagai lightweight process, sedangkan proses
disebut dengan heavy process.
⚫Dengan bahasa yang lebih sederhana, Thread merupakan bagian dari
process.
⚫Dimana process memiliki alokasi resource sendiri dan sedangkan Thread
tidak.
⚫Thread saling berbagi bagian program, bagian data dan sumber daya
sistem operasi dengan thread lain yang mengacu pada proses yang sama.
⚫Thread terdiri atas ID thread, program counter, himpunan register, dan
stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari
satu pekerjaan pada waktu yang sama.
Multithreading