1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses. !
jawab :
Membuat dan menghapus proses pengguna dan sistem proses. tugas dari
sistem operasi adalah mengalokasikan sumber daya yang dibutuhkan oleh
sebuah proses. kemudian sistem operasi mengambil sumber daya itu kembali
setelah proses tersebut selesai sehingga bisa digunakan untuk proses
lainnya.
Menunda atau next process. sistem operasi akan mengatur prioritas
dari proses-proses yang akan dijalankan. apabila terjadi dua atau lebih
proses yang mengantri, sistem operasi akan mendahulukan proses yang
memiliki prioritas paling besar.
Menyediakan mekanisme untuk proses sinkronisasi. sistem operasi akan
mengatur jalannya proses yang dieksekusi bersamaan sehingga tidak
terjadi inkonsistensi data karena pengaksesan data yang sama, selain itu
untuk memperlancar jalannya proses.
Menyediakan mekanisme untuk proses komunikasi. sistem operasi
menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan
berkomunikasi satu sama lain. sehingga tidak menyebabkan terganggunya
proses lainnya.
Menyediakan mekanisme untuk penanganan deadlock. deadlock adalah
suatu keadaan dimana sistem seperti terhenti. hal ini dikarenakan setiap
proses memiliki sumber daya yang tidak bisa dibagi, dan proses tersebut
menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses
lain. sistem operasi harus bisa mendeteksi dan mencegah adanya
deadlock. jika hal ini terjadi, sistem operasi harus dapat memulihkan
kondisi sistemnya.
2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
jawab:
Short-term, memilih proses-proses yang siap untuk dieksekusi, dan
mengakolakasikan CPU ke salah satu dari proses-proses tersebut. Short
term scheduler digunakan untuk memilih diantara proses-proses yang siap
di eksekusi dan salah satunya dialokasikan ke CPU.
- Short term scheduler Sering digunakan untuk memilih proses baru
untuk CPU. Proses dieksekusi hanya beberapa milidetik sebelum menunggu
I/O.
- Karena durasi yang pendek antara eksekusi, Short term scheduler harus sangat cepat
Contoh : jika Short term scheduler membutuhkan 10ms untuk memutuskan
mengeksekusi proses 100ms, maka 10/110=9% CPU digunakan untuk
menjadwalkan pekerjaan.
- Pada system time sharing, setiap proses baru ditempatkan di memori.
Short term scheduler digunakan untuk memilih dari proses-proses tersebut
di memori untuk diekseskusi.
Long-term pada sisi lain, mengeksekusi jauh lebih sedikit. Mungkin
ada beberapa menit antara pembuatan proses baru dalam sistem.
Penjadualan longterm mengkontrol derajat multiprogramming (jumlah proses
dalam memori). Jika derajat multiprogramming stabil, lalu tingkat
rata-rata dari penciptaan proses harus sama dengan tingkat kepergian
rata rata dari proses yang meninggalkan sistem. Maka penjadualan
longterm mungkin diperlukan untuk dipanggil hanya ketika suatu proses
meninggalkan sistem.
Medium-term adalah kadang kala akan menguntungkan untuk memindahkan
proses dari memori (dan dari pengisian aktif dari CPU), dan maka untuk
mengurangi derajat dari multiprogramming. Dikemudian waktu, proses dapat
diperkenalkan kedalam memori dan eksekusinya dapat dilanjutkan dimana
proses itu di tinggalkan/ diangkat. Skema ini disebut swapping. Proses
di swapped out, dan lalu di swapped in, oleh penjadual jangka
menengah.Short-term, memilih proses-proses yang siap untuk dieksekusi,
dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut.
Beberapa OS seperi system sharing, membutuhkan penjadwalan level
tambahan (intermediate), yang disebut “medium term scheduler”.
- Memperkenalkan konsep swapping proses : proses di “swap out “ dan di “swap in” pada medium term scheduler.
- Swapping diperlukan untuk meningkatkan “process mix” atau karena
perubahan pada kebutuhan memori melebihi memori yang tersedia, memori
perlu dibebaskan.
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
jawab:
Ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama
kedalam PCB nya dan mengisi konteks yang telah disimpan dari process
baru yang telah terjadual untuk berjalan. Pergantian waktu konteks
adalah murni overhead, karena sistem melakukan pekerjaan yang tidak
perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada
kecepatan memori, jumlah register yang harus di copy, dan keberadaan
instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan
seluruh register). Tingkat kecepatan umumnya berkisar antara 1 sampai
1000 mikro detik.
4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain.
jawab:
Waktu alih konteks sangat begantung pada dukungan perangkat keras.
Sebagai contoh, prosesor seperti UltraSPARC menyediakan dua rangkap
register. Sebuah alih konteks hanya memasukkan perubahan pointer ke
perangkat register yang ada. Tentu saja, jika ada lebih proses-proses
aktif yang ada dari pada yang ada di perangkat register, sistem
menggunakan bantuan untuk meng-copy data register pada dan dari memori,
sebagaimana sebelumnya. Semakin sistem operasi kompleks, makin banyak
pekerjaan yang harus dilakukan selama alih konteks. teknik managemen
memori tingkat lanjut dapat mensyaratkan data tambahan untuk diganti
dengan tiap konteks. Sebagai contoh, ruang alamat dari proses yang ada
harus dijaga sebagai ruang pada pekerjaan berikutnya untuk digunakan.
Bagaimana ruang alamat di jaga, berapa banyak pekerjaan dibutuhkan untuk
menjaganya, tergantung pada metoda managemen memori dari sistem
operasi. alih konteks telah menjadi suatu keharusan, bahwa programmer
menggunakan struktur (threads) untuk menghindarinya kapan pun
memungkinkan.
5. Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event
(eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat
ditimbulkan oleh proses itu sendiri. Sebutkan!
jawab:
- Proses yang baru diciptakan akan segera mempunyai state ready.
- Proses dengan state running menjadi blocked karena sumber daya yang diminta belum tersedia.
- Proses dengan state running menjadi ready karena penjadwal
memutuskan agar pemroses melakukan eksekusi proses yang lain karena
jatah waktu untuk proses itu telah habis. ( time out ).
- Proses dengan state blocked menjadi ready saat sumber daya yang
diminta telah tersedia atau layanan perangkat I/O selesai ( event occurs
).Proses dengan state ready menjadi running karena penjadwal memutuskan
penggunaan pemroses untuk proses itu karena proses yang telah running
berubah state menjadi ready atau blocked.
6. Apa keuntungan dan kekurangan dari:
- Komunikasi Simetrik dan asimetrik
- Automatic dan explicit buffering
- Send by copy dan send by reference
- Fixed-size dan variable sized messages
Jawab:
Komunikasi simetris dan asimetris: Keuntungan utama pada
tingkat programmer adalah bahwa proses tidak harus memblock
pelaksanaannya yang dapat menghasilkan kinerja lebih baik. Kelemahannya
adalah komunikasi asimetris lebih sulit untuk program karena programmer
harus menjamin bahwa pesan tiba di penerima ketika dibutuhkan. Pada
tingkat sistem, asimetris lebih rumit karena memerlukan kernel-tingkat.
Send by copy dan send by reference. Send by copy jaringan lebih baik
bagi generalisasi dan masalah sinkronisasi. Send by copy dan send by
reference lebih efisien untuk besar struktur data tetapi sulit kode
karena memori implikasi bersamaan.
Automatic dan explicit buffering, Automatic buffering membuat
pemrograman lebih mudah tetapi sebuah sistem akan sulit untuk dibangun.
Fixed-size dan variable sized message. Fixed-size message lebih
mudah untuk diterapkan di kernel-tingkat tetapi membutuhkan usaha
sedikit lebih pada bagian dari programmer. Variable size message agak
lebih kompleks untuk kernel tetapi agak lebih mudah untuk programmer.
7. Jelaskan perbedaan short-term, medium-term dan long-term?
jawab:
- Sasaran utama short term adalah memaksimumkan kinerjs sistem untuk
memnuhi satu kumpulan kriteria yang diharapkan. Short term dijalankan
setiap terjadi pengalihan proses untuk memilih proses berikutnya yang
harus dijalankan,
- Medium term bertugas mengangani proses – proses swapping. Proses –
proses yang mempunyai kepntingan kecil saat itu adalah proses yang
tertunda, medium term mengendalikan transisi dari suspended ke ready.
- Long term bekerja terhadap antrian batch dan memilih batch
berikutnya yang harus dieksekusi sistem. Batch biasanya berupa proses –
proses denag penggunaan sumber daya yang intensif.
8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang
berlangsung?
jawab:
ketika proses sedang berlangsung yang akan dilakukan kernel kepada alih
konteks adalah Pemroses menyimpan konteks program saat itu yang sedang
dieksekusi ke dalam stack, selanjutnya Pemroses menge-set register PC
dengan alamat awal program untuk interrupt handler. Kemudian Kernel
menjaga suatu rekaman untuk setiap proses yang disebut Proses Control
Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB akan berisi
informasi tentang perlunya melakukan restart suatu proses dalam CPU
9. Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit
atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling
mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?
jawab:
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan
gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara
state.
jawab:
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.
11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam
’ready’ state, jelaskan?
jawab:
YA ” karena kalau tidak diberikan “ issue “ maka akan terjadi deadlock karena terjadi perebutan Sumber Daya antar proses.
12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB).
Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan
restart suatu proses dalam CPU. Jelaskan dua informasi yang harus dipunyai PCB.
jawab:
Informasi yang harus dipunyai PCB adalah :
- Informasi Identifikasi proses
: Adalah informasi – informasi yang berkaitan dengan identitas proses
yang unik. Dengan identifier ini, proses dikaitkan ke tabel – tabel yang
lain. Identifier tersebut antara lain ( identifier proses, identifier
proses yang menciptakan dan identifier pemakai ).
- Informasi status Pemroses
: Informasi status pemroses berisi informasi – informasi yang esensinya
merupakan nilai atau isi dari register – register pemroses.. Saat
proses berstatus RUNNING, informasi – informasi tersebut berada
di register. Ketika proses di interupsi, semua informasi register harus
disimpan agar dapat dikembalikan saat proses dieksekusi kembali.
- Informasi Kendali Proses : Adalah informasi – informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.
PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:
- Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
- Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.
- CPU register: Register bervariasi dalam jumlah dan jenis, tergantung
pada rancangan komputer. Register tersebut termasuk accumulator, index
register, stack pointer, general-puposes register, ditambah code
information pada kondisi apapun. Besertaan dengan program counter,
keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk
memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
- Informasi manajemen memori: Informasi ini dapat termasuk suatu
informasi sebagai nilai dari dasar dan batas register, tabel page/
halaman, atau tabel segmen tergantung pada sistem memori yang digunakan
oleh sistem operasi (ch 9).
- Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan
waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau
proses, dan banyak lagi.
- Informasi status I/O: Informasi termasuk daftar dari perangkat I/O
yang di gunakan pada proses ini, suatu daftar open file dan banyak lagi.
- PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapat bervariasi dari prose ke proses.