Pages

Subscribe:

Minggu, 24 Juli 2011

Jawaban UAS - Sistem Informasi

Nama : Johan Wahyudi
Kelas : TI RPL 1
NRP  : 9910201036


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.

0 komentar:

Posting Komentar