ringkasan sisop uts

18
RINGKASAN SISOP - AA November 11, 2015 1 UTS OPERATION SYSTEM PG (10 soal): - SESSION 1-12 Essay (4 soal): - SESSION 1 & 2    Overview & File System - SESSION 3, 4, 7, & 8    Process and Thread - SESSION 9 & 10    Scheduling - SESSION 11 & 12    Concurrency OVERVIEW Komponen dasar sistem operasi : - Prosesor - Memori utama - Modul I/O - System bus Program Counter akan menelusuri di mana instruksi selanjutnya berada, instruksi tersebut kemudian di- copy  sebelum diletakkan pada instruction register. Instruction

Upload: stevanihuliselan

Post on 03-Mar-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 1/17

RINGKASAN SISOP - AA  November 11, 2015 

1

UTS OPERATION SYSTEM

PG (10 soal):

- SESSION 1-12 

Essay (4 soal):

- SESSION 1 & 2  –  Overview & File System

- SESSION 3, 4, 7, & 8  –  Process and Thread

- SESSION 9 & 10  –  Scheduling

- SESSION 11 & 12  –  Concurrency

OVERVIEW

Komponen dasar sistem operasi:- Prosesor

- Memori utama

- Modul I/O

- System bus

Program Counter akan menelusuri di mana instruksi selanjutnya berada, instruksi

tersebut kemudian di-copy  sebelum diletakkan pada instruction register. Instruction

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 2/17

RINGKASAN SISOP - AA  November 11, 2015 

2

register menyimpan instruksi yang akan dieksekusi. Memory address register akan

digunakan untuk menyimpan alamat memori yang memiliki data/instruksi selanjutnya.

Prosesor utama memiliki Arithmetic Logical Unit (ALU) dan Control Unit (CU). ALU

adalah tempat data diproses sementara CU akan mengambil (fetch) instruksi dari

memori, menguraikan (decode) dan melakukan sinkronisasikan operasi-operasi yang

akan dilakukan sebelum mengirim sinyal ke bagian-bagian lain dalam komputer.

Program Counter dan Instruction Register ada di CU. 

Memory Address Register dan Memory Buffer Register ada di prosesor.

Tipe-tipe instruksi:

- Processor ke Memory- Processor ke I/O (peripheral device)

- Data Processing (arithmetic/logic operation)

- Control

2 tipe execution cycle:

- Pipeline

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 3/17

RINGKASAN SISOP - AA  November 11, 2015 

3

- Superscalar

Interrupt: sebuah interupsi yang terjadi saat proses eksekusi.

Sebuah interrupt dapat memberi efisiensi pada tahap proses, prosesor dapat

mengeksekusi instruksi lain saat proses I/O berjalan (ga nganggur jadi). Proses yang di-

interrupt dapat kembali dilanjutkan.

4 kelas interrupt:

- Program 

muncul saat eksekusi instruksi seperti arithmetic overflow, division by zero, attempt to

execute an illegal instruction.

- Timer 

muncul sesuai dengan waktu timer yang ada pada prosesor.

- I/O 

dipicu oleh I/O controller untuk memberi sinyal untuk menyelesaikan suatu operasi atau

memperingatkan suatu error.

- Hardware failure 

kegagalan hardware, kek mati lampu atau memory parity error.

Interrupt handler: sebuah program yang menentukan kapan harus interrupt dan

melakukan action yang diperlukan saat interrupt terjadi.

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 4/17

RINGKASAN SISOP - AA  November 11, 2015 

4

Prosesor akan mengecek interrupt. Kalo ga ada interrupt, langsung ambil instruksi

selanjutnya. Jika interrupt sedang pending, eksekusi instruksi akan ditunda dan interrupthandler akan dieksekusi.

NB: Makin atas makin kenceng^

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 5/17

RINGKASAN SISOP - AA  November 11, 2015 

5

Disk cache: sebuah bagian dalam memori utama yang digunakan untuk buffer sebagai

tempat penyimpanan data sementara. Data yang ada di cache berfungsi untuk

mempercepat proses pengambilan data di kemudian hari.

3 tipe cache memory:

- L1 cache

biasanya udah built-in di CPU, terbagi menjadi 2 cache terpisah. Satu buat nyimpen

instruksi, satu lagi buat nyimpen datanya.

- L2 cache

dikenal sebagai SRAM (fast access memory), terletak diantara CPU dan memori utama,

ukurannya sekir 256kb-4mb

- L3 cache

dikenal sebagai high access memory yang terletak diantara motherboard dan CPU.

Operating System (OS): sebuah program yang mengelola eksekus program, juga

merupakan sebuah antarmuka antara aplikasi dan perangkat keras.

Tujuan dari OS:

- Kenyamanan

- Efisiensi

- Kemampuan beradaptasi

FILE SYSTEMFile system mengelola file dan akses data. Biasanya digunakan untuk pengelolaan file,

pengelolaan penyimpanan file, metode akses file, serta mekanisme integritas file.

Fokusnya lebih ke disk penyimpanan sekunder.

Beberapa file system yang berbasis disk:

- UFS (UNIX)

- HSFS/ISO9660 (High Sierra)

- EXT2

- FAT32- HFS+

- Elephant FS

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 6/17

RINGKASAN SISOP - AA  November 11, 2015 

6

6 tipe file umum:

- Regular file

- directory

- link

- special file- named pipe

Hardlink nge-link file yang ada dalam satu file system.

Sementara softlink bisa beda file system.

PROCESS

Program berisi instruksi untuk melakukan suatu task.

Proses merupakan tahap eksekusi program.

Karakteristik proses:

Identifier: sebuah identifier, atribut pengenal suatu proses dari proses lainnya.

State: suatu kondisi, kalo lagi eksekusi program running state.

Priority: tingkatan prioritas suatu proses dibanding proses lainnya.

Program counter: alamat dari instruksi selanjutnya yang akan dieksekusi.

Memory pointer: pointer yang ditujukan ke program code dan dat-ata yang berhubungan

dengan prosesnya, serta blok memori yang juga dipakai proses lain.

Context data: data yang ada dalam register prosesor saat eksekusi proses.

I/O status information: termasuk I/O request dan I/O device yang digunakan dalam proses,sebuah daftar yang berisi file-file yang digunakan oleh proses.

Accounting Information: processor time, clock time used, time limits, dll.

Membuat suatu proses:

- assign identifier untuk prosesnya

- alokasikan memori yang akan digunakan

- inisialisasi control block prosesnya

- buat urutan eksekusi sesuai hubungan antar proses

- buat strukdat yang diperluas 

Berhentinya suatu proses jika:

- normal completion, udah kelar

- time limit exceeded, kelamaan

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 7/17

RINGKASAN SISOP - AA  November 11, 2015 

7

- memory unavailable, ga cukup memori

- bounds violation

- protection error, for example filenya cuma read only

- arithmetic error, kesalahan aritmatika (pembagian dengan 0?)

- time overrun, proses menunggu (proses lainnya) terlalu lama

- I/O failure

- invalid instruction

- privileged instruction

- data misuse

- OS intervention, ini deadlock

- parent request

- parent termination

Process table: tempat di mana proses berada, memiliki 3 atribut: Process ID (PID), process

state, dan memory location.

Process control block berisikan koleksi atribut yang berkaitan dengan proses.

Identifikasi proses dalam control block menggunakan identifier.

Macam-macam identifier:

- Numeric identifiers

- Identifier of this process

- Identifier of parent process

- User identifier

Five state process model:

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 8/17

RINGKASAN SISOP - AA  November 11, 2015 

8

Proses switch terjadi jika:

- Clock interrupt, proses yang ingin dieksekusi telah melewati batasan time slice (lebih

jelasnya ada di bab scheduling)

- I/O interrupt

- Memory fault

- Trap, terjadi error

- Supervisor call, file sedang dibuka

Prosesor lebih cepat dari I/O, jadi semua proses kemungkinan besar akan menunggu I/O.

Proses-proses ini dapat bertukar tempat sehingga memori bisa dibebaskan dari proses yang

sedang menunggu.

Ada 2 macam state dalam kasus di atas:

- blocked, suspend

- ready, suspend

Fungsi fork() membuat proses baru yang disebut sebagai child process. Proses parent dan

juga child akan dieksekusi secara bersamaan (concurrent). Setiap proses bisa melakukan

fork() terhadap proses lainnya dengan membuat semacam hierarki proses.

fork():

- return nilai 1, gagal

- return nilai 0, dalam proses child

- return nilai INT positif, child PID

Fungsi-fungsi lainnya:

- execv(), eksekusi file

- exit(), mengakhiri proses

- wait(), digunakan parent tapi nunggu child selesai

- getpid(), return identifier proses

- getppid(), return identifier parent

THREADThread memungkinkan banyak eksekusi untuk berada di 1 lingkungan proses yang sama

(Multithreading). Thread juga memiliki properti-properti proses.

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 9/17

RINGKASAN SISOP - AA  November 11, 2015 

9

Kelebihan thread:- lebih cepet buat thread daripada proses

- proses terminasi (pengakhiran) juga lebih cepat

- switching pertukaran) juga lebih cepat

- komunikasi tanpa melibatkan kernel

User space thread:

(+) setiap proses bisa memiliki algo scheduling yang berbeda

(+) performance oke

(-) implementasi blocking system call(-) ga ada thread lain yang bakal jalan kecuali thread

pertama mundur dari CPU

Kernel space thread:

(+) ga butuh non-blocking system call baru

(-) cost untuk membuat serta mengakhiri proses lebih besar

Hybrid thread:

user level thread dijadikan kernel level thread. 

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 10/17

RINGKASAN SISOP - AA  November 11, 2015 

10

Macam-macam state pada thread:

- Spawn 

ketika suatu proses muncul, threadnya akan muncul juga. Suatu thread dalam proses mungkin

akan memunculkan thread lainnya dalam proses yang sama.

- Block 

ketika suatu thread menunggu suatu event, ia akan melakukan block untuk mencegah

pemakaian register, program counter, serta stack pointer. Prosesor akan melakukan eksekusi

yang telah siap pada proses lainnya.

- Unblock 

ketika event yang ditunggu terlaksana, thread akan di-unblock sehingga kembali masuk ke

dalam antrian thread yang siap eksekusi (Ready queue).

- Finish ketika thread sudah selesai, register context dan stacknya akan didealokasikan dari memori.

Macam-macam granularitas threading:

- Coarse threading

- Fine-grained threading

- Hybrid threading

SCHEDULING

Process behavior ada 2 macam:

- process bound 

- I/O bound

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 11/17

RINGKASAN SISOP - AA  November 11, 2015 

11

CPU scheduler memilih proses-proses mana yang siap eksekusi dan segera mengalokasikan

CPU ke salah satu dari proses-proses tersebut.

CPU scheduling akan dilakukan jika suatu proses:

- switch dari kondisi run ke wait  non-preemptive

- switch dari kondisi run ke ready  preemptive

- switch dari kondisi wait ke ready  preemptive

- berakhir (terminate)  non-preemptive

Tipe-tipe scheduler:

- Long term scheduling

- Medium term scheduling

- Short term scheduling

- I/O scheduling 

Kriteria scheduling:

- CPU utilization, CPU makin sibuk  makin bagus (optimalnya MAX)

- Throughput, banyaknya proses yang kelar/satuan waktu (optimalnya MAX)

- Turnaround time, lamanya eksekusi proses tertentu (optimalnya MIN)

- Waiting time, waktu tunggu di ready queue (optimalnya MIN)

- Response time, waktu dari request sampai mulai respon pertama (optimalnya MIN)

[PENTING] Macam-macam algoritma scheduling:

1. First Come, First Serve (FCFS)

Konsep: mirip dengan sistem pelayanan di warteg, yang pertama dateng langsung dilayani.

Proses akan diassign oleh CPU sesuai urutan proses tersebut masuk.

(+) Mudah dimengerti, yang pertama yang duluan, gampang kan?

(-) Task/job yang pendek mungkin bakal nunggu lama kalo yang duluan itu task yang panjang

contoh masalah: Orang pertama datang jam 7.30 mau ngeprint 1000 lembar di tempat

fotocopy, lalu ada orang kedua, yaitu kamu yang adalah mahasiswa binus desperate yang

semalaman ga tidur karena baca ringkasan useless ini, datang ke tempat fotocopy jam 7.35

mau print KMK yang kemaren ilang dan cuma selembar, harap cemas mau ujian Sistem

Operasi jam 8.00. Menurut algoritma FCFS, kamu mesti nunggu orang yang ngeprint 1000

lembar tadi buat selesai. Brilian!

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 12/17

RINGKASAN SISOP - AA  November 11, 2015 

12

Contoh soal:

Jawab:

Penjelasan singkat:- Urutan datang A,B,C,D. Urutan eksekusi A,B,C,D

- TAT rata-rata dihitung dari jumlah TAT keempat job dibagi 4

- TAT setiap job dihitung dari Arrival Time jobnya (X) sampai akhir eksekusi 

- WT rata-rata dihitung dari jumlah WT keempat job dibagi 4

- WT setiap job dihitung dari Arrival Time jobnya (X) sampai awal eksekusi 

2. Shortest Job First 

Konsep: 

Pada SJF konsepnya adalah mendahulukan job yang terpendek untuk dieksekusi. Pada

SJF non-preemptive, job yang terpendek akan didahulukan namun jika ada lowong waktu

sebelum dimulainya job terpendek, akan dioptimalkan untuk job lainnya terlebih dahulu.

Pada SJF preemptive setiap job datang (arrive), akan kembali dicek job mana yang memiliki

burst time paling sedikit, sehingga dimungkinkan waiting time di tengah proses eksekusi.

Gampangnya langsung liat soal.

Contoh soal SJF non-preemptive:

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 13/17

RINGKASAN SISOP - AA  November 11, 2015 

13

Jawab:

Penjelasan singkat:

- Urutan datang A,B,C,D. Urutan eksekusi A,D,C,B, Kenapa?- Pertama-tama lihat job terpendek  D (8 menit)

- TAPI D baru mulai pas 9.20, CPU bakal nganggur jam 9.00-9.19, GA OPTIMAL

- Sekarang liat yang terpendek kedua  C (15 menit)

- TAPI C baru mulai pas 9.15, CPU bakal nganggur jam 9.00-9.14, GA OPTIMAL

- Sekarang liat yang terpendek ketiga  B (30 menit)

- TAPI B baru mulai pas 9.10, CPU bakal nganggur jam 9.00-9.09, GA OPTIMAL

- Sekarang liat yang terakhir  A (35 menit)

- Nah gak ada yang dahuluin A kan? Jadi kita mulai dari A.

- Eksekusi A sampai selesai (9.35 - D,C,B sudah arrive, jadi ketiganya bisa dieksekusi)- sekarang baru cari yang terpendek  D (8 menit), eksekusi hingga selesai

- sekarang baru cari yang terpendek  C (15 menit), eksekusi hingga selesai

- sekarang baru cari yang terpendek  B (30 menit), eksekusi hingga selesai

- TAT dan WT caranya sama.

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 14/17

RINGKASAN SISOP - AA  November 11, 2015 

14

Contoh soal SJF preemptive:

Penjelasan singkat:

- Urutan datang A,B,C,D. Urutan eksekusi A,B,C,D,C,B,A. Kenapa?

- Kita mulai dari A (alasannya persis kayak tadi yang non-preemptive).- Eksekusi A sampai arrival B (9.10 - B sudah arrive, bandingkan sisa)

Sisa A: 45-10=35 Sisa B: 30 Sisa C: 15 Sisa D: 8

- Paling pendek D  8 TAPI D belum arrive. SKIP.

- Paling pendek kedua yaitu C  15 TAPI C belum arrive. SKIP.

- Paling pendek ketiga yaitu B  25, SUDAH arrive, eksekusi sampai C arrive, bandingkan sisa

Sisa A: 35 Sisa B: 30-5=25 Sisa C: 15 Sisa D: 8

- Paling pendek D  8 TAPI D belum arrive. SKIP.

- Paling pendek kedua yaitu C  15, SUDAH arrive, eksekusi sampai D arrive, bandingkan sisa

Sisa A: 35 Sisa B: 25 Sisa C: 15-5=10 Sisa D: 8- Paling pendek D  8, SUDAH arrive, eksekusi D hingga selesai karena ga ada job setelah D

Sisa A: 35 Sisa B: 25 Sisa C: 10 Sisa D: -

- Kerjakan sisanya hingga habis diurutkan dari sisa yang terpendek/kecil: C, B, A.

- TAT dan WT caranya sama.

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 15/17

RINGKASAN SISOP - AA  November 11, 2015 

15

3. Metode Round Robin 

Caranya mirip dengan preemptive SJF, cuma ada time slicenya (jadi sekali eksekusi dibatasin

maksimal berapa burst timenya, gak bisa sekaligus borongan) dan orientasinya bukan sisa

mana yang terkecil melainkan urutan datang (queue).

Contoh soal Round Robin (menggunakan Gantt Chart):

Jawab:

Penjelasan singkat:

- Urutan datang A,B,C,D. Urutan eksekusi A,B,A,C,D,A,C,D,C,C. Kenapa?

- Kita mulai dari A (jangan tanya kenapa, udah dari sononya)

- Eksekusi A sampai arrival B (time ke-20, B sudah arrive)

Queue: B,A. Sisa A: 53-20(time slice)=33 Sisa B: 17- Eksekusi B sesuai urutan queue. 17-17=0, B selesai.

- Time ke-37 C dan D arrive, masuk ke queue.

Queue: A,C,D. Sisa A: 33 Sisa C: 68 Sisa D: 24

- Eksekusi A sesuai urutan queue.

Queue: C,D,A. Sisa A: 33-20=13 Sisa C: 68 Sisa D: 24

- Eksekusi C sesuai urutan queue.

Queue: D,A,C. Sisa A: 13 Sisa C: 68-20=48 Sisa D: 24

- Eksekusi D sesuai urutan queue.

Queue: A,C,D.

Sisa A: 13

Sisa C: 48

Sisa D: 24-20=4

- Eksekusi A sesuai urutan queue. 13-13=0, A selesai.

Queue: C,D. Sisa C: 48 Sisa D: 4

- Eksekusi C sesuai urutan queue.

Queue: D,C. Sisa C: 48-20=28 Sisa D: 4

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 16/17

RINGKASAN SISOP - AA  November 11, 2015 

16

- Eksekusi D sesuai urutan queue. 4-4=0, D selesai.

Queue: C. Sisa C: 28

- Eksekusi C sesuai urutan queue.

Queue: C. Sisa C: 28-20=8

- Eksekusi C sesuai urutan queue. 8-8=0, C selesai.

CONCURRENCY 

Concurrency memungkinkan komunikasi antar proses, sharing resource, sikronisasi berbagai

macam proses, serta alokasi processor time.

Masalah pada concurrency:

- Global resource yang terbuka

- Pengelolaan alokasi resource- Error pada programming akan sulit ditemukan lokasinya

Kompetisi antar proses memperebutkan resource dapat menyebabkan:

- Mutual exclusion 

- Deadlock (setiap proses saling tunggu) & Starvation 

Kerjasama antar proses dicapai melalui:

- Sharing

- Communication

Starvation dan deadlock dapat dicegah meggunakan Mutual Exclusion. Dengan Mutual

Exclusion, hanya akan ada 1 proses setiap waktu di sektor kritis terhadap resource (sektor

yang berpotensi mengalami starvation maupun deadlock).

Metode-metode mutual exclusion:

- Disabling interrupts 

proses akan berjalan sampai layanan OS dilibatkan atau interupsi terjadi. Interrupt dapat

ditiadakan dengan menggunakan multiprocessing.

- Lock variables 

variabel lock akan diset ke nilai 0.

0  set lock jadi 1, baru masuk ke sektor kritis

1 tunggu sampe lock variabelnya jadi 0

7/26/2019 Ringkasan SISOP UTS

http://slidepdf.com/reader/full/ringkasan-sisop-uts 17/17

RINGKASAN SISOP - AA  November 11, 2015 

17

Masalah bakal muncul saat race condition.

- Strict alternation 

- Peterson's solution 

- The TSL instruction 

Semaphore: sebuah variabel khusus yang digunakan untuk signaling. Jika suatu proses sedang

menunggu untuk signal, maka proses tersebut sementara akan disuspend hingga signalterkirim.

3 masalah IPC yang umum: Sleeping barber problem, Dining philosopher problem, dan

Readr writer problem.