NIM : 21343085
PRODI : INFORMATIKA
FAKULTAS : TEKNIK
2021
Soal
2. Informasi tentang sebuah proses disusun dalam sebuah Process Control Blok
(PCB) yang terdiri dari sejumlah elemen. a. jelaskan apa fungsi dasar dari
sebuah PCB tersebut, b. Uraikanlah elemen-elemen apa saja yang
terdapat di dalam sebuah PCB tersebut.
3. Pada dasarnya sebuah proses akan dieksekusi dalam suatu model yang disebut
dengan two-state model (TSM). Jelaskan bagaimana sebuah TSM bekerja.
4. Sejarah dengan pertanyaan di atas, maka sebuah TSM akan dapat berubah
menjadi Five-Sta model, Six-State Model, yang disebabkan oleh adanya
interupsi, penundaan proses dan antrian pada model penundaan tersebut.
Uraikanlah bagaimana sebuah TSM dapat berubah menjadi Five, Six
dan Seven-state model dan ilustrasikanlah masing-masing perubahan
state model tersebut yang dilengkapi dengan penjelaskan masing-masing
tahapan prosesnya.
Jawab:
1. Proses adalah program yang sedang dieksekusi. Proses merupakan
unit kerja terkecil yang secara individu memiliki sumber daya-sumber
daya dan dijadwalkan sistem operasi. Setelah sebuah program dimuat dari
media penyimpanan, sebuah instance dari program dijalankan. Instance ini
disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut
ruang alamat proses (process address space). Ruang alamat proses
memiliki dua area penting: area teks dan area data.
Area teks adalah kode program yang sebenarnya; digunakan untuk
memberitahukan sistem apa yang harus dilakukan. Area data digunakan
untuk menyimpan data konstan dan juga runtime. Sistem operasi
memberikan waktu bagi setiap proses untuk dieksekusi. Pada sistem
dengan prosesor tunggal, proses tidak sepenuhnya berjalan secara
bersamaan. Pada kenyataannya, sebuah penjadwal pada kernel membagi
waktu CPU pada semua proses, memberikan sebuah ilusi bahwa proses-
proses dijalankan secara bersamaan. Proses ini disebut dengan time-
sharing. Pada sistem dengan lebih dari satu CPU atau inti CPU, lebih dari
satu proses dapat berjalan bersamaan, tetapi konsep time-sharing masih
dipakai untuk membagi waktu CPU yang ada pada setiap proses. Proses-
proses baru dibuat dengan menduplikasi proses yang sedang berjalan
dengan system call fork system call.
Kernel akan merespon terhadap panggilan ini dengan menduplikasi
proses, menamai proses lain sebagai induk (parent), dan proses lain
sebagai anak (child). Setelah sebuah program dimuat dari media
penyimpanan, sebuah instance dari program dijalankan. Instance ini
disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut
ruang alamat proses (process address space). Ruang alamat proses
memiliki dua area penting: area teks dan area data. Area teks adalah kode
program yang sebenarnya; digunakan untuk memberitahukan sistem apa
yang harus dilakukan. Area data digunakan untuk menyimpan data
konstan dan juga runtime. Sistem operasi memberikan waktu bagi setiap
proses untuk dieksekusi. Pada sistem dengan prosesor tunggal, proses
tidak sepenuhnya berjalan secara bersamaan. Pada kenyataannya, sebuah
penjadwal pada kernel membagi waktu CPU pada semua proses,
memberikan sebuah ilusi bahwa proses-proses dijalankan secara
bersamaan. Proses ini disebut dengan time-sharing. Pada sistem dengan
lebih dari satu CPU atau inti CPU, lebih dari satu proses dapat berjalan
bersamaan, tetapi konsep time-sharing masih dipakai untuk membagi
waktu CPU yang ada pada setiap proses.
Proses-proses baru dibuat dengan menduplikasi proses yang
sedang berjalan dengan system call fork system call. Proses induk
memanggil fork. Kernel akan merespon terhadap panggilan ini dengan
menduplikasi proses, menamai proses lain sebagai induk (parent), dan
proses lain sebagai anak (child). Fork bisa digunakan oleh sebuah program
untuk membuat dua proses yang berjalan secara bersamaan pada mesin
dengan banyak prosesor. Namun, hal ini seringkali tidak ideal, karena
kedua proses akan memiliki alamat ruang prosesnya masing-masing.
Duplikasi pertama dari memori proses cukup memakan waktu, dan sangat
susah untuk melakukan share data diantara dua proses. Masalah ini
diselesaikan oleh sebuah konsep yang disebut multithreading.
Multithreading berarti banyak instance dari area teks dapat dijalankan pada
waktu yang bersamaan, melakukan pertukaran area data. Instance ini
disebut thread dapat dieksekusi secara parallel pada banyak CPU.
Kelemahan:
Pembuatan Proses
Penghentikan Proses
- Aksi pengguna (seperti log off & keluar dari suatu aplikasi)
Penyebab:
Penyebab:
Processor lebih cepat dari pada I/O sehingga semua proses dapat
menunggu I/O
- Swap: pemindahan proses dari memory ke disk untuk membebaskan
lebih banyak memory dan menugaskan processor pada lebih banyak
proses
- Status blocked berubah menjadi suspend Ketika proses dialihkan ke
disk
Cara kerja
Prosesbaru-Readyqueue
Jika tidak ada proses yang running-langsung dieksekusi
Proses yang sedang running selesai/ter-blok –Pilih satu proses
diread y queue untuk dieksekusi
Jika selesai-keluar
Jika timeout-masuk ready queue
Jika perlu resource lain – masuk blocked queue
Jika proses yang ter-blok sangat banyak dan masing masing menunggu
event yang berbeda-bedaJika datang suatu event, maka OS harus
menyeleksi proses yang mana yang sedang membutuhkan event yang
dating.
Butuh waktu
Butuh algoritma lebih antrian
Muncul 4 keadaan:
1) Manajemen Proses
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.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang
berkaitan dengan manajemen proses seperti:
Membuat dan menghapus proses pengguna dan sistem proses.
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.
Menunda atau melanjutkan proses. 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.
Menyediakan mekanisme untuk proses sinkronisasi. 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 lancer.
Menyediakan mekanisme untuk proses komunikasi. 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.
Menyediakan mekanisme untuk penanganan deadlock. 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.
File atau berkas adalah representasi program dan data yang berupa
kumpulan informasi yang saling berhubungan dan disimpan di
perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena
informasi atau data yang disimpan dalam berkas adalah sesuatu yang
sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan
operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan
menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh
karena itu, sistem operasi harus dapat melakukan operasi berkas
dengan baik.