Senin, 25 November 2013
SISTEM OPERASI
Sebutkan tiga tujuan utama dari sistem operasi !
Jawab :
- Untuk User : Untuk dapat melakukan interaksi dengan komponen komputer melalui sistem operasi.
- Untuk seleksi dari berbagai macam sistem operasi pada setiap instalasi computer
- Untuk penggunaan aplikasi tertentu, sistem operasi dapat menyesuaikan dengan kebutuhan kita.
Sebutkan keuntungan dari multiprogramming !
Jawab :
Satu
komputer mengerjakan banyak program yang ada pada memori utamapada satu waktu .
Teknik multiprogramming meningkatkan utilisasi CPU dengan mengorganisasikan
job-job yang ada dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan
tugas-tugas tersebut .Multiprogramming, yang dibuat untuk meningkatkan
kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifat
time-shared memperbolehkan banyak pengguna untuk menggunakan komputer secara
interaktif pada saat yang bersamaan.
Apakah perbedaan antara trap dan
interrupt? Sebutkan penggunaan dari setiap fungsi tersebut!
Jawab :
- Trap adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian yang dihasilkan proses yang running seperti usaha ilegal 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 bergantung sifat kesalahan dan rancangan sistem operasi kemungkinan yang dilakukan adalah menjalankan prosedur pemulihan atau memperingatkan pemakai
- Interupsi adalah suatu permintaan khusus kepada mikroprosessor untuk melakukan sesuatu bila terjadi interupsi,maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi
Untuk jenis operasi apakah DMA
itu berguna? Jelaskan jawabannya!
Jawab :
Operasi
penanganan I/O dimana device controller langsung berhubungan dengan memori
tanpa campur tangan CPU,DMA digunakan untuk perangkat I/O dengan kecepatan
tinggi hanya terdapat satu interupsi setiap blok. Interrupt hanya terjadi
tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh
sebuah controller bernama DMA Controller (DMAC) . DMA Controller mengirimkan
atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan
alamat awal data, tujuan data, panjang data ke DMA Controller . . Interrupt
pada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaan
bus memory yang diperlukan DMA controller didapatkan dengan bantuan bus arbiter
yang dalam PC sekarang berupa chipset Northbridge .
Beberapa CPU menyediakan lebih
dari dua mode operasi. Sebutkan dua kemungkinan penggunaan dari mode tersebut?
Jawab :
- User -> Eksekusi dikendalikan oleh user.
- Monior/kernel/Sistem Mode -> Eksekusi dikendalikan oleh sistem operasi. Pada saat boot time,perangkat keras bekerja pada mode monitor dan stelah sistem operasi di-load maka akan mulai masuk ke mode pengguna.Ketika terjadi trap atau interupsi,perangkat keras akan menswitch lagi keadaan dari mode pengguna menjadi mode monitor(terjadi perubahan state menjadi bit 0) dan akan kembali menjadi mode pengguna jikalau sistem operasi menambil alih proses dan kontrol komputer (state akan berubah menjadi bit1 )
Sebutkan dua kegunaan dari memory
cache! Problem apakah yang dapat dipecahkan dan juga muncul dengan adanya cache
tersebut?
Jawab :
- Tempat menyimpan sementara (volatile) sejumlah data kecil
- Meningkatkan kecepatan pengambilan atau penyimpanan data dari memory oleh processor berkecepatan tinggi
- Masalah yang dipecahkan : meningkatkan kecepatan pengambilan atau penyimpanan data dimemory oleh CPU karena tidak perlu mencari di disk fisik
- Masalah yang timbul : tidak dapat menyimpan data dalam jumlah besar ( berdaya tamping lebih kecil )
Sebutkan lima kegiatan utama dari
sistem operasi yang berhubungan dengan managemen proses!
Jawab :
- Pembuatan dan penghapusan proses pengguna dan sistem proses
- Menunda atau melanjutkan proses.
- Menyediakan mekanisme untuk proses sinkronisasi.
- Menyediakan mekanisme untuk proses komunikasi.
- Menyediakan mekanisme untuk proses penanganan deadlock.
Sebutkan tiga kegiatan utama dari
sistem operasi yang berhubungan dengan managemen memori!
Jawab :
- Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
- Memilih program yang akan di-load ke memori.
- Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
Sebutkan tiga kegiatan utama dari
sistem operasi yang berhubungan dengan managemen secondary-storage!
Jawab :
- Menyimpan data besifat sementara
- Memindahkan data dari satu tempat ke tempat lain
- Alternatif pengganti memory (virtual memory)
Sebutkan lima kegiatan utama dari
sistem operasi yang berhubungan dengan managemen berkas!
Jawab :
- Pembuatan dan penghapusan berkas.
- Pembuatan dan penghapusan direktori.
- Mendukung manipulasi berkas dan direktori.
- Memetakan berkas ke secondary storage.
- Mem-backup berkas ke media penyimpanan yang permanen (non-volatile)
Apakah tujuan dari command
interpreter? Mengapa biasanya hal tersebut terpisah dengan kernel?
Jawab :
Tujuan
dari command interpreter adalah agar pengguna dapat membuat permintaan tanpa
menulis program.Biasa terpisah karena Konsep mesin virtual menyediakan proteksi
yang lengkap untuk sumberdaya sistem, dikarenakan tiap mesin virtual terpisah
dari mesin virtual yang lain.
Tunjukkan
dua contoh pemrograman dari multithreading yang dapat meningkatkan sebuah
solusi thread tunggal.
Jawab :
- Dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan image
- Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread
Tunjukkan
dua contoh pemrograman dari multithreading yang tidak dapat meningkatkan sebuah
solusi thread tunggal.
Jawab :
·
Program
1[2]
class CobaThread2 implements Runnable
{
public void run()
{
for(int ii = 0; ii<4; ii++)
{System.out.println("Ini
CobaThread2");
Test.istirohat(7);
}
}
public class Test
{
public static void main (String[] args)
{
Thread t1 = new CobaThread1();
Thread t2 = new Thread (new CobaThread2());
t1.start();
t2.start();
for (int ii = 0; ii<8; ii++){
System.out.println("Thread
UTAMA");
istirohat(5);
}
}
public static void istirohat(int tunda)
{
try{
Thread.sleep(tunda*100);
} catch(InterruptedException e) {}
}
}
·
Program
2
class CobaThread3 implements Runnable
{
public void run(){
while (true){
System.out.println("saya thread
CobaThread3");
if
(Thread.currentThread.isInterrupted()) //cek status
break;
}
}
}
Sebutkan
dua perbedaan antara user level thread dan kernel thread. Saat kondisi
bagaimana salah satu dari thread tersebut lebih baik
Jawab :
- User Level Thread
User thread didukung di atas kernel dan
diimplementasi oleh thread library pada user level. Library menyediakan
fasilitas untuk pembuatan thread, penjadualan thread, dan managemen thread
tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread
maka semua pembuatan dan penjadualan thread dilakukan di user space tanpa
intervensi dari kernel. Oleh karena itu, user-level thread biasanya cepat untuk
dibuat dan diatur. Tetapi user thread mempunyai kelemahan yaitu apabila
kernelnya merupakan thread tunggal maka apabila salah satu user-level thread
menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok
walaupun ada thread lain yang dapat jalan dalam aplikasi tersebut. Contoh
user-thread libraries adalah POSIX Pthreads, Mach C-threads, dan Solaris
threads.
- Kernel Level Thread
Kernel thread didukung langsung oleh
sistem operasi. Pembuatan, penjadualan, dan managemen thread dilakukan oleh
kernel pada kernel space. Karena pengaturan thread dilakukan oleh sistem
operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan
user thread. Maka Kernel Level Thread dapat dikatakan lebih baik dari User
Level Thread adalah thread diatur oleh kernel, karena itu jika sebuah thread
menjalankan blocking system call maka kernel dapat menjadualkan thread lain di
aplikasi untuk melakukan eksekusi. Kemudian pada lingkungan multiprocessor,
kernel dapat menjadual thread-thread pada processor yang berbeda. Contoh sistem
operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.
Jelaskan
tindakan yang diambil oleh sebuah kernel saat alih konteks antara kernel level
thread.
Jawab :
Karena
pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan
kernel thread lebih lambat dibandingkan user thread. Maka Kernel Level Thread
dapat dikatakan lebih baik dari User Level Thread adalah thread diatur oleh
kernel, karena itu jika sebuah thread menjalankan blocking system call maka
kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi.
Kemudian pada lingkungan multiprocessor, kernel dapat menjadual thread-thread
pada processor yang berbeda.
Sumber
daya apa sajakah yang digunakan ketika sebuah thread dibuat? Apa yang
membedakannya dengan pembentukan sebuah proses.
Jawab :
Sumber
daya yang digunakan oleh sebuah thread dibuat yaitu berbagi memori dan berbagi
kode. Yang membedakan pembuatan thread dengan proses yaitu dalam pembuatan
sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya.
Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan
sumber daya proses yang memilikinya maka akan lebih ekonomis untuk dibuat dan
context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses
dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan
pengaturan proses lebih lama dibandingkan thread.
Tunjukkan
tindakan yang diambil oleh sebuah thread library saat alih konteks antara user
level thread.
Jawab :
Thread
Library menyediakan fasilitas untuk pembuatan thread, penjadualan thread, dan
managemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari
user-level thread maka semua pembuatan dan penjadualan thread dilakukan di user
space tanpa intervensi dari kernel. Oleh karena itu, user-level thread biasanya
cepat untuk dibuat dan diatur. Tetapi user thread mempunyai kelemahan yaitu
apabila kernelnya merupakan thread tunggal maka apabila salah satu user-level
thread menjalankan blocking system call maka akan mengakibatkan seluruh proses
diblok walaupun ada thread lain yang dapat jalan dalam aplikasi tersebut.
Contoh user-thread libraries adalah POSIX Pthreads, Mach C-threads, dan Solaris
threads.
Sebutkan
lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen
proses.
Jawab :
Aktivitas
– aktivitas sistem operasi yang berkaitan dengan manajemen proses, yaitu:
o
Pembuatan dan penghapusan proses
pengguna dan sistem proses.
o
Menunda atau melanjutkan proses.
o
Menyediakan mekanisme untuk proses
sinkronisasi.
o
Menyediakan mekanisme untuk proses
komunikasi.
o
Menyediakan mekanisme untuk penanganan
deadlock.
Definisikan
perbedaan antara penjadualan short term, medium term dan long term.
Jawab :
- 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.
o
Di dalam short term ini digunakan untuk
memilih diantara proses – proses yang siap dieksekusi & satu diantaranya
dialokasikan ke CPU.
o
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.
o
Jika pada long term ini tiding sering
mengeksekusi, dan digunakan jika proses meninggalkan suatu sistem.
o
Digunakan untuk memilih suatu proses
dari pool & menyimpan pada memori.
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.
Informasi
apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke
proses lain.
Jawab :
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:
o
Pemroses menyimpan konteks program saat
itu yang sedang dieksekusi ke stack.
o
Kemudian Pemroses menset register PC
dengan alamat awal program untuk interuppet handler.
o
Selanjutnya pemroses menjalankan
instruksi-instruksi berikutnya pada interuppt handler yang melayani interrupt.
o
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.
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 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.
·
Automatic dan explicit buffering.
Otomatis membuat pemrograman lebih
mudah, tapi pada explicit buffering sebuah sistem sulit untuk membangun.
·
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.
·
Fixed size dan variable sized messages.
Fixed size membuat pemrograman lebih
mudah tetapi untuk variable sized messages sistem lebih sulit untuk membangun.
Jelaskan
perbedaan short-term, medium-term dan long-term?
Jawab :
· 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.
Jelaskan
apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang
berlangsung?
Jawab :
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.
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 :
·
Mutual exclusion.
·
Deadlock.
·
Starvation.
·
Sinkronisasi.
Perlihatkan
semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan
gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak
diantara state.
Jawab :
·
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).
·
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:
Apakah
suatu proses memberikan 'issue' ke suatu disk I/O ketika, proses tersebut dalam
'ready' state, jelaskan?
Jawab :
Ya,
karena issue menyampaikan informasi ke dalam state.
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 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.
Langganan:
Komentar (Atom)