Docstoc

Modul Kuliah Sistem Operasi

Document Sample
Modul Kuliah Sistem Operasi Powered By Docstoc
					Modul Kuliah Sistem Operasi

   Oleh : Joko Bintarto
Pembahasan
    Pengantar Sistem Operasi
    Manajemen Proses
    Penjadwalan Proses
    Manajemen Memori
    Pengalokasian Memory
    Virtual Memory
Konsep Sistem Operasi

 Penghubung   antara User dan Hardware
 Pengelola seluruh sumber-daya yang
  terdapat pada sistem komputer dan
  menyediakan sekumpulan layanan (system
  calls) ke pemakai sehingga memudahkan dan
  menyamankan penggunaan serta
  pemanfaatan sumber-daya sistem komputer.
Fungsi Dasar Sistem Operasi

 Sistem komputer pada dasarnya terdiri dari empat
  komponen utama, yaitu :
       1. Perangkat keras (Hardware),
       2. Program aplikasi (Software),
       3. Sistem operasi (Operating System),
       4. Para pengguna (User).
 Sistem operasi berfungsi untuk mengatur dan
  mengawasi penggunaan perangkat keras oleh
  berbagai program aplikasi serta para pengguna.
 Sistem operasi juga sering disebut resource
  allocator. Satu lagi fungsi penting sistem operasi
  ialah sebagai program pengendali yang bertujuan
  untuk menghindari kekeliruan (error) dan
  penggunaan komputer yang tidak perlu
Sejarah Sistem Operasi

 •   Generasi Pertama (1945-1955)
     - Awal perkembangan sistem komputasi
     - Elektronik : pengganti sistem komputasi mekanik.

    Generasi Kedua (1955-1965)
     - Batch Processing System,
     - Belum ada Sistem Operasi.
Continue…
   Generasi Ketiga (1965-1980)
    - multi-user
    - multi-programming

   Generasi Keempat (Pasca 1980an)
    - Jaringan Komputer
    - Graphical User Interface
    - Komputer Tersebar
    - Grid Computing
MANAJEMEN PROSES

Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang
berkaitan dengan managemen proses seperti:
     Pembuatan dan penghapusan proses pengguna dan
      sistem proses.
     Menyediakan mekanisme untuk proses sinkronisasi.

     Menyediakan mekanisme untuk proses komunikasi.

     Menyediakan mekanisme untuk penanganan otoritas.
Pengertian Proses

Suatu proses adalah lebih dari kode
 program,dimana kadang kala dikenal sebagai
 bagian tulisan. Proses juga termasuk aktivitas
 yang sedang terjadi,sebagaimana digambarkan
 oleh nilai pada program counter dan isi dari
 daftar prosesor/ processor’sregister
 Keadaan Proses
Tiap proses mungkin adalah satu dari keadaan berikut ini:
 New : Proses sedang dikerjakan.
 Running : Instruksi sedang dikerjakan.
 Waiting : Proses sedang menunggu sejumlah kejadian.
 Ready       : Proses sedang menunggu untuk ditugaskan
 pada sebuah prosesor.
 Terminated: Proses telah selsesai melaksanakan tugasnya/
 mengeksekusi.
Process Control Block
              • Pointer dapat diartikan arah/petunjuk proses
              • State (Status) Proses meliputi : New, ready,
                running, waiting, terminated
              • Nomor Proses biasanya nomor urut
                pendaftaran (register) suatu proses
                biasanya bilangan binner
              • Program Counter, menunjukkan alamat
                berikut yang akan di eksekusi oleh proses
              • Register, biasanya register berupa
                pngalamatan suatu proses yang terdiri dari
                accumulator, index register, stack pointer
                dan informasi tentang kode kondisi.
              • Memory limit, merupakan batas alokasi
                penyimpanan
              • List of Open file, Proses daftar file yang
                terbuka
Penjadualan Proses : Alih Konteks

                 Context Switch adalah proses
                 penyimpanan status proses dan
                 pengambilan status proses yang siap
                 untuk dieksekusi, dan mengalokasikan
                 CPU ke salah satu dari proses-proses
                 tersebut.
                 Coba perhatikan gambar disamping
                 Dimana proses P0 disimpan status ke
                 PCB0 dan waktu idle ( menganggur )
                 selanjutnya pengambilan status PCB0
                 eksekusi
                 Begitu juga dengan Pengambila status
                 PCB1 dengan interrupt ( logika program )
                 selanjutnya tersimpan status ke PCB1
Penjadualan Proses : Antrian

                   Proses yang dimasuk pada
                   suatu sistem diletakan dalam
                   job queue. Sedangkan proses
                   yang ada di memory utama
                   dan menunggu untuk
                   dieksekusi diletakan di ready
                   queue. Proses yang
                   menunggu peralatan I/O
                   diletakan di device queue.
                   Pada gambr disamping
                   menunjukan proses ready
                   queue dan device queue
Penjadualan Proses : Penjadual

  Shorterm (CPU Scheduler), menyeleksi
   proses-proses yang siap untuk dieksekusi, dan
   mengalokasikan CPU ke salah satu dari
   proses-proses tersebut
  Longterm (Job Scheduler), menyeleksi proses
   dari suatu pool dan membawanya ke memori
   utama untuk dieksekusi
Operasi Pada Proses : Buat Proses
Pembuatan Proses

Hal yang Berkaitan dengan pembuatan Proses

• Memberikan identitas (nama) pada proses yang dibuat

• Menyisipkan poses pada list proses atau tabel proses

• Menentukan prioritas awal proses

• Membuat PCB

• Alokasi resource awal bagi proses tersebut
Operasi Pada Proses : Operasi Proses

  Selama eksekusi, suatu proses akan membuat suatu proses yang
  baru, ini disebut dengan Parent sedangkan proses yang dibuat
  dinamakan child.
  Bentuk eksekusi :
   Parent melanjutkan eksekusi beriringan dengan children
   Parent menunggu hingga beberapa atau seluruh children selesai
  Bentuk ruang alamat
   Child proses adalah duplikat dari parent proses
   Child proses telah memanggil program ke dirinya
Operasi Pada Proses : Terminasi

Sebuah proses berakhir ketika proses
tersebut selesai mengeksekusi pernyataan
akhirnya dan meminta sistem operasi untuk
menghapusnya dengan menggunakan sistem
pemanggilan exit.
Penjadwalan Proses
 Penjadwalan proses pada sistem operasi menggunakan prinsip
 multiprogramming, dengan cara mengalihkan kerja CPU untuk beberapa
 proses sehingga CPU akan semakin produktif.

 Konsep dasar dari multiprogramming adalah suatu proses menggunakan
 CPU sampai proses tersebut dalam keadaan status wait akan CPU
 mengailhkan ke proses lain pada saat proses sedang berjalan dalam
 keadaan wait.

 Algoritma Penjadwalan, menyangkut penentuan proses-proses yang ada
 dalam ready queue untuk mendapatkan jatah waktu menggunakan CPU
 Satuan membandingkan algoritma penjadwalan adalah AWT (Average Wait
 Time) yaitu Total waktu tunggu untuk semua proses dibagi dengan banyak
 proses.
Penjadwalan Proses
 Ada 4 keadaan pada penjadwalan proses oleh CPU yaitu :
 1. Pada saat proses berpindah dari keadaan running ke waiting
 2. Pada saat proses berpindah dari keadaan running ke ready
 3. Pada saat proses berpindah dari keadaan waiting ke ready
 4. Pada saat proses berhenti

 Non Preemptive menggunakan keadaan 1 dan 4 yang dimana jika proses sedang
 menggunakan CPU maka proses akan tetap membawa CPU sampai proses berhenti
 atau waiting sedangkan Preemptive menggunakan 2 dan 3 yang memiliki kelemahan
 yaitu biaya yang dibutuhkan sangat tinggi, jika proses ditinggalkan maka segera
 dikerjakan proses yang lainnya.

 Dispatcher adalah modul yang akan memberikan kontrol pada CPU terhadapa
 penyeleksian proses yang dilakukan selama short-term scheduling.
Penjadwalan Proses
 First-Come-First-Served Scheduling (FCFS)
 Proses yang pertama meminta jatah waktu untuk menggunakan CPU akan dilayani
 terlebih dahulu. AWT dari algoritma ini cukup besar.
 Contoh : ada 3 proses p1,p2,p3 yang meminta CPU sebagai berikut :
                               Gant Chart                 waktu tunggu tiap proses
 Proses   Burst Time (ms)
                                 P1          P2          P3          Proses   Burst Time (ms)
 P1       24
                                                                     P1       0
 P2       3
                            0           24        27        30       P2       24
 P3       3
                                                                     P3       27
 sehingga AWT = (0+24=27)/3 = 17 ms Gant cart
                                                   waktu tunggu tiap proses
     P3        P2               P1
                                                       Proses    Burst Time (ms)
 0        3         6                        30        P3        0
                                                       P2        3
                                                       P1        6
Penjadwalan Proses
 Shorttest job First Scheduler (SJF)
 Proses CPU burst paling kecil dilayani terlebih dahulu. Misalnya ada 4 proses sebagai berikut :
                              Gant Chart
  Proses Burst Time (ms)
  P1        6                    P4       P1           P3                     P2
  P2        8                  0      3          9           16                            24
  P3        7                  waktu tunggu tiap proses adalah
  P4        3
                                 Proses    Burst Time (ms)
                                 P1        3
                                 P2        16
                                 P3        9
                                 P4        0


 Sehingga AWT = (3+16+9+0)/4 = 7 ms
Penjadwalan Proses
 Priority Scheduling
 Algoritma SJF adalah suatu kasus khusus dari priority sheduling, tiap proses dilengkapi dengan
 prioritas. CPU dialokasikan untuk proses yang memiliki prioritas yang tinggi.
 Contoh ada 5 proses seperti berikut :
                                                Waktu Tunggu tiap proses
  Proses      Burst Time (ms) Prioritas
                                                 Proses Burst Time (ms)
  P1                 10             3
  P2                  1             1            P1         6
  P3                  2             3            P2         0
  P4                  1             4            P3         16
  P5                  5             2            P4         18
                                                 P5        1

     P2       P5                P1                    P3            P2
 0        1         6                          16              18        19

 Sehingga AWT = (6+0+16+18+1)/5 = 8.2 ms
Penjadwalan Proses
 Round Robin Scheduling, konsep dasar dari algoritma ini adalah dengan menggunakan time
 sharing serta quantum time untuk membatasi waktu proses. Jika suatu proses memiliki CPU
 burst lebih kecil dibandingkan quantum time, maka proses tersebut akan melepaskan CPU jika
 telah selesai kerja, sehingga CPU dapat segera digunakan oleh proses lainnya, sebaliknya jika
 proses memiliki CPU Burst yang lebih besar dibandingkan dengan quantum time, maka proses
 tersebut akan dihentikan sementara jika sudah mencapai quantum time dan selanjutnya
 mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses
 berikutnya. Ada 3 proses dimana quantum time adalah 4 ms

     Proses       Burst Time (ms)         Waktu tunggu tiap proses      Proses    Burst Time (ms)

     P1           24                                                    P1        0+(10-4)-6
     P2           3                                                     P2        4
     P3           3                                                     P3        7
                                     Gant chart

      P1          P2 P3         P1        P1        P1        P1        P1
 0            4        7   10        14        18        22        26        30

          AWT – (6+4+7)/3 = 5.66 ms
Managemen Memori

Konsep Von Neumann, yaitu agar proses dapat berjalan dengan efisien maka data
dan program harus disimpan dalam lokasi yang sama yaitu memori

                                    CPU


                               Memory Utama


                              Memory Sekunder

Syarat pengelolahan memory adalah
1. Relokasi, pengalokasian data dan program
2. Proteksi, Otoritas User terbatas pada wilayah SO
3. Sharing, kontrol Sharing area pada memori
4. Organisasi logika, penghubung antara user dengan
   hardware
5. Organisasi fisik, kontrol pada memory utama dan
   memory sekunder
Managemen Memori



                   Struktur memori yang terdiri dari :
      register     Register adalah pengalokasian alamat proses
                   Cache adalah perantara antara CPU dengan memory
      Cache        dalam transfer data
                   Memory Utama adalah media penyimpanan yang berisi
   Memori Utama
                   jutaan sel yang dimana masing-masing sel dapat
   Magnetic Disk
                   menyimpan binary bit yang nilai 0 dan 1
                   Magnetic Disk dan magnet tipe merupakan piranti
   Magnetic Tipe   penyimpanan sekunder
Pengalokasian Memory
 Konsep Binding, merupakan proses penempatan suatu item ke dalam lokasi memori
 Dynamic Loading adalah proses pengambilan dari bagian program user pada memory
 Dynamic Linking adalah proses pengambilan program user yang dimana mendukung
 program user lainnya yang dimana memerlukan campur tangan sistem operasi

 Ruang Alamat Logika dan Fisik
 Alamat logika adalah alamat yang diturunkan oleh CPU sedangkan alamat yang terdapat
 dalam memori adalah alamat fisik. Gambaran Relokasi alamat logika dan Fisik


           Alamat Logika
                           Register
   CPU                     relokasi                      Memory
                                      Alamat Logika      utama
Pengalokasian Memory
 Swapping, proses dapat dialihkan sementara dari memori ke suatu tempat
 penyimpanan, dan dipanggil kembali ke memory jika akan melanjutkan eksekusi



                   1 Swap Out

                                               P1


                                                          P2
                  2 Swap In
Pengalokasian Memory

 Pencatatan pemakaian,memori,bertujuan agar dapat diketahui lokasi-lokasi mana
 saja di memory utama yang masih kosong dan yang sudah terisi. Ada 2 cara
 pencatatan pemakaian memori yaitu dengan menggunakan peta bit dan linked list

 Peta Bit (Bit Map), dengan metode peta bit, memori dibagi menjadi beberapa alokasi
 unit, yang mana tiap unit bisa terdiri dari beberapa word atau bahkan beberapa
 kilobyte. Tiap unit berhubungan dengan 1 bit yaitu akan berisi bit 0 jika unit kosong
 dan berisi 1 jika unit telah berisi.

 Linked list, tiap node terdiri atas : informasi yang menyatakan adanya proses (P) atau
 hole (H), lokasi awal, dan panjang lokasi. Memori yang dipergunakan pada metode ini
 lebih kecil jika dibandingkan dengan peta bit, tidak perlu perhitungan blok lubang
 memori yang sudah tercatat di node.
Pengalokasian memori

  A             B        C              D       E


                             a. Pemetaan bit
  11111OOO

  b. Pengisian blok            P 26 3               H 29          3


                      Proses   Mulai      Panjang          Hole

                               c. Linked List
Pengalokasian Memory
 Monoprogramming, pengalokasian memory ke suatu proses akan berjalan relati
 sederhana karena pada setiap saat hanya ada satu proses yang akan menggunakan
 semua memory. Ada 3 cara alokasi memory untuk monoprogramming seperti berikut


           SO di RAM                          SO di RAM




                           User Program     User program
          User Program       Di RAM           Di RAM
             Di RAM


                                             Device Driver
                            SO di ROM
                                               di ROM
Pengalokasian Memory

  Multiprogramming dengan Partisi Statis dilakukan dengan cara membagi memori
  menjadi beberapa partisi dengan ukuran tetap. Tiap-tiap partisi digunakan oleh satu
  proses, jika proses tersebut selesai maka lokasi partisi tersebut akan digunakan oleh
  proses yang lain.

      Sistem                         Sistem                                      Sistem
      Operasi                        Operasi                                     Operasi

       Partisi 1              P1     Partisi 1                                   Partisi 1
      256 Kbye                       100Kbye                                     100Kbye

       Partisi 2         P1   P2     Partisi 2      P3      P2      1             Partisi 2
      256 Kbye                      250 Kbye                                     250 Kbye

       Partisi 3                     Partisi 3                                    Partisi 3
      256 Kbye                      356 Kbye                                     356 Kbye

 a. Multiprogramming               b. Multiprogramming           c. Multiprogramming dgn partisi statis
    dgn partisi statis                dgn partisi statis            ukuran yang berbeda & banyak
    ukuran yang sama                  ukuran yang berbeda           antrian tunggal
                                      & banyak antrian
Pengalokasian Memory
 Multiprogramming dengan Partisi Dinamis
 Konsep multiprogramming dengan partisi dinamis adalah konsep yang dimana partisi
 baru akan dibuat setelah suatu proses masuk ke memori utama sehingga diharapkan
 utilitis CPU akan semakin bertambah.

 Sistem Buddy merupakan cara mengelola memori utama dengan memanfaatkan
 kelebihan penggunaan bilangan biner. Contoh memori utama pada awalnya memiliki
 satu lubang berukuran 1 MB jika proses A berukuran 90 KB memasuki memori, maka
 permintaan 90 KB akan dialokasikan ke lokasi terdekat yang memuat yaitu 128 KB.
 Karena tidak tersedia blok ukuran 128 maka blok 1 MB dipecah menjadi 2 blok yaitu
 512 KB dan dipecah lagi menjadi 256 dan dipecah lagi menjadi 128 maka proses A
 akan ditempatkan pada lubang 128 dan akan menyisakan 38 hal ini disebut dengan
 internal fragmentation.
Pengalokasian Memory
 Paging merupakan teknik pengalokasian tak berurutan yang dimana alamat logika
 dan alamat fisik dibagi menjadi beberapa blok. Dimana frame merupakan blok yang
 dibagi pada memori fisik (alamat fisik) sedangkan page merupakan blok yang dibagi
 pada memori logika (alamat logika). Page table berisi base address untuk tiap page.



    CPU       P     d                        f    d
                                             0    -
              Page -0                        1   P-0
              Page -1                        2    -                       Memori fisik
              Page -2                        3   P-2
              Page -3        Page table      4   P-1
                                             5    -
                              P     f        6    -
        P = nomor page        0     1                   f = nomor frame
                                             7   P-3    d = page offset
        d = page offset       1     4
                              2     3
                              3     7
VIRTUAL MEMORI
 Virtual Memori adalah teknk yang mengijinkan bahwa eksekusi proses-proses
 mungkin tidak selalu lengkap ada di memori utama. Keuntungan virtual memori
 adalah pemrogram dapat memprogram lebih besar dari ukuran memori fisik.Virtual
 memori merupakan bagian dari user logical memori dari memori fisik


      Page-0
      Page-1              -                -
      Page-2              -                -
      Page-3              -                -
        -
        -                 -                -
        -                 -                -
        -                 -                -
        -
        -

     Virtual memori   Peta memori      Memori fisik
                                                             Memori sekunder

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:1054
posted:1/1/2011
language:Indonesian
pages:33