1. STRUKTUR SISTEM OPERASI
Dibagi menjadi 4, antara lain:
1. Sistem Monolitik
2. Sistem berlapis
3. Sistem dengan mesin maya (virtual machine)
4. Microkernels
Penjelasannya sebagai berikut :
1. Sistem Monolitik
Contoh dari sistem operasi ini adalah MS-DOS dan UNIX
MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang
sedikit sehingga tidak dibagi menjadi beberapa modul
UNIX menggunakan struktur monolitik dimana prosedur dapat saling dipanggil oleh
prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang
disediakan sistem operasi untuk pengguna
Struktur layer pada MS-DOS
2. Sistem berlapis
Lapisan Sistem Operasi
Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan,
yaitu:
2. Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi
atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.
Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo
word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di
memori utama.
Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator
console. Lapisan ini masing-masing proses secara efektif memiliki operator console
sendiri.
Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke
proses tersebut.
Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang
proses, memori, console, atau manajemen I/O.
Lapisan 5. Merupakan operator sistem.
Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh
Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.
3. Sistem dengan mesin maya (virtual machine)
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan terlapis,
hanya saja konsep ini memberikan sedikit tambahan berupa antarmuka yang
menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses,
Contoh sistem operasi yang memakai mesin virtual adalah IBM VM system.
4. Microkernels
Metode struktur ini adalah menghilangkan komponen-komponen yang tidak
diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program-
program level user.
TUGAS INDIVIDU DIBUKU MASING-MASING!
CARILAH KELEMAHAN DAN KELEBIHAN DARI MASING-
MASING KEEMPAT STRUKTUR SISTEM OPERASI
TERSEBUT!
3. PROSES DALAM SISTEM OPERASI
Proses merupakan Konsep Utama dari sebuah Sistem Operasi. Oleh karena itulah Proses
dalam Sistem Operasi harus dijaga dengan sebaik-baiknya.
Proses sendiri pada dasarnya adalah Sebuah Program yang sedang dieksekusi, yang terdiri
dari Program itu sendiri, Program Counter, Stack Pointer, Register dan semua informasi yang
ada saat eksekusi berlangsung.
Gambar 1. Isi dari Sebuah Proses
Contoh : Pada saat WINAMP berjalan, maka WINAMP dikatakan sebagai PROSES
WINAMP, pada saat menjalankan POWERPOINT maka dikatakan sebagai PROSES
POWERPOINT, dll.
Pada saat terjadi Interrupt, maka sebuah proses akan dihentikan sementara, dan jika akan
dieksekusi kembali maka akan dimulai dari state terakhir saat dihentikan. Hal ini
dimaksudkan bahwa pada saat kita mengakses sebuah proses, dan tiba-tiba terjadi interrupt,
maka proses tersebut akan dihentikan sementara, bukannya dihentikan total, sehingga pada
saat kita mengaksesnya kembali maka proses tersebut akan dijalankan pada state terakhir
proses tersebut berhenti.
4. Contoh : Pada saat kita melakukan Request Download dengan ukuran file sebesar 28 MB,
download tersebut menggunakan Download Manager, yaitu Internet Download Manager
(IDM). Suatu saat tiba-tiba baterai laptop kita habis dan kita lupa tidak membawa charger,
maka pada saat kita sampai dirumah kita bisa melakukan RESUME download file tersebut
lagi dimana Proses Download itupun bukannya dimulai dari awal, tetapi melanjutkan dari
STATE terakhir PROSES tersebut di INTERRUPT.
Untuk dapat mempelajari sistem operasi dengan baik, maka dua hal yang perlu diperhatikan
pada Proses adalah Mekanisme Penciptaan Proses dan Mekanisme Penghentian Proses.
Manajemen Proses pada Sistem Operasi
Proses merupakan semua aktifitas CPU, seperti : Job yang dieksekusi pada sistem batch,User
Program atau task pada sistem time shared. Tugas sistem operasi pada manajemen proses
yaitu membuat dan menghapus proses pengguna dan sistem proses, menunda atau
melanjutkan proses,menyediakan mekanisme untuk proses komunikasi,menyediakan
mekanisme untuk proses sinkronisasi serta menyediakan mekanisme untuk penanganan
deadlock. Istilah pada buku teks: job, task dan process (dapat diartikansama).
contoh manajemen proses di Sistem Operasi yaitu Linux dan Windows :
Status proses terdiri dari :
1. NEW
Status yang dimiliki pada saat proses baru saja dibuat
2. RUNNING
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. Proses bisa
dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain.
5. 3. WAITING
Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau
menerima signal.
4. READY
Status yang dimiliki pada saat proses siap dieksekusi oleh processor dan Proses menunggu
jatah waktu dari processor.
5. TERMINATED
Status yang dimiliki pada saat proses telah selesai dieksekusi.
Metode-metode proses dalam system komputer
1. Batch Processing
2. Multi Programming
3. Time Sharing
4. Real Time System
5. Multi Processing
SINKRONISASI PROSES PADA SISTEM OPERASI
Konsep Interaksi
Dalam menjalankan fungsinya dalam sistem operasi, dibutuhkan interaksi antara beberapa
proses yang berbeda. Interaksi tersebut bertujuan agar terjadi kesinambungan antar proses
yang terjadi sehingga sistem operasi dapat berjalan sebagaimana mestinya. Interaksi tersebut
dapat melalui sistem berbagi memori atau dengan cara saling berkirim pesan. Terkadang,
beberapa pesan yang dikirim tidak dapat diterima seluruhnya oleh penerima dan
menyebabkan informasi yang lain menjadi tidak valid, maka dibutuhkanlah sebuah
mekanisme sinkronasi yang akan mengatur penerimaan dan pengiriman pesan sehingga
6. kesalahan penerimaan pesan dapat diperkecil. Pesan yang dikirim dapat ditampung dalam
penyangga sebelum diterima oleh penerima.
Interaksi antar proses dapat juga terjadi antara proses yang memiliki sistem berbeda. Dalam
interaksi tersebut dikenal sebutan client dan server yang memungkinkan sistem yang berbeda
untuk berinteraksi dengan menggunakan socket. Dalam interaksi tersebut dikenal juga RPC
(Remote Procedure Call) yaitu metode yang memungkinkan sebuah sistem mengakses
prosedur sistem lain dalam komputer berbeda.
Dalam interaksi antar proses, terkadang suatu proses saling menunggu proses yang lain
sebelum melanjutkan prosesnya, sehingga proses-proses tersebut saling menunggu tanpa
akhir, hal ini disebut deadlock. Jika deadlock terjadi dalam waktu lama, maka terjadilah
starvation, yaitu suatu proses tidak mendapatkan resource yang dibutuhkan.
Sinkronisasi
Suatu proses yang bekerja bersama-sama dan saling berbagi data dapat mengakibatkan race
condition atau pengaksesan data secara bersama-sama. Critical section adalah suatu segmen
kode dari proses-proses itu yang yang memungkinkan terjadinya race condition. Untuk
mengatasi masalah critical section ini, suatu data yang sedang diproses tidak boleh diganggu
proses lain.
Solusi prasyarat critical section:
Mutual Exclusion.
Terjadi kemajuan (progress).
Ada batas waktu tunggu (bounded waiting).
Critical section dalam kernel:
Interupsi.
Page Fault .
Kernel code memanggil fungsi penjadwalan sendiri.
Solusi Critical Section
Solusi critical section harus memenuhi ketiga syarat berikut:
7. Mutual Exclusion
Progress
Bounded Waiting
Algoritma I dan II terbukti tidak dapat memecahkan masalah critical section untuk dua proses
karena tidak memenuhi syarat progress dan bounded waiting. Algoritma yang dapat
menyelesaikan masalah critical section pada dua proses adalah Algoritma III. Sedangkan
untuk masalah critical section pada n-buah proses dapat diselesaikan dengan menggunakan
Algoritma Tukang Roti
Perangkat Sinkronisasi
1. Instruksi TestAndSet().
instruksi atomik yang dapat digunakan untuk menangani masalahcritical
section.
2. Semafor.
sebuah variabel yang hanya dapat diakses oleh dua buah operasi standar
yaituincrement dan decrement. Dua buah jenis semafor, yaitu Binary
Semaphore dan Counting Semaphore. Semafor berfungsi untuk menangani
masalah critical section, mengatur alokasiresource, dan sinkronisasi
antarproses.
3. Monitor.
digunakan untuk menangani masalah yang muncul karena pemakaian
semafor. Monitor menjamin mutual exclusion. Untuk menangani masalah
sinkronisasi yang lebih rumit monitor menyediakan condition variable.
4. JVM. mengimplementasikan monitor.
Monitor JVM bekerja dengan object locking danmethod-method wait() serta
notify(). Monitor JVM dapat digunakan dengan menggunakan keyword
synchronized.
8. Transaksi Atomik
Transaksi merupakan sekumpulan instruksi atau operasi yang menjalankan sebuah fungsi
logis dan memiliki sifat atomicity, consistency, isolation, dan durability.
Sinkronisasi Linux
ada suatu saat dalam sebuah kernel, tidak terkecuali kernel LINUX, dapat terjadi concurrent
access. Dalam hal ini diperlukan proteksi dalam kernel yang bersangkutan. Proteksi dapat
dilakukan dengan sinkronisasi.
Salah satu metode dalam kernel LINUX untuk sinkronisasi adalah atomic operations. Integer
atomik adalah salah satu jenis dari atomic operations. Integer Atomik menyediakan instruksi
yang dijalankan secara atomik (tanpa interrupt).
Locking yang paling umum digunakan dalam LINUX adalah spin lock. Spin lock adalah lock
yang hanya dapat dilakukan oleh satu thread. Ketika sebuah thread yang akan dijalankan
meminta spin lock yang sedang digunakan, maka thread ini akan loops menunggu sampai
spin lock tersebut selesai digunakan oleh thread yang sedang berjalan.
Semafor dalam LINUX adalah sleeping locks. Ketika sebuah thread meminta semafor yang
sedang digunakan, maka semafor akan meletakkan thread tersebut dalam wait queue dan
menyebabkan thread tersebut masuk status sleep.
Symmetrical multiprocessing (SMP) mendukung adanya pengeksekusian secara paralel dua
atau lebih thread oleh dua atau lebih processor. Kernel LINUX 2.0 adalah kernel LINUX
pertama yang memperkenalkan konsep SMP.
Deadlocks
Deadlock adalah suatu keadaan dimana sistem seperti terhenti dikarenakan setiap proses
memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya
yang sedang dimiliki oleh proses lain
9. Starvation adalah keadaan dimana satu atau beberapa proses ‘kelaparan’ karena terus dan
terus menunggu kebutuhan sumber dayanya dipenuhi. Namun, karena sumber daya tersebut
tidak tersedia atau dialokasikan untuk proses lain, akhirnya proses yang membutuhkan tidak
bisa memilikinya. Kondisi seperti ini merupakan akibat dari keadaan menunggu yang
berkepanjangan.
Karakteristik terjadinya deadlock:
Mutual Exclusion .
Hold and Wait .
No Preemption .
Circular Wait .
Mekanisme penanganan deadlock:
Pengabaian. Ostrich Algorithm.
Pencegahan. Mencegah terjadinya salah satu kondisi deadlock.
Penghindaran. Memastikan sistem berada pada safe state dan dengan
menggunakandeadlock avoidance algorithm.
Pendeteksian dan Pemulihan. Mekanisme pendeteksian menggunakan detection algorithm,
sedangkan pemulihan dengan cara rollback and restart sistem ke safe state.
Diagram Graf
Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi ataupun tidak ada
komunikasi lagi antar proses di dalam sistem operasi. deadlock disebabkan karena proses
yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang
menunggu sumber daya yang dipegang oleh proses tersebut.
Untuk mendeteksi deadlock dan menyelesaikannya dapat digunakan graf sebagai
visualisasinya. Jika dalam graf terlihat adanya perputaran, maka proses tersebut memiliki
potensi terjadideadlock. Namun, jika dalam graf tidak terlihat adanya perputaran, maka
proses tersebut tidak akan terjadi deadlock.
implementasi graf dalam sistem operasi, yaitu penggunaannya untuk penanganan deadlock
pada sistem operasi. Diantaranya adalah graf alokasi sumber daya dan graf tunggu.Graf
10. alokasi sumber daya dan graf tunggu merupakan graf sederhana dan graf berarah. Dua graf
tersebut adalah bentuk visualisasi dalam mendeteksi masalah deadlock pada sistem operasi.
Untuk mengetahui ada atau tidaknya deadlock dalam suatu graf alokasi sumber daya dapat
dilihat dari perputaran dan sumber daya yang dimilikinya. Jika tidak ada perputaran berarti
tidak deadlock. Jika ada perputaran, ada potensi terjadi deadlock. Sumber daya dengan
instans tunggal dan perputaran pasti akan mengakibatkan deadlock.
Pada graf tunggu, deadlock terjadi jika dan hanya jika pada graf tersebut ada perputaran.
Untuk mendeteksi adanya perputaran diperlukan operasi sebanyak n 2, dimana n adalah
jumlah simpul dalam graf alokasi sumber daya.
Bounded-Buffer
Proses yang kooperatif bisa berbagi data melalui penukaran pesan. Pesan-pesan yang dikirim
antar proses akan disimpan dalam sebuah antrian sementara, yaitu buffer. Jika kapasitas
buffertersebut terbatas, maka dia disebut bounded-buffer. Untuk mencegah inkonsistensi data
yang terjadi akibat akses data oleh proses kooperatif yang berjalan secara konkuren, maka
diperlukan sinkronisasi antar proses-proses tersebut.
Permasalahan bounded-buffer ini diilustrasikan dalam proses produsen-konsumen. Masalah-
masalah yang timbul adalah
buffer yang merupakan critical section, sehingga hanya boleh diakses satu proses pada satu
waktu;
keadaan dimana produsen ingin menaruh data di antrian, namun antrian penuh
keadaan dimana konsumen ingin mengambil data dari antrian namun antrian kosong.
Untuk menyelesaikan masalah, digunakanlah perangkat sinkronisasi semafor. Semafor yang
digunakan adalah
mutex. yang menjaga buffer hanya diakses satu proses pada satu waktu;
tempat_kosong. jumlah tempat kosong.
tempat_terisi. jumlah tempat terisi
Dengan demikian produsen yang ingin menaruh data atau konsumen yang ingin mengakses
data harus memeriksa apakah proses lain sedang memakai buffer (menggunakan mutex) dan
11. memeriksa apakah buffer penuh atau kosong (menggunakan tempat_kosong dan
tempat_terisi).
Readers/Writers
Readers/Writers merupakan sebuah masalah klasik dalam contoh sinkronisasi untuk menjaga
validitas data. Jika reader sedang mengakses data, reader-reader yang lain boleh ikut
mengakses data, tapi writer harus menunggu sampai data tidak diakses siapapun. Jika writer
sedang mengakses data, tidak boleh ada thread lain yang mengakses data. Semaphore
digunakan untuk sinkronisasi antar thread (baik readers maupun writers).
Sinkronisasi Dengan Semafor
Program Hompimpah merupakan ilustrasi dimana sebuah thread memegang kendali
sinkronisasi thread lainnya. Seperti yang dijelaskan dalam program masing-masing dari
pemain saling mengendalikan satu sama lain, dengan menggunakan alat sinkronisasi yang
bernama semafor. Semafor dalam program adalah semafor buatan berupa class Semafor yang
dibuat dalam bahasa Java. Adapun di dalamnya terdapat 2 fungsi yaitu fungsi buka() dan
fungsikunci() dengan fungsi-fungsi inilah masing-masing thread dapat mengendalikan satu
sama lain
Mari Saling Barbagi, Karena Berbagi Tak Akan Pernah Rugi
Belajarlah jujur pada diri sendiri, lakukan apa kata hati, sehingga kamu tidak perlu
lagi menyembunyikan apapun dalam hidupmu Jangan takut mencoba, kesalahan
adalah guru terbaik jika kamu jujur mengakuinya dan mau belajar darinya.
12. Contoh Soal Materi Sinkronisasi
1. Apakah perbedaan monitor dengan semaphore ?
- monitor : merupakan alat sinkronisasi tingkat tinggi
- semaphore : merupakan alat sinkronisasi yang menyebabkan busy waiting,
hanya bisa diakses oleh 2 operasi yaitu : wait ( ) dan signal ( ).
2. Apakah perbedaan antara algoritma 1 dan algoritma 2 dalam mengatasi masalah
critical section untuk 2 task ?
- algoritma 1
Misalkan ada proses a dan b. Proses yang ingin memasuki critical section hanya
bisa memasuki critical section jika saat itu ia sedang digilirkan untuk memasuki
critical section. Jika proses a sedang digilirkan, maka ia boleh memasuki critical
section. Ketika proses a keluar dari critical section, proses yang digilirkan untuk
memasuki critical section diganti menjadi proses b. Begitu pula sebaliknya.
Masalah algoritma ini terjadi saat (misalnya) proses b sedang digilirkan untuk
memasuki critical section dan proses a ingin memasuki critical section sementara
proses b tidak pernah memakai gilirannya sehingga proses a terus menunggu.
- algoritma 2
Misalkan ada proses a dan b. Proses yang ingin memasuki critical section harus
memberi tanda bahwa ia ingin memasuki critical section. Jika proses a ingin
memasuki critical section, maka proses a akan memberi suatu tanda. Sebelum
proses a bisa memasuki critical section, ia harus melihat apakah ada tanda dari
proses b. Proses a hanya bisa memasuki critical section jika saat itu tidak
terdapat tanda dari proses b. Begitu pula sebaliknya. Masalah algoritma ini terjadi
saat proses a dan b memberi tanda bahwa mereka ingin memasuki critical section
pada saat bersamaan dan karena keduanya sama-sama melihat adanya tanda
dari proses lawannya maka keduanya sama-sama menunggu dan tidak akan
pernah memasuki critical section.
1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen
proses.
Aktivitas – aktivitas sistem operasi yang berkaitan dengan manajemen proses, yaitu:
a. Pembuatan dan penghapusan proses pengguna dan sistem proses.
b. Menunda atau melanjutkan proses.
c. Menyediakan mekanisme untuk proses sinkronisasi.
d. Menyediakan mekanisme untuk proses komunikasi.
e. Menyediakan mekanisme untuk penanganan deadlock.
Sumber: http://2010104-if-unsika.blogspot.com/2012/11/5-aktivitas-sistem-operasi-yang.html
13. 2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
Penjadualan jangka pendek (short term scheduler):
Mempunyai tugas untuk menjadwalkan alokasi pemroses di antara proses ready di memori
utama. Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses
berikut yang harus dijalankan.
- Di dalam short term ini digunakan untuk memilih diantara proses – proses yang siap
dieksekusi & satu diantaranya dialokasikan ke CPU.
- Penjadwalan short term biasa digunakan untuk CPU, proses dieksekusi dan hanya beberapa
milidetik saja sebelum menunggu I/O.
Penjadualan jangka menengah (medium term scheduler):
Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder yang
disebut swapping. Proses ini mempunyai kepentingan kecil saat itu sebagai proses yang
tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan
kembali ke memori utama dan ready.
- Dalam penjadwalan medium term ini, beberapa OS seperti contoh time-sharing harus
membutuhkan penjadwalan dengan level tambahan.
Penjadualan jangka panjang (long term scheduler):
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus
dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang
intensif, program ini berprioritas rendah, digunakan sebagai pengisi selama periode aktivitas
job-job interaktif rendah.
- Jika pada long term ini tiding sering mengeksekusi, dan digunakan jika proses meninggalkan
suatu sistem.
- Digunakan untuk memilih suatu proses dari pool & menyimpan pada memori.
Sumber: http://2010104-if-unsika.blogspot.com/2012/11/perbedaan-antara-penjadualan-
short-term.html
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
14. 3. 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.
Sumber: http://2009125-if-unsika.blogspot.com/2011/10/tindakan-yang-diambil-oleh
sebuah.html
4. Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses
ke proses lain.
Informasi yang disimpan pada saat alih konteks adalah pemroses menyimpan konteks
program ke dalam stack, hal ini bertujuan agar saat selesai penanganan interupsi, konteks
program dapat dipanggil kembali dari stack dan konteks program dapat kembali seperti
semula tanpa terjadi pengalihan ke proses lain. Pada pengalihan konteks dapat terjadi tanpa
adanya pengalihan state process yang sedang running. Siklus penanganan interupsinya
sebagai berikut:
- Pemroses menyimpan konteks program saat itu yang sedang dieksekusi ke stack.
- Kemudian Pemroses menset register PC dengan alamat awal program untuk interuppet
handler.
- Selanjutnya pemroses menjalankan instruksi-instruksi berikutnya pada interuppt handler
yang melayani interrupt.
- Setelah penanganan interupsi selesai maka konteks yang terdapat pada stack dikembalikan.
Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked),
kemudian sistem operasi harus membuat perubahan-perubahan berarti terhadap
lingkungannya.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/
15. 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!
- 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.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/
6. Apa keuntungan dan kekurangan dari:
a. Komunikasi Simetrik dan asimetrik
Komunikasi simetrik langsung adalah rasa sakit karena kedua belah pihak memerlukan nama
proses lain. Hal ini membuat komunikasi asimetrik sulit untuk membangun server.
b. Automatic dan explicit buffering.
Otomatis membuat pemrograman lebih mudah, tapi pada explicit buffering sebuah sistem
sulit untuk membangun.
c. Send by copy dan send by reference.
Send by copy adalah jaringan yang lebih baik bagi generasi dan masalah sinkronnisasi.
Sedangkan send by reference lebih efisien untuk besar struktur data tetapi sulit untuk
kodenya, karena memori bersama implikasi.
d. Fixed size dan variable sized messages.
Fixed size membuat pemrograman lebih mudah tetapi untuk variable sized messages sistem
lebih sulit untuk membangun.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/
7. Jelaskan perbedaan short-term, medium-term dan long-term?
16. - Long-term adalah penjadualan jangka panjang (atau pekerjaan penjadwalan) pilih proses dari
kolam ini dan beban mereka ke dalam memori untuk eksekusi.
- Medium-term adalah jangka panjang scheduler mengotrol derajat multi-program
- Short-term adalah jangka pendek scheduler (atau CPU scheduler ) memilih dari antara
proses-proses yang siap untuk ,mengalokasi CPU untuk salah satu dari mereka, penjadulan
jangka menengah diperkenalkan oleh sistem operasi seperti waktu saham.
Sumber: http://2010226-if-unsika.blogspot.com/2012/11/jelaskan-perbedaan-short-term-
medium.html
8. Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang
berlangsung?
Yang dilakukan pertama kali 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.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/
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?
Dampaknya antara lain :
- Mutual exclusion.
- Deadlock.
- Starvation.
- Sinkronisasi.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan
gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara
state.
10.Running : Proses sedang mengeksekusi intruksi proses
Ready : Proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini serta
Proses dengan state Blocked dapat menjadi ready saat sumber daya yang diperlukan telah
tersedia atau layanan perangkat masukan/keluaran selesai (event occours).
17. Penggunaan pemroses untuk proses itu karena proses yang saat itu Running berubah state
(menjadi Ready atau Blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem.
maka dari itu proses menjadi mendapatkan jatah untuk pemrosesan. Itulah transisi d antara
state selama siklus hidup proses. Di bawah ini merupakan diagram state proses: