modul_so-1

30
A B F D G F D G A B Diktat Kuliah Sistem Operasi Penjadwalan Sistem Interaktif Penjadwalan Round-Robin - Setiap proses diberi interval waktu, disebut quantum, waktu untuk run. - Pertukaran penggunaan CPU dari satu proses ke proses berikutnya membutuhkan waktu untuk tugas administrasi, yaitu : - saving dan loading registers dan memory map, updating beberapa tabel dan list, dll. Proses pertukaran ini disebut process-switch atau context-switch. Current Next process process Current process 1. Penjadwalan Prioritas - Proses dengan prioritas tertinggi di run terlebih dulu. - Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas, maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run. - Penjadwalan prioritas di lakukan dalam kelas-kelas. Queue headers Highest Priority Lowest Priority Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair-Share Scheduling Teknik Informatika Unindra Versi 1.0 1 priority 4 priority 3 priority 2 priority 1 Runable processes

Upload: ziy-culun

Post on 24-Jun-2015

350 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Modul_SO-1

AB F D G

F D G A B

Diktat Kuliah Sistem Operasi

Penjadwalan Sistem Interaktif

Penjadwalan Round-Robin- Setiap proses diberi interval waktu, disebut quantum, waktu untuk run.- Pertukaran penggunaan CPU dari satu proses ke proses berikutnya

membutuhkan waktu untuk tugas administrasi, yaitu :- saving dan loading registers dan memory map, updating

beberapa tabel dan list, dll.

Proses pertukaran ini disebut process-switch atau context-switch.

Current Next processprocess

Currentprocess

1. Penjadwalan Prioritas- Proses dengan prioritas tertinggi di run terlebih dulu.- Untuk mencegah proses dengan prioritas tertinggi di run tanpa batas,

maka digunakan clock-interrupt untuk menurunkan prioritas proses yang sedang run.

- Penjadwalan prioritas di lakukan dalam kelas-kelas.

Queue headers

Highest Priority

Lowest Priority

Shortest Process Next Guaranteed Scheduling Lottery Scheduling Fair-Share Scheduling

Teknik Informatika Unindra Versi 1.0

1

priority 4

priority 3

priority 2

priority 1

Runable processes

Page 2: Modul_SO-1

Diktat Kuliah Sistem Operasi

Penjadwalan Sistem Real-Time- m periodic events.- event i terjadi dalam periode Pi dan membutuhkan Ci detik.

Policy Versus Mechanism- Pemisahan antara Mekanisme dan Policy.

Penjadwalan Thread

(a)

Kemungkinan penjadwalan User-Level Threadsdengan proses quantum 50-msec dan thread run 5-msec per CPU burst.

(b)

Kemungkinan penjadwalan Kernel-Level Threads dengan karakteristik yang sama seperti (a).

Teknik Informatika Unindra Versi 1.0

2

1

1m

i

i i

C

P=

≤∑

Page 3: Modul_SO-1

Diktat Kuliah Sistem Operasi

DEADLOCK

Situasi Deadlock terjadi, jika:- Proses diberi akses eksklusif ke device.- Device ini juga disebut resource/ sumber daya.- Contoh: dua proses hendak merekam dokumen yang di scan kedalam sebuah

CD.Resources- Preemptable.- Non Preemptable.

Urutan langkah untuk menggunakan resource:1. Request resource2. Use resource3. Release resource

Perolehan Resource- menggunakan semaphore untuk setiap resource

Syarat Kondisi Deadlock :1. Kondisi mutual exclusion2. Kondisi hold and wait3. Kondisi No Preemption4. Kondisi circular wait

Pemodelan Deadlock- Model Holt ( 1972 )

(a) Proses A menggunakan resource R.(b) Proses B meminta/menunggu resource S.(c) Deadlock, proses C dan D meminta resource T dan U.

Strategi untuk menghadapi Deadlock :1. Ignore ( abaikan )2. Detection and Recovery3. Dynamic avoidance, dengan cara mengalokasikan resource secara berhati - hati4. Prevention, dengan cara menghilangkan salah satu kondisi Deadlock

Teknik Informatika Unindra Versi 1.0

3

A B C

Page 4: Modul_SO-1

Diktat Kuliah Sistem Operasi

⇒ Algoritma Ostrich- “Stick your head in the sand and pretend there is no problem at all”

(menganggap tidak ada masalah).- Layak, jika:

- deadlock jarang terjadi- biaya pencegahan (prevention) sangat mahal.

• Deteksi Deadlock dan Pemulihan (Deadlock Detection and Recovery)

• Deteksi deadlock dengan satu resource untuk setiap jenis.

- Contoh: sebuah sistem dengan 7 proses (A – G) dan 6 resource (R – W), dengan status pemilikan dan permintaan resource sbb :

1. A holds R, wants S2. B holds nothing, wants T3. C holds nothing, wants S4. D holds U, wants S and T5. E holds T, wants S and T6. F holds W, wants S7. G holds V, wants U

Teknik Informatika Unindra Versi 1.0

4

Page 5: Modul_SO-1

Diktat Kuliah Sistem Operasi

- Algoritma pendeteksian siklus (cycle)Tanda panah akan diberi tanda untuk mengetahui sudah dilewati dan menggunakan struktur data, L, daftar simpul:

1. Untuk setiap simpul / node, N dalam graph, kerjakan 5 langkah berikut dengan N sebagai simpul awal.

2. Inisialisasi L menjadi daftar kosong, dan semua tanda panah belum di-tandai.

3. Tambahkan simpul yang dikunjungi ke daftar L dan periksa apakah simpul muncul dua kali dalam daftar L. Jika ya, maka dalam graph terdapat siklus dan algoritma selesai.

4. Dari simpul yang sudah anda tentukan, ikuti jika ada tanda panah keluar yang belum di-tandai. Jika ada, kerjakan langkah 5; jika tidak kerjakan langkah 6.

5. Pilih sebuah tanda panah keluar secara acak dan beri tanda. Kemudian ikuti ke simpul berikutnya dan kerjakan langkah 3.

6. Kita sampai ke jalan buntu. Kembali ke simpul sebelumnya dan kerjakan langkah 3. Jika simpul ini adalah simpul awal maka graph tidak terdapat siklus dan algoritma selesai.

• Deteksi deadlock dengan banyak resource untuk setiap jenis- Existing resource vector

- Available resource vector- Current allocation matrix- Request matrix

Teknik Informatika Unindra Versi 1.0

5

Page 6: Modul_SO-1

Diktat Kuliah Sistem Operasi

Empat struktur data yang diperlukan untuk algoritma deteksi deadlock

Algoritma deteksi deadlock sbb:

1. Cari proses Pi yang belum di-tandai, dimana baris ke-i mempunyai R ≤ A.

2. Jika proses yang dicari ditemukan, tambahkan C dari baris ke-i ke A, tandai proses dan kembali ke langkah 1.

3. Jika proses yang dicari tidak ada, algoritma selesai.

Contoh:

Teknik Informatika Unindra Versi 1.0

6

Page 7: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Pemulihan dari DeadlockJika deadlock terjadi, apa yang harus dilakukan agar sistem bekerja kembali?

- Pemulihan melalui preemption- Pemulihan melalui rollback- Pemulihan melalui killing process

Menghindari Deadlock (Deadlock Avoidance)

Lintasan Resource (Resource Trajectories)- Algoritma untuk menghindari deadlock bekerja berdasarkan “status aman” (safe

state).- Contoh: Lintasan resource yang terdiri dari dua proses dan dua resource.

⇒ Status Aman dan Tidak Aman

- Contoh status (a) adalah aman, dimana terdapat total 10 buah resource.

HAS MAX HAS MAXA 3 9 A 3 9B 2 4 B 4 4C 2 7 C 2 7

Free : 3 Free : 1(a) (b)

Teknik Informatika Unindra Versi 1.0

7

Page 8: Modul_SO-1

Diktat Kuliah Sistem Operasi

HAS MAX HAS MAXA 3 9 A 3 9B 0 - B 0 -C 2 7 C 7 7

Free : 5 Free : 0(c) (d)

HAS MAXA 3 9B 0 -C 0 -

Free : 7(e)

- Status (b) adalah tidak aman.

HAS MAX HAS MAXA 3 9 A 4 9B 2 4 B 2 4C 2 7 C 2 7

Free:3 Free:2(a) (b)

HAS MAX HAS MAXA 4 9 A 4 9B 4 4 B - -C 2 7 C 2 7

Free:0 Free:4(c) (d)

⇒ Algoritma Banker untuk satu jenis resource

HAS MAX HAS MAXA 0 6 A 1 6B 0 5 B 1 5C 0 4 C 2 4D 0 7 D 4 7

Free : 10 Free : 2(a) (b)

HAS MAXA 1 6B 2 5C 2 4D 4 7

Free : 1(c)

Teknik Informatika Unindra Versi 1.0

8

Page 9: Modul_SO-1

Diktat Kuliah Sistem Operasi

⇒ Algoritma Banker dengan banyak jenis resource

Process

Tape Drive

Plotters

Printers

CD ROM

Process

Tape Drive

Plotters

Printers

CD ROM

A 3 0 1 1 A 1 1 0 0B 0 1 0 0 B 0 1 1 2C 1 1 1 0 C 3 1 0 0D 1 1 0 1 D 0 0 1 0E 0 0 0 0 E 2 1 1 0

resources assigned resources still needed

E = ( 6342 )P = ( 5322 )A = ( 1020 )

Pencegahan Deadlock (Deadlock Prevention)

⇒ Menghilangkan kondisi mutual exclusion- Printer dapat di-spool.- Tidak semua alat dapat di-spool.- Prinsip:

- Hindari pemberian resource yang tidak perlu.- Proses yang meng-claim resource diusahakan seminimal mungkin.

⇒ Menghilangkan kondisi hold dan wait- Proses mendapat semua resource-nya sebelum di-run.- Masalah:

- Proses tidak mengetahui kebutuhannya.- Penggunaan resource yang tidak optimal.

⇒ Menghilangkan kondisi no preemption- tidak dapat dilakukan.- Contoh: printer tidak dapat diambil dengan paksa saat sedang bekerja.

⇒ Menghilangkan kondisi circular wait- Menentukan aturan, satu proses hanya dapat menggunakan satu resource

(masalah: tidak dapat diterima semua proses).- Memberikan nomor dan meng-urutkan semua resource serta menetapkan aturan

dalam meminta resource.

Teknik Informatika Unindra Versi 1.0

9

Page 10: Modul_SO-1

Diktat Kuliah Sistem Operasi

Isu-isu lain dalam Deadlock:

- Two phase lockingPhase satu: - proses melakukan lock pada data yang akan digunakan.

Phase dua:- data di-update.- lock dilepaskan.

- Non-resource DeadlockDeadlock juga dapat terjadi jika kita menuliskan urutan yang salah dalam operasi “down” untuk dua semaphore.

- StarvationMemilih algoritma alokasi resource yang tidak menyebabkan starvation. Algoritma FCFS menghindari terjadinya starvation.

Teknik Informatika Unindra Versi 1.0

10

Page 11: Modul_SO-1

Diktat Kuliah Sistem Operasi

Pengaturan Memori (Memory Management)

1. Teknik Dasar Pengaturan Memori

2. Swapping

3. Virtual memory

4. Page Replacement Algorithms

5. Modeling Page Replacement Algorithms

6. Isu Perancangan untuk Sistem Paging

7. Isu Implementasi

8. Segmentation

1. Teknik Dasar Pengaturan Memori

• Monoprogramming tanpa Swapping atau Paging

Tiga Cara Pengorganisasian Memori denganSistem Operasi dan Satu Proses Pemakai

Teknik Informatika Unindra Versi 1.0

11

Page 12: Modul_SO-1

Diktat Kuliah Sistem Operasi

Tiga Cara Pengorganisasian Memori dengan Sistem Operasi dan Satu Proses Pemakai

• Multiprogramming dengan Fixed Partitions

• Modeling Multiprogramming• Utilisasi CPU = 1 - pn

Degree of multiprogramming

Teknik Informatika Unindra Versi 1.0

12

Page 13: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Analisa Unjuk Kinerja Sistem Multiprogramming

• Job 1 – 4 : 80 % I/O Wait

• Relokasi dan Proteksi• Relokasi:

o Address o User-Written Procedureso Library Procedureso Contoh Masalah

• Proteksi:o Contoh Masalah

• Solusi:o Base Register o Limit Register

Teknik Informatika Unindra Versi 1.0

13

Page 14: Modul_SO-1

Diktat Kuliah Sistem Operasi

Swapping

Pengaturan Memori dengan Bitmaps dan Link Lists

Teknik Informatika Unindra Versi 1.0

14

Page 15: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Kombinasi Posisi Proses dan Holes

Algoritma Pengalokasian Memori• First Fit• Next Fit• Best Fit• Worst Fit• Quick Fit

2. Virtual Memori• Paging• Memory Management Unit (MMU)

Teknik Informatika Unindra Versi 1.0

15

Page 16: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Page Table• Virtual Memory Address• Physical Memory Address

TLBs – Translation Lookaside Buffer

• Inverted Page Table

Teknik Informatika Unindra Versi 1.0

16

Page 17: Modul_SO-1

Diktat Kuliah Sistem Operasi

Page Replacement Algorithms• Page Fault• Pemilihan Page• Pertukaran Page• Contoh Permasalahan

Optimal Page Replacement Algorithm

• Memilih Page yang berada pada posisi terjauh• Optimal tetapi tidak mungkin di implementasi

Not recently Used Page Replacement Algorithm• Reference Bit• Modified Bit• Klasifikasi Page• Random

FIFO Page Replacement Algoritma• Membuat Daftar Page sesuai urutan masuk • Memilih Page yang Pertama Masuk• Terjadi Kelemahan

Second Chance Page Replacement Algorithm • FIFO Order• R Bit

Teknik Informatika Unindra Versi 1.0

17

Page 18: Modul_SO-1

Diktat Kuliah Sistem Operasi

The Clock Page Replacement Algorithm

Teknik Informatika Unindra Versi 1.0

18

Page 19: Modul_SO-1

Diktat Kuliah Sistem Operasi

Least Recently Used (LRU) Page Replacement Algorithm

• Memilih Page yang Paling Lama Tidak Terpakai• Membuat Daftar Page• Update Page

LRU using a matrix – pages referenced in order0,1,2,3,2,1,0,3,2,3

Simulating LRU in Software

• The aging algorithm simulates LRU in software• Note 6 pages for 5 clock ticks, (a) – (e)

Teknik Informatika Unindra Versi 1.0

19

Page 20: Modul_SO-1

Diktat Kuliah Sistem Operasi

The Working Set Page Replacement Algorithm

• The aging algorithm simulates LRU in software• Note 6 pages for 5 clock ticks, (a) – (e)

The working set algorithm

Teknik Informatika Unindra Versi 1.0

20

Page 21: Modul_SO-1

Diktat Kuliah Sistem Operasi

The WSClock Page Replacement Algorithm

The working set algorithm

Review Page Replacement Algorithm

Algorithm Comment

1. Optimal Tidak dapat diimplementasi tetapi berguna sebagai Benchmark

2. NRU Tidak optimal

3. FIFO Sering mengganti Page yang penting

4. Second Chance Modifikasi dari FIFO

5. Clock Realistis

6. LRU Bagus tetapi sulit untuk diimplementasi

7. Aging Efisien dalam mengimplementasi LRU

8. Working Set Mahal untuk diimplementasi

9. WSClock Cukup Efisien

Teknik Informatika Unindra Versi 1.0

21

Page 22: Modul_SO-1

Diktat Kuliah Sistem Operasi

Modeling Page Replacement Algorithms

• Belady’s Anomalyo Reference Pages: 0 1 2 3 0 1 4 0 1 2 3 4

• FIFO with 3 page frames• FIFO with 4 page frames• P's show which page references show page faults

• Stacks Algorithms• Reference String terdiri dari 4 Pages:

0 2 1 3 5 4 6 3 7 4 7 3 3 5 5 3 1 1 1 7 2 3 4 1

7 4 6 5

Teknik Informatika Unindra Versi 1.0

22

Page 23: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Distance String

Probability density functions for two hypothetical distance strings

• Memprediksi Page Fault Rates

• Computation of page fault rate from distance string– the C vector– the F vector

Isu Perancangan untuk Sistem Paging• Local Vs Global Allocation Policies

• Original configuration• Local page replacement• Global page replacement

Teknik Informatika Unindra Versi 1.0

23

Page 24: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Page Fault Rates

Page fault rate as a function of the number of page frames assigned

• Besar Pageo Overhead = se/p + p/2o –se/p2 + ½ = 0o p = √ (2se)

Isu Implementasi

10 Tahap Page Fault Handling Locking Pages in Memory Backing Store

(a) Paging to static swap area(b) Backing up pages dynamically

Teknik Informatika Unindra Versi 1.0

24

Page 25: Modul_SO-1

Diktat Kuliah Sistem Operasi

Segmentation

• One-dimensional address space with growing tables• One table may bump into another

Allows each table to grow or shrink, independently

I• Implementasi Pure Segmentation

(a)-(d) Development of checkerboarding(e) Removal of the checkerboarding by compaction

Teknik Informatika Unindra Versi 1.0

25

Page 26: Modul_SO-1

Diktat Kuliah Sistem Operasi

• Segmentation with Paging: MULTICS

• Descriptor segment points to page tables• Segment descriptor – numbers are field lengths

• Segmentation with Paging: The Intel Pentium

• Pentium code segment descriptor• Data segments differ slightly

Teknik Informatika Unindra Versi 1.0

26

Page 27: Modul_SO-1

Diktat Kuliah Sistem Operasi

INPUT / OUTPUT

Salah satu fungsi dari Sistem Operasi adalah mengendalikan seluruh peralatan input/output komputer. Sistem operasi melakukan interupsi, menangani error, dan memberi instruksi ke peralatan I/O.

Beberapa pokok bahasan tentang input / output antara lain :• Prinsip perangkat keras I/O • Prinsip perangkat lunak I/O • Layer perangkat lunak I/O • Clock• Disk• Character Oriented Terminal• Graphic User Interfaces• Network Terminals • Power Management

PRINSIP PERANGKAT KERAS INPUT / OUTPUT

Peralatan Input/Output (I/O DEVICES)Dua jenis Peralatan I/O :♦ Block devices

Data dikirim atau diterima dalam bentuk Block ( Disk, Pita magnetik). Peralatan ini menyimpan informasi dalam Block yang berukuran tetap, dan setiap block memiliki alamat sendiri.

♦ Character devices Data dikirim atau diterima dalam bentuk karakter ( Seperti : Line printer, Pita kertas, Punched card, Mouse, Network interface, dsb). Data pada peralatan ini tidak memiliki alamat, juga tidak ada operasi seek terhadap data.

Teknik Informatika Unindra Versi 1.0

27

Page 28: Modul_SO-1

Diktat Kuliah Sistem Operasi

DEVICE CONTROLLER

Komponen yang membentuk I/O Device• Komponen mekanis• Komponen Elektronik

Device Controller (adapter) adalah komponen elektronik, yang dapat menangani beberapa peralatan yang sejenis.Tugas Controller• Konversi rangakian bit serial menjadi Block data• Koreksi Error jika diperlukan• Menyediakan data di memory utama

MEMORY-MAPPED I/O

(a). Separate I/O and memory space(b). Memory Mapped I/O(c). Hybrid

Single–bus Architecture Dual–bus memory Architecture

Teknik Informatika Unindra Versi 1.0

28

Page 29: Modul_SO-1

Diktat Kuliah Sistem Operasi

DIRECT MEMORY ACCESS (DMA)

Cara kerja DMA :• Controller membaca block data dari drive secara serial, bit per bit, hingga block

tersebut berada dalam buffer internal dari controller• Dilakukan perhitungan checksum untuk verifikasi bahwa tidak terjadi kesalahan

pembacaan• Controller melakukan transfer data byte per byte dari buffer controller ke memory

dengan menaikkan nilai address dan mengurangi nilai count dengan 1• Controller menyebabkan interupsi• Pada saat Sistem Operasi mulai running, ia dapat langsung membaca data dari

memory, tanpa harus mengeksekusi loop untuk membaca dari buffer controller

Operation of a DMA transfer

INTERRUPT REVISITED

Interupsi terjadi dengan koneksi antara peralatan I/O dengan Interrupt controller menngunakan interrupt line di bus, dan bukan dedicated wires

Teknik Informatika Unindra Versi 1.0

29

Page 30: Modul_SO-1

Diktat Kuliah Sistem Operasi

Teknik Informatika Unindra Versi 1.0

30