SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
SISTEM TERDISTRIBUSI

   OLEH : AHMAD KURNIAWAN
Penjadwalan Proses

   Prinsip-prinsip penjadwalan
        Keadilan: tiap proses mendapatkan alokasi CPU yang adil
        Efisiensi: penggunaan CPU semaksimal mungkin
        Waktu respons: minimal
        Waktu tunggu: minimal
        Throughput: maksimisasi pemrosesan proses
   Strategi penjadwalan
        Run to completion
        Preemptive
   Teknik Round Robin
        List proses
        Semua proses memiliki hak yang sama
    1.   Tiap proses dialokasikan sepotong selang waktu (quantum) utk eksekusi
    2.   Jika dalam 1 quantum eksekusi belum selesai dikeluarkan dari status
         aktifnya (preempted)
    3.   Selanjutnya proses tsb ditempatkan di akhir list
    4.   Eksekusi berlanjut dng proses pd antrian pertama
Penjadwalan Proses

 Penjadwalan dengan prioritas
    Memasukkan unsur prioritas proses
    Tiap proses memiliki prioritas tertentu, dan penjadwalannya
     menurut urutan prioritasnya
    Sering diimplementasikan dengan kelas-kelas prioritas dan teknik
     round robin
    Prioritas proses diturunkan selama eksekusi dilakukan supaya
     proses dng prioritas rendah memiliki kesempatan dieksekusi juga
    Contoh penjadwalan dng prioritas
      Proses dng prioritas pertama diekseskusi selama 1 quantum, prioritas
       kedua selama 2 quantum, prioritas ketiga 4 kuantum, dst.
      Setelah eksekusi menghabiskan n quantum yg dialokasikan, proses
       diturunkan ke prioritas berikutnya
      Proses sepanjang 100 quantum memerlukan 7x pergantian (swap)
       saja
Penjadwalan Proses

 Teknik Pengutamaan Proses Tercepat
   Cocok untuk batch job dng waktu eksekusi yg diketahui sebelumnya
   Menempatkan proses-proses pendek pada urutan awal
   Memperpendek waktu tunggu
   Optimal untuk proses-proses yg sudah “siap” dieksekusi

 Penjadwalan berbasis pemakai
   Jika ada n pemakai pd satu saat ttt, maka tiap orang akan menerima 1/n
    alokasi CPU
   Perlu informasi:
         Brp banyak waktu CPU yg telah dikonsumsi seorang pemakai sejak login   x
         Brp lama pemakai ybs login ke sistem y
     “Jatah” pemakai z = y/n, dan rasio antara jatah dng kenyataan r = z/x
     Penjadwalan mengikuti nilai r: proses-proses milik pemakai dengan
      nilai r yg lebih rendah dieksekusi dahulu
Deadlock

 Deadlock: sekumpulan proses yg menunggu event yg
 hanya bisa dimunculkan oleh salah satu dr proses
 anggota
    Tidak ada proses yg bisa berlanjut, melepaskan resources, atau
     diaktifkan kembali
    Berawal dari situasi supply resources lebih kecil drpd demand
 Empat kondisi pemicu deadlock
    Kondisi mutual exclusion. Sebuah resource sdg digunakan oleh 1
     proses, atau sdg bebas
    Kondisi hold and wait. Proses-proses yg sdg memakai resources
     diijinkan meminta resources baru
    Kondisi non-preemptive. Resource yg sdg digunakan hanya bisa
     dilepaskan oleh proses yg memakainya (pelepas-an tdk bisa dipaksa
     oleh pihak lain)
    Kondisi circular wait. Ada rantai dr 2 atau lebih proses, msg-msg
     menunggu resource yg dikuasai proses berikutnya dalam rantai tsb.
Deadlock

 Pemodelan penggunaan resource
     Menggunakan graf alokasi resource
     A menguasai resource R A        R
     A meminta resource R A          R
     Dpt digunakan utk analisis deadlock
 Strategi dlm menghadapi deadlock
     Abaikan saja algoritma “onta” (prinsip pragmatisme)
     Pendeteksian dan pemulihan
     Pencegahan, dng cara menegasikan kondisi-kondisi pemicu
     Menghindari, dng cara alokasi resource scr hati-hati
 Algoritma onta (Ostrich algorithm)
     Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock dng
      akibat yg ditimbulkannya
 Pendeteksian dan pemulihan
     Monitoring request dan release dr resources, menganalisis graf alokasi resources
      utk mendeteksi deadlock
     Rantai deadlock diputus dng mengorbankan 1 atau lebih proses
Deadlock

 Pencegahan deadlock
     Negasi 4 kondisi pemicu
     Kondisi mutual exclusion ?
         Resource bisa digunakan oleh lebih dr satu proses
     Kondisi hold and wait ?
         Proses yg sdg menguasai sbh resource tidak diijinkan utk meminta resource yg lain
         Kebutuhan resource sering bersifat dinamis
         Menyebabkan alokasi resource tdk efisien
     Kondisi non-preemptive ?
         Memungkinkan resource dilepas scr paksa
         Dapat mengacaukan operasi (e.g., printing)
     Kondisi rantai tunggu (circular wait) ?
         Alternatif yg paling mungkin ditempuh
         Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu
 Menghindari deadlock
     Alokasi resource scr hati-hati
     Algoritma banker
         Alokasi resource selalu memperhatikan kemungkinan ke depan (next state)
         Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh resource yg
          tersedia saat ini
Sistem File
 Tujuan: memberikan persistence bagi data
   Kondisi ideal: tidak ada impedance mismatch antara short-
    term memory dan long-term memory
   Krn kondisi ideal tdk bisa tercapai  muncul abstraksi file
 Bagaimana rancangan sistem file ?
 Manajemen ruang disk
   Ruang sebesar n byte scr kontinyu, atau m blok yg tidak harus
    kontinyu
   Alt. I  bgmn jika file berkembang (bertambah besar) ?
   Alt. II  brp besar ukuran blok ?
         Terlalu besar boros
         Terlalu kecil delay saat pembacaan
         Trade off antara efisiensi waktu dan ruang   512 byte, 1 kb, atau 2
          kb
     Bgmn melacak blok-blok bebas ?
         Linked list berisi blok-blok bebas
         Bit map berisi status semua blok (0-bebas, 1-terpakai)
Sistem File
 Bagaimana menyimpan file ?
     Blok data dirangkai mjd linked-list
             Implementasi akses scr acak mjd mahal
     File Allocation Table (FAT) dr MS-DOS
             Tidak cocok utk disk berukuran besar menyita tempat di memory
             Pointer ke semua file disimpan dlm satu tabel yg sama
     i-Node (digunakan oleh UNIX)
             Tabel berisi info accounting dan proteksi, diasosiasikan ke sebuah file
             Mampu menangani dinamika file, dan lebih modular (1 file 1 i-node)




      X            X                EO F                10   2   EO F   4   F REE   5   F REE   8

      0             1                  2                3    4    5     6     7     8     9     10



                         F il e    no d e

                   No.    o f l in k s t o     f il e

                     O w n e r' s U I D

                     O w n e r' s G I D

                         F il e    s iz e

                     T im e       c r ea te d

               T im e     l a st    a c c es s e d

               T im e      l a st    m o d if i e d



              10   d i s k b l o c k n u m b e rs



                    S in g le      i n d i re c t

                    D o u b le      i n d i re c t

                    T ri p l e     in d ir e c t
Sistem File
         Struktur dan organisasi direktori
           Direktori pada MS-DOS
                         Direktori diwujudkan dlm sebuah file
                         Tiap entri direktori menunjuk pd satu file
                         Tidak ada batas maksimal jumlah file pada sebuah direktori
                    Direktori pada UNIX
                         Direktori diwujudkan dlm sebuah file
                         Tiap entri merujuk pd satu file
                         Info pd tiap entri: nomor i-node dan nama file

                F ile n a m e               E x t.    A ttr .           R e s e rv e d   T im e           D a te    F i rs t      S iz e
                                                                                                                   b lo c k
                                                                                                                    num.
                    8 b y te              3 b y te        1 b             8 b y te       2 b y te     2 b y te     2 b y te     4 b y te




                                                                b lo c k 13 2 is         i- no d e 26 fo r                b lo c k 40 6 is
R o o t d ire c to ry           i- no d e 6 f or /u s r         /u s r d ir ec to ry                                       /u s r/a s t d ir .
                                                                                             /u s r/a s t
  1           .                         m ode                   6              .               m ode                      26           .
  1          ..                          s iz e                 1              ..               s iz e                     6           ..
  4         b in                        ti m e s                19           d ic k            ti m e s                   64        g ra n t s
  7         dev                          132                    30            e ri c            406                       92        b o ok s
 14          li b                                               26            ast                                         60         m box
  9         e tc                                                45            bal                                         81          s rc
  6         usr                                                     /u s r/a s t i s                                     /u s r/a s t/m b o x
  8         tm p                                                    i- no d e 26                                          is i-n od e 6 0
                                     /u s r i s in                                       /u s r/a s t i s in
                                    b lo c k 13 2                                         b lo c k 40 6
u sr : t o i-n od e 6
Sistem File
 Berbagi file (file sharing)
     Dengan mekanisme link
     Problem: update agar terlihat oleh pihak lain
       Metode langsung: Info blok disk sbg “atribut” file (di i-
        node dlm UNIX) yg bisa dilihat oleh direktori siapapun
       Kelemahan metode langsung: “dirty” deletion
        penghapusan file oleh pemilik bisa menyisakan i-node
        file tsb (agar tidak terjadi situasi yg “menggantung”)
       Symbolic linking: menyisipkan file bertipe LINK, yg
        berisi path ke file yg di-share, ke direktori “tamu”
       Kelemahan symlink: overhead pemrosesan, krn harus
        membaca dan memproses path ke file yg sebenarnya

       C 's d ire c to ry    B 's d ire c to ry      C 's d ire c to ry   B 's d ire c to ry




          owner =      C                    owner =      C                  owner =      C
          c o un t =   1                    c o un t =   2                  c o un t =   1
Sistem File

 Konsistensi sistem file
     Problem inkonsistensi antara data dan info ttg file (i-node)
     Pemeriksaan konsistensi: blok & file
     Pemeriksaan konsistensi blok
         List untuk blok yg dipakai dlm file
         List untuk blok bebas
         Kedua counter dibandingkan sebuah nomor blok hrs berada di salah satu list
     Kemungkinan inkonsistensi blok
         Nomor blok hilang
         Duplikasi nomor blok di list blok bebas
         Duplikasi nomor blok di list blok terpakai
     Pemeriksaan konsistensi file
         Dilakukan pd direktori
         Caranya mirip pemeriksaan konsistensi blok
         Menghasilkan sebuah list berisi info ttg. banyaknya refcount ke sebuah i-node
         Info ini dibandingkan dng isi field refcount dari i-node ybs
     Kemungkinan inkonsistensi file
         Counter link terlalu tinggi file tetap ada meskipun telah dihapus
         Counter link terlalu rendah problem integritas file
Pengaksesan File

 Abstraksi server file sbg interface
 Atomic update
   Perubahan thdp file harus berhasil atau tidak sama sekali
   Diimplementasikan dng konsep tempat penyimpanan stabil (stable
    storage)
        Sebuah drive logikal diimplementasikan dng dua disk fisis
        Penulisan ke blok logikal n, dituliskan ke blok n di disk #1, diverifikasi, lalu
         dituliskan ke blok n di disk #2 dan diverifikasi
        Error fisis (blok rusak, dsb) bisa diperbaiki dng cara menyalin data dari salah
         satu disk
        Crash pd saat menulis disk #1 kembali ke kondisi asal
        Crash pd saat menuli disk #2 kembali ke kondisi setelah update
 Concurrency control
   Serializability: update secara bersama-an menghasilkan situasi yg sama
    jika updatenya dilakukan scr sekuensial
   Locking     concurrency control dari sisi data (file)
Pengaksesan File
 Transaksi
   Atomic update + locking
   Concurrency ditangani oleh file server
   BEGIN TRANSACTION
             Transaction record utk merekam status transaksi
       END TRANSACTION
             Proses commit utk membuat update mjd permanen
            C lie n t                      F ile S e r v e r
            M u la i tra n s a k s i        B u a t tra n s a c tio n re c o rd d i s ta b le s to ra g e
            B a c a file A                  L o c k file A
            B a c a file B                  L o c k file B
            U p d a te file A               B u a t s a lin a n A d a n u p d a te s a lin a n in i
            U p d a te file B               B u a t s a lin a n B d a n u p d a te s a lin a n in i
            S e le s a i tra n s a k s i    S im p a n in te n tio n list k e s ta b le s to ra g e
                                            T a n d a i tra n s a k s i s e b a g a i ‘ c o m m ite d ’
                                            G a n ti file A d e n g a n s a lin a n n ya
                                            G a n ti file B d e n g a n s a lin a n n ya
                                            L e p a s k a n lo c k A d a n B
                                            A c k n o w le d g e




   Replikasi
           Mewujudkan konsep fault tolerance
           Menyimpan lebih dari 1 copy file
           Biasanya diterapkan di lingkungan sistem terdistribusi
Keamanan Sistem File

 Berkaitan dng kehilangan data dan usaha-usaha penyusupan
   Mekanisme proteksi
   Usaha/biaya sebanding dengan nilai informasi yg akan dilindungi

 Prinsip-prinsip pengamanan
   Desain sistem hrs bersifat public
         “Security through obscurity” tidak cocok
     Prinsip paranoid
         Kondisi default: tidak ada akses
         Berikan privilege seminimal mungkin
         Autorisasi hrs dilakukan sesaat sbl. aktivitas yg memerlukan autorisasi tsb
          dilakukan
     Sistem proteksi hrs sederhana, seragam, dan mendasar
     Sistem proteksi hrs dpt diterima scr psikologis
 Beberapa mekanisme pengamanan
   Autorisasi  identifikasi pemakai
   Domain proteksi     lingkup akses sebuah object
   Access Control List
Manajemen Memori
 Mengapa perlu manajemen memori
    Resource yg sangat berharga
    Parkinson’s law: program cenderung memenuhi seluruh
     kapasitas memori dan menguasainya
    Kemampuan multiprogramming beberapa proses
     berada di memori pd saat yg sama
 Manajemen memori dengan partisi tetap
    n buah partisi, ukuran bisa bervariasi, diset pd saat
     sistem diaktifkan
    Bgmn jika proses berkembang ?

               P a rt is i 4                           P a rt is i 4




               P a rt is i 3                           P a rt is i 3




               P a rt is i 2                           P a rt is i 2



               P a rt is i 1                           P a rt is i 1

              O p er at in g                          O p er at in g
               s y st em                               s y st em
Manajemen Memori
  Alokasi memori dengan partisi variabel
    Bgmn mengalokasikan memori untuk proses yg
     berkembang ?




                                                                                                                          S iste m o p e ra s i
                                         P ro g ra m B




                                                                                                     P ro g ra m A
      S ta c k B




                                                                     S ta c k A
                          D a ta B




                                                                                          D a ta A
                  Bgmn mengalokasikan memori untuk proses yg
                   berkembang ?
                     Bitmap
                     Linked-list
                     Buddy system
1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0




  P            0    5                H                   5   3




                                                                 P                8   6              H               14                           2
Manajemen Memori

 Pelacakan memori bebas dengan metode bit map
    Faktor pemilihan satuan alokasi mjd penting
        Satuan kecil   bit map besar
        Satuan besar    ada kemungkinan sisa memori
 Pelacakan memori bebas dengan metode linked-list
    Diurutkan berdasar alamat memori
    Implementasi dng double linked-list
 Algoritma alokasi memori
    First fit: mencari daerah memori bebas (DMB) yg pertama kali
     ditemukan yg bisa menampung proses
    Next fit: mirip dng first fit, tapi dng merekam posisi DMB. Proses
     pencarian selanjutnya dimulai dr posisi ini.
    Best fit: mencari di seluruh list DMB yg paling sesuai dng kebutuhan
     proses
    Worst fit: mencari di seluruh list DMB yg paling besar yg tersedia
Manajemen Memori

 Pelacakan memori bebas dengan metode buddy system
    Berdasar kenyataan bhw komputer bekerja dng bilangan biner
     diguna-kan utk mempercepat penggabungan DMB-DMB yg
     bersebelahan pd saat sebuah proses selesai dieksekusi (atau diswap
     ke disk)
    Diimplementasikan dng list memori bebas berukuran 1, 2, 4, 8, 16, …
     byte
    Pengalokasian memori ke proses dila-kukan dng memecah satu blok
     memori bebas mjd 2 bg yg sama besar. Peme-cahan dilakukan scr
     rekursif shg dida-pat blok yg besarnya sesuai kebutuhan
    Keuntungan
        Cepat utk proses pembebasan memori
    Kerugian
        Utilisasi memori yg kurang efisien krn terikat pd aturan 2n
         fragmentasi internal
Manajemen Memori
            Ilustrasi model buddy system
                 0           1 28       2 56       5 12   1 02 4

    In it ia l

R e q. 7 0               A

 R e q. 3 5              A          B

 R e q. 8 0              A          B          C

R e tu rn A                         B          C

 R e q. 6 0          D              B          C

R e tu rn B          D                         C

R e tu rn D                                    C

R e tu rn C
Virtual Memory

   Muncul dr kenyataan bhw kebutuhan memori jauh lebih tinggi
    drpd memori yg tersedia
   Usaha utk menyederhanakan solusi dng cara abstraksi
    manajemen memori
   Paging
       Akses ke memori melalui
            Mapping dari virtual address
            Mekanisme “page frame”
       Memory management unit (MMU) sbg mapper
       Virtual addr space > real addr space mapping yg dinamis (bisa berubah-
        ubah)
       Mekanisme akses
        1.   Instruksi program berisi perintah akses ke memori
        2.   Alamat memori virtual address space, diteruskan ke MMU
        3.   MMU melakukan mapping ke real address
        4.   Real address diteruskan ke address bus
Virtual Memory: Paging




                                                      12 K - 16 K

                                                                    16 K - 20 K

                                                                                  20 K - 24 K




                                                                                                              28 K - 32 K

                                                                                                                            32 K - 36 K

                                                                                                                                          36 K - 40 K

                                                                                                                                                        40 K - 44 K

                                                                                                                                                                      44 K - 48 K

                                                                                                                                                                                    48 K - 52 K

                                                                                                                                                                                                  52 K - 56 K

                                                                                                                                                                                                                56 K - 60 K

                                                                                                                                                                                                                              60 K - 64 K
                                                                                                24 K - 28 K
                                          8K - 1 2K
                               4K - 8 K
 V i rtu a l




                     0 - 4K
a dd re s s
 s pa c e



V i rtu a l
                     2         1          6           0             4             3              x             x             x            5             x             7              x             x            x             x
p ag e




 Pa g e
 fr am e




                                                      12 K - 16 K

                                                                    16 K - 20 K

                                                                                  20 K - 24 K

                                                                                                24 K - 28 K

                                                                                                              28 K - 32 K
                                          8K - 1 2K
                               4K - 8 K
                     0 - 4K




P h y s ic al
m e m ory
a dd re s s




      Page yg tidak terpetakan akan menyebabkan
       page fault
      Jika terjadi page fault
                1.            SO memilih salah satu page frame yg tidak banyak
                              diakses & menyimpan isinya ke disk
                2.            SO mengambil isi page yg tidak terpetakan dan
                              menyalinnya ke page frame yg baru saja di-flush
                3.            SO mengubah mapping
                4.            Melanjutkan eksekusi instruksi
Algoritma Pergantian Page

 Tujuan: minimisasi overhead, shg hrs dipilih page frame yg tidak
  banyak digunakan
 Algoritma Not-Recently-Used
     Bit R (referenced) dan M (modified)
         R diset bila sebuah page direferensikan
         M diset bila ada modifikasi thdp isi page
     Pertama kali sebuah proses dimulai, R dan M direset.
     Scr periodis (mis: tiap clock interrupt), bit R direset
     Ada 4 kemungkinan kelas:
         K1: tidak direferensi, tidak dimodifikasi
         K2: tidak direferensi, dimodifikasi
         K3: direferensi, tidak dimodifikasi
         K4: direferensi, dimodifikasi
     Jika ada page fault, SO akan memilih sebuah page dr kelas terendah yg tidak
      kosong
         Contoh: lebih baik memilih (utk dibuang) page yg dimodifikasi tp tidak direferensi
          dlm waktu yg cukup lama (K2), drpd page yg tdk dimodifikasi tp sering digunakan
          (K3)
Algoritma Pergantian Page

 Algoritma FIFO
    Page yang paling awal akan dibuang pd saat terjadi page fault
    Perlu list utk merekam info ttg “umur” page
    Algoritma FIFO sering dikombinasikan dng bit R dan M utk
     meminimisasi overhead akibat dibuangnya page yg sering direferensi
 Algoritma Least-Recently-Used
    Asumsi: sebuah page yg banyak digunakan pd bbrp instruksi
     terakhir akan tetap banyak digunakan dlm bbrp instruksi berikut,
     dmk pula sebaliknya
    Pilih page yg tidak direferensikan dlm jangka waktu yg paling lama
    LRU mahal krn harus memonitor status tiap page perlu bantuan
     hardware khusus atau simulasi software utk mencatat status
     referensinya (bit R)

Contenu connexe

Similaire à Materi 6

MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.pptAdanImam1
 
418558364-UKBM-1.docx
418558364-UKBM-1.docx418558364-UKBM-1.docx
418558364-UKBM-1.docxssuserb8c642
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasiHidayatullah Aldy
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)Novian Anggis
 
Sistem Pakar Berbasis Aturan
Sistem Pakar Berbasis AturanSistem Pakar Berbasis Aturan
Sistem Pakar Berbasis AturanHaddad Sammir
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxMirza Afrizal
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutSyaiful Ahdan
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinuxWahyu W
 
Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Indah Kusumawati
 
Laporan Praktikum Sistem Operasi Modul 2
Laporan Praktikum Sistem Operasi Modul 2Laporan Praktikum Sistem Operasi Modul 2
Laporan Praktikum Sistem Operasi Modul 2Indah Kusumawati
 
presentasi-backup.ppt
presentasi-backup.pptpresentasi-backup.ppt
presentasi-backup.pptEfrizal Zaida
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfARYAPUTRAABSHARI
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikumjoko2016
 
menggunakan DNA sebagai media penyimpanan
menggunakan DNA sebagai media penyimpananmenggunakan DNA sebagai media penyimpanan
menggunakan DNA sebagai media penyimpananSatria Manggala
 

Similaire à Materi 6 (20)

SISTEM OPEN SOURCE
SISTEM OPEN SOURCESISTEM OPEN SOURCE
SISTEM OPEN SOURCE
 
MF427_10_172043.ppt
MF427_10_172043.pptMF427_10_172043.ppt
MF427_10_172043.ppt
 
418558364-UKBM-1.docx
418558364-UKBM-1.docx418558364-UKBM-1.docx
418558364-UKBM-1.docx
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
 
Os2013 lap1-ridwan
Os2013 lap1-ridwanOs2013 lap1-ridwan
Os2013 lap1-ridwan
 
Os2013 lap1-riska
Os2013 lap1-riskaOs2013 lap1-riska
Os2013 lap1-riska
 
6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)6. Konkurensi_deadlock & starvation (pert 9 & 10)
6. Konkurensi_deadlock & starvation (pert 9 & 10)
 
Modul1
Modul1Modul1
Modul1
 
Sistem Pakar Berbasis Aturan
Sistem Pakar Berbasis AturanSistem Pakar Berbasis Aturan
Sistem Pakar Berbasis Aturan
 
Deadlock
DeadlockDeadlock
Deadlock
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi Linux
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handout
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux
 
Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Laporan Praktikum Sistem Operasi Modul 2
Laporan Praktikum Sistem Operasi Modul 2Laporan Praktikum Sistem Operasi Modul 2
Laporan Praktikum Sistem Operasi Modul 2
 
presentasi-backup.ppt
presentasi-backup.pptpresentasi-backup.ppt
presentasi-backup.ppt
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikum
 
menggunakan DNA sebagai media penyimpanan
menggunakan DNA sebagai media penyimpananmenggunakan DNA sebagai media penyimpanan
menggunakan DNA sebagai media penyimpanan
 

Plus de wawankoerniawan (20)

Print screen
Print screenPrint screen
Print screen
 
Materi 5
Materi 5Materi 5
Materi 5
 
Materi 4
Materi 4Materi 4
Materi 4
 
Materi 3
Materi 3Materi 3
Materi 3
 
Materi 2
Materi 2Materi 2
Materi 2
 
Materi 1
Materi 1Materi 1
Materi 1
 
Materi 11
Materi 11Materi 11
Materi 11
 
Materi 4
Materi 4Materi 4
Materi 4
 
Materi 10
Materi 10Materi 10
Materi 10
 
Materi 10
Materi 10Materi 10
Materi 10
 
Materi 12
Materi 12Materi 12
Materi 12
 
Materi 11
Materi 11Materi 11
Materi 11
 
Materi 9
Materi 9Materi 9
Materi 9
 
Materi 7
Materi 7Materi 7
Materi 7
 
Materi 6
Materi 6Materi 6
Materi 6
 
Materi 5
Materi 5Materi 5
Materi 5
 
Materi 3
Materi 3Materi 3
Materi 3
 
Materi 2
Materi 2Materi 2
Materi 2
 
Materi 1
Materi 1Materi 1
Materi 1
 
Materi 8
Materi 8Materi 8
Materi 8
 

Materi 6

  • 1. SISTEM TERDISTRIBUSI OLEH : AHMAD KURNIAWAN
  • 2. Penjadwalan Proses  Prinsip-prinsip penjadwalan  Keadilan: tiap proses mendapatkan alokasi CPU yang adil  Efisiensi: penggunaan CPU semaksimal mungkin  Waktu respons: minimal  Waktu tunggu: minimal  Throughput: maksimisasi pemrosesan proses  Strategi penjadwalan  Run to completion  Preemptive  Teknik Round Robin  List proses  Semua proses memiliki hak yang sama 1. Tiap proses dialokasikan sepotong selang waktu (quantum) utk eksekusi 2. Jika dalam 1 quantum eksekusi belum selesai dikeluarkan dari status aktifnya (preempted) 3. Selanjutnya proses tsb ditempatkan di akhir list 4. Eksekusi berlanjut dng proses pd antrian pertama
  • 3. Penjadwalan Proses  Penjadwalan dengan prioritas  Memasukkan unsur prioritas proses  Tiap proses memiliki prioritas tertentu, dan penjadwalannya menurut urutan prioritasnya  Sering diimplementasikan dengan kelas-kelas prioritas dan teknik round robin  Prioritas proses diturunkan selama eksekusi dilakukan supaya proses dng prioritas rendah memiliki kesempatan dieksekusi juga  Contoh penjadwalan dng prioritas  Proses dng prioritas pertama diekseskusi selama 1 quantum, prioritas kedua selama 2 quantum, prioritas ketiga 4 kuantum, dst.  Setelah eksekusi menghabiskan n quantum yg dialokasikan, proses diturunkan ke prioritas berikutnya  Proses sepanjang 100 quantum memerlukan 7x pergantian (swap) saja
  • 4. Penjadwalan Proses  Teknik Pengutamaan Proses Tercepat  Cocok untuk batch job dng waktu eksekusi yg diketahui sebelumnya  Menempatkan proses-proses pendek pada urutan awal  Memperpendek waktu tunggu  Optimal untuk proses-proses yg sudah “siap” dieksekusi  Penjadwalan berbasis pemakai  Jika ada n pemakai pd satu saat ttt, maka tiap orang akan menerima 1/n alokasi CPU  Perlu informasi:  Brp banyak waktu CPU yg telah dikonsumsi seorang pemakai sejak login x  Brp lama pemakai ybs login ke sistem y  “Jatah” pemakai z = y/n, dan rasio antara jatah dng kenyataan r = z/x  Penjadwalan mengikuti nilai r: proses-proses milik pemakai dengan nilai r yg lebih rendah dieksekusi dahulu
  • 5. Deadlock  Deadlock: sekumpulan proses yg menunggu event yg hanya bisa dimunculkan oleh salah satu dr proses anggota  Tidak ada proses yg bisa berlanjut, melepaskan resources, atau diaktifkan kembali  Berawal dari situasi supply resources lebih kecil drpd demand  Empat kondisi pemicu deadlock  Kondisi mutual exclusion. Sebuah resource sdg digunakan oleh 1 proses, atau sdg bebas  Kondisi hold and wait. Proses-proses yg sdg memakai resources diijinkan meminta resources baru  Kondisi non-preemptive. Resource yg sdg digunakan hanya bisa dilepaskan oleh proses yg memakainya (pelepas-an tdk bisa dipaksa oleh pihak lain)  Kondisi circular wait. Ada rantai dr 2 atau lebih proses, msg-msg menunggu resource yg dikuasai proses berikutnya dalam rantai tsb.
  • 6. Deadlock  Pemodelan penggunaan resource  Menggunakan graf alokasi resource  A menguasai resource R A R  A meminta resource R A R  Dpt digunakan utk analisis deadlock  Strategi dlm menghadapi deadlock  Abaikan saja algoritma “onta” (prinsip pragmatisme)  Pendeteksian dan pemulihan  Pencegahan, dng cara menegasikan kondisi-kondisi pemicu  Menghindari, dng cara alokasi resource scr hati-hati  Algoritma onta (Ostrich algorithm)  Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock dng akibat yg ditimbulkannya  Pendeteksian dan pemulihan  Monitoring request dan release dr resources, menganalisis graf alokasi resources utk mendeteksi deadlock  Rantai deadlock diputus dng mengorbankan 1 atau lebih proses
  • 7. Deadlock  Pencegahan deadlock  Negasi 4 kondisi pemicu  Kondisi mutual exclusion ?  Resource bisa digunakan oleh lebih dr satu proses  Kondisi hold and wait ?  Proses yg sdg menguasai sbh resource tidak diijinkan utk meminta resource yg lain  Kebutuhan resource sering bersifat dinamis  Menyebabkan alokasi resource tdk efisien  Kondisi non-preemptive ?  Memungkinkan resource dilepas scr paksa  Dapat mengacaukan operasi (e.g., printing)  Kondisi rantai tunggu (circular wait) ?  Alternatif yg paling mungkin ditempuh  Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu  Menghindari deadlock  Alokasi resource scr hati-hati  Algoritma banker  Alokasi resource selalu memperhatikan kemungkinan ke depan (next state)  Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh resource yg tersedia saat ini
  • 8. Sistem File  Tujuan: memberikan persistence bagi data  Kondisi ideal: tidak ada impedance mismatch antara short- term memory dan long-term memory  Krn kondisi ideal tdk bisa tercapai muncul abstraksi file  Bagaimana rancangan sistem file ?  Manajemen ruang disk  Ruang sebesar n byte scr kontinyu, atau m blok yg tidak harus kontinyu  Alt. I bgmn jika file berkembang (bertambah besar) ?  Alt. II brp besar ukuran blok ?  Terlalu besar boros  Terlalu kecil delay saat pembacaan  Trade off antara efisiensi waktu dan ruang 512 byte, 1 kb, atau 2 kb  Bgmn melacak blok-blok bebas ?  Linked list berisi blok-blok bebas  Bit map berisi status semua blok (0-bebas, 1-terpakai)
  • 9. Sistem File  Bagaimana menyimpan file ?  Blok data dirangkai mjd linked-list  Implementasi akses scr acak mjd mahal  File Allocation Table (FAT) dr MS-DOS  Tidak cocok utk disk berukuran besar menyita tempat di memory  Pointer ke semua file disimpan dlm satu tabel yg sama  i-Node (digunakan oleh UNIX)  Tabel berisi info accounting dan proteksi, diasosiasikan ke sebuah file  Mampu menangani dinamika file, dan lebih modular (1 file 1 i-node) X X EO F 10 2 EO F 4 F REE 5 F REE 8 0 1 2 3 4 5 6 7 8 9 10 F il e no d e No. o f l in k s t o f il e O w n e r' s U I D O w n e r' s G I D F il e s iz e T im e c r ea te d T im e l a st a c c es s e d T im e l a st m o d if i e d 10 d i s k b l o c k n u m b e rs S in g le i n d i re c t D o u b le i n d i re c t T ri p l e in d ir e c t
  • 10. Sistem File  Struktur dan organisasi direktori  Direktori pada MS-DOS  Direktori diwujudkan dlm sebuah file  Tiap entri direktori menunjuk pd satu file  Tidak ada batas maksimal jumlah file pada sebuah direktori  Direktori pada UNIX  Direktori diwujudkan dlm sebuah file  Tiap entri merujuk pd satu file  Info pd tiap entri: nomor i-node dan nama file F ile n a m e E x t. A ttr . R e s e rv e d T im e D a te F i rs t S iz e b lo c k num. 8 b y te 3 b y te 1 b 8 b y te 2 b y te 2 b y te 2 b y te 4 b y te b lo c k 13 2 is i- no d e 26 fo r b lo c k 40 6 is R o o t d ire c to ry i- no d e 6 f or /u s r /u s r d ir ec to ry /u s r/a s t d ir . /u s r/a s t 1 . m ode 6 . m ode 26 . 1 .. s iz e 1 .. s iz e 6 .. 4 b in ti m e s 19 d ic k ti m e s 64 g ra n t s 7 dev 132 30 e ri c 406 92 b o ok s 14 li b 26 ast 60 m box 9 e tc 45 bal 81 s rc 6 usr /u s r/a s t i s /u s r/a s t/m b o x 8 tm p i- no d e 26 is i-n od e 6 0 /u s r i s in /u s r/a s t i s in b lo c k 13 2 b lo c k 40 6 u sr : t o i-n od e 6
  • 11. Sistem File  Berbagi file (file sharing)  Dengan mekanisme link  Problem: update agar terlihat oleh pihak lain  Metode langsung: Info blok disk sbg “atribut” file (di i- node dlm UNIX) yg bisa dilihat oleh direktori siapapun  Kelemahan metode langsung: “dirty” deletion penghapusan file oleh pemilik bisa menyisakan i-node file tsb (agar tidak terjadi situasi yg “menggantung”)  Symbolic linking: menyisipkan file bertipe LINK, yg berisi path ke file yg di-share, ke direktori “tamu”  Kelemahan symlink: overhead pemrosesan, krn harus membaca dan memproses path ke file yg sebenarnya C 's d ire c to ry B 's d ire c to ry C 's d ire c to ry B 's d ire c to ry owner = C owner = C owner = C c o un t = 1 c o un t = 2 c o un t = 1
  • 12. Sistem File  Konsistensi sistem file  Problem inkonsistensi antara data dan info ttg file (i-node)  Pemeriksaan konsistensi: blok & file  Pemeriksaan konsistensi blok  List untuk blok yg dipakai dlm file  List untuk blok bebas  Kedua counter dibandingkan sebuah nomor blok hrs berada di salah satu list  Kemungkinan inkonsistensi blok  Nomor blok hilang  Duplikasi nomor blok di list blok bebas  Duplikasi nomor blok di list blok terpakai  Pemeriksaan konsistensi file  Dilakukan pd direktori  Caranya mirip pemeriksaan konsistensi blok  Menghasilkan sebuah list berisi info ttg. banyaknya refcount ke sebuah i-node  Info ini dibandingkan dng isi field refcount dari i-node ybs  Kemungkinan inkonsistensi file  Counter link terlalu tinggi file tetap ada meskipun telah dihapus  Counter link terlalu rendah problem integritas file
  • 13. Pengaksesan File  Abstraksi server file sbg interface  Atomic update  Perubahan thdp file harus berhasil atau tidak sama sekali  Diimplementasikan dng konsep tempat penyimpanan stabil (stable storage)  Sebuah drive logikal diimplementasikan dng dua disk fisis  Penulisan ke blok logikal n, dituliskan ke blok n di disk #1, diverifikasi, lalu dituliskan ke blok n di disk #2 dan diverifikasi  Error fisis (blok rusak, dsb) bisa diperbaiki dng cara menyalin data dari salah satu disk  Crash pd saat menulis disk #1 kembali ke kondisi asal  Crash pd saat menuli disk #2 kembali ke kondisi setelah update  Concurrency control  Serializability: update secara bersama-an menghasilkan situasi yg sama jika updatenya dilakukan scr sekuensial  Locking concurrency control dari sisi data (file)
  • 14. Pengaksesan File  Transaksi  Atomic update + locking  Concurrency ditangani oleh file server  BEGIN TRANSACTION  Transaction record utk merekam status transaksi  END TRANSACTION  Proses commit utk membuat update mjd permanen C lie n t F ile S e r v e r M u la i tra n s a k s i B u a t tra n s a c tio n re c o rd d i s ta b le s to ra g e B a c a file A L o c k file A B a c a file B L o c k file B U p d a te file A B u a t s a lin a n A d a n u p d a te s a lin a n in i U p d a te file B B u a t s a lin a n B d a n u p d a te s a lin a n in i S e le s a i tra n s a k s i S im p a n in te n tio n list k e s ta b le s to ra g e T a n d a i tra n s a k s i s e b a g a i ‘ c o m m ite d ’ G a n ti file A d e n g a n s a lin a n n ya G a n ti file B d e n g a n s a lin a n n ya L e p a s k a n lo c k A d a n B A c k n o w le d g e  Replikasi  Mewujudkan konsep fault tolerance  Menyimpan lebih dari 1 copy file  Biasanya diterapkan di lingkungan sistem terdistribusi
  • 15. Keamanan Sistem File  Berkaitan dng kehilangan data dan usaha-usaha penyusupan  Mekanisme proteksi  Usaha/biaya sebanding dengan nilai informasi yg akan dilindungi  Prinsip-prinsip pengamanan  Desain sistem hrs bersifat public  “Security through obscurity” tidak cocok  Prinsip paranoid  Kondisi default: tidak ada akses  Berikan privilege seminimal mungkin  Autorisasi hrs dilakukan sesaat sbl. aktivitas yg memerlukan autorisasi tsb dilakukan  Sistem proteksi hrs sederhana, seragam, dan mendasar  Sistem proteksi hrs dpt diterima scr psikologis  Beberapa mekanisme pengamanan  Autorisasi identifikasi pemakai  Domain proteksi lingkup akses sebuah object  Access Control List
  • 16. Manajemen Memori  Mengapa perlu manajemen memori  Resource yg sangat berharga  Parkinson’s law: program cenderung memenuhi seluruh kapasitas memori dan menguasainya  Kemampuan multiprogramming beberapa proses berada di memori pd saat yg sama  Manajemen memori dengan partisi tetap  n buah partisi, ukuran bisa bervariasi, diset pd saat sistem diaktifkan  Bgmn jika proses berkembang ? P a rt is i 4 P a rt is i 4 P a rt is i 3 P a rt is i 3 P a rt is i 2 P a rt is i 2 P a rt is i 1 P a rt is i 1 O p er at in g O p er at in g s y st em s y st em
  • 17. Manajemen Memori  Alokasi memori dengan partisi variabel  Bgmn mengalokasikan memori untuk proses yg berkembang ? S iste m o p e ra s i P ro g ra m B P ro g ra m A S ta c k B S ta c k A D a ta B D a ta A  Bgmn mengalokasikan memori untuk proses yg berkembang ?  Bitmap  Linked-list  Buddy system 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 P 0 5 H 5 3 P 8 6 H 14 2
  • 18. Manajemen Memori  Pelacakan memori bebas dengan metode bit map  Faktor pemilihan satuan alokasi mjd penting  Satuan kecil bit map besar  Satuan besar ada kemungkinan sisa memori  Pelacakan memori bebas dengan metode linked-list  Diurutkan berdasar alamat memori  Implementasi dng double linked-list  Algoritma alokasi memori  First fit: mencari daerah memori bebas (DMB) yg pertama kali ditemukan yg bisa menampung proses  Next fit: mirip dng first fit, tapi dng merekam posisi DMB. Proses pencarian selanjutnya dimulai dr posisi ini.  Best fit: mencari di seluruh list DMB yg paling sesuai dng kebutuhan proses  Worst fit: mencari di seluruh list DMB yg paling besar yg tersedia
  • 19. Manajemen Memori  Pelacakan memori bebas dengan metode buddy system  Berdasar kenyataan bhw komputer bekerja dng bilangan biner diguna-kan utk mempercepat penggabungan DMB-DMB yg bersebelahan pd saat sebuah proses selesai dieksekusi (atau diswap ke disk)  Diimplementasikan dng list memori bebas berukuran 1, 2, 4, 8, 16, … byte  Pengalokasian memori ke proses dila-kukan dng memecah satu blok memori bebas mjd 2 bg yg sama besar. Peme-cahan dilakukan scr rekursif shg dida-pat blok yg besarnya sesuai kebutuhan  Keuntungan  Cepat utk proses pembebasan memori  Kerugian  Utilisasi memori yg kurang efisien krn terikat pd aturan 2n fragmentasi internal
  • 20. Manajemen Memori  Ilustrasi model buddy system 0 1 28 2 56 5 12 1 02 4 In it ia l R e q. 7 0 A R e q. 3 5 A B R e q. 8 0 A B C R e tu rn A B C R e q. 6 0 D B C R e tu rn B D C R e tu rn D C R e tu rn C
  • 21. Virtual Memory  Muncul dr kenyataan bhw kebutuhan memori jauh lebih tinggi drpd memori yg tersedia  Usaha utk menyederhanakan solusi dng cara abstraksi manajemen memori  Paging  Akses ke memori melalui  Mapping dari virtual address  Mekanisme “page frame”  Memory management unit (MMU) sbg mapper  Virtual addr space > real addr space mapping yg dinamis (bisa berubah- ubah)  Mekanisme akses 1. Instruksi program berisi perintah akses ke memori 2. Alamat memori virtual address space, diteruskan ke MMU 3. MMU melakukan mapping ke real address 4. Real address diteruskan ke address bus
  • 22. Virtual Memory: Paging 12 K - 16 K 16 K - 20 K 20 K - 24 K 28 K - 32 K 32 K - 36 K 36 K - 40 K 40 K - 44 K 44 K - 48 K 48 K - 52 K 52 K - 56 K 56 K - 60 K 60 K - 64 K 24 K - 28 K 8K - 1 2K 4K - 8 K V i rtu a l 0 - 4K a dd re s s s pa c e V i rtu a l 2 1 6 0 4 3 x x x 5 x 7 x x x x p ag e Pa g e fr am e 12 K - 16 K 16 K - 20 K 20 K - 24 K 24 K - 28 K 28 K - 32 K 8K - 1 2K 4K - 8 K 0 - 4K P h y s ic al m e m ory a dd re s s  Page yg tidak terpetakan akan menyebabkan page fault  Jika terjadi page fault 1. SO memilih salah satu page frame yg tidak banyak diakses & menyimpan isinya ke disk 2. SO mengambil isi page yg tidak terpetakan dan menyalinnya ke page frame yg baru saja di-flush 3. SO mengubah mapping 4. Melanjutkan eksekusi instruksi
  • 23. Algoritma Pergantian Page  Tujuan: minimisasi overhead, shg hrs dipilih page frame yg tidak banyak digunakan  Algoritma Not-Recently-Used  Bit R (referenced) dan M (modified)  R diset bila sebuah page direferensikan  M diset bila ada modifikasi thdp isi page  Pertama kali sebuah proses dimulai, R dan M direset.  Scr periodis (mis: tiap clock interrupt), bit R direset  Ada 4 kemungkinan kelas:  K1: tidak direferensi, tidak dimodifikasi  K2: tidak direferensi, dimodifikasi  K3: direferensi, tidak dimodifikasi  K4: direferensi, dimodifikasi  Jika ada page fault, SO akan memilih sebuah page dr kelas terendah yg tidak kosong  Contoh: lebih baik memilih (utk dibuang) page yg dimodifikasi tp tidak direferensi dlm waktu yg cukup lama (K2), drpd page yg tdk dimodifikasi tp sering digunakan (K3)
  • 24. Algoritma Pergantian Page  Algoritma FIFO  Page yang paling awal akan dibuang pd saat terjadi page fault  Perlu list utk merekam info ttg “umur” page  Algoritma FIFO sering dikombinasikan dng bit R dan M utk meminimisasi overhead akibat dibuangnya page yg sering direferensi  Algoritma Least-Recently-Used  Asumsi: sebuah page yg banyak digunakan pd bbrp instruksi terakhir akan tetap banyak digunakan dlm bbrp instruksi berikut, dmk pula sebaliknya  Pilih page yg tidak direferensikan dlm jangka waktu yg paling lama  LRU mahal krn harus memonitor status tiap page perlu bantuan hardware khusus atau simulasi software utk mencatat status referensinya (bit R)