Showing posts with label OS. Show all posts
Showing posts with label OS. Show all posts

Thursday, January 07, 2016

Sistem Operasi - Latihan Soal dan Kunci Jawaban

1. Diketahui 32 bit virtual address dibagi menjadi 4 segmen sbb:
Berapa memori yang dibutuhkan untuk page table jika ada 1 proses dengan ukuran 256 KB yang mulai dari alamat 0, dengan PTE (Page Table Entry) = 2 byte.

2. Diketahui 61 bit virtual address, page size 1 KB, RAM 64 KB, PTE 2 byte. Berapa memori yang diperlukan untuk page table jika digunakan:
a. Standard Page Table
b. Inverted page table

3. Diketahui:
Tentukan nomor segment dari alamat-alamat sbb:
a) 649
b) 2310
c) 1727

4. (Soal sama dengan no. 1), diketahui:

5. Apa dampaknya jika ukuran page besar?

KUNCI JAWABAN
1. (1024 + 256 + (64*16)) *2 = ... byte

2. a. ( 2^61/ 2^10 ) * 2^1 = 2^51 * 2^1 = 2^52
    b. 64K/1K = 64 PTE = 128 byte

3. a) 0
    b) 1
    c) 3

5. - Jika dibuat bsr, jml pagenya berkurang, akan memperkecil jumlah page table, sehingga memori yg dipakai berkurang.
    - Akan terjd fragmentasi internal
    - Jika trjd pg fault maka proses utk swap out dan swap in mjd lebih lambat krn ukurannya bsr.

(Mau tau cara pengerjaannya? GO PREMIUM ! (?))
**LOL JK kerjain sendiri yaa. tanya" aja kalo gatau

JAWABAN DISK ARM SCHEDULING ALGORITHM


Tuesday, January 05, 2016

Sistem Operasi - Hard Disk

Teori yang lain coba pelajari sendiri ya, disini cuma bkl dibahas mengenai perhitungan:
DISK ARM SCHEDULING ALGORITHM

3 Faktor yang mendorong kecepatan:
- Seek Time: waktu yang dibutuhkan oleh head untuk berpindah dari satu track ke track lain
- Rotation Delay: semakin cepat rotation per meter (Rpm) semakin cepat transfer
- Actual transfer time

Algoritma dlm disk arm scheduling:
1. FCFS -> First Come First Served
2. SSF/SSTF -> Shortest Seek First / Shortest Seek Time First
3. Elevator (Scan)

Contoh soal:
Diketahui disk dengan 40 silinder (0-39). Pada saat sedang membaca silinder 11, ada permintaan untuk membaca silinder: 1, 36, 16, 34, 9, 12.
Hitung total silinder yang dilalui oleh head menggunakan algoritma:
a. FCFS
b. SSF
c. Elevator

Hint:
FCFS = sesuai urutan
SSF = mencari permintaan terdekat dgn posisi skrg
Elevator = meniru algoritma LIFT

Butuh dishare jawabannya? hehe

Monday, January 04, 2016

Sistem Operasi - Modelling Page Replacement Algo.

Belady's Anomaly -> suatu gejala dimana dgn menambah memori (page frame), ada kemungkinan jumlah page faultnya bertambah.
Ditemukan di Algo. FIFO

Stack Algorithm
-> Memori dari M(m, r) akan menjadi subset dari M(m+1, r)
-> Suatu algoritma yang memiliki stack algorithm tidak akan mengalami Belady's Anomaly

Memprediksi Page Fault Rates
yah intinya gini aja sih. biasa di soal dikasih reference string dan ditanya page faultnya bakal ada berapa kalo page frame nya sekiansekian
nah dari contoh diatas page frame nya ada 4 (0-3)
awalnya kerjain aja kyk biasa, kl diatas sih pake cara FIFO
nah disini ada yg beda yaitu distance string.
Distance string adalah jarak dr angka yg ditemukan dari tempat awalnya (?)
contoh misalkan kolom 9, dia cari 3 dan 3 ada di page frame. nah si 3 ini naik berapa kotak keatas supaya bs jd plg atas (tapi kotak awal posisi dia diitung jg) jd hasilnya 4.
Setelah dapet distance string, kita bisa tau C vector nya. C vector adalah jumlah distance string nya.
C vector utk cth diatas:
C1 = 0
C2 = 1
C3 = 1
C4 = 2
C5 = 0
C6 = 0
C7 = 0
C8 = 0
C~ = 8

Dari C vector yg sudah diketahui kita bisa tau F vector. F vector adalah jumlah page fault yang akan terjadi bila memiliki page frame sebesar F.
F vector utk cth diatas adalah:
F1 = C2 + C3 + C4 + C5 + C6 + C7 + C8 + C~ = 12
F2 = C3 + C4 + C5 + C6 + C7 + C8 + C~ = 11
F3 = C4 + C5 + C6 + C7 + C8 + C~ = 10
F4 = C5 + C6 + C7 + C8 + C~ = 8
F5 = C6 + C7 + C8 + C~ = 8
F6 = C7 + C8 + C~ = 8
F7 = C8 + C~ = 8

Maksudnya adalah kalo misalkan jumlah page frame nya ada 1 (F1), maka akan terjadi 12 page fault. Dan seterusnya :)

Memory Management
-> Sistem Paging, tujuan: agar bs menjalankan program yang besar pada physical memory yg kecil
-> Segmentasi: pengalamatan 2 dimensi
     Tujuan: untuk memudahkan pembuat program. Kenapa? karena biaya membuat software lebih besar dari biaya membuat hardware

Struktur file:
- Byte Sequence: file disimpan dan ditulis per byte
- Record sequence: isinya structure (1 record)
- Tree

Tipe file:
- Executable File: file yg berisi instruksi" yang dimengerti CPU
- Archive File: file yg digunakan utk menyimpan informasi (teks, gambar, video)

Pengaksesan File (pernah keluar di ujian!)
- Sequential Access: pengaksesan selalu dimulai dari awal dan pengakses berikutnya dilakukan secara berurutan. cth: linked list
- Random access: pengaksesan dilakukan secara acak. cth: array
- Direct Access, cth: hash table (array of linked list)

Sistem Operasi - Page Replacement Algorithm

Ada bbrp algo:
*) Optimal
*) FIFO
*) LRU
*) Second Chance
*) Clock
dll

Reference string: urutan sequence dr virtual page number pada saat program dieksekusi (biasa diket di soal)

cth soal:
diket ref. string: 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
dijalankan pada komputer dgn 3 page frame
berapa kali terjadi page fault jika digunakan algoritma:
a) Optimal
b) FIFO
c) LRU
d) clock

Kelemahan FIFO: kemungkinan program yang masin digunakan sdh dibuang karena pertama kali dikeluarkan
Diperbaiki menjadi second chance -> setiap page diberi R-bit, menggunakan linked list
Algoritma:
If R = 0 then Replace
If R = 1 then R = 0, cari page berikutnya sampe ketemu yg R = 0
Perbaikan FIFO dpt jg berupa clock.

Perbedaan clock dan second chance ?
(Comment dibawah kalo ada yg tau yaa wkwkwk)


Sistem Operasi - Memory Management (Lanjutan)

Swapping (Harddisk -> Backing Store)

Program terdiri dari 3 bagian:
- Code -> tdk prnh berubah
- Data -> bs bertambah/kurang
- Stack -> bs bertambah/kurang

Pemantauan Memori -> agar dpt dgn cepat tau dimana memori dapat digunakan
Menggunakan bitmap dan linked list
Bitmap -> 1 blok memori dipantau dgn 1 bit. 0 = kosong, 1 = berisi
-> ukuran tetap
-> lambat
Linked List -> simpul" yang terkait
Dalam sebuah LL min. ada 2 field: data dan next.


Dari cth diatas, Linked List nya:

P 0 3 -> program dari 0 - 3 (offset 3)
H 3 2 -> Hole dari 3 offset 2
dst.

Contoh Soal!
Diket memori 1 GB
1 blok memori = 1KB
Besar memori yang dihabiskan utk pemantauan dgn bitmap?

Virtual Memory dan Physical Memory
Bila program memerlukan memori yang lebih besar dari besar physical memory yang tersedia, maka digunakan VIRTUAL MEMORY.
Virtual Memory -> menentukan seberapa bsr program yang dapat dieksekusi oleh CPU.

cth: program counter
bila PC hanya ada 2 bit maka hanya dapat mengeksekusi 2^2 program, yaitu dari 00 - 11.

Contoh soal:

Berdasarkan tabel diatas, Hitung physical address bila virtual address nya:
a) 2000
b) 5000
c) 10000
d) 35000


JAWABAN LATIHAN
a) First fit
    90        417               212
   100      500     200     300    600
    10        83                   88             (offset)
b) Next Fit
                 417               212     90
    100      500     200     300    600
                 83                 88      510

c) Best Fit
     90       417                212
    100      500     200     300    600
    10        83                   88        

d) Worst Fit
(gw blm tau jwbnnya, nnti diupdate yaa)

Pemantauan bitmap
1 GB/ 1KB = 2^20 blok memori
2^20 bit = 2^20/2^3 byte = 2^17 byte
2^17 byte = 128 KB :)

Menghitung physical address
a) 10192
b) 5000
c) 26384
d) Page Fault

Sistem Operasi - Memory Management

Memori dibagi menjadi 2:
*) No Memory Abstraction -> langsung mengakses ke physical memory
    Umumnya digunakan pada:
    - Komp. mainframe awal (sblm 2960)
    - Minicomputer (sblm 1970)
    - PC awal (sblm 1980)
*) Memory Abstraction

Contoh dlm gambar:

No memory abstraction dapat menjalankan bbrp program dalam waktu bersamaan. Proses di switch dengan swap.

RELOKASI: penyesuaian alamat program pada saat dipindah ke RAM
Relokasi ada 2:
- Jump Absolute
- Jump Relative -> tergantung posisinya

Analogi:
Fixed partition: kelas ada banyak, tapi jumlah bangku di masing" kelas 40.
Dynamic partition: seminar di FH, bangku yg dipake disesuaikan.

Multiple Input Queue:
+ Besarnya job" disesuaikan dengan besarnya partisi, menghemat memori
- Ada kemungkinan partisi yang kosong

Single Input Queue:
+ Tidak ada partisi yang kosong
- Ada kemungkinan job kecil dimasukkan ke partisi yang besar

Analogi fixed dan dyamic partition dlm bahasa C:
Fixed: array, cth int x[100];
Dynamic: linked list, cth:
  int *ptr;
  ptr = (int *) malloc (sizeof(int));
  free(ptr);

Dynamic Partition
Fragmentation
  -> Internal: sisa memory tdk dapat digunakan
  -> eksternal: sisa memory (hole) msh dpt digunakan
*HOLE: free space dr hsl fragmentasi

Algoritma Pengalokasian Memori:
- First Fit: yang paling pertama muat yang dimasukkin
- Next Fit
- Best fit: cari tempat yang kalo dimasukin, sisa free spacenya paling kecil
- Worst fit: kebalikan best fit

Contoh Soal!!
Diketahui hole dengan urutan sbb: 100KB, 500KB, 200KB, 300KB, 600KB
Jika ada 3 proses dgn urutan sbb: 417KB, 212KB dan 90KB
Tentukan hole" mana yg akan dialokasikan jika digunakan algo:
a) First Fit
b) Next Fit
c) Best Fit
d) Worst Fit

(Jawaban di post selanjutnya. Stay tuned! (?))

Tuesday, October 20, 2015

Ringkasan Sistem Operasi - Materi UTS (2)

Monitor: kumpulan prosedur, variabel dan data struktur yang dikelompokkan menjadi 1 modul

Message Passing: send(destination, &message), receive(source, &message)
beberapa isu dalam message passing:
- Message lost
- Acknowledgement
- Domains
- Authentication
- Performance
(Monitor dan message passing dapat digunakan di producer-consumer problem. bisa dibaca di slide week 5)

Penjadwalan Prosesor
Kategori
- Batch: program tidak memerlukan interaksi dari pengguna
- Interactive: kebalikan batch
- Real-time: memenuhi kriteria waktu

Algoritma penjadwalan

- FCFS (First Come First Served)
contoh soal: diket job" sbb:
Job             Arrival Time              CPU Time
 A                   10:00                             5
 B                   10:03                             2
 C                   10:04                             1
 D                   10:05                             1
hitung average turn around time (waktu tunggu rata-rata)
                                                   (finish-arrival)
Job  Arrival      CPU   Start    Finish    Waktu tunggu
 A       10:00       5       10:00    10:05       5
 B       10:03       2       10:05   10:07        4
 C       10:04       1       10:07    10:08       4
 D       10:05       1       10:08    10:09       4
                                                     -------
                             Average:   17/4 = 4,2

- SJF (Shortest Job First)
contoh soal: diket job" sbb:
Job    Arrival Time              CPU Time
 A        10:00                             5
 B        10:03                             2
 C        10:04                             3
 D        10:05                             1
hitung average turn around time (waktu tunggu rata-rata)
                                                 (finish-arrival)
Job  Arrival    CPU   Start    Finish    Waktu tunggu
 A      10:00      5      10:00    10:05       5
 B      10:03      2      10:06   10:08        5
 C      10:04      3      10:08    10:11       7
 D      10:05      1     10:05    10:06        1
                                                  -------
                              Average:   14/4 = 4,..

- Shortest Remaining Time Next (SRTN)
                                               (finish-arrival)
Job  Arrival    CPU   Start    Finish    Waktu tunggu
 A      10:00      5      10:00    10:05       5
 B      10:03      2      10:06   10:08        5
 C      10:04      3      10:08    10:11       7
 D      10:05      1     10:05    10:06        1
                                                           -------
                                      Average:   14/4 = 4,..

- Priority -> pilih priority dgn angka terbesar-terkecil
Job             Arrival Time              CPU Time    Priority
 A                   10:00                             4               1
 B                   10:03                             2               3
 C                   10:04                             1               2
 D                   10:05                             1              4

Step mengerjakan: awalnya kerjain A, Sampai 10:04 lanjut kerjain B, sampai 10:06 kerjain C, baru D

- Round Robin

Algoritma yang lain dapat dilihat di slide week 6

Week 7
Pembahasan soal
1) Deteksi deadlock dengan banyak resource untuk setiap jenis




Ringkasan Sistem Operasi - Materi UTS

Keterangan: (*) adalah materi yang keluar di kuis sebelumnya

Pendahuluan
Komponen Utama Sistem Komputer:
1) Hardware / perangkat keras, yaitu Machine Language, Microarchitecture, dan Physical devices
2) Application program, contohnya Airline Reservation, Banking system, Web browser
3) System Program --> terdiri dari user mode dan kernel mode (OS)
    Terdiri dari:
    > Compiler = Mengubah bahasa agar dapat dimengerti komputer
    > Editor
    > Command Interpreter =  menterjemahkan command agar dapat dimengerti komputer. Contohnya pada windows "cls" akan diinterpret untuk menghapus command" sebelumnya dalam cmd.    

Pengertian sistem operasi: yaitu seperangkat program yang memantau dan mengatur pemakaian sumber daya komputer (CPU, Memori Internal, I/O) dan menjembatani program user dan perangkat keras komputer

Fungsi Sistem Operasi(*):
1) Sebagai Extended Machine -> Menyembunyikan kompleksitas pemrograman dan menyajikan tampilan yang lebih mudah untuk menggunakan hardware (user-friendly)

2) Sebagai Resource Manager -> mengatur dan mengefisiensikan penggunaan sumber daya yang dibutuhkan program


MonoProgramming, MultiProgramming, ParallelProgramming




Pengertian I/O Bound dan CPU Bound(*)
I/O Bound: Sistem yang lebih banyak mengandalkan input output daripada eksekusinya.
CPU Bound: Sistem yang lebih mengandalkan kinerja CPU dalam eksekusi daripada menunggu masukan program

Mengapa dikembangkan multiprogramming?
Karena sekarang ini kebanyakan program yang didevelop merupakan program I/O bound, sehingga daripada dibuat menunggu masukan lebih baik CPU dapat mengerjakan program lain.

Bab 2 - Klasifikasi Sistem Operasi
1) Mainframe Operating System
–Berorientasi terhadap pemrosesan beberapa job sekaligus dengan kapasitas I/O yang besar
–Tiga jenis services: batch, transaction processing, dan timesharing
–Misal: OS/360, OS/390

2) Server Operating System
–Melayani beberapa users sekaligus melalui jaringan
–Memungkinkan pemakaian bersama terhadap sumber daya perangkat keras atau lunak
–Misal: Unix, Windows 2000, Linux

3) Multiprocessor Operating System
–Beberapa CPU digabungkan menjadi satu
–Memerlukan operating system khusus, tetapi bisa juga menggunakan variasi dari Server OS

4) Personal Computer Operating System
–Memberikan interface yang baik bagi single user
–Biasa digunakan untuk word processing, spreadsheets, dan akses internet
–Misal: Windows 98, Windows 2000, Machintosh, Linux

5) Real Time Operating System
–Parameter kunci  konsistensi waktu terhadap penyelesaian suatu task
–Segera memproses data yang masuk, tanpa buffer (delay buffer)
–Hard Real-Time System (Ada jaminan bahwa Critical Task akan selesai tepat waktu)
–Soft Real-Time System
–Misal: VxWorks, QNX

6) Embedded Operating System
–Dijalankan pada komputer yang mengontrol peralatan yang bukan berjenis komputer
–Palmtop computer atau PDA (Personal Digital Assistant)
–Misal: PalmOS, Windows CE

7) Smart Card Operating System
–Dijalankan pada smart card, yakni device sebesar kartu kredit yang mengandung CPU chip
–Kemampuan pemrosesan dan ukuran memory sangat terbatas
–Biasanya berorientasi bahasa Java  ROM pada smart card memiliki interpreter untuk Java Virtual Machine (JVM)

Review Perangkat keras
CPU
Pipeline(*): suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda

Memory Hierarchy(*)

•Nonvolatile:
–ROM (Read Only Memory)
–PROM
–EPROM
–EEPROM (Electrically Erasable ROM) dan flash RAM
•Volatile memory: CMOS

•Jika multiple programs berada di memory, masalah yang harus diatasi adalah:
–Memproteksi program dari yang lainnya
–Relokasi

•Virtual address = address yang dihasilkan dari program
•Physical address = address yang dipakai oleh memory
•MMU (Memory Management Unit) = device yang melakukan pemeriksaan dan mapping
•Contect switch = peralihan dari suatu program kepada yang lainnya

I/O Devices
•Terdiri dari:
–Controller  memberikan interface yang sederhana kepada operating system
–Device
•Device driver  software yang berhubungan dengan controller, memberinya instruksi dan menerima response
•I/O dapat dilakukan dengan 3 cara:
–Busy waiting
–Interrupt
–DMA (Direct Memory Access)

Proses
•Adalah program yang sedang dieksekusi
•Terdiri dari:
–Executable program, data, stack
–Program counter, stack pointer, registers
Process table = array atau linked list dari struktur yang dimiliki proses yang sedang dieksekusi
•Proses memiliki:
–Address space (core image)
–Atribut/informasi pada proses table
•Process Tree:

Deadlock: Kondisi dimana proses yang sedang berinteraksi tidak bisa dilanjutkan dan tidak ada proses yang bisa keluar dari kondisi tersebut

System Call: Merupakan interface antara program dengan sistem operasi
Macam-Macam system call:




Struktur Sistem Operasi
1) Sistem monolithic: kurang beraturan/terstruktur (the big mess), contoh linux
2) Layered System: Sistem operasi disusun berdasarkan hierarki layer, masing-masing dibangun diatas layer dibawahnya


3) Virtual Machine: pengembangan dr sistem berlapis, tujuannya agar mesin dpt digunakan banyak orang. memiliki Conversational Multi User (CMS). Setiap ada user baru muncul CMS baru.
4) Client-Server Model: menggunakan mikrokernel (kernel diperkecil, hanya berfungsi sebagai transfer). keuntungan: mudah dialokasikan pada distributed server.

Program, Proses, Software dan Threads
• Program adalah kumpulan instruksi yang dimengerti oleh CPU yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu.
• Proses adalah program yang sedang dieksekusi.

• Software adalah kumpulan dari program-program dan data-data yang saling terelasi yang memerintahkan apa yang harus diselesaikan komputer.
• Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.

Multiproses vs Multithreaded
Analogi: Naruto masak capcay
Multiproses: Naruto masak capcay, minta tolong Sasuke bantu, maka resepnya di copy jadi 2 agar Naruto dan Sasuke samasama bisa masak capcay. Dalam prosesnya bisa aja Naruto udah sampe tahap menumis, Sasuke baru potong wortel. Variabel di proses Naruto yang berubah tdk akan memengaruhi variabel di proses Sasuke.

Multithreaded: Naruto masak capcay, minta tolong sasuke buat bantuin. Maka Naruto dan Sasuke baca resep yang sama dan ngerjain bagian yang berbeda. Contohnya Naruto yang potong wortel, Sasuke numis bawang merah. Variabel yang berganti di proses Naruto akan memengaruhi proses Sasuke.

Multi Proses:
- Boros Memori
- Redundancy risk karena memiliki memori terpisah, sehingga menggunakan komunikasi antar proses

Multi Threaded:
+ Lebih Hemat Memori
+ Tidak ada overlap data, mengurangi redundancy risk

Process creation: event yang menyebabkan penciptaan proses, antara lain:
• Inisialisasi sistem
• Eksekusi sistem call
• Permintaan user
• Inisiasi batch job

Foreground vs background process
Background process: proses yang tidak memerlukan interaksi dengan user
contoh: sleep (5) -> proses sleep dilakukan di background process

fork system call: memanggil sebuah proses

PROCESS TERMINATION: Kondisi yang menyebabkan proses berhenti, yaitu
–Normal exit
–Error exit, contoh: Division by 0, illegal instruction, reference to memory
–Fatal error, Contoh: Non-existing file
–Killed by another process, Contoh: Ctrl-break

Process States:
- Running: pada saat program di eksekusi
- Ready: menunggu giliran
- Blocked: tidak dapat dijalankan

Transisi antar States
1. Proses yang sedang berjalan block input
2. Scheduler mengambil proses lainnya yang statusnya ready
3. Proses yang diambil berubah menjadi running
4. Input menjadi available (ready)

Komunikasi Antar Proses
Masalah yang sering muncul:
1) Race condition -> 2 proses mengakses resource yang sama, hasilnya tergantung dari proses mana yang mengakses duluan (berebutan)
    Critical Region -> Bagian program/proses/thread yang mengakses resource yang sama

    Mutual Exclusion (mutex): mekanisme untuk mencegah suatu proses mengakses resource yang sedang dipakai
    Empat kondisi agar terjadi mutual exclusion:
 1. Tidak ada dua proses yang berada di critical region pada saat yang bersamaan
 2. Tidak ada asumsi mengenai kecepatan dan jumlah CPU
 3. Tidak ada proses yang berada di luar critical region menghalangi (blocking) proses yang lain
 4. Tidak ada proses yang menunggu selamanya untuk masuk critical region
    Mutual Exclusion dibagi menjadi 2
    > Mutex dengan busy waiting: disabling interrupt, lock variables, Strict Alternation (kurnag tepat), TSL (benar)
    > mutex tanpa busy waiting: sleep and wakeup -> producer-consumer problem, semaphore

      Disabling Interrupt
      –Proses mematikan (disable) semua interrupt setelah memasuki critical region dan menghidupkan kembali (re-enable) interrupt tersebut sebelum meninggalkannya

      Lock Variables
      -- Analogi: Naruto dan Sakura ngantri WC umum. Setiap kali WC ada orang, tanda di pintu diganti warna jadi merah. kalo udah keluar, ganti tandanya jadi ijo.
Naruto dan Sakura ada kemungkinan masuk WC bersamaan, contoh ketika Naruto mau masuk WC dia ubah tanda di pintu jadi merah, tapi ada interrupt sehingga Sakura taunya tanda di pintu masih ijo. Lalu saat Naruto masih di WC Sakura dapat masuk karena di memori Sakura warna pintu masih ijo.

     Strict Atlernation

      Sleep and Wakeup
      • Sleep: system call yang menyebabkan proses yang memanggil diblock, atau ditunda (suspended)
      • Wakup: system call yang menyebabkan proses dibangunkan, atau menjadi ready
      Producer-consumer problem:
      Analogi Naruto lagi mandi. keran air jadi produser yang isi bak, Naruto jadi konsumer yang ambil air dari bak pake gayung. 

      Semaphore (up(s) and down(s)): variabel integer untuk menghitung jumlah sinyal wakeup

2) Deadlock: kondisi dimana 2 program saling menunggu kondisi yang tidak dapat selesai, ataupun memperebutkan 2 resource yang sama.
Ada 2 macam resource:
- Preemptable Resources: resource yang dapat diambil dari proses pemiliknya tanpa fail. contoh memori utama.
- Non-preemptable Resources: resource yang harus digunakan sampai selesai, jika diambil dari proses pemiliknya akan terjadi fail. contoh burn CD. Deadlock terjadi karena non-preemptable resources.

3) Starvation: Semua program terus menjalankan proses yang tak ada kemajuan. 

Ringkasan selanjutnya menyusul :)