PRODUCT of YOUM SHOP

gallery
SKIN79 Hotpink BB cream spf
gallery
[IMPORT BAG] Limited Stock
gallery
[SHOES] Tweenie
gallery
[Etude House] BB Cream Precious Mineral Bright Fit + Nymph Aura Volumer Set
gallery
[Handmade Shoes] Chanel Prestige

Saturday, January 5, 2013

SOAL SISTEM OPERASI



SOAL LATIHAN
DIKUMPULKAN PALING LAMBAT KAMIS MINGGU DEPAN
JAWAB/PILIH JAWABAN DENGAN MENYERTAKAN SUMBERNYA PADA BAGIAN BAWAH MASING-MASING SOAL.
(MIS: BUKU X, KARANGAN Y, HALAMAN Z)

Proses
  1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses.
Aktivitas – aktivitas sistem operasi yang berkaitan dengan manajemen proses, yaitu:
    1. Pembuatan dan penghapusan proses pengguna dan sistem proses.
    2. Menunda atau melanjutkan proses.
    3. Menyediakan mekanisme untuk proses sinkronisasi.
    4. Menyediakan mekanisme untuk proses komunikasi.
    5. Menyediakan mekanisme untuk penanganan deadlock.


  1. 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.

  1. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.
  1. 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.


  1. 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.

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.

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.

7.      Jelaskan perbedaan short-term, medium-term dan long-term?
-          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.

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.

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.

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).
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:



 


















11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’ state, jelaskan?
Ya, karena issue menyampaikan informasi ke dalam state.


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
·         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.
Sumber: http://2009030ifunsika.blogdetik.com/2011/10/29/tugas-sistem-operasi-04/



Thread
  1. Tunjukkan dua contoh pemrograman dari multithreading yang dapat meningkatkan sebuah solusi thread tunggal.
a.   Dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan image.
b.      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
Sumber: http://republikezy.blogspot.com/2011/11/kisi-kisi-so-pak-wury.html

  1. Tunjukkan dua contoh pemrograman dari multithreading yang tidak dapat meningkatkan sebuah solusi thread tunggal.
  1. - 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;

}

}

}


  1. Sebutkan dua perbedaan antara user level thread dan kernel thread. Saat kondisi bagaimana salah satu dari thread tersebut lebih baik
·         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.
Sumber: http://republikezy.blogspot.com/2011/11/kisi-kisi-so-pak-wury.html


  1. Jelaskan tindakan yang diambil oleh sebuah kernel saat alih konteks antara kernel level thread.
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: http://republikezy.blogspot.com/2011/11/kisi-kisi-so-pak-wury.html

  1. Sumber daya apa sajakah yang digunakan ketika sebuah thread dibuat? Apa yang membedakannya dengan pembentukan sebuah proses.
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.



  1. Tunjukkan tindakan yang diambil oleh sebuah thread library saat alih konteks antara user level thread.
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.


Penjadualan CPU
  1. Definisikan perbedaan antara penjadualan secara preemptive dan nonpreemptive!
-             Pada  penjadwalan secara preemptive (dihalangi), suatu task dapat disela oleh task lain yang lebih penting dan kemudian lain waktu dapat menggunakan prosesor lagi(resumed). Pada umumnya jika dimungkinkan suatu task yang kritis harus diizinkan untuk menyela task lain yang kurang kritis agar dapat memenuhi batas – waktu (deadline). Suatu task disebut dihalangi (preemptive) jika task tersebut dapat disela oleh permintaan prosesor dari task yang berprioritas lebih tinggi. Pada jadwal dihalangi (preemptive) akan dijamin pemrosesan task – task secara periodik dan diperoleh jadwal yang layak, serta priority inversion dapat diminimalkan. Priority inversion adalah situasi dimana eksekusi task yang berprioritas tinggi ditunda oleh task berprioritas rendah.
-             Pada  penjadwalan secara nonpreemptive(tanpa-dihalangi), sekali suatu task memulai, task tersebut harus dieksekusi (run) sampai selesai atau sampai task diblokir karena menunggu/memerlukan sumber daya (resource). Suatu task disebut tanpa-dihalangi(non preemptive) jika task tersebut memperoleh jatah prosesor, diproses dan tidak dapat disela sampai task berakhir atau memerlukan sumber-daya. Pada jadwal tanpa-dihalangi (non-preemptive), dalam kebanyakan kasus, waktu kedatangan, waktu pemrosesan dan batas – waktu (deadline) adalah sembarang serta tidak diketahui oleh penjadwal sampai task tiba, tujuan algoritma tanpa-dihalangi(non preemptive) adalah memaksimalkan adanya jaminan kepastian pemrosesan, bisa saja tidak ditemukan jadwal yang layak (feksibel).

  1. Jelaskan mengapa penjadualan strict nonpreemptive tidak seperti yang digunakan di sebuah komputer pusat.
Karena pada saat Proses digunakan diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai, sedangkan komputer pusat dalam pengeksekusian proses dimulai dengan CPU Burst, setelah itu diikuti oleh I/O burst, lalu CPU Burst lagi lalu I/O Burst lagi begitu seterusnya dan dilakukan secara bergiliran sampai CPU Burst terakhir, proses akan berakhir dengan permintaan sistem untuk mengakhiri pengeksekusian dari pada melalui I/O Burst lagi.


  1. Apakah keuntungan menggunakan time quantum size di level yang berbeda dari sebuah antrian sistem multilevel?
Keuntungan menggunakan time quantum size di level yang berbeda adalah dapat menjalankan proses lain saat prosesnya belum selesai dieksekusi. Dengan menggunakan waktu quantum, proses mempunyai jatah waktu pemrosesan yang sama dengan proses-proses yang lain.
Sumber: Catatan & Tugas Nur Shalahuddin Fajri

Pertanyaan nomor 4 sampai dengan 5 dibawah menggunakan soal berikut:
Misal diberikan beberapa proses dibawah ini dengan panjang CPU burst ( dalam milidetik)
Semua proses diasumsikan datang pada saat t=0
Tabel 2-1. Tabel untuk soal 4 — 5
Proses Burst Time Prioritas
P1        10                    3
P2        1                      1
P3        2                      3
P4        1                      4
P5        5                      2
  1. Gambarkan 4 diagram Chart yang mengilustrasikan eksekusi dari proses-proses tersebut menggunakan FCFS, SJF, prioritas nonpreemptive dan round robin.
First Come First Served
Urutan Proses : P1 > P2 > P3 > P4 > P5
Description: C:\Users\kamikaze\Desktop\fcfs.PNG

SJF (non-Preemptive)
Urutan: P2 > P4 > P3 > P5 > P1 (berdasar burst time terkecil)

Description: C:\Users\kamikaze\Desktop\sjf.PNG

Prioritas Non Preemptive
Berdasarkan prioritas
Urutan : P2 > P5 > P1 > P3 > P4

Description: C:\Users\kamikaze\Desktop\prioritas.PNG

Round Robin (Q=4)
Urutan Proses: P1>P2>P3>P4>P5>P1>P5>P1         
Time
4
5
7
8
12
16
17
19
Process
P1
P2
P3
P4
P5
P1
P5
P1
Sumber: Catatan dan data pribadi

  1. Hitung waktu tunggu dari setiap proses untuk setiap algoritma penjadualan.
First Come First Serve
Waiting Time
P1 = 0
P2 = 10
P3 = 11
P4 = 13
P5 = 14
Average Waiting Time
AVG = 0+10+11+13+14/5
            AVG = 9.6 ms

SJF (non-Preemptive)
Waiting Time
P1 = 9
P2 = 0
P3 = 2
P4 = 1
P5 = 4
Average Waiting Time
AVG = 9+0+2+1+4 / 5
AVG = 3.2ms

Prioritas Non Preemptive
Waiting Time
P1 = 6
P2 = 0
P3 = 16
P4 = 18
P5 = 1
Average Waiting Time
AVG = 41 / 5
AVG = 8.2ms

Round Robin
Waiting Time
P1 = 0
P2 = 4
P3 = 5
P4 = 7
P5 = 8
P1=12
P5=16
P1=17
Average Waiting Time
AVG = 0+4+5+7+8+12+16+17/8
            AVG = 11 ms
            Sumber: Catatan dan data pribadi

  1. Jelaskan perbedaan algoritma penjadualan berikut:
a.          FCFS
o  Penjadwalan ini tidak berprioritas
o  Penjadualan ini tidak peduli apakah burst time-nya panjang atau pendek, sebuah proses yang sedang dikerjakan diselesaikan terlebih dahulu barulah proses berikutnya dilayani.
o  Penjadualan ini cukup adil dalam hal bahasa, karena proses yang datang lebih dulu dikerjakan.
o  Penjadualan ini cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif karena tidak member waktu tanggap yang bagus, begitu juga dengan sistem waktu nyata.
b.         Round Robin
o  Penjadwalan paling tua, sederhana, adil, banyak digunakan algoritmanya dan mudah diimplementasikan.
o  Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadual berdasarkan lama waktu berjalannya proses (preempt by time).
o  Penjadualan tanpa prioritas.
o  Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada proiritas tertentu.
c.     Antrian Multilevel Feedback
o  Penjadualan berproritas dinamis
o  Penjadualan ini untuk mencegah banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemroses.
o  Diberi jatah waktu lebih banyak dalam satu waktu
o  Penjadualan ini juga menghendaki kelas-kelas prioritas bagi proses-proses yang ada.

7.   Penjadualan CPU mendefinisikan suatu urutan eksekusi dari proses terjadual. Diberikan n buah proses yang akan dijadualkan dalam satu prosesor, berapa banyak kemungkinan penjadualan yang berbeda? berikan formula dari n.
8.   Tentukan perbedaan antara penjadualan preemptive dan nonpreemptive (cooperative). Nyatakan kenapa nonpreemptive scheduling tidak dapat digunakan pada suatu komputer center. Di sistem komputer nonpreemptive, penjadualan yang lebih baik digunakan


Perangkat Keras I/O
  1.  Gambarkan diagram dari Interrupt Driven I/O Cycle.









                                                         
 






















  1. Sebutkan langkah-langkah dari transfer DMA!
o   Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer.
o   DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
o   DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya
Sumber: http://maroonellegants.blogspot.com/2012/01/soal-dan-jawaban-v-class-so-2.html

  1. Apakah perbedaan dari polling dan interupsi?
o   Polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.
o   Interupsi dalam teknologi informasi merujuk kepada sebuah permintaan terhadap layanan dari CPU yang dibuat baik secara eksternal oleh sebuah perangkat keras (sebagai contoh: oleh disk drive, atau port I/O) atau secara internal oleh CPU itu sendiri.

  1. Apa hubungan arsitektur kernel yang di-thread dengan implemen tasi interupsi?
  1. Perangkat dapat menghasilkan interrupt signal. Setiap signal interrupt mempunyai hubungan dengan program kernel yang disebut dengan interrupt handler.

Interface Aplikasi I/O
  1. Kenapa dibutuhkan interface pada aplikasi I/O?

Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan I/O. Pendekatan inilah yang dinamakan interface aplikasi I/O. Interface aplikasi I/O melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan I/O ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar (interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan I/O, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan I/O ke dalam masing-masing 1 kelas yang umum tadi (interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.
Sumber: http://dysse.wordpress.com/2012/01/11/sistem-io/

  1. Apa tujuan adanya device driver? Berikan contoh keuntungan yang kita dapatkan dengan adanya hal ini!
Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat bersifat independen dari hardware.

Keuntungan yang didapat:
Secara teoritis, sebuah perangkat yang baru, yang umumnya dikontrol dengan menggunakan cara yang baru dapat bekerja dengan normal jika memang terdapat device driver yang cocok. Driver yang baru ini akan menjamin bahwa perangkat yang bersangkutan dapat beroperasi seperti biasa dari sudut pandang sistem operasi.
Sumber: http://dysse.wordpress.com/2012/01/11/sistem-io/


Kernel I/O Subsystem
  1. Apakah yang dimaksud dengan proses pooling? (jelaskan dengan jelas)
Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
Sumber: http://dysse.wordpress.com/2012/01/11/sistem-io/

  1. Mengapa diperlukan proses pooling?
-          Untuk mengetahui mana permintaan terbanyak pada suatu sistem operasi.
-          Membantu pekerjaan menjadi lebih cepat.
-          Untuk mengatasi device yang tidak dapat me-multiplex permintaan I/O dari beberapa aplikasi.
Sumber: http://dysse.wordpress.com/2012/01/11/sistem-io/

  1. Apakah yang dimaksud dengan buffer?

Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan.
-          Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data.
-          Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data.
-          Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O.
Sumber: http://dysse.wordpress.com/2012/01/11/sistem-io/
  1. Jelaskan dengan singkat mengenai I/O Scheduling!
  1. Untuk menjadualkan sebuah set permintaan I/O, kita harus menetukan urutan yang bagus untuk mengeksekusi permintaan tersebut. Scheduling dapat meningkatkan kemampuan sistem secara keseluruhan, dapat membagi device secara rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O.


Penanganan Permintaan I/O
  1. Apakah kegunaan dari Streams pada Sistem V UNIX?
  1. Untuk membolehkan aplikasi untuk men-assemble pipeline dari kode driver secara dinamis

  1. Jelaskan lifecycle dari permintaan pembacaan blok!
-          Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah file deskriptor dari berkas yang telah dibuka sebelumnya
-          Kode system-call di kernel mengecek parameter untuk kebenaran. Dalam kasus input, jika data telah siap di buffer cache, data akan dikembalikan ke proses dan permintaan I/O diselesaikan.
-          Jika data tidak berada dalam buffer cache, sebuah physical I/O akan bekerja, sehingga proses akan dikeluarkan dari antrian jalan (run queue) dan diletakkan di antrian tunggu (wait queue) untuk alat, dan permintaan I/O pun dijadwalkan. Pada akhirnya, subsistem I/O mengirimkan permintaan ke device driver. Bergantung pada sistem operasi, permintaan dikirimkan melalui call subrutin atau melalui pesan in-kernel.
-          Device driver mengalokasikan ruang buffer pada kernel untuk menerima data, dan menjadwalkan I/O. Pada akhirnya, driver mengirim perintah ke device controller dengan menulis ke register device control
-          Device controller mengoperasikan piranti keras device untuk melakukan transfer data.
-          Driver dapat menerima status dan data, atau dapat menyiapkan transfer DMA ke memori kernel. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller, yang meggunakan interupsi ketika transfer selesai.
-          Interrupt handler yang sesuai menerima interupsi melalui tabel vektor-interupsi, menyimpan sejumlah data yang dibutuhkan, menandai device driver, dan kembali dari interupsi.
-          Device driver menerima tanda, menganalisa permintaan I/O mana yang telah diselesaikan, menganalisa status permintaan, dan menandai subsistem I/O kernel yang permintaannya telah terselesaikan.
-          Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan, dan memindahkan proses dari antrian tunggu kembali ke antrian siap.
-          Proses tidak diblok ketika dipindahkan ke antrian siap. Ketika penjadwal (scheduler)
mengembalikan proses ke CPU, proses meneruskan eksekusi pada penyelesaian dari system call.


Performa I/O
  1. Gambarkan bagan mengenai komunikasi antar komputer





















  1. Bagaimana cara meningkatkan efisiensi performa I/O
-          Menurunkan jumlah alih konteks.
-          Mengurangi jumlah pengkopian data ke memori ketika sedang dikirimkan antara device dan aplikasi.
-          Mengurangi frekuensi interupsi, dengan menggunakan ukuran transfer yang besar, smart controller, dan polling.
-          Meningkatkan concurrency dengan controller atau channel yang mendukung DMA.
-          Memindahkan kegiatan processing ke perangkat keras, sehingga operasi kepada device controller dapat berlangsung bersamaan dengan CPU.
-          Menyeimbangkan antara kinerja CPU, memory subsystem, bus, dan I/O.

  1. Jelaskan mengenai implementasi dari fungsi I/O
Pada dasarnya kita mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash. Lebih lanjut, dengan mengembangkan kode pada level aplikasi, kita akan menghindari kebutuhan untuk reboot atau reload device driver setiap kali kita mengubah kode. Implementasi pada level aplikasi juga bisa sangat tidak efisien. Tetapi, karena overhead dari alih konteks dan karena aplikasi tidak bisa mengambil keuntungan dari struktur data kernel internal dan fungsionalitas dari kernel (misalnya, efisiensi dari kernel messaging, threading dan locking.

Struktur Disk
  1. Sebutkan bagian-bagian dari disk
Disk menyediakan penyimpanan sekunder bagi sistem komputer modern. Magnetic tape sebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarang tape digunakan terutama untuk backup, untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk.


  1. Apa keuntungan penggunaan pemetaan pada disk?
  1. Dengan menggunakan pemetaan, kita dapat minimal dalam teori mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di silinder tersebut, dan sebuah nomor sektor di trek tersebut.

Penjadualan Disk
  1. Buatlah dengan pemikiran Anda sendiri, strategi penjadualan disk yang tepat dan efisien menurut Anda
Menurut saya penjadualan disk yang efisien adalah dengan sistem antrian (queue) atau First Come First Served (FCFS) karena secara intrinsik bersifat adil tapi memang tidak cepat dibandingkan dengan penjadualan-penjadualan yang lain.
Tetapi jika saya diberikan pilihan, kembali kepada point 1 dari penjadualan disk yaitu, kita harus melihat:
1. Apakah operasi input atau output.
2. Alamat disk untuk proses tersebut.
3. Alamat memori untuk proses tersebut
4. Jumlah bytes yang akan ditransfer

  1. Menurut Anda, diantara algoritma-algoritma penjadualan disk diatas manakah yang paling cepat, manakah yang paling efisien (hemat/tidak mahal), dan manakah yang paling lambat dan tidak efisien? Jelaskan!
SSTF lebih umum dan memiliki prilaku yang lazim kita temui. SCAN dan C-SCAN memperlihatkan kemampuan yang lebih baik bagi sistem yang menempatkan beban pekerjaan yang berat kepada disk, karena algoritma tersebut memiliki masalah starvation yang paling sedikit. Untuk antrian permintaan tertentu, mungkin saja kita dapat mendefinisikan urutan akses dan pengambilan data dari disk yang optimal, tapi proses komputasi membutuhkan penjadualan optimal yang tidak kita dapatkan pada SSTF atau SCAN.
Dengan algoritma penjadualan yang mana pun, kinerja sistem sangat tergantung pada jumlah dan tipe permintaan. Sebagai contoh, misalnya kita hanya memiliki satu permintaan, maka semua algoritma penjadualan akan dipaksa bertindak sama, karena algoritma-algoritma tersebut hanya punya satu pilihan dari mana menggerakkan disk head: semuanya berprilaku seperti algoritma penjadualan FCFS.
Perlu diperhatikan pula bahwa pelayanan permintaan disk dapat dipengaruhi pula oleh metode alokasi file. Sebuah program yang membaca alokasi file secara terus menerus mungkin akan membuat beberapa permintaan yang berdekatan pada disk, menyebabkan pergerakan head menjadi terbatas. File yang memiliki link atau indeks, dilain pihak, mungkin juga memasukkan blok-blok yang tersebar luas pada disk, menyebabkan pergerakan head yang sangat besar.
Lokasi blok-blok indeks dan directory juga tidak kalah penting. Karena file harus dibuka sebelum digunakan, proses pembukaan file membutuhkan pencarian pada struktur directory, dengan demikian directory akan sering diakses. Kita anggap catatan directory berada pada awal silinder, sedangkan data file berada pada silinder terakhir. Pada kasus ini, disk head harus bergerak melewati sepanjang lebar disk. Membuat tempat penyimpanan sementara dari blok-blok indeks dan directory ke dalam memori dapat membantu mengurangi pergerakan disk arm, khususnya untuk permintaan membaca disk.
Karena kerumitan inilah, maka algoritma penjadualan disk harus ditulis dalam modul terpisah dari sistem operasi, jadi dapat saling mengganti dengan algoritma lain jika diperlukan. Baik SSTF mau pun LOOK keduanya merupakan pilihan yang paling masuk akal sebagai algoritma yang paling dasar.

Managemen Disk

  1. Bagaimana cara disk SCSI me-recovery blok yang rusak? Jelaskan selengkap mungkin!
Untuk disk yang lebih kompleks seperti disk SCSI, bad blocks diatasi dengan sector sparing atau forwarding, yaitu controller dapat mengganti sektor yang rusak dengan sebuah sektor yang terpisah. Alternatif lainnya adalah mengganti sektor tersebut dengan cara sector slipping.
Mengganti blok yang rusak bukan sepenuhnya merupakan proses yang otomatis, karena data-data yang tersimpan sebelum nya akan terhapus.


Penanganan Swap-Space
  1. Bagaimana penanganan swap space pada disk?
Swap-space adalah salah satu dari low-level task pada sebuah sistem operasi. Memori Virtual menggunakan disk space sebagai perpanjangan (atau space tambahan) dari memori utama. Karena kecepatan akses disk lebih lambat daripada kecepatan akses memori, menggunakan swap-space akan mengurangi performa sistem secara signifikan. Tujuan utama dari perancangan dan implementasi swap-space adalah untuk menghasilkan kinerja memori virtual yang optimal.
Penggunaan swap-space pada berbagai macam sistem operasi berbeda-beda, tergantung pada algoritma memory management yang diimplementasikan. Sebagai contoh, sistem yang mengimplementasikan swapping mungkin akan menggunakan swap-space untuk menyimpan (dan mengerjakan) sebuah proses, termasuk segmen kode dan datanya. Sistem yang menggunakan paging hanya akan menyimpan page (atau "halaman " proses) yang sudah dikeluarkan dari memori utama. Besarnya swap-space yang dibutuhkan sebuah sistem bermacam-macam, tergantung dari banyaknya physical memory (RAM, seperti EDO DRAM, SDRAM, RD RAM), memori virtual yang disimpan di swap-space, dan caranya memori virtual digunakan. Besarnya bervariasi, antara beberapa megabytes sampai ratusan megabytes atau lebih.
Beberapa sistem operasi, seperti UNIX, menggunakan swap-space sebanyak yang diperlu kan. Swap-space ini biasanya disimpan dalam beberapa disk yang terpisah, jadi beban yang diterima oleh sistem I/O dari paging dan swapping bisa didistribusikan ke berbagai I/O device pada sistem.

  1. Bagaimana pengelolaan swap space pada disk?
Untuk mengilustrasikan metode-metode yang digunakan untuk mengelola swap-space, kita sekarang akan mengikuti evolusi dari swapping dan paging pada GNU/ Linux. GNU/ Linux memulai dengan implemen tasi swapping yang menyalin seluruh proses antara daerah disk yang contiguous (tidak terputus) dan memori. UNIX berevolusi menjadi kombinasi dari swapping dan paging dengan tersedianya hardware untuk paging.
Dalam 4.3BSD, swap-space dialokasikan untuk proses ketika sebuah proses dimulai. Tempat yang cu kup disediakan untuk menampung program, yang juga dikenal sebagai halaman-halaman teks (text pages) atau segmen teks, dan segmen data dari proses itu. Alokasi dini tempat yang dibutuhkan dengan cara seperti ini umumnya mencegah sebuah proses untuk kehabisan swap-space selagi proses itu dikerjakan. Ketika proses mulai, teks di dalamnya di-page dari file system. Halaman-halaman (pages) ini akan ditaruh di swap bila perlu, dan dibaca kembali dari sana, jadi sistem file akan diakses sekali untuk setiap text page. Halaman-halaman dari segmen data dibaca dari sistem file, atau dibuat (bila belum sebelumnya), dan ditaruh di swap space dan di-page kembali bila perlu. Satu contoh optimisasi (sebagai contoh, ketika dua pengguna menggunakan editor yang sama) adalah proses-proses dengan text page yang identik membagi halaman-halaman (pages) ini, baik di memori mau pun di swap-space.
Dua peta swap untuk setiap proses digunakan oleh kernel untuk melacak penggunaan swap-space. Segmen teks besarnya tetap, maka swap space yang dialokasikan sebesar 512K setiap potong (chunks), kecuali untuk potongan terakhir, yang menyimpan sisa halaman-halaman (pages) tadi, dengan kenaikan (increments) sebesar 1K.
Peta swap dari Segmen data lebih rumit, karena segmen data bisa mem besar setiap saat. Petanya sendiri besarnya tetap, tapi menyimpan a lamat-alamat swap untuk blok-blok yang besarnya bervariasi. Misalkan ada index i, bla-bla-bla, dengan besar maksimun 2 megabytes. Data struktur ini ditunjukkan oleh gambar 13.8. (Besar minimum dan maksi mum blok bervariasi, dan bisa diubah ketika me-reboot sistem.) Keti ka sebuah proses mencoba untuk memperbesar segmen datanya melebihi blok yang dialokasikan di tempat swap, sistem operasi mengalokasikan blok lain lagi, dua kali besarnya yang pertama. Skema ini menyebab kan proses-proses yang kecil menggunakan blok-blok kecil. Ini juga meminimalisir fragmentasi. Blok-blok dari proses yang besar bisa di temukan dengan cepat, dan peta swap tetap kecil.
Pada Solaris 1 (SunOS 4), para pembuatnya membuat perubahan pada me tode standar UNIX untuk meningkatkan efisiensi dan untuk mencermin kan perubahan teknologi. Ketika sebuah proses berjalan, halaman-hala man (pages) dari segmen teks dibawa kembali dari sistem berkas, diak ses di memori utama, dan dibuang bila diputuskan untuk di-pageout. A kan lebih efisien untuk membaca ulang sebuah halaman (page) dari sis tem berkas daripada menaruhnya di swap-space dan membacanya ulang dari sana.
Lebih banyak lagi perubahan pada Solaris 2. Perubahan terbesar ada lah Solaris 2 mengalokasikan swap-space hanya ketika sebuah halaman (page) dipaksa keluar dari memori, daripada ketika halaman (page) da ri memori virtual pertama kali dibuat. Perubahan ini memberikan per forma yang lebih baik pada komputer-komputer modern, yang sudah mem punyai memori lebih banyak daripada komputer-komputer dengan sistem yang sudah lama, dan lebih jarang melakukan paging.


Reabilitas Disk
  1. Terangkan bagaimana RAID dapat meningkatkan reabilitas dari disk?
Untuk meningkatkan reabilitas RAID dari disk adalah dengan mirroring atau shadowing, yaitu dengan membuat duplikasi dari tiap-tiap disk. Pada cara ini, berarti diperlukan media penyimpanan yang dua kali lebih besar daripada ukuran data sebenarnya. Akan tetapi, dengan cara ini pengaksesan disk yang dilakukan untuk membaca dapat ditingkatkan dua kali lipat. Hal ini dikarenakan setengah dari permintaan membaca dapat dikirim ke masing-masing disk. Cara lain yang digunakan pada RAID adalah block interleaved parity. Pada cara ini, digunakan sebagian kecil dari disk untuk penyimpanan parity block. Sebagai contoh, dimisalkan terdapat 10 disk pada array. Karenanya setiap 9 data block yang disimpan pada array, 1 parity block juga akan disimpan. Bila terjadi kerusakan pada salah satu block pada disk maka dengan adanya informasi pada parity block ini, ditambah dengan data block lainnya, diharapkan kerusakan pada disk tersebut dapat ditanggulangi, sehingga tidak ada data yang hilang. Penggunaan parity block ini juga akan menurunkan kinerja sama seperti halnya pada mirroring. Pada parity block ini, tiap kali subblock data ditulis, akan terjadi perhitungan dan penulisan ulang pada parity block.
  1. Adakah batas waktu hidup suatu disk? Jika ada, berapa lama? Jika tidak, kenapa?
Ada , usia dari optical disc bergantung pada banyak faktor, beberapa dapat dikendalikan oleh pemakai, beberapa yang lainnya tidak.
Faktor-faktor yang dapat mempengaruhi usia disc termasuk berikut ini:
• Tipe
• Kualitas pabrikasi
• Kondisi disc sebelum perekaman
• Kualitas dari perekaman disc
• Perlakuan dan perawatan
• Kondisi lingkungan

Implementasi Stable-Storage
  1. Sebutkan kemungkinan-kemungkinan dari disk write!
  1. a.  Successful completion.
Data disimpan dengan benar di dalam disk.
b.    Partial failure.
            Kegagalan terjadi di tengah-tengah transfer, menyebabkan hanya bebe rapa sektor yang diisi dengan data yang baru, dan sektor yang diisi ketika terjadi kegagalan menjadi rusak.
c.    Total failure.
            Kegagalan terjadi sebelum disk write dimulai, jadi data yang sebe lumnya ada pada disk masih tetap ada.


  1. Bagaimanakah suatu operasi output dieksekusi?
  1. • Tulis informasinya ke blok physical yang pertama.
• Ketika penulisan pertama berhasil, tulis informasi yang sama ke blok physical yang kedua.
• Operasi dikatakan berhasil hanya jika penulisan kedua berhasil.


Tertiary-Storage Structure
  1. Sebutkan kelebihan tertiary storage structure?
ü  Biaya produksi lebih murah.
ü  Menggunakan removable media.
ü  Data yang disimpan bersifat permanen.

  1. Apakah kegunaan EOT pada tapes? Jelaskan cara kerjanya?
  1. Kapasitas blok ditentukan pada saat blok ditulis. Apabila terdapat area yang rusak pada saat blok ditulis, maka area yang rusak itu tidak dipakai dan penulisan blok dilanjutkan setelah daerah yang rusak tersebut. Tape drive “append-only” devices, maksudnya adalah apabila kita meng-update blok yang ada di tengah berarti kita akan menghapus semua data sebelumnya pada blok tersebut. Oleh karena itu, meng-update blok tidak diperbolehkan.Untuk mencegah hal tadi digunakan tanda EOT (end-of-tape). Tanda EOT ditaruh setelah sebuah blok ditulis. Drive menolak ke lokasi sebelum tanda EOT, tetapi drive tidak menolak ke lokasi tanda EOT kemudian drive mulai menulis data. Setelah selesai menulis data, tanda EOT ditaruh setelah blok yang baru ditulis tadi.

  1. Jelaskan tugas sistem operasi terhadap tertiary-storage structure?
  1. Tugas terpenting dari sistem operasi dalam hubungannya dengan tertiary-storage structure adalah digunakan untuk menampilkan abstraksi mesin virtual dari aplikasi, menampilkan apa yang ada dalam tertiary-storage structure.



  1. Modul kernel yang dapat dipanggil terpisah memberikan fleksibilitas untuk menambahkan driver ke dalam kernel. Berikan contoh langkah pemanggilan modul di Linux!
  1. Pemanggilan modul dilakukan dalam dua tahap. Pertama, utilitas pemanggil modul akan meminta kernel untuk mereservasi tempat di memori virtual kernel untuk modul tersebut. Kernel akan memberikan alamat memori yang dialokasikan dan utilitas tersebut dapat menggunakannya untuk memasukkan kode mesin dari modul tersebut ke alamat pemanggilan yang tepat. Berikutnya system calls akan membawa modul, berikut setiap tabel simbol yang hendak diekspor, ke kernel. Dengan demikian modul tersebut akan berada di alamat yang telah dialokasikan dan tabel simbol milik kernel akan diperbaharui.
Komponen managemen modul yang lain adalah peminta modul. Kernel mendefinisikan antarmuka komunikasi yang dapat dihubungi oleh program managemen modul. Saat hubungan tercipta, kernel akan menginformasikan proses managemen kapan pun sebuah proses meminta device driver, sistem berkas, atau layanan jaringan yang belum terpanggil dan memberikan manajer kesempatan untuk memanggil layanan tersebut. Permintaan layanan akan selesai saat modul telah terpanggil. Manajer proses akan memeriksa secara berkala apakah modul tersebut masih digunakan, dan akan menghapusnya saat tidak diperlukan lagi.
Sumber: http://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&ved=0CEUQFjAD&url=http%3A%2F%2Felearning.amikom.ac.id%2Findex.php%2Fdownload%2Fmateri%2F190302105-SI024-131%2F2011%2F10%2F20111013_Kernel%2520Linux.doc&ei=sRrZUKTKAYyurAeawIHwCQ&usg=AFQjCNH8FL9F4erNQ6cUwGTZhrgF1ycE1A&bvm=bv.1355534169,d.bmk

  1. Jelaskan perbedaan antara proses dan thread di Linux!

Proses:  Gabungan dari ruang virtual memori, kode, data, dan resource sistem

Thread: Kode yang secara serial akan diproses per satu proses

Prosesor mengeksekusi thread, bukan proses, jadi tiap aplikasi setidaknya memiliki satu proses, dan tiap proses paling tidak memiliki satu thread eksekusi yang dinamakan primary thread. Sebuah proses dapat memiliki banyak thread selain primary thread
Sumber: http://blog.ub.ac.id/briandanaa/2012/05/10/perbedaan-proses-dan-thread/


  1. Jelaskan operasi-operasi dalam inode!
Linux menyimpan cache dari inode aktif maupun dari inode yang telah terakses sebelumnya. Ada 2 path dimana inode ini dapat diakses. Yang pertama telah disebutkan sebelumnya, setiap entri dalam cache menunjuk pada suatu inode dan menjaga inode tetap dalam cache. Yang kedua melalui inode hash table. Setiap inode mempunyai alamat 8 bit sesuai dengan alamat dari file sistem superblok dan nomor inode. Inode dengan nilai hash yang sama kemudian dirangkai di doubly linked list.

  1. Apa keuntungan reiser file sistem dibandingkan dengan file sistem lain?
Reiser file sistem memiliki jurnal yang cepat. Ciri-cirinya mirip EXT3 file sistem. Reiser file sistem dibuat berdasarkan balance tree yang cepat. Balance tree unggul dalam hal kinerja, dengan algoritma yang lebih rumit tentunya. Reiser file sistem lebih efisien dalam pemenfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. File sistem lain menempatkannya dalam 100 blok. Reiser file sistem tidak memiliki pengalokasian yang tetap untuk inode. Resier file sistem dapat menghemat disk sampai dengan 6 persen.
Namesys menganggap ReiserFS (sekarang kadang-kadang disebut sebagai Reiser3)mempunyau kestabilan dan fitur-lengkap, dengan pengecualian update keamanan dan perbaikan bug kritis, berhenti pembangunan di atasnya untuk berkonsentrasi pada penggantinya, Reiser4 . Namesys keluar dari bisnis pada tahun 2008 setelah Reiser didakwa atas pembunuhan istrinya. Namun, relawan terus bekerja pada proyek open source.
Beberapa keuntungan dan kelebihan yang bisa kita dapatkan dengan menggunakan file system ReiserFS:
-          Secara umum mempunyai kinerja yang lebih tinggi di semua ukuran file (file size).
-          Mengurangi ruang harddisk yang terbuang percuma, tidak ada alokasi inode yang statik, file-file yang kecil dipaket bersama dengan file kecil yang lain.
-          Kinerja yang lebih tinggi untuk direktori yang banyak (contohnya direktori queue qmail dan web cache squid), bahkan jika dibandingkan dengan JFS yang lain
Sumber: http://blogs.unpas.ac.id/kuliahso11/2012/04/27/reiser-file-system/


  1. Apakah perbedaan shareable dan unshareable di dalam file sistem?
          Shareable
Isinya dapat dishare (digunakan bersama) dengan sistem lain, gunanya untuk menghemat tempat.
Unshareable
Isinya tidak dapat dishare(digunakan bersama) dengan sistem lain, biasanya untuk alasan keamanan.
Sumber: http://maranugraha.wordpress.com/2010/03/20/file-system-unix/

  1. Mengapa file sistem ext3 membutuhkan waktu recovery yang lebih sedikit daripada file sistem ext2 setelah terjadi "unclean shutdown"?
EXT2 adalah file sistem yang ampuh di linux. EXT2 juga merupakan salah satu file sistem yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT2 file sistem, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file sistem, besar blok tersebut ditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.
EXT2 mendefinisikan topologi file sistem dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam EXT2 file sistem terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.
A.     Setelah kegagalan sumber daya, “unclean shutdown”, atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses. Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi “unclean shutdown” tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.
B.     Integritas data.
EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau “unclean shutdown”. EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
C.     Kecepatan.
Daripada menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
D.     Mudah dilakukan migrasi
Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.

  1. Jelaskan pengertian proc file sistem!
  1. Sebuah virtual file system yang mengandung informasi mengenai system resource. Informasi lebih lanjut mengenai pengertian dari file pada proc diketahui dengan memasukkan perintah man proc pada terminal. File proc.txt membicarakan detil dari virtual file system.

  1. Soal manajemen memori linux



  1. Jelaskan pengertian page!
  1. Membagi memori fisik ke dalam blok (page, frame) dengan ukuran tertentu (fixed) yang seragam.
-          Memudahkan manajemen free memory (hole) yang dapat bervariasi.
-          Tidak perlu menggabungkan hole menjadi blok yang besar
-          Tidak perlu menggabungkan hole menjadi blok yang besar seperti pada variable partition (compaction).
-          OS lebih sederhana dalam mengontrol (proteksi dan kebijakan) pemakaian memori untuk satu proses.
Sumber: SO 9- Memori.ppt

  1. Apakah perbedaan linking statis dan linking dinamis?
a.          Linking statis:
Librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.
b.     Linking dinamis:
Hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.
            Sumber: KernelLinx.docx

  1. Sebutkan empat keuntungan menguunakan memori virtual!
  1. a. Berkurangnya  proses  I/O  yang  dibutuhkan  (lalu  lintas  I/O  menjadi  rendah).  Misalnya  untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
b.      Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan error hanya dimasukkan jika terjadi error.
c.       Meningkatnya respon, karena menurunnya beban I/O dan memori.
d.      Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna
Sumber: http://bugspin.blogspot.com/2012/07/virtual-memory-adalah.html

  1. Sebutkan beberapa cache dalam manajemen memori di linux!
  1. Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.
Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.
Sumber: http://trewelu.itn.ac.id/arsip/manajemen-memory-di-linux.cgi

  1. Jelaskan pengertian dari demand paging!
Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging.
Sumber: http://trewelu.itn.ac.id/arsip/manajemen-memory-di-linux.cgi


  1. Siapakah penemu Linux?
  1. Linus Benedict Torvalds (lahir di Helsinki, Finlandia, 28 Desember 1969) adalah rekayasawan perangkat lunak Finlandia yang dikenal sebagai perintis pengembangan Kernel Linux. Ia sekarang bertindak sebagai koordinator proyek tersebut.


 

















            Sumber: solusi.crazy4us.com/t689-penemu-linux-os

  1. Jabarkan fitur dan keunggulan/kekurangan dari kernel Linux v0.01, v1.0, v2.0.



  1. Jelaskan perbedaan antara kernel Linux dan sistem Linux.


  1. Sebutkan tiga komponen utama sistem Linux. Jelaskan.
  1. 1. Kernel, merupakan program inti dari System Linux. Peran dan tugas yang dipegang oleh  Kernel ini antara lain :
o   Mengendalikan akses terhadap komputer
o   Mengatur memori komputer
o   Memelihara sistem file
o   Mengalokasikan sumber daya komputer diantara pemakai

2. Shell, merupakan program yang memungkinkan pemakai dapat berkomunikasi dengan komputer. Tugas dan peran shell adalah membaca perintah yang diberikan pemakai dan menerjemahkan perintah (command intepreter) tersebut sebagai suatu permintaan dan meneruskanya ke Kernel. Pada prompt shell, pemakai memberi perintah kepada shell dan kemudian shell akan langsung memberikan respon. Perintah-perintah tersebut dapat dirangkai serta dapat disimpan dalam sebuah file teks yang disebut dengan program shell atau shell scripting.

3.  Utility, adalah program bantu diluar shell untuk melakukan tugas tertentu, misalnya saja untuk mengedit dokumen, memanipulasi file, menambah user, menghapus user dan lain sebagainya.
Sumber: http://solo.linux.or.id/sistem-utama-linux/

  1. Sebutkan dua distribusi Linux dari Jerman.
  1. Suse dan Knoppix 3.8
Sumber: http://soranohime.wordpress.com/2009/02/10/macam-macam-linux/

  1. Bagaimanakah cara menseting lilo.conf di Linux supaya:
a.       Pada saat boot dan ingin memilih suatu OS user memasukkan password?
Pada saat instalasi RedHat Linux ada pilihan untuk menginstalasi LILO Bila saat instalasi pilihan ini dilewati atau Skip, LILO bisa di instalasi sekarang dengan perintah /sbin/lilo.

Disamping dengan LILO, kernel juga dapat dimuat dari DOS dengan menggunakan program LOADLIN.EXE. Cara yang mudah adalah mencopy kernel dan LOADLIN. EXE ke partisi DOS, lalu untuk memboot komputer cukup dengan mengetikkan perintah ini dari prompt DOS:

c:loadlin c:vmlinuz root=/dev/hda3 ro

/dev/hda3 bisa diganti sesuai dengan partisi root Linux.

Instalasi
LILO dapat diistalasi dan ditempatkan pada salah satu partisi sbb:

Master Boot Record (MBR) dari hard disk.
Root Partisi Linux.
Floppy disk.
Untuk menginstalasinya sangat mudah yaitu dengan perintah lilo (terdapat di direktori /sbin). Dokumentasinya dapat dibaca di /usr/doc. Ada shell script, QuickInst yang digunakan untuk mengganti LILO yang telah di instalasi.

Edit dan konfigurasi sesuai kebutuhan file /etc/lilo.conf
Jalankan /sbin/lilo untuk mengaktifkannya
Beberapa file akan berubah selama instalasi LILO, berikut ini file-file yang dibuat atau berubah selama instalasi LILO:

/sbin/lilo -- map installer; keterangan lihat man lilo
/boot/boot.b -- boot loader
/boot/map -- boot map, berisi lokasi kernel
/etc/lilo.conf -- file konfigurasi LILO
Untuk mencegah kerusakan sistem atau sistem tidak bisa di boot maka sebaiknya buat dulu emergency boot disk
b. Pada saat boot dan ingin menambahkan option di prompt lilo, user memasukkan password?
Sebelum mengkonfigurasi LILO, sebaiknya mengetahui sistem operasi yang ada di setiap partisi hard disk serta menentukan partisi untuk meletakkan LILO. Pada umumnya LILO diletakkan pada MBR. Bila ada sistem lain seperti OS/2, sebaiknya LILO diletakkan pada superblock partisi root karena MBR akan ditempati boot loader OS/2.
Bila Linux satu-satunya sistem operasi yang ada di hard disk atau memiliki sistem operasi Windows 95/NT, LILO bisa diletakkan di MBR. Perhatikan partisi masing-masing dengan cermat, misal Windows di /dev/hda1 dan Linux di /dev/hda2.
Umumnya LILO di instalasi setelah partisi hard disk dibuat dan setelah sistem operasi Linux atau yang lain sudah di instalasi.
                 Mengedit lilo.conf
        Login sebagai root sebelum mengedit file ini. Buka dengan sembarang editor teks ASCII, misal vi.

Contoh file lilo.conf:

# Start LILO global section
Boot = /dev/hda
Prompt
Vga = normal
Ramdisk = 0
# End LILO global section
image = /vmlinuz
root = /dev/hda3
label = linux
other = /dev/hda1
label = dos
tabel = /dev/hda

Parameter selengkapnya:

boot= memberitahu device yang memiliki boot sector. Boot sector dibaca dari device ini dan di mount sebagai root.
linear Mengenerate linear sector addrress. Lihat dokumentasi LILO.
install= Menginstal file yang telah ditentukan sebagi boot sector yang baru. Jika install tidak dipakai, /etc/lilo/boot.b dipakai sebagi default.

message= Untuk menampilkan file teks, besarnya maksimum 65,535 byte.
verbose= Menampilkan progress reporting. Option lain seperti -v dan -q. Lihat dokumentasi LILO.
backup= Menyalin boot sector asli ke file .
force-backup Sama dengan backup. Option ini menimpa salinan backup yang telah dibuat dan akan mengabaikan option backup bila keduanya dipakai.
prompt Meminta masukan saat boot.
timeout= Mengeset waktu tunggu keyboard sebelum menjalankan option berikutnya. Defaultnya 5 detik. Masukkan value 0 jika ingin LILO menunggu sampai ada masukkan dari keyboard.
serial= Mengijinkan masukan dari serial line dan keyboard ke LILO.
ignore-table Mengabaikan tabel partisi yang corrupt.
password= Memasang password untuk melindungi boot images

  1. Apakah hacker dan craker sama? Kalau beda/ sama sebutkan dalam hal apa?
Hacker :
-          Mempunyai kemampuan menganalisa kelemahan suatu sistem atau situs. Sebagai contoh : jika seorang hacker mencoba menguji suatu situs dipastikan isi situs tersebut tak akan berantakan dan mengganggu yang lain. Biasanya hacker melaporkan kejadian ini untuk diperbaiki menjadi sempurna. Bahkan seorang hacker akan memberikan masukan dan saran yang bisa memperbaiki kebobolan system yang ia masuki.
-          Hacker mempunyai etika serta kreatif dalam merancang suatu program yang berguna bagi siapa saja.
-          Seorang Hacker tidak pelit membagi ilmunya kepada orang-orang yang serius atas nama ilmu pengetahuan dan kebaikan.
-          Seorang hacker akan selalu memperdalam ilmunya dan memperbanyak pemahaman tentang sistem operasi.

Cracker :

-          Mampu membuat suatu program bagi kepentingan dirinya sendiri dan bersifat destruktif atau merusak dan menjadikannya suatu keuntungan. Sebagia contoh : Virus, Pencurian Kartu Kredit, Kode Warez, Pembobolan Rekening Bank, Pencurian Password E-mail/Web Server.
-          Bisa berdiri sendiri atau berkelompok dalam bertindak.
-          Mempunyai website atau channel dalam IRC yang tersembunyi, hanya orang-orang tertentu yang bisa mengaksesnya.
-          Mempunyai IP address yang tidak bisa dilacak.
-          Kasus yang paling sering ialah Carding yaitu Pencurian Kartu Kredit, kemudian pembobolan situs dan mengubah segala isinya menjadi berantakan. Sebagai contoh : Yahoo! pernah mengalami kejadian seperti ini sehingga tidak bisa diakses dalam waktu yang lama, kasus klikBCA.com yang paling hangat dibicarakan beberapa waktu yang lalu.

21. a. Alamat IP berapa yang tidak bisa digunakan pada golongan C?
b. Mengapa tidak bisa digunakan?
22. Apakah kelebihan dan kekurangan protokol IPX, TCP/IP, dan UDP?
23. Bagaimanakah cara kerja protokol TCP/IP?
24. - Jelaskan perbedaan yang mendasar dari device blok dengan device karakter!
- Apakah yang membedakan device jaringan dengan device karakter dan device blok?
- Bagaimana cara Linux mengakses IO?
25. Komunikasi antar proses:
- Jelaskan cara proses menyikapi proses!
- Sebutkan sinyal-sinyal yang tidak dapat diabaikan!
- Jelaskan sedikit mengenai pipa dan perbedaan yang khusus dari cara komunikasi yang lainnya


Yang Belom
Note:         15, 16, 21-25
                    Pejadualan cpu 7-8

6 comments:

  1. sis sedikit saran nih ya,,, untuk blognya,, kalo ada music kalo bisa pake instrumental yang suaranya kecil,,, berat ntuk koneksi bermasalah

    ReplyDelete
  2. oo iya kemudian untuk cracker dan hacker diatas itu, menurut pengalaman saya ada 3 golongan, individual, abu-abu, dan dibayar untuk menguji dan hacker ada 3 jenis, yang hanya masuk, yang hanya masuk dan melihat2, dan yang ketiga masuk, merusak dan melihat2 serta mengacau database.

    cracker,, secara garis besar sudah benar, namun pernyataan yang menyebutkan bahwa IP yang tidak bisa dilacak itu sebenarnya sedikit saya ragukan,,, karena dalam dunia hacker dan cracker yang sedang saya pelajari saat ini caranya,,, dikenal metode Address Scrambled, dimana menggunakan 5 buah IP dari 5 buah negara yang berbeda-beda yang dibuat berlapis, jadi setiap ip mengakses ip yang lain sampai IP permukaan atau kelima,,, pernyataan yang saya ingin sampaikan

    IP nya bukan tidak bisa dilacak, tapi sulit dilacak

    ReplyDelete
  3. terimakasih...
    baek nian publish ke artikel ini...
    balek mano kau?

    ReplyDelete
  4. @KakeBlog: Wah saya kurang paham juga mengenai hacker+cracker. Saya juga nyari pengertiannya dari internet karena banyak sekali soal yang diberikan dosen. Jadi saya hanya menyelesaikan tugas dan tidak terlalu memahaminya. Trimakasih atas masukan dan infonya ^^

    @MuhammadAriyadi: Makasih juga udah mampir

    ReplyDelete
  5. ga ngertiiiiiiiiiiiiiiiiiiiiii.........

    ReplyDelete
  6. gokil gan artikel u....sumpah semua jawaban yg w mau ada disini , sebenernya dosen w yg ambil soal dari sini kali ya....hahaha, thanks bgt gan ...semoga bermanfaat buat yg lainya jg , mantab

    ReplyDelete