hanapert -Stage 1 - WELCOME

Selamat Datang di Blog saya 'hanapert.blogspot.com' Blog Pribadi yang berisi semua unek-unek pribadi --> Jangan Lupa tinggalkan Pesan dan Kesan nya ya teman ^_^

hanapert -Stage 2 - BLOG, ANDROID, PHP

Android, salah satu Sistem Operasi yang saya jadikan bahan untuk Tugas Akhir dalam menyelesaikan S1 saya. Program yang berhasil dibuat saya beri nama 'IQRA HANA'

hanapert -Stage 3 - NOVEL

Menulis, Berimajinasi tanpa batas, Apresiasi. Perjalanan Novel yang sangat Panjang sampai akhirnya bisa mempublikasikannya dengan bantuan NulisBuku.com.

hanapert -Stage 4 - ANIME

Shigatsu Wa Kimi No Uso, anime yang bercerita tentang Kaori ..., dalam Blog ini ada beberapa Resensi Anime yang sudah ditonton oleh saya, masih banyak yang belum sempat tertuang. Ditunggu aja Postingan selanjutnya

hanapert -Stage 5 - GOOD BYE

Buah dan Sayuran merupakan salah satu Tema yang diangkat di BLOG ini, Selain karena manfaatnya yang baik untuk kesehatan tapi juga beberapa bermanfaat untuk kecantikan. Ladies kita intip sejenak yuk.. yang laki-laki juga boleh

31 Des 2011

Pengelolaan Swap Case, Tertiary-Storage Structure

 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?
Penanganan (management) swap-space (tempat pertukaran; tetapi karena istilah swap-space sudah umum dipakai, maka untuk seterusnya kita tetap memakai istilah 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. Dalam sub-bab ini, kita akan membicarakan bagaimana swap-space digunakan, dimana letak swap-space pada disk, dan bagaimana penanganan swap-space.

2. 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 implementasi 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 cukup 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, 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.) Ketika 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?
Salah satu cara yang digunakan pada RAID 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.

2. Adakah batas waktu hidup suatu disk? Jika ada, berapa lama? Jika tidak, kenapa?
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!
Sebuah disk write menyebabkan satu dari tiga kemungkinan:
1. Successful completion.
Data disimpan dengan benar di dalam disk.
2. 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.
3. Total failure.
Kegagalan terjadi sebelum disk write dimulai, jadi data yang sebe lumnya ada pada disk masih tetap ada.

2. Bagaimanakah suatu operasi output dieksekusi?
Sebuah operasi output dieksekusi seperti berikut:
1. Tulis informasinya ke blok physical yang pertama.
2. Ketika penulisan pertama berhasil, tulis informasi yang sama ke blok physical yang kedua.
3. 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.

2. Apakah kegunaan EOT pada tapes? Jelaskan cara kerjanya?
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.

3. Jelaskan tugas sistem operasi terhadap tertiary-storage structure?
                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.

TUGAS V-CLASS 2 SISTEM OPERASI

 Perangkat Keras I/O

1. Gambarkan diagram dari Interrupt Driven I/O Cycle!

Keterangan tambahan:
1.       Permintaan interupt CPU dipicu oleh I/O device
2.       Interrupt handler menerima interrupt
3.       Maskable interupt untuk membatalkan atau menunda beberapa interupt
4.       Interrupt vector untuk mengirimkan interrupt ke handler yang benar. (Berdasarkan prioritas &Beberapa unmaskable)  
5.    Mekanisme interrupt juga digunakakan untuk exception




2. Sebutkan langkah-langkah dari transfer DMA! 
Dalam gambar dapat dilihat ada 6  tahapan proses/langkah-langkah dari transfer DMA
1.       device driver diperintahkan untuk mentransfer data disk ke buffer pada x/suatu alamat
2.       device driver akan memberitahu disk kontroller untuk mentransfer sejumlah C byte dari disc ke buffer dari x/suatu alamat tersebut.
3.       Kontroler disc menginisiati DMA transfer
4.       Kontroller disk mengirim byte ke setiap DMA kontroller.
5.       Kontroler DMA mentransfer byte ke buffer x. Meningkatkan alamat memori dan menurunkan C sampai C=0
6.       Ketika C=0, DMA mengintrupsi CPU ke sinyal transfer penyelesain. 
Enam langkah diatas kita gunakan untuk lebih memahami jika terdapat kasus seperti pada gambar, tetapi untuk lebih mudahnya dapat dipahami dengan penjelasan dibawah ini:
Tiga langkah dalam transfer DMA:
  •      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.
  •   DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
  •   DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya. 

3. Apakah perbedaan dari polling dan interupsi?
 Perbedaan dari polling dan interupsi:
cara polling:
pertama kali yang terjadi adalah menentukan status terlebih dahulu, apakah command ready, bussy, atau error. Jadi secara berkala prosesor akanbertanya (poll) kepada sejumlah sumber daya. Apakah ada di antara mereka yang akan memerlukan prosesor? Jika ada, maka prosesor akan menghentikan kegiatan semulanya, serta mengalihkan kerjanya ke sumberdaya tersebut.
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.
Cara interupsi:
Dengan cara interupsi ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU--contohnyanilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut, jadi terjadi secara langsung tanpa membaca status register pada saat itu.

4. Apa hubungan arsitektur kernel yang di-thread dengan implemen tasi interupsi?
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.


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



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.

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

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

4. Jelaskan dengan singkat mengenai I/O Scheduling!
Penjadwalan I/O: I/OScheduling digunakan untuk  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. -> definisi singkat menurut saya.



Penanganan Permintaan I/O

1. Apakah kegunaan dari Streams pada Sistem V UNIX?
Stream dapat digunakan untuk interproses dan komunikasi jaringan. Faktanya, di Sistem V, mekanisme soket diimplementasikan dengan stream.

2. Jelaskan lifecycle dari permintaan pembacaan blok!
a.    Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah file deskriptor dari berkas yang telah dibuka sebelumnya. 
b.    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.
c.       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.
d.       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.
e.       Device controller mengoperasikan piranti keras device untuk melakukan transfer data.
f.        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. 
g.   Interrupt handler yang sesuai menerima interupsi melalui tabel vektor-interupsi, menyimpan sejumlah data yang dibutuhkan, menandai device driver, dan kembali dari interupsi.
h.  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.
i.      Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan, dan memindahkan proses dari antrian tunggu kembali ke antrian siap.
    j.     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


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


3. 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.
Pada saat algoritma pada level aplikasi telah membuktikan keuntungannya, kita mungkin akan mengimplementasikannya di kernel. Langkah ini bisa meningkatkan kinerja tetapi perkembangannya dari kerja jadi lebih menantang, karena besarnya kernel dari sistem operasi, dan kompleksnya sistem sebuah perangkat lunak. Lebih lanjut , kita harus men-debug keseluruhan dari implementasi in-kernel untuk menghindari korupsi sebuah data dan sistem crash.
Kita mungkin akan mendapatkan kinerja yang optimal dengan menggunakan implementasi yang special pada perangkat keras, selain dari device atau controller. Kerugian dari implementasi perangkat keras termasuk kesukaran dan biaya yang ditanggung dalam membuat kemajuan yang lebih baik dalam mengurangi bugs, perkembangan waktu yang maju dan fleksibilitas yang meningkat. Contohnya, RAID controller pada perangkat keras mungkin tidak akan menyediakan sebuah efek pada kernel untuk mempengaruhi urutan atau lokasi dari individual block reads dan write, meski pun kernel tersebut mempunyai informasi yang spesial mengenai workload yang dapat mengaktifkan kernel untuk meningkatkan kinerja dari I/O. 



Struktur Disk

1. Sebutkan bagian-bagian dari disk



2. Apa keuntungan penggunaan pemetaan pada disk?
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

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

Atribut, Operasi Pada BERKAS

1. Sebutkan macam-macam atribut pada berkas!
Atribut Berkas
Setiap berkas diberi nama agar mempermudah kita untuk membedakannya. Nama berkas biasanya terdiri dari sederetan karakter. Dalam beberapa sistem, huruf besar dan huruf kecil dari nama berkas tersebut dianggap sama, sedangkan untuk sistem yang lain, hal itu dianggap berbeda. Setelah berkas diberi nama, nama dari berkas tersebut menjadi independen terhadap proses. Maksud dari independen disini adalah bahwa tindakan yang dilakukan user terhadap berkas, misalnya mengedit isinya, menyalin berkas tersebut ke disk, mengirimkannya lewat email dan tindakan-tindakan lainnya tidak akan mengubah nama dari berkas tersebut.
Berkas mempunyai bermacam-macam atribut, yang dapat berbeda-beda antar satu sistem operasi dengan sistem operasi lainnya. Tapi umumnya, sebuah berkas memiliki atribut sebagai berikut:
• Nama. Nama dari berkas yang dituliskan secara simbolik adalah satu-satunya informasi yang disimpan dalam bentuk yang dapat dibaca oleh kita.
• Identifier . Tag unik yang biasanya berupa angka, yang mengidentifikasikan berkas dalam sistem berkas. Identifier ini tidak dapat dibaca oleh manusia.
• Jenis. Informasi yang dibutuhkan sistem yang biasanya medukung bermacam-macam tipe berkas yang berbeda.
• Lokasi. Informasi yang berisi pointer ke device dan lokasi dari berkas dalam device tersebut.
• Ukuran. Ukuran dari berkas saat ini, dan mungkin ukuran maksimum berkas juga dimasukkan dalam atribut ini.
• Waktu, tanggal dan identifikasi pengguna . Informasi yang disimpan untuk pembuatan, modifikasi terakhir dan kapan berkas terakhir digunakan. Data-data ini dapat berguna dalam proteksi, keamanan dan monitoring penggunaan berkas.

2. Operasi apa sajakah yang dapat diterapkan pada sebuah berkas?
• Membuat sebuah berkas
Ada dua cara dalam membuat berkas. Pertama, tempat baru di dalam system berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.
• Menulis pada sebuah berkas
Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Ketika diberi nama berkas, system mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.
• Membaca sebuah berkas
Untuk dapat membaca sebuah berkas, dapat menggunakan system call beserta nama berkas di blok memori mana berkas berikutnya diletakkan. Direktori mencari berkas yang akan dibaca dan system menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk harus diperbaharui. Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan system hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas system.
• Menempatkan kembali sebuah berkas
DIrektori yang bertugas untuk mencari berkas yang bersesuaian dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses I/O. Operasi ini sering disebut pencarian berkas.
• Menghapus sebuah berkas
Untuk menghapus berkas, perlu dicari berkas tersebut di dalam direktori. Setelah ditemukan dapat dibebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakan oleh berkas lain) dan menghapus tempatnya di direktori.
• Memendekkan berkas
Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik daripada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.

3. Sebutkan informasi yang terkait dengan pembukaan berkas!
• Penunjuk berkas
Pada system yang tidak mengikutkan batas berkas sebagai bagian dari system call baca dan tulis, system tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk.
• Penghitung berkas yang terbuka
Setelah berkas ditutup, system harus mengosongkan kembali table berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di table akan habis. KArena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan system harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di table. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah system dapat mengosongkan tempatnya di table.
• Lokasi berkas pada disk
Kebanyakan operasi pada berkas memerlukan system untuk mengubah data yang ada pada berkas. Informasi mengenai lokasi berka spada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi.
Jenis Berkas
JENIS BERKAS AKHIRAN FUNGSI
Executable .exe, .com, .bat, .bin Program yang siap dijalankan
Objek .obj, .o Bahas mesin, kode terkompilasi
Source Code .c, .cc, .pas, .java, .asm Kode asal dari berbagai bahasa
Batch .bat, .sh Perintah pada shell
Text .txt, .doc Data text, document
Pengolah kata .wpd, .tex, .doc Format jenis pengolah data
Library .lib, .a, .dll Library untuk rutin program
Print, gambar .ps, .dvi, .gif Format ASCII atau biner untuk dicetak
Archive .arc, .zip, .tar Beberapa berkas yang dikumpulkan

4. Sebutkan dan jelaskan metode alokasi pada sistem berkas!
• Akses secara berurutan. Sistem berkas mengetahui alamat blok terakhir dari disk dan membaca blok berikutnya jika diperlukan.
• Akses secara langsung. Untuk akses langsung ke blok i dari suatu berkas yang dimulai pada blok b, dapat langsung mengakses blok b+i.

5. Sebutkan dan jelaskan operasi pada direktori?
Membuat direktori
#/$ mkdir namadirektori
#/$ mkdir namadirektori namadirektori …. → membuat direktori langsung banyak
Mengkopi file
#/$ cp namafile /direktori_tujuan
Memindah File
#/$ mv namafile /direktori_tujuan
Rename nama file atau direktori
#/$ mv nama_lama nama_baru
Menghapus direktori
#/$ rmdir namadirektori → menghapus direktori kosong
#/$ rmdir –r namadirektori → menghapus direktori beserta isi
Membuat dan mengedit file
Æ’ touch → membuat file tanpa isi
#/$ touch namafile
Æ’ cat → membuat file
#/$ cat namafile
………ketik……… Ctrl+d → untuk save
Æ’ vi → membuat dan mengedit
#/$ vi namafile
Tekan tombol insert untuk memulai dokumen, tombol esc untuk keluar
Untuk menyimpan, setelah esc ketik “:wq”
Æ’ mcedit → membuat dan mengedit
#/$ mcedit namafile Tekan F2 untuk save Tekan F10 untuk keluar

6. Sebutkan dan Jelaskan tentang tipe akses pada berkas?
1. Read: Membaca dari berkas
2. Write: Menulis berkas
3. Execute: Meload berkas kedalam memori untuk dieksekusi.
4. Append: Menambahkan informasi kedalam berkas di akhir berkas.
5. Delete: Menghapus berkas.
6. List: Mendaftar properti dari sebuah berkas.
7. Rename: Mengganti nama sebuah berkas.
8. Copy: Menduplikasikan sebuah berkas.
9. Edit: Mengedit sebuah berkas.

7. Sebutkan dan jelaskan bagaimana cara mengatur free space?
Vektor Bit
Blok yang kosong ditandai dengan angka 1 dan blok yang ada isinya ditandai dengan angka 0. Contoh: 0100100, ini berarti blok yang kosong adalah blok ke 1 dan 4.
Gambar 17.9. Gambar Vektor Bit
Perhitungan nomor blok kosong pada vektor bit ini adalah:
(jumlah bit per word)*(jumlah nilai-0 word)+offset dari bit pertama.
Kelemahan dari cara ini adalah pemetaan bit-nya membutuhkan ruang tambahan (blok tersendiri).
Contohnya: ukuran blok = 2^12 byte, ukuran disk = 2^30 byte (1 gigabyte), ruang untuk vektor bit=2^30/2^12 bit (atau 32Kbyte).
Dengan menggunakan vektor bit bisa terjadi kesalahan dimana bit[i]=1 pada memory dan bit[i]=0 pada disk. Untuk mencegah terjadinya perbedaan ini, maka pada saat pengalokasian suatu ruang kosong untuk suatu berkas dilakukan cara berikut:
• set bit[i]=0 pada disk
• alokasikan blok[i]
• set bit[i]=0 pada memory

8. Bagaimanakah implementasi dari sebuah direktori dalam disk
Virtual File Systems (VFS) merupakan implementasi sistem file yang berorientasi obyek. VFS memungkinkan antarmuka system call (API) yang sama digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS dan bukan untuk tipe sistem file tertentu.

9. Sebutkan keunggulan dari sistem berkas dalam UNIX dengan sistem berkas pada WINDOWS?
Sistem Berkas Pada Windows
Direktori dan Berkas
Sistem operasi Windows merupakan sistem operasi yang telah dikenal luas. Sistem operasi ini sangat memudahkan para penggunanya dengan membuat struktur direktori yang sangat user-friendly. Para pengguna Windows tidak akan menemui kesulitan dalam menggunakan sistem direktori yang telah dibuat oleh Microsoft. Windows menggunakan sistem drive letter dalam merepresentasikan setiap partisi dari disk. Sistem operasi secara otomatis akan terdapat dalam partisi pertama yang diberi label drive C. Sistem operasi Windows dibagi menjadi dua keluarga besar, yaitu keluarga Windows 9x dan keluarga Windows NT (New Technology).
Direktori yang secara otomatis dibuat dalam instalasi Windows adalah:
1. Direktori C:\WINDOWS
Direktori ini berisikan sistem dari Windows. Dalam direktori ini terdapat pustaka-pustaka yang diperlukan oleh Windows, device driver, registry, dan program-program esensial yang dibutuhkan oleh Windows untuk berjalan dengan baik.
2. Direktori C:\Program Files
Direktori ini berisikan semua program yang diinstal ke dalam sistem operasi. Semua program yang diinstal akan menulis entry ke dalam registry agar program tersebut dapat dijalankan dalam sistem Windows.
3. Direktori C:\My Documents
Direktori ini berisikan semua dokumen yang dimiliki oleh pengguna sistem.
Sistem operasi Windows dapat berjalan diatas beberapa macam sistem berkas. Setiap sistem berkas memiliki keunggulan dan kekurangan masing-masing. Semua keluarga Windows yang berbasis Windows NT dapat mendukung sistem berkas yang digunakan oleh keluarga Windows 9x, namun hal tersebut tidak berlaku sebaliknya.
Sistem Berkas yang terdapat dalam sistem operasi Windows adalah:
1. FAT 16: Sistem berkas ini digunakan dalam sistem operasi DOS dan Windows 3.1
2. FAT 32: Sistem ini digunakan oleh keluarga Windows 9x.
3. NTFS: Merupakan singkatan dari New Technology File System. Sistem berkas ini adalah sistem berkas berbasis journaling dan dapat digunakan hanya pada keluarga Windows NT. Keunggulan dari sistem berkas ini adalah fasilitas recovery yang memungkinkan dilakukannya penyelamatan data saat terjadi kerusakan pada sistem operasi.
Sistem Berkas pada UNIX (dan turunannya)
Ketika kita login ke UNIX, kita akan ditempatkan di direktori root kita. Direktori root kita dikenal sebagai direktori home kita dan dispesifikasi dengan environment variable yang dinamakan HOME. Environment variable ini menentukan karakteristik dari shell kita dan interaksi pengguna dengan shell tersebut. Environment variable yang umum adalah variabel PATH, yang mendefinisikan dimana shell akan mencari ketika perintah dari pengguna. Untuk melihat daftar environment variable, gunakan saja perintah printenv. Sedangkan untuk mengatur environment variable, gunakan setenv.
Ada beberapa direktori yang umum terdapat dalam instalasi UNIX:
1. Direktori “/” (root)
Direktori ini terletak pada level teratas dari struktur direktori UNIX. Biasanya direktori root ini diberi tanda / atau slash. Direktori ini biasanya hanya terdiri dari direktori-direktori lainnya yang terletak pada level dibawah level direktori root. Berkas-berkas dapat disimpan pada direktori root tetapi usahakan tidak menyimpan berkas-berkas biasa sehingga direktori ini tetap terjaga keteraturannya.
Perubahan penamaan direktori-direktori yang ada pada direktori root akan menyebabkan sebagian besar dari sistem menjadi tidak berguna. Karena sebagian besar dari direktori-direktori ini berisi fungsi-fungsi yang sifatnya kritikal yang dimana sistem operasi dan semua aplikasi memerlukan direktori-direktori ini dengan nama yang sudah diberikan pada awal instalasi. Tetapi kita bisa membuat direktori lain pada level ini. Direktorihome juga bisa ditemukan pada level ini hasil pembuatan oleh administrator sistem.
2. Direktori “/bin”
Direktori ini berisi program-program yang esensial agar sistem operasi dapat bekerja dengan benar. Dalam direktori ini dapat ditemukan perintah-perintah navigasi, program-program shell, perintah pencarian dan lain-lainnya. bin adalah singkatan dari kata binary. Di UNIX, sebuah binary adalah berkas yang dapat dieksekusi. Sebagian besar dari perintah dalam UNIX merupakan binary, perintah-perintah tersebut merupakan program-program kecil yang dapat dieksekusi oleh pengguna. Ada beberapa perintah yang disebut perintah built-in dimana fungsi mereka dikendalikan oleh program shell sehingga mereka tidak beroperasi sebagai binary yang terpisah.
Terkadang direktori bin terhubung ke direktori lain yang dinamakan /usr/bin. Direktori /usr/bin biasanya adalah lokasi sebenarnya dari binary-binary pengguna disimpan.Dalam hal ini, /bin adalah gerbang untuk mencapai /usr/bin.
3. Direktori “/dev”
Direktori ini berisi berkas-berkas alat atau alat I/O. Sistem UNIX menganggap semua hal sebagai berkas. Hal-hal seperti monitor, CD-ROM, printer dan lain-lainnya dianggap hanya sebagai berkas saja oleh sistem operasi. Jika UNIX memerlukan perangkat-perangkat tersebut maka UNIX akan mencarinya ke direktori dev.
4. Direktori “/etc”
Direktori yang dibaca et-see ini berisi beberapa konfigurasi berkas pengguna dan sistem, dan berkas yang ditunjuk sistem sebagai operasi normal seperti berkas kata sandi, pesan untuk hari ini, dan lain-lainnya.
5. Direktori “/lib”
Direktori ini berisi pustaka-pustaka (libraries) yang dibagi (shared). Pustaka ini adalah rutin perangkat lunak (software routines) yang digunakan lebih dari satu bagian dari sistem operasi. Ketika kita menginstalasi perangkat lunak yang baru maka ada pustaka-pustaka baru yang ditambahkan ke direktori lib. Jika pada waktu berusaha menjalankan aplikasi terdapat pesan error, hal ini diakibatkan ada pustaka yang hilang dari direktori lib. Aplikasi-aplikasi di UNIX biasanya memeriksa lib ketika menginstalasi untuk memeriksa apakah pustaka-pustaka yang diperlukan oleh aplikasi sudah tersedia atau belum. Jika sudah tersedia, UNIX biasanya tidak menimpa pustaka tersebut.
6. Direktori “/sbin”
Direktori ini berisi binary-binary juga seperti pada direktori bin.Tetapi,bedanya adalah binary-binary pada direktori ini berhubungan dengan fungsi-fungsi sistem administrasi pada sistem operasi UNIX. Binary-binary ini bukan yang biasa digunakan oleh pengguna tetapi digunakan agar komputer dapat beroperasi secara efisien.
7. Direktori “/usr”
Direktori ini terdiri dari banyak direktori seperti pada direktori root. Direktori ini berisi berkas-berkas yang dapat diakses oleh para pengguna biasa. Struktur dari direktori ini mirip dengan struktur direktori “/”. Beberapa direktori yang terdapat dalam direktori ini berhubungan dengan direktori yang ada di direktori /.
8. Direktori “/var”
Direktori ini berisi data yang bermacam-macam (vary). Perubahan data dalam sistem yang aktif sangatlah cepat. Data-data seperti ini ada dalam waktu yang singkat. Karena sifatnya yang selalu berubah tidak memungkinkan disimpan dalam direktori seperti “/etc”. Oleh karena itu, data-data seperti ini disimpan di direktori var.
Perbandingan antara Windows dan UNIX
Sistem berkas UNIX berbeda dengan sistem berkas Windows (DOS) karena sistem berkas UNIX lebih hebat dan mudah diatur daripada Windows (DOS). Penamaan dalam UNIX dan Windows berbeda. Karena sistem Windows ingin memudahkan pengguna maka sistem mereka mengubah nama menjadi nama yang lebih mudah bagi para pengguna. Contohnya adalah nama folder dalam adalah perubahan dari directory yang masih digunakan oleh UNIX. Penggunaan back slash (\) digunakan untuk memisahkan direktori-direktori dalam Windows, tetapi hal ini tidak ada dalam UNIX. Sistem UNIX menggunakan case sensitive, yang artinya nama suatu berkas yang sama jika dibaca, tetapi penulisan namanya berbeda dalam hal ada satu file yang menggunakan huruf kapital dalam penamaan dan satu tidak akan berbeda dalam UNIX. Contohnya ada berkas bernama berkasdaku.txt dan BerkasDaku.txt, jika dibaca nama berkasnya sama tetapi dalam UNIX ini merupakan dua berkas yang jauh berbeda. Jika berkas-berkas ini berada di sistem Windows, mereka menunjuk ke berkas yang sama yang berarti Windows tidak case sensitive.
Hal lain yang membedakan sistem berkas UNIX dengan Windows adalah UNIX tidak menggunakan drive letter seperti C:, D: dalam Windows. Tetapi semua partisi dan drive ekstra di mount didalam sub-direktori di bawah direktori root. Jadi pengguna tidak harus bingung di drive letter mana suatu berkas berada sehingga seluruh sistem seperti satu sistem berkas yang berurutan dari direktori root menurun secara hierarki.
Macam-macam Sistem Berkas di UNIX
Secara garis besar, sistem berkas di sistem UNIX terbagi menjadi dua, yaitu sistem berkas dengan fasilitas journaling dan yang tidak memiliki fasilitas tersebut. Dibawah ini adalah beberapa sistem berkas yang digunakan dalam sistem UNIX pada umumnya:
1. EXT2
2. EXT3
3. JFS (Journaling File System)
4. ReiserFS
5. Dan Lain-lain.

10. Bagaimanakah langkah-langkah dalam proses back-up?
Untuk memperbaiki sistem file dilakukan dengan memeriksa konsistensi dengan cara membandingkan data pada struktur direktori dengan blok data pada disk dan mencoba memperbaiki inkonsistensi. Selain itu juga dapat menggunakan program sistem untuk back up data dari disk ke penyimpan lain (floppy disk, magnetic tape). Perbaikan akan Recover menghilangkan file atau disk dengan restoring data dari backup.