Jawaban Sistem Operasi (UAS)

Nama  : Randy Toni Pradana
Kelas  : TI RPL 1
NRP    :  9910201032

           Sistem Operasi? OS? Apaan sih itu? Hm… OS adalah singkatan dari Operating System atau dalam Bahasa Indonesia bisa diartikan dengan Sistem Operasi. OS merupakan program yang paling penting yang berjalan pada komputer.
Sistem Operasi disebut juga Platform Software yang terdiri dari program utama dan program Low-Level yang mengatur operasi dasar komputer. Kumpulan program ini menyediakan layanan kontrol terhadap sumber daya komputer.

           Secara khusus, sistem operasi menangani kontrol dan penggunaan sumber daya perangkat keras, seperi disc-room, memory, processor, dan perangkat tambahan lain, seperti mouse, printer, dan lain-lain.


           Sebenarnya, apa saja sih fungsi OS ini? Bisa terbayangkan bukan kalau OS ini pasti memiliki fungsi yang banyak, karena tanpa adanya OS dalam sebuah komputer, maka komputer tersebut sampai kita jungkir-balikpun tidak akan dapat beroperasi sebagaimana semestinya.


              Secara dasar, Sistem Operasi melakukan tugas seperti mengenali input dari keyboard, mengirimkan output ke layar monitor, melacak file dan mengendalikan perangkat-perangkat yang berhubungan dengan komputer.


Secara lebih detail, fungsi-fungsi dari OS meliputi:

1. Pengaturan Processor, yaitu mengatur processor untuk dapat dijalankan oleh sistem komputer.
2. Pengaturan Memori, yaitu mengatur pembagian dan mengirimkan instruksi dari memori utama dan tempat penyimpanan lain ke sistem komputer.
3. Pengaturan Input/Output, yaitu koordinasi dan penugasan dari berbagai perangkat input/output ketika satu atau lebih program sedang dieksekusi atau dijalankan.
4. Pengaturan File, yaitu mengatur penyimpanan file dari berbagai tempat ke perangkat penyimpanan lainnya. Juga memungkinkan semua file dapat dengan mudah diubah dan dimodifikasi dengan menggunakan text editor atau dengan lainnya.
5. Menjalankan sistem prioritas, yaitu menentukan urutan pekerjaan yang harus dilaksanakan dalam sistem komputer, mulai dari yang paling utama, lalu yang kedua, dan seterusnya.
6. Interpretasi atau penerjemahan perintah-perintah dan instruksi-instruksi.
7. Sebagai fasilitas komunikasi yang mudah antara sistem komputer dan komputer operator (manusia).
8. Bertanggung jawab atas keamanan data dan integritas.

Secara garis besar, fungsi utama dari sistem operasi adalah sebagai suatu sistem yang digunakan untuk mengarahkan dan mengatur kinerja dari sebuah komputer, menyelesaikan berbagai masalah-masalah dalam komputer, dan menjaga bagian-bagian dari sistem agar tetap aman.
Selain itu, OS juga menentukan program mana yang akan digunakan dalam mengerjakan tugas-tugas, terutama yang berkaitan dengan pengenalan terhadap komponen-komponen sistem komputer.

Jawaban UAS:

1. Penjadwalan Preemptive : Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari
keadaan running ke ready atau proses berpindah dari waiting ke ready.
Penjadwalan Nonpreempitive : Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari
running ke waiting atau apabila proses berhenti.

2. a. 3,6 menit
b.
c.

3. a. Menggunakan Algoritma FCFS
Waktu tunggu untuk P1 = 0, P2 = 8, P3 = 12
Rata-rata waktu tunggu (turn around) = (0 + 8 + 12) / 3 = 6,6



b. Menggunakan Algoritma SJF non preemptive
Waktu tunggu untuk P1 = 0
P2 = 9 – 0,4 = 8,6
P3 = 8 – 1 = 7
Rata-rata waktu tunggu (turn around) = (0 + 8,6 + 7) / 3 = 5,2
c. Menggunakan Algoritma SJF preemptive / SRTF
Waktu tunggu untuk P1 = 5 – 0 = 5
P2 = 4,8 – 0,4 = 4,4
P3 = 1 – 1 = 0
Rata-rata waktu tunggu (turn around) = (5 + 4,4 + 0) / 3 = 3,13
d. Menggunakan Algoritma Round Robin (quantum time = 1)
Waktu tunggu untuk P1 = 8, P2 = 4, P3 = 2
Rata-rata waktu tunggu (turn around) = (8 + 4 + 2) / 3 = 4,6

4. a. Priority dan SJF
Algoritma SJF adalah Algoritma Priority untuk menyelesaikan suatu kasus khusus
b. Priority dan FCFS
Algoritma FCFS adalah Algoritma Priority yang memiliki prioritas sama.
c. Round Robin dan FCFS
Algoritma Round Robin adalah Algoritma FCFS yang bersifat preemptive dan menggunakan
time-sharing.

5. Race condition : suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber
daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari
proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang
tidak sesuai dengan yang dikehendaki.

6. Critical section : dengan mendesain sebuah protokol di mana proses-proses dapat menggunakannya
secara bersama-sama.
- Mutual Exclusion.
Jika suatu proses sedang menjalankan critical section-nya, maka proses-proses lain tidak dapat
menjalankan critical section mereka. Dengan kata lain, tidak ada dua proses yang berada di critical section pada saat yang bersamaan.
- Terjadi kemajuan (progress).
Jika tidak ada proses yang sedang menjalankan critical section-nya dan ada proses-proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang yang sedang berada dalam entry
section saja yang dapat berkompetisi untuk mengerjakan critical section.
- Ada batas waktu tunggu (bounded waiting).
Jika seandainya ada proses yang sedang menjalankan critical section, maka proses lain memiliki
waktu tunggu yang ada batasnya untuk menjalankan critical section -nya, sehingga dapat dipastikan
bahwa proses tersebut dapat mengakses critical section-nya (tidak mengalami starvation: proses
seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan).

7. #define BUFFER_SIZE 10
typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
int counter = 0;
item nextProduced;
while (1) {
while (counter == BUFFER_SIZE)
; /* do nothing */
buffer[in] = nextProduced;
in = (in+1) % BUFFER_SIZE;
counter++;

8. Semaphore adalah lokasi di dalam memori yang nilainya dapat diuji dan di set oleh lebih dari satu proses.
Tes dan operasi yang dapat diset adalah, selama masing-masing proses tekait, atomik atau
uninterrupable; sekali dijalankan tidak dapat dihentikan. Hasil dari operasi tes dan set operasi merupakan
penambahan nilai semaphore dan set nilai, yang dapat bernilai positif maupun negatif. Hasil test dan set
operasi sebuah proses akan berhenti sampai nilai semaphore diubah oleh proses yang lain. Semaphore
biasanya digunakan untuk memonitor dan mengontrol ketersediaan sumberdaya sistem, seperti
pembagian segmen memori.

Operasi Down (P)
· operasi ini menurunkan nilai semaphore
· jika nilai semaphore menjadi non positif maka proses yang mengeksekusinya diblocked
Operasi Up (V)
· Operasi ini menaikkan nilai semaphore
· jika satu proses atau lebih telah di blocked pada suatu semaphore tak dapat
menyelesaikan operasi Down, maka salah satu dipilih oleh sistem dan dibolehkan
menyelesaikan operasi Down-nya
· urutan proses yang dipilih tidak ditentukan oleh Dijkstra dapat dipilih secara acak, FIFO
dll sesuai kepentingan
· operasi UP menaikkan nilai semaphore, memindahkan dari antrian dan menempatkan proses ke antrian.
Operasi P dan V adalah sebagai berikut :
Wait(S) : while(S) <= 0 do no-op; S:=S-1; Signal(S) : S:=S+1; Keterangan : - Pada kondisi Wait(S) dimana S<=0, maka modifikasi yang mungkin adalah S:=S-1; - Operasi Wait dan Signal ini dijalankan secara individual. 9. a. Source code implementasi Bounded-Buffer Problem (Masalah Produsen Konsumen). Source code ini diprogram dengan menggunakan bahasa pemrograman Java. Bounded buffer adalah tempat penampung data yang ukurannya terbatas, contohnya pada proses produsen dan konsumen. Beberapa masalah produsen-konsumen : produsen menaruh data pada buffer. Jika buffer tersebut sudah terisi penuh, maka produsen tidak melakukan apa-apa dan menunggu sampai konsumen mengosongkan isi buffer dan konsumen mengambil data dari buffer. Jika buffer tersebut kosong, maka konsumen tidak melakukan apa-apa dan menunggu sampai buffer tersebut diisi oleh produsen. b. Problem lain yang terkenal adalah readers-writer problem yang memodelkan proses yang mengakses database. Sebagai contoh sebuah sistem pemesanan sebuah perusahaan penerbangan, dimana banyak proses berkompetisi berharap untuk membaca (read) dan menulis (write). Hal ini dapat diterima bahwa banyak proses membaca database pada saat yang sama, tetapi jika suatu proses sedang menulis database, tidak boleh ada proses lain yang mengakses database tersebut, termasuk membaca database tersebut. Dalam solusi ini, pertama-tama pembaca mengakses database kemudian melakukan DOWN pada semaphore db. Langkah selanjutnya readers hanya menaikkkan nilai sebuah counter. Hasil dari pembaca nilai counter diturunkan dan nilai terakhir dilakukan UP pada semaphore, mengizinkan memblok writer. Misalkan selama sebuah reader menggunakan database, reader lain terus berdatangan. Karena ada dua reader pada saat bersamaan bukanlah sebuah masalah, maka reader yang kedua diterima, reader yang ketiga juga dapat diterima jika terus berdatangan reader-reader baru. Sekarang misalkan writer berdatangan terus menerus. Writer tidak dapat diterima ke database karena writer hanya bisa mengakses data ke database secara ekslusif, jadi writer ditangguhkan. Nanti penambahan reader akan menunjukkan peningkatan. Selama paling tidak ada satu reader yang aktif, reader berikutnya jika datang akan diterima. Sebagai konsekuensi dari strategi ini, selama terdapat suplai reader yang terus-menerus, mereka akan dilayani segera sesuai kedatanga mereka. Writer akan ditunda sampai tidak ada reader lagi. Jika sebuah reader baru tiba, katakan, setiap dua detik, dan masing-masing reader mendapatkan lima detik untuk melakukan tugasnya, writer tudak akan pernah mendapatkan kesempatan. Untuk mencegah situasi seperti itu, program dapat ditulis agak sedikit berbeda: Ketika reader tiba dan writer menunggu, reader ditunda dibelakang writer yang justru diterima dengan segera. Dengan cara ini, writer tidak harus menunggu reader yang sedang aktif menyelesaikan pekerjaannya, tapi tidak perlu menunggu reader lain yang datang berturut-turut setelah itu. c. Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user dan sistem komputer. Sistem operasi ini harus mampu melakukan pengontrolan penggunaan resource. Dalam proses perancangan sistem operasi, terdapat suatu landasan umum yang disebut dengan kongkurensi. 10. Sumber daya : Suatu nilai potensi yang dimiliki oleh suatu materi atau unsur tertentu dalam kehidupan. Sumber daya tidak selalu bersifat fisik, tetapi juga non-fisik. Sumber daya ada yang dapat berubah, baik menjadi semakin besar maupun hilang, dan ada pula sumber daya yang kekal (selalu tetap). Selain itu, dikenal pula istilah sumber daya yang dapat pulih atau terbarukan (renewable resources) dan sumber daya tak terbarukan (non-renewable- resources). Ke dalam sumber daya dapat pulih termasuk tanaman dan hewan (sumber daya hayati). 


11. Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut. Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu. 

12. Mutual Eksklusif: hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut. Memegang dan menunggu: proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini bisa menyebabkan kelaparan sumber daya sebab bisa saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama . Tidak ada Preemtion : sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan Circular Wait : adanya kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya. 

13. Mengabaikan masalah deadlock. Mendeteksi dan memperbaiki Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock .Yaitu dengan deadlock avoidance sistem untuk men- data informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya. Pencegahan yang secara struktur bertentangan dengan 4 kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memasti- kan bahwa salah satu kondisi yang penting tidak dapat menunggu. 

14. a). Isi matrik Need didefinisikan dengan Max – Allocation. Need A B C P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1 Sistem dalam keadaan state selamat dengan urutan < P1, P3, P4, P2, P0> yang memenuhi
kriteria algoritma safety.
Misalnya proses P1 meminta tambahan anggota tipe sumber daya A dan dua
anggota tipe sumber daya C sehingga Request1 = (1, 0, 2). Untuk menentukan apakah
permintaan dapat segera dipenuhi, pertama harus diperiksa apakah Request1 ≤ Available
((1, 0, 2) ≤ (3, 3, 2)) ternyata benar. Maka akan diperoleh state baru berikut :
Allocation Need Available
A B C A B C A B C
P0 0 1 0 7 4 3 2 3 0
P1 3 0 2 0 2 0
P2 3 0 1 6 0 0
P3 2 1 1 0 1 1
P4 0 0 2 4 3 1
Kemudian harus ditentukan apakah sistem berada dalam state selamat. Setelah
mengeksekusi algoritma safety ternyata urutan memenuhi criteria safety.
Setelah sistem berada pada state doatas, permintaan (3, 3, 0) oleh P4 tidak dapat
dipenuhi karena sumber daya tidak tersedia. Permintaan (0, 2, 0) oleh P1 juga tidak
dapat dipenuhi karena meskipun sumber daya tersedia, state hasil tak selamat.





b). State Selamat (Safe State)
Ketika suatu proses meminta sumber daya yang tersedia, sistem harus
menentukan apakah alokasi sumber daya pada proses mengakibatkan sistem dalam state
selamat. Sistem dikatakan dalam state selamat jika sistem dapat mengalokasikan
sumber daya untuk setiap proses secara berurutan dan menghindari deadlock. Urutan
proses selamat jika untuk setiap Pi, sumber daya yang masih diminta Pi
masih memenuhi sumber daya yang tersedia dan sumber daya yang dibawa oleh setiap

Pj, dimana j < i. Jika sumber daya yang diperlukan Pi tidak dapat segera disediakan, maka Pi dapat menunggu sampai semua Pj selesai. Ketika Pj selesai, Pi dapan memperoleh sumber daya yang diperlukan, mengeksekusi, mengembalikan sumber daya yang dialokasikan dan terminasi. Ketika Pi selesai, Pi+1 dapat memperoleh sumber daya yang diperlukan dan seterusnya. Jika sistem dalam state selamat maka tidak terjadi deadlock, sedangkan jika sistem dalam state tidak selamat (unsafe state) maka kemungkinan terjadi deadlock Metode menghindari deadlock menjamin bahwa sistem tidak pernah memasuki state tidak selamat. Untuk menggambarkan sistem dapat berpindah dari state selamat ke state tidak selamat dapat dilihat ilustrasi berikut ini. Misalnya sistem mempunyai 12 magnetic tape drive dan 3 proses P0, P1 dan P2. Proses P0 membutuhkan 10 tape drive, proses P1 membutuhkan 4 dan proses P2 membutuhkan 9 tape drive. Misalnya pada waktu t0, proses P0 membawa 5 tape drive, P1 membawa 2 dan P2 membawa 2 tape drive sehingga terdapat 3 tape drive yang tidak digunakan. Kebutuhan Maksimum Kebutuhan Sekarang P0 10 5 P1 4 2 P2 9 2 Pada waktu t0, sistem dalam state selamat. Urutan < P1, P0, P2> memenuhi kondisi
selamat karena P1 dapat segera dialokasikan semua tape drive dan kemudian
mengembalikan semua tape drive sehingga sistem tersedia 5 tape drive. Kemudian P0
dapat memperoleh semua tape drive dan mengembalikan semua sehingga sistem
tersedia 10 tape drive dan terakhir proses P2 dapat memperoleh semua tape drive dan
mengembalikan semua tape drive sehingga system tersedia 12 tape drive.
kemudian mengembalikan semua tape drive sehingga hanya tersedia 4 tape drive.
Karena proses P0 sudah dialokasikan 5 tape drive tetapi membutuhkan maksimum 10
tape drive sehingga meminta 5 tape drive lagi. Karena tidak tersedia, proses P0 harus
menunggu demikian juga P2 sehingga system menjadi deadlock

c).


15. First-fit : alokasi lubang pertama yang cukup untuk proses.
• Best-fit : alokasi lubang terkecil yang cukup untuk proses. Strategi ini
memerlukan pencarian keseluruhan lubang, kecuali bila ukuran sudah terurut.
• Worst-fit : alokasi lubang terbesar yang cukup untuk proses. Strategi ini memerlukan pencarian keseluruhan lubang, kecuali disimpan berdasarkan urutan ukuran.
Diantara algoritma diatas, first-fit dan best-fit lebih baik dibanidngkan worst-fit
dalam hal menurunkan waktu dan utilitas penyimpan. Tetapi first-fit dan best-fit lebih baik dalam hal utilitas penyimpanan tetapi first-fit lebih cepat. .


16. Fragmentasi internal terjadi saat penyimpanan dialokasikan tanpa pernah ingin menggunakannya. [1] Ini adalah ruang-siakan. Sementara ini tampaknya bodoh, sering diterima dalam kembali untuk meningkatkan efisiensi atau kesederhanaan. Istilah "internal" merujuk pada kenyataan bahwa unusable penyimpanan yang dialokasikan di dalam wilayah namun tidak sedang digunakan.
Fragmentasi eksternal adalah fenomena yang gratis menjadi dibagi menjadi beberapa bagian kecil dari waktu ke waktu. [1] Ini adalah kelemahan dari beberapa algoritma alokasi penyimpanan, terjadi ketika aplikasi dan mengalokasikan deallocatec ( "frees") dari daerah penyimpanan berbagai ukuran, dan alokasi oleh algoritma merespon meninggalkan dialokasikan dan deallocated daerah interspersed. Hasilnya adalah bahwa, walaupun gratis tersedia, maka secara efektif unusable karena dibagi menjadi potongan potongan yang terlalu kecil untuk memenuhi kebutuhan dari aplikasi.


17. Ruang alamat logika dari suatu proses dibagi ke dalam 2 partisi :
• Partisi 1 terdiri dari 8K segmen yang pribadi (private) untuk proses
tersebut.
• Partisi 2 terdiri dari 8K segmen yang digunakan bersama untuk semua
proses
Informasi mengenai partisi pertama disimpan dalam local descriptor
table
(LDT) sedangkan informasi mengenai partisi kedua disimpan dalam
global descriptor
table (GDT). Setiap entry pada tabel LDT dan GDT terdiri dari 8 byte,
dengan
informasi detail tentang segmen tertentu termasuk lokasi basis dan
panjang segmen.
Alamat logika adalah pasangan (selector, offset), dimana selector
sebanyak 16 bit.
1 page = 64 byte.
Menurut page table diatas page 0 akan dipetakan ke frame 8, maka
alamat logika 0 akan
dipetakan ke alamat fisik (8 * 64) + 0 = 512.
Keadaan memori logika dapat digambarkan sebagai berikut :
Dari gambar tersebut dapat dilihat bahwa :
•alamat logika 50 berada di page 0, offset 50 sehingga
alamat fisiknya (8 * 64) + 50 = 562
•alamat logika 121 berada di page 1,offset 57 sehingga
alamat fisiknya (2 * 64) + 57 = 185
•alamat logika 380 berada di page 5,offset 60 sehingga
alamat fisiknya (1 * 64) + 60 = 124
Keterangan :
alamat offset diperoleh dari nilai absolut alamat logika
yang ditentukan dikurangi dengan alamat logika awal
dari page yang diketahui. Contoh : jika alamat logika
380 berarti alamat offsetnya adalah
absolut(380 – 320) = 60

18. Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi. Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848].


19. Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.


20. Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok- blok dg ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame bebas dan meletakkan program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat logika ke alamat fisik.


21. 40ms


23. Waktu akses memory = 200 nanosecond
Rata-rata waktu page-fault service time = 8 milliseconds
1 ms=106 ns
EAT = ((1 – p) x 200) + (p x (8 milliseconds))
= ((1 – p) x 200) + (p x 8,000,000)
= 200 + (p x 7,999,800)
Jika 1 dari 1.000 kali akses terjadi fault, maka EAT = 8.2 microseconds.

28. Sequential Access: Adalah suatu cara pengaksesan record, yang didahului
pengaksesan record-record didepannya.Contoh : Magnetic Tape
Direct access : Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses
seluruh recordyang ada.Contoh : Magnetic Disk.

29. Direktori dengan Struktur Tree (Tree- Structured Directory).
Dalam struktur ini, setiap pengguna dapat membuat subdirektori sendiri dan mengorganisasikan berkas-berkasnya. Dalam penggunaan normal, tiap pengguna memiliki apa yang disebut current directory. Current directory mengandung berkas-berkas yang baru-baru ini digunakan oleh pengguna.
Direktori dengan Struktur Graf Asiklik (Acyclic-graph Structured Directory)
Direktori dengan struktur tree melarang pembagian berkas/direktori. Oleh karena itu, struktur graf asiklik memperbolehkan direktori untuk berbagi berkas atau subdirektori. Jika ada berkas yang ingin diakses oleh dua pengguna atau lebih, maka struktur ini menyediakan fasilitas sharing.


30. Pada sistem UNIX, proteksi direktori ditangani sama dengan proteksi
file , misalnya ,
diasosiasikan dengan setiap subdirektory menggunakan owner, group
dan universe (others)
sebagai 3 bit RWX.
Informasi yang terdapat pada file dari kiri ke kanan terdiri dari proteksi
file atau direktori,
jumlah link ke file, nama pemilik, nama group, ukuran file dalam byte,
tanggal membuat, nama
file:

-rw-rw-r-- 1 pbg staff 31200 Sep 3 08:30 intro.ps
drwx------ 5 pbg staff 512 Jul 8 09:33 private/
drwxrwxr-x 2 pbg staff 512 Jul 8 09:35 doc/
drwxrwx--- 2 pbg student 512 Aug 3 14:13 student-proj/
-rw-r—-r-- 1 pbg staff 9423 Feb 24 1993 program.c
-rwxr-xr-x 1 pbg staff 20471 Feb 24 1993 program
drwx—-x--x 4 pbg faculty 512 Jul 31 10:31 lib/
drwx------ 3 pbg staff 1024 Aug 29 06:52 mail/
drwxrwxrwx 3 pbg staff 512 Jul 8 09:35 test/ 


31.










Pada level terendah, I/O control berisi device driver dan interrupt handler untuk mengirim
informasi antara memori dan sistem disk. Basic file system berisi perintah bagi device driver untuk
membaca dan menulis blok fisik pada disk. File organization module berisi modul untuk mengetahui
blok logika pada blok fisik. Logical file system menggunakan struktur direktori untuk memberikan ke
file organization module informasi tentang kebutuhan terakhir.
Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut file control
block seperti Gambar 10-2.Gambar 10-3 mengilustrasikan pentingnya struktur sistem file
disediakan oleh sistem operasi. Pada saat membuka file (dengan menjalankan perintah open)
blok-blok dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file
control block. Pada saat membaca file (dengan menjalankan perintah read), indeks yang dibaca di
cari lokasi blok pada disk melalui tabel open file yang berada di memori.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.

32. Alokasi Berurutan (Contiguous Allocation)
Pada alokasi berurutan, setiap file menempati sekumpulan blok yang berurutan pada disk (Gambar
10-5). Model ini sangat sederhana karena hanya membutuhkan lokasi awal (block #) dan panjang
(jumlah blok). Akses pada blok disk dilakukan secara random dan memakan banyak ruang
(permasalahan dynamic storage-allocation). File yang disimpan secara berurutan tidak dapat
berkembang.





Beberapa sistem file yang baru (misalnya Veritas File System) menggunakan skema alokasi
berurutan yang dimodifikasi. File sistem Extent-based mengalokasikan blok pada disk secara
berkembang (extent). Extent adalah blok berurutan pada disk. Extent dialokasikan untuk
alokasi file. Sebuah file terdiri dari satu atau lebih extent.

Alokasi Berhubungan (Linked Allocation)

Pada alokasi berhubungan, setiap file adalah sebuah linked list dari blok-blok terpisah.
Pada setiap blok terdapat satu pointer yang menunjuk ke blok lain.
Alokasi berhubungan mempunyai bentuk yang sederhana, hanya memerlukan alamat awal.
Sistem manajemen ruang bebas pada alokasi berhubungan tidak memakan banyak ruang. Model ini
tidak menggunakan random access. Blok yang diakses adalah blok ke-Q pada rantai link dari blok
pada file. Perpindahan ke blok = R + 1. Contoh sistem file yang menggunakan alokasi berhubungan
adalah file-allocation table (FAT) yang digunakan MS-DOS dan OS/2.


Alokasi Berindeks (Indexed Allocation)
Pada alokasi berindeks, terdapat satu blok yang berisi pointer ke blok-blok file. Alokasi berindeks
berupa bentuk logika.

Pada alokasi berindeks, memerlukan tabel indeks yang membawa pointer ke blok-blok file
yang lain. Akses dilakukan secara random. Merupakan akses dinamis tanpa fragmentasi
eksternal, tetapi mempunyai blok indeks yang berlebih. Pemetaan dari logika ke fisik dalam file
ukuran maksimum 256K word dan ukuran blok 512 word hanya memerlukan 1 blok untuk tabel
indeks.Apabila pemetaan dari logika ke fisik dalam sebuah file dari ukuran tak hingga (ukuran blok
adalah 512 word) maka digunakan skema menghubungkan blok link dari tabel indeks (ukuran tak
terbatas). Untuk ukuran file maksimum 5123 digunakan skema two-level indeks. Pada skema
two-level indeks terdapat tabel indeks luar dan dalam. Indeks dipetakan ke tabel indeks luar
kemudian dipetakan ke tabel indeks dalam setelah itu mengakses blok file yang dimaksud.

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

34. Mounting Sistem Berkas

Seperti halnya sebuah berkas yang harus dibuka terlebih dahulu sebelum digunakan,sistem
berkas harus dimount terlebih dahulu sebelum sistem berkas tersebut siap untuk memproses dalam
sistem. Sistem operasi diberikan sebuah alamat mounting (mount point) yang berisi nama device yang
bersangkutan dan lokasi dari device tersebut.

powered by Blogger | WordPress by Newwpthemes