SlideShare a Scribd company logo
PROSES
⚫ 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:
⚫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
⚫ 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.
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
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.
⚫ Pada Windows, dapat dilihat di Task Manager
⚫ Pada Linux, dapat menggunakan syntax: ps, top
Notes :
⚫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
Status Proses
⚫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
⚫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
⚫ 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
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
⚫ 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
⚫ 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)
⚫PCB hanya berfungsi sebagai tempat penyimpanan
informasi yang dapat bervariasi dari proses satu
dengan proses yang lainnya
Process Control Block (PCB)
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)
⚫ 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.
Konsep Penjadwalan
⚫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
Konsep Penjadwalan
1. Queue Scheduling
2. Schedulers
3. Context switch
Penjadwalan
⚫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
⚫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
⚫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
1. Queue Scheduling
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
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
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
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
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
3. Context Switch
⚫ 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
Operasi Proses
⚫Penciptaan proses
⚫Terminasi proses
⚫Penundaan proses
⚫Pelanjutan kembali proses
⚫Pengubahan prioritas proses
⚫Memblock proses
⚫Membangkitkan proses
⚫Menjadwalkan proses
⚫Komunikasi proses
Operasi Proses
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
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
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
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
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
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
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
⚫ 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
Thread dan Process
Thread dan Process
⚫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
⚫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
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
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
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
⚫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
SELESAI

More Related Content

Similar to Pengenalan Konsep Proses Dalam Sistem Operasi.pptx

Zulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen ProsesZulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen Proses
belajarkomputer
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
belajarkomputer
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Proses
belajarkomputer
 
ini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptxini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptx
akunoo
 
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfManajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
ARYAPUTRAABSHARI
 
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen ProsesFerli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
belajarkomputer
 
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
AlwiyahRachman1
 
02. proses pada so
02. proses pada so02. proses pada so
02. proses pada sokimerfan
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6cucuk
 
4.proses proses
4.proses proses4.proses proses
4.proses proses
nasib silaban
 
Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]
beiharira
 
referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1
DedeAlamsyah2
 
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfPenjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
ARYAPUTRAABSHARI
 
Bab3
Bab3Bab3
8. Proses
8. Proses8. Proses
8. Proses
Haddad Sammir
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
Sejahtera Affif
 

Similar to Pengenalan Konsep Proses Dalam Sistem Operasi.pptx (20)

Zulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen ProsesZulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen Proses
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Proses
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
ini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptxini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptx
 
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfManajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Manajemen Proses_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
 
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen ProsesFerli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
 
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
 
02. proses pada so
02. proses pada so02. proses pada so
02. proses pada so
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
Pertemuan 6
Pertemuan 6Pertemuan 6
Pertemuan 6
 
4.proses proses
4.proses proses4.proses proses
4.proses proses
 
Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]
 
Soooo
SooooSoooo
Soooo
 
referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1referensi materi Manajemen Proses - Sistem Operasi 1
referensi materi Manajemen Proses - Sistem Operasi 1
 
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfPenjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
 
Bab3
Bab3Bab3
Bab3
 
8. Proses
8. Proses8. Proses
8. Proses
 
Pert.3 proses dan thread
Pert.3 proses dan threadPert.3 proses dan thread
Pert.3 proses dan thread
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
 

Pengenalan Konsep Proses Dalam Sistem Operasi.pptx

  • 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
  • 22. 1. Queue Scheduling 2. Schedulers 3. Context switch 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