SlideShare une entreprise Scribd logo
1  sur  102
Proses Pada SO
Martin Suhartana, ST MTI
Definisi Proses SO
• Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah
kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi.
• Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya.
• Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan
perangkat-perangkat M/K.
• Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu
diciptakan atau sedang diproses/dijalankan.
• Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali
semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
Defini Proses SO
• Merupakan konsep pokok dalam sistem
operasi, sehingga masalah manajemen proses
adalah masalah utama dalam perancangan
sistem operasi.
• Proses adalah program yang sedang dieksekusi.
• Proses adalah unit kerja terkecil yang secara
individu memiliki sumber daya dan dijadwalkan
oleh sistem operasi.
Pengertian Proses
• Suatu program dalam (yang sedang di) eksekusi
• Instance dari program yang berjalan pada suatu
komputer
• Entitas yang dapat dilewatkan ke & dieksekusi pada
suatu processor
• Suatu unit aktifitas yang dicirikan oleh eksekusi
serangkaian instruksi, current state (status terkini) &
himpunan instruksi sistem terkait (associated).
DESKRIPSI PROSES
• Definisi :
– Adalah program yang sedang dieksekusi
• Unit terkecil yang secara individu memiliki sumber daya-
sumber daya dan dijadwalkan oleh Sistem Operasi (SO)
• SO mengelola semua proses di sistem dan
mengalokasikan sumber daya ke proses-proses sesuai
dengan kebijaksanaan untuk memenuhi sasaran sistem
• Hal-hal berkaitan proses
– Multiprogramming (Multitasking)
– Multiprocessing
– Distributed processing
MULTIPROGRAMMING• Definisi : Manajemen banyak proses pada satu pemroses
• Banyak proses yang dijalankan bersamaan, masing-masing
proses mendapat bagian memori dan kendali sendiri
• Program yang dijalankan bersifat
– Tidak bergantung (Independent)
– Proses terpisah satu dari lainnya & tidak berpengaruh
– Satu program pada satu saat (one program at any instant)
– Pada satu waktu hanya satu proses yang dilayani pemroses, menggunakan
interleave bukan overlap diantara program-program
• Oleh karena perpindahan dari satu proses ke proses dilakukan
secara cepat bagi bagi pemakai seolah-olah bekerja secara
paralel. Hal ini dikenal dengan paralel semu
(pseudoparallelism)
MULTIPROCESSING
• Definisi : Manajemen banyak proses di
komputer multiprocessor
• Dengan kata lain komputer dengan banyak
pemroses di satu sistem komputer dengan
masing-masing pemroses melakukan
pemrosesan secara independen
• Contoh SO yang mendukung : Windows NT,
UNIX, LINUX
DISTRIBUTED PROCESSING
• Manajemen banyak proses yang dieksekusi di
banyak sistem komputer yang tersebar
(terdistribusi).
• Contoh : MACH, AMOEBA
Elemen Proses
• Suatu proses tersusun dari:
– Kode program (mungkin di-share)
– Sekumpulan data
– Sejumlah atribut yang mendeskripsikan status dari proses tersebut
• Selama proses berjalan, ia mempunyai sejumlah elemen, mencakup
– Identifier
– State
– Priority
– Program counter
– Memory pointers
– Context data
– I/O status information
– Accounting information
PEMROSES
• Kebutuhan utama pengendalian proses oleh
SO dapat dinyatakan dengan mengacu ke
proses yaitu
– Saling melanjutkan (interleave)
– Mengikuti kebijaksanaan tertentu
– Mendukung komunikasi antar proses dan
penciptaan proses
INTERLEAVE
• Dikatakan interleave (bersambung/
melanjutkan) maksudnya pemroses
mengeksekusi satu proses setiap saat dan
secara cepat beralih ke proses lainnya secara
bergiliran.
• SO harus interleave (saling melanjutkan)
eksekusi proses-proses agar memaksimumkan
penggunaan pemroses sambil masih memberi
waktu tanggap yang memadai
Managemen Proses
Pengendalian proses
• Saling melanjutkan (interleave),
– Sistem operasi harus dapat kembali melanjutkan proses
setelah melayani proses lain.
• Kebijaksaan tertentu,
– Sistem operasi harus mengalokasikan sumber daya ke
proses berdasar prioritasnya.
• Komunikasi antar proses dan penciptaan proses,
– Sistem operasi harus mendukung komunikasi dan penciptaan
antar proses (menstrukturkan aplikasi).
Status/Keadaan (state) proses
Sebuah proses akan mengalami serangkaian state diskrit.
Beragam kejadian dapat menyebabkan perubahan state
proses. Tiga state tersebut adalah sebagai berikut :
• Running, Proses sedang mengeksekusi instruksi proses
• Ready, Proses siap dieksekusi, tetapi proses tidak
tersedia untuk eksekusi proses ini.
• Blocked, Proses menunggu kejadian untuk melengkapi
tugasnya
Proses yang baru diciptakan akan
mempunyai state ready.
• Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta
layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi
sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
• Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu
untuk proses tersebut telah habis (time out).
• Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan
perangkat masukan/keluaran selesai (event occurs).
• Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu
karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan
sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.
Diagram state lanjut
• Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan
biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses
tertentu guna mereduksi beban sistem selama beban puncak.
• Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka
panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber
daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera
dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan
kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
DIAGRAM STATE PROSES
1. State dasar (3 keadaan)
2. State lanjut ( 5 keadaan)
DIAGRAM STATE DASAR
• Running : pemroses sedang mengeksekusi
innstruksi proses tersebut
• Ready : proses siap dieksekusi, tapi pemroses
tidak tersedia untuk eksekusi proses ini
• Blocked : proses menunggu kejadian (event)
untuk melengkapi tugasnya
STATE DASAR
KETERANGAN GAMBAR• Proses baru diciptakan berada pada state ready
• Proses dari running menjadi blocked karena sumberdaya
yang diminta belum tersedia atau meminta layanan
perangkat masukan/ keluaran (I/O) sehingga menunggu
kejadian yang muncul. Proses ini dikenal dengan event
wait.
• Proses dari running jadi ready karena penjadwal
memutuskan eksekusi proses lain oleh karena jatah waktu
telah habis (timeout).
• Proses dari blocked jadi ready karena sumber daya yang
diminta tersedia atau layanan I/O selesai/ terpenuhi.
Proses ini dikenal event occur
• Proses dari ready jadi running karena penjadwal
memutuskan untuk mengeksekusi proses tersebut.
PCB (PROGRAM CONTROL BLOCK)
• SO memerlukan banyak informasi mengenai proses
guna pengelolaan proses
• Informasi ini ada di PCB
• Struktur datanya menyimpan informasi lengkap
mengenai proses sehingga dapat terjadi siklus hidup
proses
• Informasi di PCB dikelompokkan
– Informasi identifikasi proses
– Informasi status proses
– Informasi kendali proses
Process Control Block (PCB)
• Berisi elemen-elemen
proses
• Dibuat dan dikelola oleh
sistem operasi
• Memberikan dukungan
bagi banyak proses
INFORMASI IDENTIFIKASI PROSES
• Berkaitan dengan identitas proses yang unik
• Dengan identifier ini proses dikaitkan ke tabel-
tabel lain
• Identifiernya adalah numerik yang meliputi
– Identifier proses
– Identifier proses yang menciptakan
– Identifier pemakai
INFORMASI STATUS PROSES
• Informasi ini esensinya terdiri dari register-
register pemroses.
• Saat proses berstatus running, informasi-
informasi ini berada di register-register.
• Ketika proses diinterupsi semua informasi
register harus disimpan agar dapat
dikembalikan saat proses dieksekusi kembali
– Jumlah dan ragam register bergantung pada
arsitektur komputernya
INFORMASI STATUS PROSES
• Informasi ini esensinya terdiri dari register-
register pemroses.
• Saat proses berstatus running informasi-
informasi ini berada di register-register.
• Saat proses diinterupsi semua informasi
register harus disimpan agar dapat
dikembalikan saat proses dieksekusi kembali
• Jumlah dan ragam register yang terlibat
bergantung pada arsitektur komputer
INFORMASI KENDALI PROSES
• Adalah informasi-informasi lain yang
diperlukan SO untuk mengendalikan dan
koordinasi beragam proses aktif
Informasi kendali proses
• Informasi penjadwalan dan status, Informasi-informasi yang digunakan untuk
menjalankan fungsi penjadwalan, antara lain :
– Status proses, Mendefinisikan keadaan/status proses (running, ready, blocked)
– Prioritas, Menjelaskan prioritas proses.
– Informasi berkaitan dengan penjadwalan, Berkaitan dengan informasi penjadwalan, seperti
lama menunggu, lama proses terakhir dieksekusi.
– Kejadian, Identitas kejadian yang ditunggu proses.
• Penstrukturan data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian
atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur
ini.
• Komuikasi antar proses, beragam flag, sinyal dan pesan dapat diasosiasikan
dengan komunikasi antara dua proses yang terpisah.
• Manajemen memori Bagian yang berisi pointer ke tabel segmen atau page yang
menyatakan memori maya (virtual memory) proses.
• Kepemilikan dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus
diberi tanda, misalnya
ELEMEN-ELEMEN PCB
Identifikasi Proses
Identifier
Identifier numerik yang meliputi
 Identifier proses
 Identifier proses yang menciptakan
 Identifier pemakai
ELEMEN-ELEMEN PCB (Lanjut)
Informasi Status Pemroses
Register-register yang terlihat pemakai
Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses
pemroses
Register-register kendali dan status
Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.:
 Program counter
 PSW, dsb.
Pointer stack
Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk
parameter atau alamat prosedur pemanggil dan system call. Pointer stack
menunjuk posisi paling atas dari stack
ELEMEN-ELEMEN PCB (Lanjut)
Informasi Kendali Pemroses
Informasi penjadwalan dan status
Informasi-informasi yang dipakai untuk menjalankan
fungsi penjadwalan a.l :
 Status proses. Mendefinisikan status proses (running,ready,block, dsb)
 Prioritas. Menjelaskan prioritas proses
 Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu,
lama proses terakhir dieksekusi dsb.
 Kejadian (Event). Identitas kejadian yang ditunggu proses
Penstrukturan data
Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring,
atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
Komunikasi antar proses
Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara
dua proses yang terpisah. Informasi ini disimpan dalam PCB
ELEMEN-ELEMEN PCB (Lanjut)
Informasi Kendali Pemroses (lanjut)
Kewenangan proses
Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe
instruksi yang dapat dijalankan
Manajemen memori
Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori
virtual proses
Kepemilikan dan utilisasi sumber daya
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
 Berkas yang dibuka
 Pemakaian pemroses
 Pemakaian sumberdaya lainnya
Informasi ini diperlukan oleh penjadwal
STRUKTUR CITRA PROSES
• Citra proses mempunyai struktur :
– PCB
– Stack pemakai (User Stack)
– Ruang alamat proses eklusif
– Ruang alamat yang dipakai bersama proses lain
• Implementasi penempatan citra proses yang
sesungguhnya bergantung pada skema
manajemen memori yang digunakan dan
organisasi struktur kendali sistem operasi
STRUKTUR CITRA PROSES
Identifikasi Proses
Informasi status proses
Informasi kendali proses
Stack pemakai
Ruang alamat yang khusus
diperuntukkan pemakai
(program, data)
Ruang alamat bersama
PCB
OPERASI-OPERASI PADA PROSES
• SO dalam mengelola proses dapat melakukan operasi-operasi
terhadap proses.
• Operasi-operasi terhadap proses a.l. :
– Penciptaan proses (create process)
– Penghancuran/terminasi proses (destroy a process)
– Penundaan proses (suspend a process)
– Pelanjutan kembali proses (resume process)
– Pengubahan prioritas proses
– Memblok proses
– Membangunkan proses
– Menjadwalkan proses
– Memungkinkan proses berkomunikasi dengan proses lain
PENCIPTAAN PROSES
• Penciptaan proses melibatkan banyak aktivitas, yaitu
– Menamai (memberi identitas) proses
– Menyisipkan proses pada senarai proses atau tabel proses
– Menentukan prioritas awal proses
– Menciptakan PCB
– Mengalokasikan sumberdaya awal bagi proses
• Ketika proses baru ditambahkan, SO membangun
struktur data untuk mengelola dan alokasi ruang alamat
proses itu. Aksi ini berkaitan dengan proses baru.
PENCIPTAAN PROSES
• Kejadian yang dapat menyebabkan penciptaan proses a.l. :
– Pada lingkungan batch, sebagai tanggapan atas pemberian suatu
kerja (job)
– Pada lingkungan interaktif, ketika pemakai baru berusaha logon
– Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan
file, SO dapat menciptakan proses yang akan mengelola
pencetakan itu
– Proses menciptakan proses lain (proses anak)
– Proses yang menciptakan child process disebut proses induk (parent
process)
– Child process dapat menciptakan proses baru.
– Proses-proses dapat membentuk pohon hirarki proses
TABEL ALASAN CREATE PROCESS
Penyebab
Penciptaan Deskripsi
Terdapat batch job baru SO dengan kendali batch job, setelah menciptakan
proses baru, kemudian melanjutkan membaca job
selanjutnya
Satu pemakai interaktif
logon
Seorang pemakai pada satu terminal sedang
melakukan logon ke sistem
SO menciptakan proses
untuk memberi layanan
SO menciptakan proses untuk memenuhi satu
fungsi pada program pemakai, tanpa mengharuskan
pemakai menunggu
Proses menciptakan
proses anak
Untuk mencapai modularitas atau mengeksploitasi
kongkuransi, program pemakai memerintahkan
pembuatan sejumlah proses
CONTOH KASUS
• UNIX
– Proses baru diciptakan dengan system call fork (SCF). SCF
menciptakan kopian proses pemanggil (induk) yang identik.
Setelah panggilan fork, proses induk melanjutkan berjalan
bersama proses anak secara paralel. Proses induk dapat kembali
melakukan fork untuk menciptakan proses-proses anak yang
baru. Proses anakpun dapat mengeksekusi fork, sehingga dapat
terbentuk pohon hirarki proses.
• MSDOS
– System call yang ada di MSDOS adalah meload file binerke
memori dan mengeksekusi sebagai proses anak. Berbeda
dengan UNIX, MSDOS panggilan ini menunda (menonaktifkan)
proses induk sampai proses anak menyelesaikan eksekusi.
Proses induk dan proses anak tidak berjalan secara paralel
PENGHANCURAN PROSES
• Melibatkan pembebasan proses dari sistem, yaitu
– Sumber daya-sumber daya yang dipakai dikembalikan
– Proses dihancurkan dari senarai atau tabel sistem
– PCB dihapus (ruang memori PCB dikembalikan ke pool bebas)
• Penghancuran lebih rumit bila proses telah menciptakan
proses-proses lain. Terdapat dua pendekatan, yaitu
– Pada beberapa sistem, proses-proses turunan dihancurkan saat
proses-proses induk dihancurkan secara otomatis
– Beberapa sistem lain menganggap proses anak independen
terhadap proses induk sehingga proses anak tidak secara
otomatis dihancurkan saat proses induk dihancurkan
TABEL ALASAN TERMINATE PROCESS
Penyebab Terminasi Deskripsi
Selesainya proses
secara normal
Proses mengeksekusi panggilan layanan SO untuk
menandakan bahwa proses telah berjalan secara
lengkap
Batas waktu telah
terlewati
Proses telah berjalan melebihi batas waktu total
yang dispesifikasikan. Terdapat banyak
kemungkinan untuk tipe waktu yang diukur,
termasuk waktu total yang dijalani (walk clock time),
jumlah waktu yang dipakai untuk eksekusi, dan
jumlah waktu sejak pemakai terakhir kali memberi
masukan (pada proses interaktif)
Memori tidak tersedia Proses memerlukan memori lebih banyak daripada
yang dapat disediakan sistem
Pelanggaran terhdap
batas memori
Proses mencoba mengakses lokasi memori yang
tidak diijinkan diakses
TABEL ALASAN TERMINATE PROCESS (lanjut)
Penyebab Terminasi Deskripsi
Terjadi kesalahan karena
pelanggaran proteksi
Proses berusaha menggunakan sumberdaya atau
file yang tidak diijinkan dipakainya, atau proses
mencoba menggunakannya tidak untuk
peruntukkannya, seperti menulis file read-only
Terjadi kesalahan
aritmatika
Proses mencoba perhitungan terlarang, seperti
pembagian dengan nol, atau mencoba menyimpan
angka yang lebih besar daripada yang dapat
diakomodasi oleh perangkat keras
Waktu telah kadaluarsa Proses telah menunggu lebih lama daripada
daripada maksimum yang ditentukan untuk
terjadinya suatu kejadian spesifik
Terjadi kegagalan I/O Kesalahan muncul pada input atu output, seperti
ketidakmampuan menemukan file, kegagalan read
atau write setelah sejumlah maksimum percobaan
yang ditentukan (misal: area rusak pada tape, atau
operasi tidak valid spt membaca dari line printer)
TABEL ALASAN TERMINATE PROCESS (lanjut)
Penyebab Terminasi Deskripsi
Instruksi yang tidak
benar
Proses berusaha mengeksekusi instruksi yang tidak
ada (sering sebagai akibat percabangan ke daerah
data dan berusaha mengeksekusi data itu)
Terjadi usaha memakai
instruksi yang tidak
diizinkan
Proses berusaha menggunakan instruksi yang
disimpan untuk SO
Kesalahan penggunaan
data
Bagian data adalah tipe yang salah atau tidak
diinisialisasi
Diintervensi oleh SO
atau operator
Untuk suatu alasan, operator atau SO mengakhiri
proses (misal : terjadi deadlock)
Berakhirnya proses
induk
Ketika induk berakhir, SO mungkin dirancang
secara otomatis mengakhiri semua anak proses dari
induk tsb.
Atas permintaan dari
proses induk
Proses induk biasanya mempunyai otoritas
mengakhiri suatu anak proses
Diagrarn State Lanjut (5 Keadaan)
• Penundaan (suspension) adalah operasi penting dan telah
diterapkan dengan beragam cara. Penundaan biasanya berlangsung
singkat. Penundaan sering dilakukan sistem untuk memindahkan
proses proses tertentu guna mereduksi beban sistem selama beban‑
puncak.
• Proses yang ditunda (suspended process) tidak berlanjut sampai
proses lain me resume. Untuk jangka panjang, sumber‑
daya sumber daya proses dibebaskan (dilucuti). Keputusan‑
membebaskan sumber daya sumber daya bergantung sifat‑
masing masing sumber daya. Memori utama seharusnya segera‑
dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses
lain. Resuming (pengaktifan kembali) proses yaitu menjalankan
proses dari titik (instruksi) dimana proses ditunda.
Proses 5 Status
1. New : Proses baru yg belum diload ke memori utama
2.Ready : Proses yang siap utk dieksekusi
3.Blocked : Proses yg tidak dpt dieksekusi sampai suatu kejadian muncul
4. Running : Proses yg dieksekusi
5. Exit : Proses yg selesai dieksekusi
• Operasi suspend dan resume penting, sebab:
– Jika sistem berfungsi secara buruk dan mungkin gagal maka proses proses‑
dapat di suspend agar di resume s‑ etelah masalah diselesaikan.
Contoh :
Pada proses pencetakan, bila tiba tiba kertas habis maka proses‑ di suspend.‑
Setelah kertas dimasukkan kembali, proses pun dapat di resume.‑
– Pemakai vang ragu/kawatir mengenai hasil proses dapat men suspend‑
proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan
berfungsi secara benar maka dapat me resume (melanjutkan‑ kembali di
instruksi saat di suspend) proses yang di suspend‑ ‑
– Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem,
beberapa proses dapat di suspend dan di‑ ‑ resume saat beban kembali ke
tingkat normal.
Gambar menunjukkan modifikasi diagram state dengan memasukkan kejadian suspend
dan resume
• Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu
1. Suspendedready.
2. Suspendedblocked.
• Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
– Pada sistem monoprocessor, proses running dapat men suspenddirinya‑
sendiri karena tak ada proses lain yang juga running yang dapat
memerintahkan suspend.
– Pada sistem multiprocessor, proses running dapat di suspend proses‑
running lain pada pernroses berbeda. Proses ready hanya dapat di suspend‑
oleh proses lain.
• Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini
dirasa aneh Apakah tidak cukup menunggu selesainya operasi
masukan/keluaran atau kejadian yang membuat proses ready atau
suspendedready? Bukankah state blocked, readyblocked suspendedblocked
sama sama tidak mendapatjatah waktu pernroses? Kenapa dibedakan?‑
ALASAN
• Karena penyelesaian operasi masukanlkeluaran bagi proses blocked
mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan
sehingga lebih baik di suspend agar‑ sumber dayasumber daya yang
dialokasikan untuk proses tersebut dapat digunakan proses proses‑
lain. Untuk kondisi ini, lebih baik sumber daya sumber daya yang‑
dipegang proses yang berkondisi seperti ini dipakai proses proses lain.‑
• Proses blocked di suspend s‑ istem atau secara manual menjadi
suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir
maka segera proses suspendedblocked mengalami transisi. Karena
resume dan suspend mempunyai prioritas tinggi maka transisi sewra
dilakukan. Susnenddan resume danat digunakan untuk
menveimbanekan beban sistem saat mengalami lonjakan di atas
normal
IMPLEMENTASI PROSES
Tabel-tabel proses
• Tabel informasi manajemen memori, Untuk menjaga keutuhan memori utama
dan memori sekunder yang menyimpan informasi tentang :
• Tabel informasi manajemen masukan/keluaran, Untuk mengelola perangkat
masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty,
sehingga perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu
mengetahui status operasi masukan/keluaran dan lokasi memori utama yang
digunakan untuk transfer data.
• Tabel informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi pada
memori sekunder, status saat itu dan menyimpan atribut-atribut file lainnya.
• Tabel proses, Untuk mengelola informasi proses di sistem operasi, lokasinya di
memori, status dan atribut proses lainnya.
Tabel tabel untuk Proses‑
• Tiap proses mempunyai state yang perlu
diperhatikan sistem operasi. Sistern operasi
mencatat state proses dengan beragam tabel
atau senarai, antara lain:
1. Tabel infortnasi manajemen mernori.
2. Tabel informasi manajemen masukan/keluaran.
3. Tabel inforinasi sistern file.
4. Tabel proses.
• Keempat tabel saling berhubungan
Tabel Informasi Manajemen Memori
• Tabel. informasi manajemen mernori untuk
meniaga keutuhan memori utama dan memori
sekunder. Tabel ini memuat informasi berikut:
– Alokasi memori utama yang dipakai proses.
– Alokasi memori sekunder yang dipakai proses (bila
menggunakan manaJemen memori dengan
swapping).
• Atribut segmen memori utama dan sekunder.
• Informasi informasi lain yang digunakan untuk‑
pengelolaan memori,
Tabel InformasiManajemen Masukan/Keluaran
• Tabel ini untuk mengelola perangkat
masukanlkeluaran. Pada satu saat, perangkat
masukan/keluaran digunakan proses tertentu,
perlu dijaga agar proses lain tidak
memakainya. Sistern operasi perlu
mengetahui status operasi masukan/keluaran
dan lokasi memori utama yang digunakan
untuk transfer data.
Tabel Informasi Sistem File
• Tabel ini berisi informasi mengenai ekstensi
file, lokasi pada memori sekunder, status saat
itu dan menyimpan atribut atribut file lainnya.‑
Tabel Proses
• Tabel proses mengelola informasi proses di sistem
operasi, lokasinya di memori. Tabel juga berisi status dan
atribut atribut proses yang lain.‑
• Proses ditempatkan di memori utama di lokasi tertentu,
proses mempunyai satu ruang alamat tersendiri. Ruang
alamat yang digunakan proses disebut citra proses
(process image) karena selain seluruh kode biner
program, proses ditambahi atribut atribut lain berkaitan‑
penernpatannya pada suatu lokasi mernori dan status
eksekusi pada saat itu.
Tabel Elemen elemen Citra Proses‑
PCB dan Daftar Proses
• PCB berperan penting di sistem operasi. Tiap
PCB berisi informasi mengenai proses yang
diperlukan sistern operasi. PCB dibaca
dan/atau dimodifikasi rutin sistern operasi
seperti penjadwalan, alokasi sumber daya,
pemrosesan interupsi, monitoring dan analisis
kinerja. Kumpulan PCB mendefinisikan state
sistern operasi.
• Untuk menyatakan senarai proses di sistern
operasi dibuat senarai KB.
PCB dan Daftar proses
• Bila proses berakhir (selesai) maka dijalankan operasi terminasi
sehingga PCB-nya tak ada lagi.
• Bila proses diblocked karena menunggu alokasi sumber daya
maka PCBnya dipindah ke daftar blocked.
• Bila proses dijadwalkan habis jatah waktu eksekusinya maka
PCBnya dipindahkan ke daftar ready.
• Proses yang sedang blocked berpindah menjadi ready bila
sumber daya yang ditunggu telah teralokasi untuknya. Untuk
itu PCBnya dipindahkan ke daftar ready.
SENARAI PCB
• Gambar di atas memperlihatkan hanya satu PCB berada
di senarai running. PCB ini menyatakan proses yang saat
itu sedang dicksekusi pernroses sehingga hanya satu
proses yang running. Tentu saja ini tidak berlaku untuk
multiprocessing yang dapat mengeksekusi lebih dari satu
proses sekaligus.
• Proses proses‑ ready digambarkan dengan PCB
proses proses di senarai‑ ready. Proses proses menunggu‑
dijadwalkan untuk dieksekusi pemroses. Proses yang
dijadwalkan dieksekusi (yaitu mengalami transisi dari
state ready menjadi running) maka PCB nya dipindah‑
dari senarai ready ke senarai running.
• Proses running (PCB nya berada di senarai‑ running)
dipindah sesuai state yang dialami proses itu, sebagai
berikut:
– Bila proses berakhir (selesai) maka dijalankan operasi terminasi
sehingga PCB nya tak ada lagi.‑
– Bila proses di blocked karena menunggu alokasi sumber daya‑
maka PCB nya dipindah ke senarai‑ blocked.
– Bila proses dijadwalkan habisjatah waktu eksekusinya rnaka
PCB nya dipindahkan ke senarai‑ ready.
• Proses yang sedang blocked berpindah menjadi ready
bila sumber daya yang ditunggu telah teralokasi
untuknya. Untuk itu PCB nya dipindahkan ke senarai‑
ready.
Pengaksesan Informast di PCB
• Rutin rutin sistern operasi perlu mengakses informasi di‑
PCB. Tiap proses dilengkapi ID unik yang digunakan
sebagai indeks (penunjuk) ke tabel untuk mengambil
PCB.
• Kesulitan bukan pada mekanisme pengaksesan, tapi
masalah proteksi terhadap PCB. Dua masalah utama
proteksi terhadap PCB, yaitu:
1. Bug (kesalahan pernrograrnan) pada rutin tunggal misalnya
interrupt handler dapat merusak PCB sehingga dapat berakibat
menghancurkan kernarnpuan sistem mengelola proses proses yang‑
diasosiasikan dengan PCB.
2. Perubahan rancangan struktur dan sernantiks PCB dapat
berdampak ke sejurnlah modul sistern operasi yang memakai PCB.
• Kedua masalah tersebut memberi gagasan agar sernua rutin sistern
operasi melewati satu rutin khusus yaitu rutin penanganan PCB dalam
mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi
perantara pembacaan dan penulisan PCB.
– Masalah pertarna dapat dicegah karena rutin penanganan PCB akan
selalu menjaga agar PCB tidak rusak.
– Masalah keduajelas langsung teratasi karena antarrnuka terhadap,
rutin rutin lain masih tetap dipertahankan walau rincian rincian PCB‑ ‑
diubah. Rutin rutin sistern operasi yang memakai antarmuka tidak‑
perlu diubah.
• Teknik ini menghendaki didefinisikan antarmuka rutin penanganan
PCB dan rutin rutin lain dengan baik. Kelemahan teknik ini adalah‑
adanya overhead kinerja karena harus memanggil rutin penanganan
PCB. Pengaksesan langsung terhadap, PCB tentu lebih cepat daripada
harus memanggil rutin penanganan PCB.
Tahap tahap Penciptan Proses‑
• Penciptaan proses dapat disebabkan beragam sebab.
Penciptaan proses ini meliputi beberapa tahap.
Tahap tahap penciptaan proses adalah sebagai berikut:‑
[STA 951‑
1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke
tabel proses utama yang berisi satu isian per proses.
2. Alokasikan ruang untuk proses.
3. PCB harus diinisalisasi.
4. Kaitan kaitan, antar tabel dan senarai yang cocok dibuat.‑
5. Bila diperlukan struktur data lain maka segera buat struktur data
itu
Pengalihan Proses
• Kelihatannya pengalihan proses (process switching)
adalah sepele. Pada suatu saat, proses running
diinterupsi dan sistem operasi memberi proses lain state
running dan menggilir kendali ke proses itu.
• Dalam hal ini muncul beberapa masalah, yaitu:
1. Kejadian kejadian apa yang memicu alih proses?‑
2. Masalah lain adalah terdapatnya perbedaan antara alih proses
(process switching)‑ dan alih konteks (context switching).‑
3. Apa yang harus dilakukan sistem operasi terhadap beragam
struktur data yang dibawah kendalinya dalam alih proses?
Pengalihan Proses
• Pengalihan proses terjadijika proses yang running beralih menjadi state lain (ready,
blocked, dan sebagainya) kemudian sistem. operasi membuat
perubahan perubahan berarti terhadap lingkungan.‑
• Langkah langkah yang terlibat dalam pengalihan proses sebagai berikut:‑
1. Simpan konteks pernroses, termasuk register PC dan register register‑ lain.
2. Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi
salah satu state (ready, blocked, suspendedready, dan sebagainya). Field field‑ yang relevanjuga
diperbarui misaInya alasan meninggalkan state runningdan informasi akunting.
3. Pindahkan PCB proses ke senarai yang cocok (ready, blocked, dan sebagainya).
4. Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.
5. Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running.
6. Perbarui struktur struktur data manaJemen memori. Pekerjaan ini sesuai dengan‑
pengefolaan translasi alamat.
7. Kembalikan konteks pernroses dengan konteks simpanan yang memberitahu konteks proses
terakhir saat dialihkan dari state running, Pengembalian konteks ini dilakukan dengan
memuatkan nilai nilai‑ registerPC dan register register‑ lain dengan nilai konteks yang tersimpan.
• Pengalihan proses melibatkan pengalihan konteks dan perubahan state,
memerlukan usaha lebih besar daripada pengalihan konteks.
• Pengalihan proses adalah terjadi jika proses
yang running beralih menjadi state lain (ready,
blocked, dan sebagainya), kemudian sistern
operasi harus membuat
perubahan perubahan berarti terhadap‑
lingkungannya. Rincian rincian dalam‑
pelaksanaan pengalihan proses di bahas
setelah ini.
Penghancuran proses
• Sumber daya-sumber daya yang dipakai
dikembalikan.
• Proses dihancurkan dari daftar atau tabel
sistem.
• PCB dihapus (ruang memori PCB dikembalikan
ke pool memori bebas).
Kejadian kejadian Penyebab Pengalihan Proses‑
• Kejadian kejadian yang menyebabkan‑
terjadinya alih proses adalah:
1. Interupsi sistem.
2. Trap.
3. Supervisor call.
InterupsI Sistem
• Interupsi sistem disebabkan kejadian eksternal dan tak
bergantung proses yang saat itu sedang running.
• Contoh : Selesainya operasi masukan/keluaran.
• Pada kejadian interupsi, kendali lebih dulu ditransfer ke
interrupt handler yang melakukan penyimpanan data data‑
dan kemudian beralih ke rutin sistem operasi yang
berkaitan dengan tipe interupsi itu.
• Tipe tipe interupsi antara lain:‑
– Interupsi clock (clock interrupt).
– Interupsi masukanlkeluaran (110 interrupt).
– Page/memory fault.
Interupsi Clock (Clock Interrupt)
• Sistem operasi (penjadwal) menentukan
apakah proses yang sedang running telah
mengeksekusi selamajatah waktunya. Jika
telah mencapaijatahnya maka proses
dialihkan ke state ready dan proses lain
dijadwalkan running.
Interupsi Masukan/Keluaran (I/0 Interrupt)
• Kejadian dimana peralatan masukan/keluaran
melakukan interupsi meminta layanan sistem
operasi. Sistem operasi segera menentukan
aksi aksi masukanlkeluaran yang harus‑
dilakukan.
Page/memory fault
• Pernroses menemui pengacuan alamat
memori maya yang tidak terdapat di memori
utarna (fisik). Sistem operasi segera
memerintahkan untuk mengambil page yang
terdapat alamat yang dimaksud untuk
dipindah ke memori utama.
TRAP
• Trap adalah interupsi karena terjadinya kesalahan atau
kondisi kekecualian (exception conditions) yang
dihasilkan proses yang running, seperti usaha illegal
dalam mengakses file.
• Dengan adanya trap, sistem operasi menentukan apakah
kesalahan yang dibuat merupakan kesalahan fatal?
– Jika fatal, proses yang saat itu running disingkirkan dan terjadi
alih proses.
– Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan
rancangan sistern operasi. Kemungkinan yang dilakukan adalah
menjalankan prosedur pemulihan atau memperingatkan ke
pemakai.
• Saat terjadi trap, mungkin terjadi pengalihan proses
mungkin pula resume proses.
Supervisor Call
• Supervisor call yaitu panggilan meminta atau
mengaktifkan bagiah sistem operasi.
• Contoh : Proses pemakai running meminta
layanan masukanlkeluaran seperti membuka
file. Panggilan ini menghasilkan transfer ke
rutin bagian sistem operasi. Biasanya,
penggunaan system call membuat proses
pemakai blocked karena diaktifkan proses
kernel (sistem, operasi).
Pengalihan Proses dan Pengalihan Konteks
• Banyak buku teks sistem operasi menyamakan
antara pengalihan proses (process switching)
dan pengalihan konteks (context switching).‑
Tidak terdapat istilah untuk aksi penanganan
interupsi. Kita membedakan antara istilah
pengalihan proses dan pengalihan konteks.
Pengalihan Konteks
• Pengalihan konteks dapat terj adi tanpa pengalihan state proses yang sedang
running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks.
• Siklus penanganan interupsi adalah
1. Pernroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
2. Pernroses men set register PC dengan alamat awal program untuk‑ interrupt handler.
• Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan
instruksi instruksi berikutnya‑ & interrupt handler yang melayani interupsi.
Pelaksanaan interupsi ini belum tentu niengakibatkan pengalihan ke proses lain
[yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked,
ready, dan sebagainya), dan sebaliknya.]. Kita menyebut pengalihan konteks
adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi
program interrupt handler.
• Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack
dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi
pengalihan ke proses lain.
Pengalihan konteks
• Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
• Pemroses menset register PC dengan alamat awal program untuk interuppet handler.
• Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi berikutnya di
interuppt handler yang melayani interrupt.
• Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan
PCB proses dari daftar running ke daftar lain (blocked, ready), dan sebaliknya.
• Setelah penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan
sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.
Kedudukan sistem operasi
• Sistem operasi sebagai kernel tersendiri yang
berbeda dengan proses-proses lain (kernel
sebagai non-proses).
• Fungsi-fungsi sistem operasi dieksekusi dalam
proses pemakai.
• Sistem operasi juga sebagai kumpulan
proses (process based operating systems).
Kernel sebagai non proses
• Ketika proses running diinterupsi atau
memanggil system call, maka konteks pemroses
proses ini disimpan dan kendali dilewatkan ke
kernel.
• Sistem operasi melakukan fungsi yang
diinginkan dan mengembalikan konteks proses
yang diinterupsi.
• Konsep proses hanya diterapkan untuk
program-program pemakai.
Mikrokernel
• Mikrokernel adalah inti sistem operasi yang menyebabkan landasan
perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem
operasi MACH.
– Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi
inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan
dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu.
• Fungsi mikrokernel adalah sebagai mediator pertukaran pesan.
• Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-
komponen dan memberi hak pengaksesan perangkat keras
Proses pada SO
• Bagaimana proses direpresentasikan & dikendalikan oleh SO.
– Status proses (process state) yang mencirikan perilaku dari proses.
– Struktur data yang digunakan untuk mengelola (manage) proses.
– Cara SO menggunakan struktur data ini untuk mengendalikan eksekusi proses.
– Contoh: pengelolaan proses pada UNIX SVR4.
Syarat Sistem Operasi
• Tugas Fundamental: Manajemen Proses
• Sistem Operasi harus
– Mengeksekusi banyak proses secara bergantian
– Mengalokasikan sumber daya (resource) bagi proses & melindungi resource setiap
proses dari proses lain,
– Membolehkan proses untuk berbagi (share) & bertukar informasi,
– Memungkinkan sinkronisasi antar proses.
Konsep
• – Platform komputer terdiri dari himpunan sumber daya hardware
– Aplikasi komputer dikembangkan untuk mengerjakan beberapa
tugas
– Sangat tidak efisien menulis aplikasi yang secara langsung
ditujukan untuk platform hardware tertentu
– SO menyediakan suatu interface untuk digunakan oleh aplikasi
– SO menyediakan suatu representasi sumber daya yang dapat
direquest & diakses oleh aplikasi.
Trace dan Eksekusi
Trace Dari Proces
• Perilaku dari suatu proses diperlihatkan oleh listing
deretan instruksi yang dieksekusi
• List ini dinamakan Trace
• Dispatcher merupakan suatu program kecil yang men-
switch processor dari satu proses ke proses lainnya
Eksekusi Proses
• Anggap ada 3 proses yang akan dieksekusi
• Semuanya ada di memory (ditambah dispatcher)
• Sementara, abaikan memory virtual.
Model Proses Dua Status
• Proses dapat berada pada
salah satu dari dua status
– Berjalan (running)
– Not-running
Dan seterusnya … proses
dipindahkan oleh
dispatcher dari SO ke CPU
kemudian kembali ke
antrian (Queue) sampai
tugas tersebut selesai
(lengkap)
SO Mengatur Eksekusi
• Sumber daya dibuat tersedia untuk banyak
aplikasi
• Processor di-switch antar banyak aplikasi
• Processor & perangkat I/O dapat digunakan
secara efisien
Lahir & Matinya Proses Pembuatan
- Kerja batch baru
- Login interaktif
- Dibuat oleh SO untuk menyediakan layanan
- Ditelurkan oleh proses existing
- Penghentian
- Selesai normal
- Memory unavailable
- Error proteksi
- Intervensi Operator atau SO
Aktivitas-aktivitas manajemen proses
• Membuat dan menghapus proses pengguna dan
sistem proses
• Menunda atau melanjutkan proses
• Menyediakan mekanisme untuk proses
sinkronisasi
• Menyediakan mekanisme untuk proses
komunikasi
• Menyediakan mekanisme untuk penanganan
deadlock
Pembuatan dan Penghentian
PEMBUATAN PROSES
• SO membangun suatu struktur data untuk mengelola proses tersebut
• Biasanya, semua proses dibuat oleh SO
– Tetapi SO juga membolehkan proses yang sedang berjalan membuat proses lain
• Aksi ini disebut process spawning
– Proses induk (parent) adalah original, membuat proses anak, ia juga proses
– Proses anak (child) merupakan proses baru
penghentian Proses
• Harus ada cara yang dapat menandakan bahwa suatu proses selesai.
• Indikasi ini dapat berupa:
– Instruksi HALT membangkitkan suatu interupsi alert untuk SO
– Aksi pengguna (seperti log off & keluar dari suatu aplikasi)
– Suatu kesalahan atau error
– Dihentikan oleh proses induk
Proses di suspend
• Processor lebih cepat daripada I/O sehingga semua
proses dapat menunggu I/O
– Swap proses demikian ke disk untuk membebaskan lebih
banyak memory & menugaskan processor pada lebih
banyak proses
• Status Blocked berubah menjadi Suspend ketika proses
dialihkan ke disk
• Muncul dua status baru:
– Blocked/Suspend
– Ready/Suspend
Alasan Suspensi Proses
- Swapping : SO harus membebaskan cukup main memory agar suatu proses siap eksekusi.
- Ada Masalah: SO mengira proses menyebabkan suatu masalah.
- Permintaan Pemakai: Misalnya, debugging atau berhubungan dengan pemanfaatan sumber daya.
- Timing: Proses dapat dieksekusi secara periodik (misal, sistem monitoring sistem atau
accounting) & boleh di-suspend selama menunggu waktu berikutnya.
- Request Proses Induk : Proses induk berkeinginan men-suspend eksekusi dari suatu turunan
untuk menguji atau mengubah proses turunan tersebut atau mengkoordinasikan aktifitas dari
berbagai keturunannya.
Struktur Kontrol SO
• SO bertanggungjawab mengelola proses & sumber daya
sehingga harus mempunyai informasi tentang status terkini
(current) dari setiap proses dan sumber daya.
• Tabel (informasi) dibangun untuk setiap entitas yang
dikelola sistem operasi
Tabel memory
• Tabel memory digunakan untuk menjaga track dari
memory utama dan sekunder.
• Harus menyertakan informasi ini:
– Alokasi dari main memory kepada proses
– Alokasi dari secondary memory untuk proses
– Atribut proteksi untuk akses dari region memory
yang dishare
– Informasi yang diperlukan untuk mengelola virtual
memory
Reff :
1. http
://dimasrachmanto.blogspot.com/2012/06/proses-pa
by Dimas Rachmanto
2. Danang Lelono, S.Si., M.T.
3. Internet (keyword Proses Sistem Operasi)
Edit : Martin Suhartana, ST. MM
MENDUKUNG KOMUNIKASI ANTAR PROSES
& PENCIPTAAN PROSES
• SO harus mendukung komunikasi antar proses dan
penciptaan proses oleh pemakai sehingga membantu
menstrukturkan aplikasi.
– Jadi pada sistem dengan banyak proses aktif, proses-proses pada
satu saat berada dalam beragam tahap eksekusinya.
– Proses mengalami beragam state selama siklus hidupnya sebelum
berakhir dan keluar dari sistem.
– SO harus mengetahui state masing-masing proses dan merekam
semua perubahan yang terjadi secara dinamis.
– Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya
Informasi status pemroses
• Register-register yang terlihat pemakai,
– adalah register-register yang dapat ditunjuk instruksi bahasa
assembly untuk diproses pemroses.
• Register-register kendali dan status,
– Adalah register-register yang digunakan untuk
mengendalikan operasi pemroses.
• Pointer stack,
– tiap proses mempunyai satu atau lebih stack, yang
digunakan untuk parameter atau alamat prosedur pemanggil
dan system call. Pointer stack menunjukkan posisi paling
atas dari stack.
Tahap-tahap penciptaan proses
• Beri satu identifier unik ke proses baru. Isian baru
ditambahkan ke tabel proses utama yang berisi
satu isian perproses.
• Alokasikan ruang untuk proses.
• PCB harus diinisialisasi.
• Kaitan-kaitan antar tabel dan daftar yang cocok
dibuat.
• Bila diperlukan struktur data lain maka segera
dibuat struktur data itu.
Pengalihan proses
• Kejadian-kejadian apa yang memicu alih proses ?
• Masalah lain adalah terdapatnya perbedaan
antara alih proses (process switching) dan alih
konteks (context switching).
• Apa yang harus dilakukan sistem operasi terhadap
beragam struktur data yang dibawah kendalinya
dalam alih proses ?

Contenu connexe

Tendances

Proses manufaktur mesin bubut
Proses manufaktur mesin bubutProses manufaktur mesin bubut
Proses manufaktur mesin bubutNur Hidayah
 
Kelompok 10 power point pembelahan sel
Kelompok 10 power point pembelahan selKelompok 10 power point pembelahan sel
Kelompok 10 power point pembelahan selUNIB
 
KESETIMBANGAN
KESETIMBANGANKESETIMBANGAN
KESETIMBANGANDwi Ratna
 
LAPORAN HASIL PRAKTEK PEMROGRAMAN KOMPUTER (DLPHI 7)
LAPORAN HASIL PRAKTEK  PEMROGRAMAN KOMPUTER (DLPHI 7)LAPORAN HASIL PRAKTEK  PEMROGRAMAN KOMPUTER (DLPHI 7)
LAPORAN HASIL PRAKTEK PEMROGRAMAN KOMPUTER (DLPHI 7)YOHANIS SAHABAT
 
Bahan ajar optika geometri pemantulan pada cermin
Bahan ajar optika geometri pemantulan pada cerminBahan ajar optika geometri pemantulan pada cermin
Bahan ajar optika geometri pemantulan pada cerminnooraisy22
 
Ppt efek compton
Ppt efek comptonPpt efek compton
Ppt efek comptonAmalia Lia
 
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad Akmal
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad AkmalLaporan Kerja Praktik Komatsu Indonesia oleh Muhammad Akmal
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad AkmalMuhammad Akmal
 
Tugas simulasi 5211100111
Tugas simulasi 5211100111Tugas simulasi 5211100111
Tugas simulasi 5211100111Aula Ayubi
 
Bioteknologi di bidang forensik
Bioteknologi di bidang forensikBioteknologi di bidang forensik
Bioteknologi di bidang forensikJessy Damayanti
 
Pengukuran Waktu Kerja Dengan Metode Pengukuran Langsung
Pengukuran Waktu Kerja Dengan Metode Pengukuran LangsungPengukuran Waktu Kerja Dengan Metode Pengukuran Langsung
Pengukuran Waktu Kerja Dengan Metode Pengukuran LangsungYesica Adicondro
 
Sistem operasi linux
Sistem operasi linuxSistem operasi linux
Sistem operasi linuxSiti Kholifah
 
Sistem keamanan jaringan (firewall)
Sistem keamanan jaringan (firewall)Sistem keamanan jaringan (firewall)
Sistem keamanan jaringan (firewall)Eko Supriyadi
 

Tendances (20)

Proses manufaktur mesin bubut
Proses manufaktur mesin bubutProses manufaktur mesin bubut
Proses manufaktur mesin bubut
 
Kelompok 10 power point pembelahan sel
Kelompok 10 power point pembelahan selKelompok 10 power point pembelahan sel
Kelompok 10 power point pembelahan sel
 
Bioteknologi dibidang kedokteran
Bioteknologi dibidang kedokteranBioteknologi dibidang kedokteran
Bioteknologi dibidang kedokteran
 
sistem informasi manajemen
sistem informasi manajemensistem informasi manajemen
sistem informasi manajemen
 
KESETIMBANGAN
KESETIMBANGANKESETIMBANGAN
KESETIMBANGAN
 
Ppt golden rice
Ppt golden ricePpt golden rice
Ppt golden rice
 
LAPORAN HASIL PRAKTEK PEMROGRAMAN KOMPUTER (DLPHI 7)
LAPORAN HASIL PRAKTEK  PEMROGRAMAN KOMPUTER (DLPHI 7)LAPORAN HASIL PRAKTEK  PEMROGRAMAN KOMPUTER (DLPHI 7)
LAPORAN HASIL PRAKTEK PEMROGRAMAN KOMPUTER (DLPHI 7)
 
Fisika inti
Fisika intiFisika inti
Fisika inti
 
Bahan ajar optika geometri pemantulan pada cermin
Bahan ajar optika geometri pemantulan pada cerminBahan ajar optika geometri pemantulan pada cermin
Bahan ajar optika geometri pemantulan pada cermin
 
Ppt efek compton
Ppt efek comptonPpt efek compton
Ppt efek compton
 
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad Akmal
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad AkmalLaporan Kerja Praktik Komatsu Indonesia oleh Muhammad Akmal
Laporan Kerja Praktik Komatsu Indonesia oleh Muhammad Akmal
 
Tugas simulasi 5211100111
Tugas simulasi 5211100111Tugas simulasi 5211100111
Tugas simulasi 5211100111
 
Bioteknologi di bidang forensik
Bioteknologi di bidang forensikBioteknologi di bidang forensik
Bioteknologi di bidang forensik
 
buku fisika kelas XI
buku fisika kelas XIbuku fisika kelas XI
buku fisika kelas XI
 
Reproduksi sel
Reproduksi selReproduksi sel
Reproduksi sel
 
Substansi genetik
Substansi genetikSubstansi genetik
Substansi genetik
 
Ppt reaktor nuklir
Ppt reaktor nuklirPpt reaktor nuklir
Ppt reaktor nuklir
 
Pengukuran Waktu Kerja Dengan Metode Pengukuran Langsung
Pengukuran Waktu Kerja Dengan Metode Pengukuran LangsungPengukuran Waktu Kerja Dengan Metode Pengukuran Langsung
Pengukuran Waktu Kerja Dengan Metode Pengukuran Langsung
 
Sistem operasi linux
Sistem operasi linuxSistem operasi linux
Sistem operasi linux
 
Sistem keamanan jaringan (firewall)
Sistem keamanan jaringan (firewall)Sistem keamanan jaringan (firewall)
Sistem keamanan jaringan (firewall)
 

En vedette

02. proses pada so
02. proses pada so02. proses pada so
02. proses pada sokimerfan
 
Pertemuan 8 managemen memory
Pertemuan 8 managemen memoryPertemuan 8 managemen memory
Pertemuan 8 managemen memorySetyady Peace
 
05 week 5_ip_addressing
05 week 5_ip_addressing05 week 5_ip_addressing
05 week 5_ip_addressingSetyady Peace
 
00 rencana pengajaran-jaringan_komputer_2012-2013
00 rencana pengajaran-jaringan_komputer_2012-201300 rencana pengajaran-jaringan_komputer_2012-2013
00 rencana pengajaran-jaringan_komputer_2012-2013Setyady Peace
 
Tm 1 2 SISTIM INFORMASI MANAGEMEN
Tm 1 2  SISTIM INFORMASI MANAGEMENTm 1 2  SISTIM INFORMASI MANAGEMEN
Tm 1 2 SISTIM INFORMASI MANAGEMENSetyady Peace
 
Summer Sculpture Maintenance at the Denver Art Museum
Summer Sculpture Maintenance at the Denver Art MuseumSummer Sculpture Maintenance at the Denver Art Museum
Summer Sculpture Maintenance at the Denver Art MuseumScott Reiman
 

En vedette (9)

02. proses pada so
02. proses pada so02. proses pada so
02. proses pada so
 
Pertemuan 8 managemen memory
Pertemuan 8 managemen memoryPertemuan 8 managemen memory
Pertemuan 8 managemen memory
 
Week 9 vlan
Week 9   vlanWeek 9   vlan
Week 9 vlan
 
05 week 5_ip_addressing
05 week 5_ip_addressing05 week 5_ip_addressing
05 week 5_ip_addressing
 
工作紙
工作紙工作紙
工作紙
 
00 rencana pengajaran-jaringan_komputer_2012-2013
00 rencana pengajaran-jaringan_komputer_2012-201300 rencana pengajaran-jaringan_komputer_2012-2013
00 rencana pengajaran-jaringan_komputer_2012-2013
 
Tm 1 2 SISTIM INFORMASI MANAGEMEN
Tm 1 2  SISTIM INFORMASI MANAGEMENTm 1 2  SISTIM INFORMASI MANAGEMEN
Tm 1 2 SISTIM INFORMASI MANAGEMEN
 
Pic
PicPic
Pic
 
Summer Sculpture Maintenance at the Denver Art Museum
Summer Sculpture Maintenance at the Denver Art MuseumSummer Sculpture Maintenance at the Denver Art Museum
Summer Sculpture Maintenance at the Denver Art Museum
 

Similaire à Pertemuan 2.1. proses pada so 2

Zulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen ProsesZulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen Prosesbelajarkomputer
 
ini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptxini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptxakunoo
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfElmitiodatacp
 
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
 
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhhSo manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhhSejahtera Affif
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesbelajarkomputer
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Prosesbelajarkomputer
 
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen ProsesFerli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Prosesbelajarkomputer
 
Sistem operasi rangkuman
Sistem operasi rangkumanSistem operasi rangkuman
Sistem operasi rangkumanIputu Septianta
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemSejahtera Affif
 
IV. Proses-proses.ppt
IV. Proses-proses.pptIV. Proses-proses.ppt
IV. Proses-proses.pptRezzaFahlevvi
 
Chapter 10 - Sister
Chapter 10 - SisterChapter 10 - Sister
Chapter 10 - Sisterbeiharira
 
Manajemen Proses Riset Operasi
Manajemen Proses Riset OperasiManajemen Proses Riset Operasi
Manajemen Proses Riset OperasiHaris Bahrudin
 

Similaire à Pertemuan 2.1. proses pada so 2 (20)

Zulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen ProsesZulyanti Megasari - Manajemen Proses
Zulyanti Megasari - Manajemen Proses
 
ini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptxini95_20230321085805_Modul-4_Proses.pptx
ini95_20230321085805_Modul-4_Proses.pptx
 
Pertemuan ke 3
Pertemuan ke 3Pertemuan ke 3
Pertemuan ke 3
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
 
Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]Sistem Operasi - 4 [Penjadwalan Proses SO]
Sistem Operasi - 4 [Penjadwalan Proses SO]
 
So manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhhSo manajemen proses_komplit.hhhhh
So manajemen proses_komplit.hhhhh
 
3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt3-Manajemen_Proses.ppt
3-Manajemen_Proses.ppt
 
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
 
Ferli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen ProsesFerli Apriadi - Manajemen Proses
Ferli Apriadi - Manajemen Proses
 
Sistem operasi rangkuman
Sistem operasi rangkumanSistem operasi rangkuman
Sistem operasi rangkuman
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
 
IV. Proses-proses.ppt
IV. Proses-proses.pptIV. Proses-proses.ppt
IV. Proses-proses.ppt
 
4.proses proses
4.proses proses4.proses proses
4.proses proses
 
Chapter 10 - Sister
Chapter 10 - SisterChapter 10 - Sister
Chapter 10 - Sister
 
Pertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_okPertemuan 6 rev 310108_ok
Pertemuan 6 rev 310108_ok
 
Proses SO
Proses SOProses SO
Proses SO
 
3. so proses
3. so   proses3. so   proses
3. so proses
 
Manajemen Proses Riset Operasi
Manajemen Proses Riset OperasiManajemen Proses Riset Operasi
Manajemen Proses Riset Operasi
 
Pert.3 proses dan thread
Pert.3 proses dan threadPert.3 proses dan thread
Pert.3 proses dan thread
 

Pertemuan 2.1. proses pada so 2

  • 1. Proses Pada SO Martin Suhartana, ST MTI
  • 2. Definisi Proses SO • Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. • Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. • Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. • Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. • Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
  • 3. Defini Proses SO • Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi. • Proses adalah program yang sedang dieksekusi. • Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
  • 4. Pengertian Proses • Suatu program dalam (yang sedang di) eksekusi • Instance dari program yang berjalan pada suatu komputer • Entitas yang dapat dilewatkan ke & dieksekusi pada suatu processor • Suatu unit aktifitas yang dicirikan oleh eksekusi serangkaian instruksi, current state (status terkini) & himpunan instruksi sistem terkait (associated).
  • 5. DESKRIPSI PROSES • Definisi : – Adalah program yang sedang dieksekusi • Unit terkecil yang secara individu memiliki sumber daya- sumber daya dan dijadwalkan oleh Sistem Operasi (SO) • SO mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai dengan kebijaksanaan untuk memenuhi sasaran sistem • Hal-hal berkaitan proses – Multiprogramming (Multitasking) – Multiprocessing – Distributed processing
  • 6. MULTIPROGRAMMING• Definisi : Manajemen banyak proses pada satu pemroses • Banyak proses yang dijalankan bersamaan, masing-masing proses mendapat bagian memori dan kendali sendiri • Program yang dijalankan bersifat – Tidak bergantung (Independent) – Proses terpisah satu dari lainnya & tidak berpengaruh – Satu program pada satu saat (one program at any instant) – Pada satu waktu hanya satu proses yang dilayani pemroses, menggunakan interleave bukan overlap diantara program-program • Oleh karena perpindahan dari satu proses ke proses dilakukan secara cepat bagi bagi pemakai seolah-olah bekerja secara paralel. Hal ini dikenal dengan paralel semu (pseudoparallelism)
  • 7. MULTIPROCESSING • Definisi : Manajemen banyak proses di komputer multiprocessor • Dengan kata lain komputer dengan banyak pemroses di satu sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara independen • Contoh SO yang mendukung : Windows NT, UNIX, LINUX
  • 8. DISTRIBUTED PROCESSING • Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi). • Contoh : MACH, AMOEBA
  • 9. Elemen Proses • Suatu proses tersusun dari: – Kode program (mungkin di-share) – Sekumpulan data – Sejumlah atribut yang mendeskripsikan status dari proses tersebut • Selama proses berjalan, ia mempunyai sejumlah elemen, mencakup – Identifier – State – Priority – Program counter – Memory pointers – Context data – I/O status information – Accounting information
  • 10. PEMROSES • Kebutuhan utama pengendalian proses oleh SO dapat dinyatakan dengan mengacu ke proses yaitu – Saling melanjutkan (interleave) – Mengikuti kebijaksanaan tertentu – Mendukung komunikasi antar proses dan penciptaan proses
  • 11. INTERLEAVE • Dikatakan interleave (bersambung/ melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara cepat beralih ke proses lainnya secara bergiliran. • SO harus interleave (saling melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses sambil masih memberi waktu tanggap yang memadai
  • 13. Pengendalian proses • Saling melanjutkan (interleave), – Sistem operasi harus dapat kembali melanjutkan proses setelah melayani proses lain. • Kebijaksaan tertentu, – Sistem operasi harus mengalokasikan sumber daya ke proses berdasar prioritasnya. • Komunikasi antar proses dan penciptaan proses, – Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
  • 14. Status/Keadaan (state) proses Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut : • Running, Proses sedang mengeksekusi instruksi proses • Ready, Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini. • Blocked, Proses menunggu kejadian untuk melengkapi tugasnya
  • 15. Proses yang baru diciptakan akan mempunyai state ready. • Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait). • Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out). • Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs). • Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.
  • 16. Diagram state lanjut • Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. • Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
  • 17. DIAGRAM STATE PROSES 1. State dasar (3 keadaan) 2. State lanjut ( 5 keadaan)
  • 18. DIAGRAM STATE DASAR • Running : pemroses sedang mengeksekusi innstruksi proses tersebut • Ready : proses siap dieksekusi, tapi pemroses tidak tersedia untuk eksekusi proses ini • Blocked : proses menunggu kejadian (event) untuk melengkapi tugasnya
  • 20. KETERANGAN GAMBAR• Proses baru diciptakan berada pada state ready • Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event wait. • Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout). • Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event occur • Proses dari ready jadi running karena penjadwal memutuskan untuk mengeksekusi proses tersebut.
  • 21. PCB (PROGRAM CONTROL BLOCK) • SO memerlukan banyak informasi mengenai proses guna pengelolaan proses • Informasi ini ada di PCB • Struktur datanya menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses • Informasi di PCB dikelompokkan – Informasi identifikasi proses – Informasi status proses – Informasi kendali proses
  • 22. Process Control Block (PCB) • Berisi elemen-elemen proses • Dibuat dan dikelola oleh sistem operasi • Memberikan dukungan bagi banyak proses
  • 23. INFORMASI IDENTIFIKASI PROSES • Berkaitan dengan identitas proses yang unik • Dengan identifier ini proses dikaitkan ke tabel- tabel lain • Identifiernya adalah numerik yang meliputi – Identifier proses – Identifier proses yang menciptakan – Identifier pemakai
  • 24. INFORMASI STATUS PROSES • Informasi ini esensinya terdiri dari register- register pemroses. • Saat proses berstatus running, informasi- informasi ini berada di register-register. • Ketika proses diinterupsi semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali – Jumlah dan ragam register bergantung pada arsitektur komputernya
  • 25. INFORMASI STATUS PROSES • Informasi ini esensinya terdiri dari register- register pemroses. • Saat proses berstatus running informasi- informasi ini berada di register-register. • Saat proses diinterupsi semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali • Jumlah dan ragam register yang terlibat bergantung pada arsitektur komputer
  • 26. INFORMASI KENDALI PROSES • Adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif
  • 27. Informasi kendali proses • Informasi penjadwalan dan status, Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan, antara lain : – Status proses, Mendefinisikan keadaan/status proses (running, ready, blocked) – Prioritas, Menjelaskan prioritas proses. – Informasi berkaitan dengan penjadwalan, Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi. – Kejadian, Identitas kejadian yang ditunggu proses. • Penstrukturan data, satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini. • Komuikasi antar proses, beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. • Manajemen memori Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memory) proses. • Kepemilikan dan utilisasi sumber daya, sumber daya yang dikendalikan proses harus diberi tanda, misalnya
  • 28. ELEMEN-ELEMEN PCB Identifikasi Proses Identifier Identifier numerik yang meliputi  Identifier proses  Identifier proses yang menciptakan  Identifier pemakai
  • 29. ELEMEN-ELEMEN PCB (Lanjut) Informasi Status Pemroses Register-register yang terlihat pemakai Register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses Register-register kendali dan status Register-register yang digunakan untuk mengendalikan operasi pemroses, a.l.:  Program counter  PSW, dsb. Pointer stack Tiap proses mempunyai satu stack atau lebih. Stack digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjuk posisi paling atas dari stack
  • 30. ELEMEN-ELEMEN PCB (Lanjut) Informasi Kendali Pemroses Informasi penjadwalan dan status Informasi-informasi yang dipakai untuk menjalankan fungsi penjadwalan a.l :  Status proses. Mendefinisikan status proses (running,ready,block, dsb)  Prioritas. Menjelaskan prioritas proses  Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.  Kejadian (Event). Identitas kejadian yang ditunggu proses Penstrukturan data Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini. Komunikasi antar proses Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB
  • 31. ELEMEN-ELEMEN PCB (Lanjut) Informasi Kendali Pemroses (lanjut) Kewenangan proses Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses Kepemilikan dan utilisasi sumber daya Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :  Berkas yang dibuka  Pemakaian pemroses  Pemakaian sumberdaya lainnya Informasi ini diperlukan oleh penjadwal
  • 32. STRUKTUR CITRA PROSES • Citra proses mempunyai struktur : – PCB – Stack pemakai (User Stack) – Ruang alamat proses eklusif – Ruang alamat yang dipakai bersama proses lain • Implementasi penempatan citra proses yang sesungguhnya bergantung pada skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi
  • 33. STRUKTUR CITRA PROSES Identifikasi Proses Informasi status proses Informasi kendali proses Stack pemakai Ruang alamat yang khusus diperuntukkan pemakai (program, data) Ruang alamat bersama PCB
  • 34. OPERASI-OPERASI PADA PROSES • SO dalam mengelola proses dapat melakukan operasi-operasi terhadap proses. • Operasi-operasi terhadap proses a.l. : – Penciptaan proses (create process) – Penghancuran/terminasi proses (destroy a process) – Penundaan proses (suspend a process) – Pelanjutan kembali proses (resume process) – Pengubahan prioritas proses – Memblok proses – Membangunkan proses – Menjadwalkan proses – Memungkinkan proses berkomunikasi dengan proses lain
  • 35. PENCIPTAAN PROSES • Penciptaan proses melibatkan banyak aktivitas, yaitu – Menamai (memberi identitas) proses – Menyisipkan proses pada senarai proses atau tabel proses – Menentukan prioritas awal proses – Menciptakan PCB – Mengalokasikan sumberdaya awal bagi proses • Ketika proses baru ditambahkan, SO membangun struktur data untuk mengelola dan alokasi ruang alamat proses itu. Aksi ini berkaitan dengan proses baru.
  • 36. PENCIPTAAN PROSES • Kejadian yang dapat menyebabkan penciptaan proses a.l. : – Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job) – Pada lingkungan interaktif, ketika pemakai baru berusaha logon – Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat menciptakan proses yang akan mengelola pencetakan itu – Proses menciptakan proses lain (proses anak) – Proses yang menciptakan child process disebut proses induk (parent process) – Child process dapat menciptakan proses baru. – Proses-proses dapat membentuk pohon hirarki proses
  • 37. TABEL ALASAN CREATE PROCESS Penyebab Penciptaan Deskripsi Terdapat batch job baru SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya Satu pemakai interaktif logon Seorang pemakai pada satu terminal sedang melakukan logon ke sistem SO menciptakan proses untuk memberi layanan SO menciptakan proses untuk memenuhi satu fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu Proses menciptakan proses anak Untuk mencapai modularitas atau mengeksploitasi kongkuransi, program pemakai memerintahkan pembuatan sejumlah proses
  • 38. CONTOH KASUS • UNIX – Proses baru diciptakan dengan system call fork (SCF). SCF menciptakan kopian proses pemanggil (induk) yang identik. Setelah panggilan fork, proses induk melanjutkan berjalan bersama proses anak secara paralel. Proses induk dapat kembali melakukan fork untuk menciptakan proses-proses anak yang baru. Proses anakpun dapat mengeksekusi fork, sehingga dapat terbentuk pohon hirarki proses. • MSDOS – System call yang ada di MSDOS adalah meload file binerke memori dan mengeksekusi sebagai proses anak. Berbeda dengan UNIX, MSDOS panggilan ini menunda (menonaktifkan) proses induk sampai proses anak menyelesaikan eksekusi. Proses induk dan proses anak tidak berjalan secara paralel
  • 39. PENGHANCURAN PROSES • Melibatkan pembebasan proses dari sistem, yaitu – Sumber daya-sumber daya yang dipakai dikembalikan – Proses dihancurkan dari senarai atau tabel sistem – PCB dihapus (ruang memori PCB dikembalikan ke pool bebas) • Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu – Pada beberapa sistem, proses-proses turunan dihancurkan saat proses-proses induk dihancurkan secara otomatis – Beberapa sistem lain menganggap proses anak independen terhadap proses induk sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan
  • 40. TABEL ALASAN TERMINATE PROCESS Penyebab Terminasi Deskripsi Selesainya proses secara normal Proses mengeksekusi panggilan layanan SO untuk menandakan bahwa proses telah berjalan secara lengkap Batas waktu telah terlewati Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (walk clock time), jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) Memori tidak tersedia Proses memerlukan memori lebih banyak daripada yang dapat disediakan sistem Pelanggaran terhdap batas memori Proses mencoba mengakses lokasi memori yang tidak diijinkan diakses
  • 41. TABEL ALASAN TERMINATE PROCESS (lanjut) Penyebab Terminasi Deskripsi Terjadi kesalahan karena pelanggaran proteksi Proses berusaha menggunakan sumberdaya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukkannya, seperti menulis file read-only Terjadi kesalahan aritmatika Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang dapat diakomodasi oleh perangkat keras Waktu telah kadaluarsa Proses telah menunggu lebih lama daripada daripada maksimum yang ditentukan untuk terjadinya suatu kejadian spesifik Terjadi kegagalan I/O Kesalahan muncul pada input atu output, seperti ketidakmampuan menemukan file, kegagalan read atau write setelah sejumlah maksimum percobaan yang ditentukan (misal: area rusak pada tape, atau operasi tidak valid spt membaca dari line printer)
  • 42. TABEL ALASAN TERMINATE PROCESS (lanjut) Penyebab Terminasi Deskripsi Instruksi yang tidak benar Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagai akibat percabangan ke daerah data dan berusaha mengeksekusi data itu) Terjadi usaha memakai instruksi yang tidak diizinkan Proses berusaha menggunakan instruksi yang disimpan untuk SO Kesalahan penggunaan data Bagian data adalah tipe yang salah atau tidak diinisialisasi Diintervensi oleh SO atau operator Untuk suatu alasan, operator atau SO mengakhiri proses (misal : terjadi deadlock) Berakhirnya proses induk Ketika induk berakhir, SO mungkin dirancang secara otomatis mengakhiri semua anak proses dari induk tsb. Atas permintaan dari proses induk Proses induk biasanya mempunyai otoritas mengakhiri suatu anak proses
  • 43. Diagrarn State Lanjut (5 Keadaan) • Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses proses tertentu guna mereduksi beban sistem selama beban‑ puncak. • Proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me resume. Untuk jangka panjang, sumber‑ daya sumber daya proses dibebaskan (dilucuti). Keputusan‑ membebaskan sumber daya sumber daya bergantung sifat‑ masing masing sumber daya. Memori utama seharusnya segera‑ dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.
  • 44. Proses 5 Status 1. New : Proses baru yg belum diload ke memori utama 2.Ready : Proses yang siap utk dieksekusi 3.Blocked : Proses yg tidak dpt dieksekusi sampai suatu kejadian muncul 4. Running : Proses yg dieksekusi 5. Exit : Proses yg selesai dieksekusi
  • 45.
  • 46. • Operasi suspend dan resume penting, sebab: – Jika sistem berfungsi secara buruk dan mungkin gagal maka proses proses‑ dapat di suspend agar di resume s‑ etelah masalah diselesaikan. Contoh : Pada proses pencetakan, bila tiba tiba kertas habis maka proses‑ di suspend.‑ Setelah kertas dimasukkan kembali, proses pun dapat di resume.‑ – Pemakai vang ragu/kawatir mengenai hasil proses dapat men suspend‑ proses [bukan membuang (abort) proses]. Saat pemakai yakin proses akan berfungsi secara benar maka dapat me resume (melanjutkan‑ kembali di instruksi saat di suspend) proses yang di suspend‑ ‑ – Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat di suspend dan di‑ ‑ resume saat beban kembali ke tingkat normal.
  • 47.
  • 48. Gambar menunjukkan modifikasi diagram state dengan memasukkan kejadian suspend dan resume
  • 49. • Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu 1. Suspendedready. 2. Suspendedblocked. • Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain. – Pada sistem monoprocessor, proses running dapat men suspenddirinya‑ sendiri karena tak ada proses lain yang juga running yang dapat memerintahkan suspend. – Pada sistem multiprocessor, proses running dapat di suspend proses‑ running lain pada pernroses berbeda. Proses ready hanya dapat di suspend‑ oleh proses lain. • Pada proses blocked terdapat transisi menjadi suspendedblocked. Pilihan ini dirasa aneh Apakah tidak cukup menunggu selesainya operasi masukan/keluaran atau kejadian yang membuat proses ready atau suspendedready? Bukankah state blocked, readyblocked suspendedblocked sama sama tidak mendapatjatah waktu pernroses? Kenapa dibedakan?‑
  • 50. ALASAN • Karena penyelesaian operasi masukanlkeluaran bagi proses blocked mungkin tak pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik di suspend agar‑ sumber dayasumber daya yang dialokasikan untuk proses tersebut dapat digunakan proses proses‑ lain. Untuk kondisi ini, lebih baik sumber daya sumber daya yang‑ dipegang proses yang berkondisi seperti ini dipakai proses proses lain.‑ • Proses blocked di suspend s‑ istem atau secara manual menjadi suspendedblocked. Bila akhirnya operasi masukan/keluaran berakhir maka segera proses suspendedblocked mengalami transisi. Karena resume dan suspend mempunyai prioritas tinggi maka transisi sewra dilakukan. Susnenddan resume danat digunakan untuk menveimbanekan beban sistem saat mengalami lonjakan di atas normal
  • 52. Tabel-tabel proses • Tabel informasi manajemen memori, Untuk menjaga keutuhan memori utama dan memori sekunder yang menyimpan informasi tentang : • Tabel informasi manajemen masukan/keluaran, Untuk mengelola perangkat masukan/keluaran, dimana perangkat tersebut digunakan proses tertenty, sehingga perlu dijaga agar proses lain tidak memakainya. Sistem operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk transfer data. • Tabel informasi sistem file, Berisi informasi mengenai ekstensi file, lokasi pada memori sekunder, status saat itu dan menyimpan atribut-atribut file lainnya. • Tabel proses, Untuk mengelola informasi proses di sistem operasi, lokasinya di memori, status dan atribut proses lainnya.
  • 53. Tabel tabel untuk Proses‑ • Tiap proses mempunyai state yang perlu diperhatikan sistem operasi. Sistern operasi mencatat state proses dengan beragam tabel atau senarai, antara lain: 1. Tabel infortnasi manajemen mernori. 2. Tabel informasi manajemen masukan/keluaran. 3. Tabel inforinasi sistern file. 4. Tabel proses. • Keempat tabel saling berhubungan
  • 54. Tabel Informasi Manajemen Memori • Tabel. informasi manajemen mernori untuk meniaga keutuhan memori utama dan memori sekunder. Tabel ini memuat informasi berikut: – Alokasi memori utama yang dipakai proses. – Alokasi memori sekunder yang dipakai proses (bila menggunakan manaJemen memori dengan swapping). • Atribut segmen memori utama dan sekunder. • Informasi informasi lain yang digunakan untuk‑ pengelolaan memori,
  • 55. Tabel InformasiManajemen Masukan/Keluaran • Tabel ini untuk mengelola perangkat masukanlkeluaran. Pada satu saat, perangkat masukan/keluaran digunakan proses tertentu, perlu dijaga agar proses lain tidak memakainya. Sistern operasi perlu mengetahui status operasi masukan/keluaran dan lokasi memori utama yang digunakan untuk transfer data.
  • 56. Tabel Informasi Sistem File • Tabel ini berisi informasi mengenai ekstensi file, lokasi pada memori sekunder, status saat itu dan menyimpan atribut atribut file lainnya.‑
  • 57. Tabel Proses • Tabel proses mengelola informasi proses di sistem operasi, lokasinya di memori. Tabel juga berisi status dan atribut atribut proses yang lain.‑ • Proses ditempatkan di memori utama di lokasi tertentu, proses mempunyai satu ruang alamat tersendiri. Ruang alamat yang digunakan proses disebut citra proses (process image) karena selain seluruh kode biner program, proses ditambahi atribut atribut lain berkaitan‑ penernpatannya pada suatu lokasi mernori dan status eksekusi pada saat itu.
  • 58. Tabel Elemen elemen Citra Proses‑
  • 59.
  • 60. PCB dan Daftar Proses • PCB berperan penting di sistem operasi. Tiap PCB berisi informasi mengenai proses yang diperlukan sistern operasi. PCB dibaca dan/atau dimodifikasi rutin sistern operasi seperti penjadwalan, alokasi sumber daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB mendefinisikan state sistern operasi. • Untuk menyatakan senarai proses di sistern operasi dibuat senarai KB.
  • 61. PCB dan Daftar proses • Bila proses berakhir (selesai) maka dijalankan operasi terminasi sehingga PCB-nya tak ada lagi. • Bila proses diblocked karena menunggu alokasi sumber daya maka PCBnya dipindah ke daftar blocked. • Bila proses dijadwalkan habis jatah waktu eksekusinya maka PCBnya dipindahkan ke daftar ready. • Proses yang sedang blocked berpindah menjadi ready bila sumber daya yang ditunggu telah teralokasi untuknya. Untuk itu PCBnya dipindahkan ke daftar ready.
  • 63. • Gambar di atas memperlihatkan hanya satu PCB berada di senarai running. PCB ini menyatakan proses yang saat itu sedang dicksekusi pernroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus. • Proses proses‑ ready digambarkan dengan PCB proses proses di senarai‑ ready. Proses proses menunggu‑ dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCB nya dipindah‑ dari senarai ready ke senarai running.
  • 64. • Proses running (PCB nya berada di senarai‑ running) dipindah sesuai state yang dialami proses itu, sebagai berikut: – Bila proses berakhir (selesai) maka dijalankan operasi terminasi sehingga PCB nya tak ada lagi.‑ – Bila proses di blocked karena menunggu alokasi sumber daya‑ maka PCB nya dipindah ke senarai‑ blocked. – Bila proses dijadwalkan habisjatah waktu eksekusinya rnaka PCB nya dipindahkan ke senarai‑ ready. • Proses yang sedang blocked berpindah menjadi ready bila sumber daya yang ditunggu telah teralokasi untuknya. Untuk itu PCB nya dipindahkan ke senarai‑ ready.
  • 65. Pengaksesan Informast di PCB • Rutin rutin sistern operasi perlu mengakses informasi di‑ PCB. Tiap proses dilengkapi ID unik yang digunakan sebagai indeks (penunjuk) ke tabel untuk mengambil PCB. • Kesulitan bukan pada mekanisme pengaksesan, tapi masalah proteksi terhadap PCB. Dua masalah utama proteksi terhadap PCB, yaitu: 1. Bug (kesalahan pernrograrnan) pada rutin tunggal misalnya interrupt handler dapat merusak PCB sehingga dapat berakibat menghancurkan kernarnpuan sistem mengelola proses proses yang‑ diasosiasikan dengan PCB. 2. Perubahan rancangan struktur dan sernantiks PCB dapat berdampak ke sejurnlah modul sistern operasi yang memakai PCB.
  • 66. • Kedua masalah tersebut memberi gagasan agar sernua rutin sistern operasi melewati satu rutin khusus yaitu rutin penanganan PCB dalam mengakses PCB. Tugas rutin adalah memproteksi PCB dan menjadi perantara pembacaan dan penulisan PCB. – Masalah pertarna dapat dicegah karena rutin penanganan PCB akan selalu menjaga agar PCB tidak rusak. – Masalah keduajelas langsung teratasi karena antarrnuka terhadap, rutin rutin lain masih tetap dipertahankan walau rincian rincian PCB‑ ‑ diubah. Rutin rutin sistern operasi yang memakai antarmuka tidak‑ perlu diubah. • Teknik ini menghendaki didefinisikan antarmuka rutin penanganan PCB dan rutin rutin lain dengan baik. Kelemahan teknik ini adalah‑ adanya overhead kinerja karena harus memanggil rutin penanganan PCB. Pengaksesan langsung terhadap, PCB tentu lebih cepat daripada harus memanggil rutin penanganan PCB.
  • 67. Tahap tahap Penciptan Proses‑ • Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses ini meliputi beberapa tahap. Tahap tahap penciptaan proses adalah sebagai berikut:‑ [STA 951‑ 1. Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian per proses. 2. Alokasikan ruang untuk proses. 3. PCB harus diinisalisasi. 4. Kaitan kaitan, antar tabel dan senarai yang cocok dibuat.‑ 5. Bila diperlukan struktur data lain maka segera buat struktur data itu
  • 68. Pengalihan Proses • Kelihatannya pengalihan proses (process switching) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu. • Dalam hal ini muncul beberapa masalah, yaitu: 1. Kejadian kejadian apa yang memicu alih proses?‑ 2. Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching)‑ dan alih konteks (context switching).‑ 3. Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam alih proses?
  • 69. Pengalihan Proses • Pengalihan proses terjadijika proses yang running beralih menjadi state lain (ready, blocked, dan sebagainya) kemudian sistem. operasi membuat perubahan perubahan berarti terhadap lingkungan.‑ • Langkah langkah yang terlibat dalam pengalihan proses sebagai berikut:‑ 1. Simpan konteks pernroses, termasuk register PC dan register register‑ lain. 2. Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi salah satu state (ready, blocked, suspendedready, dan sebagainya). Field field‑ yang relevanjuga diperbarui misaInya alasan meninggalkan state runningdan informasi akunting. 3. Pindahkan PCB proses ke senarai yang cocok (ready, blocked, dan sebagainya). 4. Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan. 5. Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running. 6. Perbarui struktur struktur data manaJemen memori. Pekerjaan ini sesuai dengan‑ pengefolaan translasi alamat. 7. Kembalikan konteks pernroses dengan konteks simpanan yang memberitahu konteks proses terakhir saat dialihkan dari state running, Pengembalian konteks ini dilakukan dengan memuatkan nilai nilai‑ registerPC dan register register‑ lain dengan nilai konteks yang tersimpan. • Pengalihan proses melibatkan pengalihan konteks dan perubahan state, memerlukan usaha lebih besar daripada pengalihan konteks.
  • 70. • Pengalihan proses adalah terjadi jika proses yang running beralih menjadi state lain (ready, blocked, dan sebagainya), kemudian sistern operasi harus membuat perubahan perubahan berarti terhadap‑ lingkungannya. Rincian rincian dalam‑ pelaksanaan pengalihan proses di bahas setelah ini.
  • 71. Penghancuran proses • Sumber daya-sumber daya yang dipakai dikembalikan. • Proses dihancurkan dari daftar atau tabel sistem. • PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
  • 72. Kejadian kejadian Penyebab Pengalihan Proses‑ • Kejadian kejadian yang menyebabkan‑ terjadinya alih proses adalah: 1. Interupsi sistem. 2. Trap. 3. Supervisor call.
  • 73. InterupsI Sistem • Interupsi sistem disebabkan kejadian eksternal dan tak bergantung proses yang saat itu sedang running. • Contoh : Selesainya operasi masukan/keluaran. • Pada kejadian interupsi, kendali lebih dulu ditransfer ke interrupt handler yang melakukan penyimpanan data data‑ dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu. • Tipe tipe interupsi antara lain:‑ – Interupsi clock (clock interrupt). – Interupsi masukanlkeluaran (110 interrupt). – Page/memory fault.
  • 74. Interupsi Clock (Clock Interrupt) • Sistem operasi (penjadwal) menentukan apakah proses yang sedang running telah mengeksekusi selamajatah waktunya. Jika telah mencapaijatahnya maka proses dialihkan ke state ready dan proses lain dijadwalkan running.
  • 75. Interupsi Masukan/Keluaran (I/0 Interrupt) • Kejadian dimana peralatan masukan/keluaran melakukan interupsi meminta layanan sistem operasi. Sistem operasi segera menentukan aksi aksi masukanlkeluaran yang harus‑ dilakukan.
  • 76. Page/memory fault • Pernroses menemui pengacuan alamat memori maya yang tidak terdapat di memori utarna (fisik). Sistem operasi segera memerintahkan untuk mengambil page yang terdapat alamat yang dimaksud untuk dipindah ke memori utama.
  • 77. TRAP • Trap adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception conditions) yang dihasilkan proses yang running, seperti usaha illegal dalam mengakses file. • Dengan adanya trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan kesalahan fatal? – Jika fatal, proses yang saat itu running disingkirkan dan terjadi alih proses. – Jika kesalahan tidak fatal maka bergantung sifat kesalahan dan rancangan sistern operasi. Kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingatkan ke pemakai. • Saat terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume proses.
  • 78. Supervisor Call • Supervisor call yaitu panggilan meminta atau mengaktifkan bagiah sistem operasi. • Contoh : Proses pemakai running meminta layanan masukanlkeluaran seperti membuka file. Panggilan ini menghasilkan transfer ke rutin bagian sistem operasi. Biasanya, penggunaan system call membuat proses pemakai blocked karena diaktifkan proses kernel (sistem, operasi).
  • 79. Pengalihan Proses dan Pengalihan Konteks • Banyak buku teks sistem operasi menyamakan antara pengalihan proses (process switching) dan pengalihan konteks (context switching).‑ Tidak terdapat istilah untuk aksi penanganan interupsi. Kita membedakan antara istilah pengalihan proses dan pengalihan konteks.
  • 80. Pengalihan Konteks • Pengalihan konteks dapat terj adi tanpa pengalihan state proses yang sedang running, sedang pengalihan proses pasti melibatkan juga pengalihan konteks. • Siklus penanganan interupsi adalah 1. Pernroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack. 2. Pernroses men set register PC dengan alamat awal program untuk‑ interrupt handler. • Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi instruksi berikutnya‑ & interrupt handler yang melayani interupsi. Pelaksanaan interupsi ini belum tentu niengakibatkan pengalihan ke proses lain [yaitu pengalihan PCB proses dari senarai running ke senarai lain (blocked, ready, dan sebagainya), dan sebaliknya.]. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler. • Setelah selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.
  • 81. Pengalihan konteks • Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack. • Pemroses menset register PC dengan alamat awal program untuk interuppet handler. • Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi berikutnya di interuppt handler yang melayani interrupt. • Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan PCB proses dari daftar running ke daftar lain (blocked, ready), dan sebaliknya. • Setelah penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain.
  • 82. Kedudukan sistem operasi • Sistem operasi sebagai kernel tersendiri yang berbeda dengan proses-proses lain (kernel sebagai non-proses). • Fungsi-fungsi sistem operasi dieksekusi dalam proses pemakai. • Sistem operasi juga sebagai kumpulan proses (process based operating systems).
  • 83. Kernel sebagai non proses • Ketika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke kernel. • Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. • Konsep proses hanya diterapkan untuk program-program pemakai.
  • 84. Mikrokernel • Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH. – Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu. • Fungsi mikrokernel adalah sebagai mediator pertukaran pesan. • Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen- komponen dan memberi hak pengaksesan perangkat keras
  • 85. Proses pada SO • Bagaimana proses direpresentasikan & dikendalikan oleh SO. – Status proses (process state) yang mencirikan perilaku dari proses. – Struktur data yang digunakan untuk mengelola (manage) proses. – Cara SO menggunakan struktur data ini untuk mengendalikan eksekusi proses. – Contoh: pengelolaan proses pada UNIX SVR4. Syarat Sistem Operasi • Tugas Fundamental: Manajemen Proses • Sistem Operasi harus – Mengeksekusi banyak proses secara bergantian – Mengalokasikan sumber daya (resource) bagi proses & melindungi resource setiap proses dari proses lain, – Membolehkan proses untuk berbagi (share) & bertukar informasi, – Memungkinkan sinkronisasi antar proses.
  • 86. Konsep • – Platform komputer terdiri dari himpunan sumber daya hardware – Aplikasi komputer dikembangkan untuk mengerjakan beberapa tugas – Sangat tidak efisien menulis aplikasi yang secara langsung ditujukan untuk platform hardware tertentu – SO menyediakan suatu interface untuk digunakan oleh aplikasi – SO menyediakan suatu representasi sumber daya yang dapat direquest & diakses oleh aplikasi.
  • 87. Trace dan Eksekusi Trace Dari Proces • Perilaku dari suatu proses diperlihatkan oleh listing deretan instruksi yang dieksekusi • List ini dinamakan Trace • Dispatcher merupakan suatu program kecil yang men- switch processor dari satu proses ke proses lainnya Eksekusi Proses • Anggap ada 3 proses yang akan dieksekusi • Semuanya ada di memory (ditambah dispatcher) • Sementara, abaikan memory virtual.
  • 88.
  • 89. Model Proses Dua Status • Proses dapat berada pada salah satu dari dua status – Berjalan (running) – Not-running Dan seterusnya … proses dipindahkan oleh dispatcher dari SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut selesai (lengkap)
  • 90. SO Mengatur Eksekusi • Sumber daya dibuat tersedia untuk banyak aplikasi • Processor di-switch antar banyak aplikasi • Processor & perangkat I/O dapat digunakan secara efisien
  • 91. Lahir & Matinya Proses Pembuatan - Kerja batch baru - Login interaktif - Dibuat oleh SO untuk menyediakan layanan - Ditelurkan oleh proses existing - Penghentian - Selesai normal - Memory unavailable - Error proteksi - Intervensi Operator atau SO
  • 92. Aktivitas-aktivitas manajemen proses • Membuat dan menghapus proses pengguna dan sistem proses • Menunda atau melanjutkan proses • Menyediakan mekanisme untuk proses sinkronisasi • Menyediakan mekanisme untuk proses komunikasi • Menyediakan mekanisme untuk penanganan deadlock
  • 93. Pembuatan dan Penghentian PEMBUATAN PROSES • SO membangun suatu struktur data untuk mengelola proses tersebut • Biasanya, semua proses dibuat oleh SO – Tetapi SO juga membolehkan proses yang sedang berjalan membuat proses lain • Aksi ini disebut process spawning – Proses induk (parent) adalah original, membuat proses anak, ia juga proses – Proses anak (child) merupakan proses baru penghentian Proses • Harus ada cara yang dapat menandakan bahwa suatu proses selesai. • Indikasi ini dapat berupa: – Instruksi HALT membangkitkan suatu interupsi alert untuk SO – Aksi pengguna (seperti log off & keluar dari suatu aplikasi) – Suatu kesalahan atau error – Dihentikan oleh proses induk
  • 94. Proses di suspend • Processor lebih cepat daripada I/O sehingga semua proses dapat menunggu I/O – Swap proses demikian ke disk untuk membebaskan lebih banyak memory & menugaskan processor pada lebih banyak proses • Status Blocked berubah menjadi Suspend ketika proses dialihkan ke disk • Muncul dua status baru: – Blocked/Suspend – Ready/Suspend
  • 95. Alasan Suspensi Proses - Swapping : SO harus membebaskan cukup main memory agar suatu proses siap eksekusi. - Ada Masalah: SO mengira proses menyebabkan suatu masalah. - Permintaan Pemakai: Misalnya, debugging atau berhubungan dengan pemanfaatan sumber daya. - Timing: Proses dapat dieksekusi secara periodik (misal, sistem monitoring sistem atau accounting) & boleh di-suspend selama menunggu waktu berikutnya. - Request Proses Induk : Proses induk berkeinginan men-suspend eksekusi dari suatu turunan untuk menguji atau mengubah proses turunan tersebut atau mengkoordinasikan aktifitas dari berbagai keturunannya.
  • 96. Struktur Kontrol SO • SO bertanggungjawab mengelola proses & sumber daya sehingga harus mempunyai informasi tentang status terkini (current) dari setiap proses dan sumber daya. • Tabel (informasi) dibangun untuk setiap entitas yang dikelola sistem operasi
  • 97. Tabel memory • Tabel memory digunakan untuk menjaga track dari memory utama dan sekunder. • Harus menyertakan informasi ini: – Alokasi dari main memory kepada proses – Alokasi dari secondary memory untuk proses – Atribut proteksi untuk akses dari region memory yang dishare – Informasi yang diperlukan untuk mengelola virtual memory
  • 98. Reff : 1. http ://dimasrachmanto.blogspot.com/2012/06/proses-pa by Dimas Rachmanto 2. Danang Lelono, S.Si., M.T. 3. Internet (keyword Proses Sistem Operasi) Edit : Martin Suhartana, ST. MM
  • 99. MENDUKUNG KOMUNIKASI ANTAR PROSES & PENCIPTAAN PROSES • SO harus mendukung komunikasi antar proses dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan aplikasi. – Jadi pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya. – Proses mengalami beragam state selama siklus hidupnya sebelum berakhir dan keluar dari sistem. – SO harus mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. – Informasi ini untuk penjadwalan dan memutuskan alokasi sumber daya
  • 100. Informasi status pemroses • Register-register yang terlihat pemakai, – adalah register-register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses. • Register-register kendali dan status, – Adalah register-register yang digunakan untuk mengendalikan operasi pemroses. • Pointer stack, – tiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.
  • 101. Tahap-tahap penciptaan proses • Beri satu identifier unik ke proses baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses. • Alokasikan ruang untuk proses. • PCB harus diinisialisasi. • Kaitan-kaitan antar tabel dan daftar yang cocok dibuat. • Bila diperlukan struktur data lain maka segera dibuat struktur data itu.
  • 102. Pengalihan proses • Kejadian-kejadian apa yang memicu alih proses ? • Masalah lain adalah terdapatnya perbedaan antara alih proses (process switching) dan alih konteks (context switching). • Apa yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah kendalinya dalam alih proses ?

Notes de l'éditeur

  1. Peran sistem operasi dalam kegiatan proses adalah mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses tersebut. Banyak proses yang dijalankan bersamaan, dimana setiap proses mendapat bagian memori dan kendali sendiri-sendiri (peran SO), sehingga setiap proses (program) memiliki prinsip : Independent , artinya program-program tersebut berdiri sendiri, terpisah dan saling tidak bergantung. One program at any instant , artinya hanya terdapat satu proses yang dilayani pemroses pada satu saat. Dalam multiprogramming, teknik penanganan proses adalah dengan mengeksekusi satu proses dan secara cepat beralih ke proses lainnya (bergiliran), sehingga menimbulkan efek paralel semu ( pseudoparallelism ).
  2. Pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya. Proses mengalami beragam state (ready, running, blocked) selama siklus hidupnya sebelum berakhir dan keluar dari sistem. Sistem operasi harus dapat mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi tersebut digunakan untuk kegiatan penjadwalan dan memutuskan alokasi sumber daya.
  3. Informasi kendali proses adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif. Informasi ini diperlukan oleh penjadwal. Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.
  4. kkkkk
  5. Proses ditempatkan di memori utama di lokasi tertentu, proses mempunyai satu ruang alamat tersendiri. Ruang alamat yang digunakan proses disebut citra proses (process image), karena selain seluruh kode biner program, proses ditambahi atribut-atribut lain yang berkaitan penempatannya pada suatu lokasi memori dan status eksekusi pada saat itu.
  6. PCB berisi informasi mengenai proses yang diperlukan sistem operasi. PCB dibaca dan /atau dimodifikasi rutin sistem operasi seperti penjadwalan, alokasi sumber daya,  pemrosesan  interupsi,  monitoring  dan  analisis  kinerja.  Kumpulan  PCB mendefinisikan state sistem operasi. Untuk menyatakan proses di sistem operasi dibuat daftar PCB. Diagram memperlihatkan hanya satu PCB berada di daftar running . PCB ini menyatakan proses yang saat itu sedang dieksekusi pemroses sehingga hanya satu proses yang running. Tentu saja ini tidak berlaku untuk multiprocessing yang dapat mengeksekusi lebih dari satu proses sekaligus. Prose-proses ready digambarkan dengan PCB proses-proses di daftar ready. Proses-proses menunggu dijadwalkan untuk dieksekusi pemroses. Proses yang dijadwalkan dieksekusi (yaitu mengalami transisi dari state ready menjadi running) maka PCBnya dipindah dari daftar ready ke daftar running .
  7. Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu : 1. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis. 2. Beberapa sistem lain menganggap proses anak independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
  8. Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack. Pemroses menset register PC dengan alamat awal program untuk interuppet handler. Setelah kedua aktivitas itu, pemroses melanjutkan menjalankan instruksi-instruksi berikutnya di interuppt handler yang melayani interrupt. Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain (yaitu pengalihan PCB proses dari daftar running ke daftar lain (blocked, ready), dan sebaliknya. Kita menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat, misalnya untuk mengeksekusi program interrupt handler. Setelah penanganan interupsi selesa maka konteks yang terdapat pada stack dikembalikan sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses lain. Pengalihan proses terjadi jika proses yang running beralih menjadi state lain ( ready, blocked ), kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap lingkungannya. Rincian-rincian dalam pelaksanaan pengalihan proses dibahas setelah ini.
  9. Ketika proses running diinterupsi atau memanggil system call , maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah memori dan stack sendiri untuk pemanggilan prosedur. Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan. Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain. Konsep proses hanya diterapkan untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai satu entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedang sistem operasi adala kernel yang bukan proses.
  10. Saat ini, mikrokernel mendapat banyak perhatian. Mikrokernel adalah inti sistem operasi yang menyebabkan landasan perluasan sistem operasi. Pendekatan mikrokernel dipopularkan sistem operasi MACH. Secara teoritis, pendekatan mikrokernel menyediakan derajat fleksibilitas dan modularitas tinggi. Sistem operasi yang memakai pendekatan mikrokernel adalah MS Windows NT.    Landasan pendekatan mikrokernel adalah hanya fungsi-fungsi sistem operasi inti yang secara mutlak esensi yang harus berada di kernel. Layanan-layanan dan aplikasi-aplikasi yang kurang esensi dibangin diatas mikrokernel itu. Meskipun pembagian antara yang perlu dan tidak perlu ada di mikrokernel beragam. Terdapat ciri yang sama yaitu banyak lauanan yang secara tradisional merupakan bagian sistem operasi menjadi subsistem eksternal. Subsistem in berinteraksi dengan kernel dan subsistem-subsistem lain. Layanan-layanan itu antara lain sistem file, sistem windowing dan layanan-layanan keamanan.   Komponen-komponen   sistem   operasi   di   luar   mikrokernel   saling berinteraksi melalui pesan yang dilewatkan melalui mikrokernel. Fungsi mikrokernel adalh sebagai mediator pertukaran pesan. Mikrokernel memvalidasi pesan, melewatkan pesan antara komponen-komponen dan memberi hak pengaksesan perangkat keras. Struktur ini ideal untuk lingkungan pemrosesan terdistribusi karena mikrokernel dapat melewatkan pesan baik secara lokal atau jarak jauh tanpa perubahan komponen-komponen sistem operasi yang lain.
  11. 1. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya. 2. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar. 3.   Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar. 4. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya. 5. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock (kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock . Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
  12. Informasi tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi   register   harus   disimpan   agar   dapat   dikembalikan   saat   proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status terdiri dari :
  13. Kelihatannya pengalihan proses ( process switching ) adalah sepele. Pada suatu saat, proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu.