Anda di halaman 1dari 26

Ringkasan UTS Operating System

1. Elemen basic sistem komputer :


 Prosesor
 Memori utama  RAM
 I/O modules  motherboard, mengatur in / out, secondary
memory, terminal.
 System bus  komunikasi prosesor - main memory - I/O
modules.

2. Arsitektur komputer

3. Instruction cycle :

Timothy Orvin Edwardo – LK01 – 1901456205


4. Tipe instruksi pada sistem operasi :
 Processor – memory  transfer data antara prosesor dan
memori.
 Processor – I/O  transfer data dari / ke peripheral device
(misal mouse, keyboard).
 Data processing  aritmatik / operasi logic pada data.
 Control  alter sequence dalam eksekusi.

5. Execution cycle :
 Pipelining

 Superscalar

6. Interrupt :
 Meningkatkan efisiensi proses.
Timothy Orvin Edwardo – LK01 – 1901456205
 Eksekusi instruksi lain ketika I/O masih dalam progress.
 Proses suspension terjadi karena ada proses yang di pause.
 Class : Program, Timer, I/O, Hardware failure.
 Cycle :

7. Memory hierarchy (dari low – high) : magnetic tape / MO /


WORM, magnetic disk / CD-ROM / CD-RW / DVD+RW, register /
cache / main memory.

8. Cache disimpan di paging file, sehingga ketika aplikasi dibuka lagi


tidak dari awal. Jenis cache :
 L1 cache  memory processing tercepat. Melekat di CPU.
 L2 cache  fast access memory. Ada di RAM.
 L3 cache  high access memory. Ada di motherboard
sebagai penghubung RAM dan CPU.

9. Sistem operasi adalah program yang kontrol eksekusi aplikasi.


Juga berfungsi sebagai jembatan antara hardware dan software.
Objectivenya adalah :
 Efisiensi.
 Kenyamanan (convinience).
 Ability to evolve (harus open agar jika ada sistem baru bisa
dilekatkan).

Timothy Orvin Edwardo – LK01 – 1901456205


10. Struktur hardware dan software

11. OS Services :
 Program development
 Program execution
 Akses I/O devices
 Controlled access ke file
 System access
 Error detection

12. Topologi OS :

Timothy Orvin Edwardo – LK01 – 1901456205


13. Ada 6 file types :
 Regular files
 Directions  letak suatu file. Misal E:/bin/src.
 Link  penghubung
 Special files
 Named pipe  biasanya dipakai di database
 Socket file

14. Softlink dan hardlink :


 Softlink  contohnya shortcut.
 Hardlink  yang mendirect ke filenya.

15. Process melibatkan hal – hal berikut :


 Program yang sedang dieksekusi.
 Instance sebuah program yang jalan di komputer.
 Entitas yang bisa diassign dan dieksekusi di prosesor.
 Unit sebuah aktivitas dikarakteristikkan oleh eksekusi urutan
instruksi.
 Current state, dan berkaitan dengan kumpulan system
resources.

16. Karakteristik process :


 Unique process identifier.
 State
 Priority
 Program counter
 Memory pointers
 Context data.
 Status informasi I/O.
Timothy Orvin Edwardo – LK01 – 1901456205
 Accounting information.

17. Process control block :


 Process identification  berkaitan dengan identifier :
 Identifier numerik disimpan dalam proses control block
termasuk : identifier proses ini, identifier yang
membuat proses ini, user identifier.
 Processor state information :
 User visible register  direferensikan oleh bahasa
mesin yang dieksekusi prosesor. Biasanya ada 8 – 32
register, namun pada RISC implementation bisa ada
yang lebih dari 100.
 Control dan status register :
o Program counter  mengandung alamat dari
instruksi berikutnya.
o Condition codes  hasil dari operasi aritmatik
dan logika.
o Status information  termasuk interrupt
enabled/disabled flags, mode eksekusi.
 Stack pointer :
o Setiap proses memiliki 1 / lebih LIFO system yang
terkait.
o Digunakan untuk store parameter dan memanggil
alamat untuk prosedur dan system calls.
o Stack pointer menunjuk ke top of stack.
 Process control information :
 Scheduling dan state information :
o Process state  kesiapan suatu proses untuk
dijadwalkan dieksekusi.

Timothy Orvin Edwardo – LK01 – 1901456205


o Priority  1 / lebih field bisa describe prioritas
scheduling sebuah proses.
o Scheduling – related information  waktu
menunggu, kapan terakhir kali running.
o Event  identitas event proses menunggu
sebelum bisa dilanjutkan.

18. Process model :


 2 state

 5 state

 1 suspend

Timothy Orvin Edwardo – LK01 – 1901456205


 2 suspend

19. Pembuatan proses :

20. Terminasi proses :

Timothy Orvin Edwardo – LK01 – 1901456205


21. Alasan suatu proses switch :
 Clock interrupt  proses telah dieksekusi dengan maximum
time slice.
 I/O interrupt

Timothy Orvin Edwardo – LK01 – 1901456205


 Kesalahan memori  memory address ada di virtual
memory, jadi harus dibawa ke main memory.
 Trap  terjadi error sehingga menyebabkan langsung ke
exit state.
 Supervisor call  file open.

22. Mode eksekusi :


 User mode :
 Less previleged
 User program biasanya dieksekusi di mode ini.
 System mode / control mode / kernel mode :
 More previleged
 Kernel sebuah OS

23. Keyword fork() :


 Membuat proses baru child.
 Parent dan child dieksekusi concurrently.
 Setiap proses bisa fork proses lain sehingga membuat hirarki
proses.
 Proses bisa memilih menunggu child terminate.

24. Keyword system() :


 Eksekusi command suatu program
 Membuat subprocess run standard Bourne shell.
 Eksekusi, subject ke feature, pembatasan dan keamanan
shell.

25. Multicore system adalah CPU yang memiliki lebih dari satu
core. Kegunaannya adalah mendukung sebuah aplikasi dengan

Timothy Orvin Edwardo – LK01 – 1901456205


thread yang banyak untuk meningkatkan performa dan desain
aplikasi. Ciri – ciri dari multicore system antara lain :
 CPU dengan lebih dari satu core.
 Cores beroperasi sebagai prosesor terpisah didalam sebuah
chip.
 Meningkatkan performa tanpa meningkatkan clock – speed
prosesor.

26. Multiprocessor system adalah sistem komputer dengan dua


atau lebih CPU identik yang membagi akses secara penuh kepada
RAM yang sama (shared memory multiprocessor). Ciri – ciri dari
multiprocessor system antara lain :
 Punya lebih dari 1 CPU.
 Sebagian mesin menggabungkan 2 teknologi multicore dan
multiprocessor.

27. ECOS (Embedded Configurable Operating System) adalah


open source real – time operating system pada embedded system
dan aplikasi yang perlu hanya 1 proses dengan multiple threads.
Pada eCos ada scheduler :
 Bitmap scheduler  mendukung multiple priority levels,
tetapi hanya 1 thread yang bisa dijalankan dalam setiap
priority level dalam waktu yang diberikan.
 Pengambilalihan prioritas dimungkinkan.
 Masing – masing level hanya mengizinkan thread
tunggal.
 Multilevel queue scheduler :
 Bisa support 32 level priorities.

Timothy Orvin Edwardo – LK01 – 1901456205


 Mengizinkan multiple active thread di setiap priority
level, terbatas hanya oleh system resources.
 Pada tiap level multiple thread bisa dieksekusi dan
pengambilalihan prioritas antar level dimungkinkan.
Thread dengan level tinggi bisa dijalankan ketika
thread level rendah dihentikan.
 Mendukung Symmetric Multi – Processing

28. Thread :
 Mengizinkan multiple execution untuk mengambil tempat
yang sama pada process environment.
 Lightweight process  karena thread mempunyai beberapa
properti dari proses.
 Multithreading  mengizinkan multiple thread di proses
yang sama.

29. Semua thread di proses yang sama menyebarkan :


 Address space yang sama
 Instruksi proses
 Most data
 Open files
 Signals dan signal handler.
 Current working directory
 User dan group ID.

30. Setiap thread memiliki hal – hal ini yang unik :


 Thread ID.
 Kumpulan register dan stack pointer.
 Stack local variable, return address.

Timothy Orvin Edwardo – LK01 – 1901456205


 Signal mask.
 Priority.
 Return value.

31. Beberapa perbedaan proses dan thread :


 Proses sulit untuk dibuat karena membutuhkan duplikasi
proses induk dan alokasi memori. Pada thread lebih mudah
karena tidak perlu ruang alamat terpisah.
 Proses digunakan untuk tugas berat seperti pelaksanaan
aplikasi. Thread digunakan untuk tugas sederhana.
 Proses tidak berbagi ruang alamat yang sama. Thread dalam
berbagi proses yang sama pada ruang alamat yang sama.
 Proses sifatnya independen satu sama lain. Thread saling
dependen karena berbagi ruang alamat yang sama.
 Proses bisa terdiri dari beberapa thread.
 Proses memiliki salinan sendiri segment data mereka.
Thread memiliki akses langsung ke segment data.
 Setiap proses dimulai dengan thread utama dan bisa
membuat thread tambahan jika dibutuhkan.

32. Model thread :

Timothy Orvin Edwardo – LK01 – 1901456205


33. Keuntungan thread :
 Lebih cepat membuat thread ketimbang proses.
 Terminate lebih cepat dibanding proses.
 Lebih cepat switch antar 2 thread di proses sama.
 Bisa berkomunikasi tanpa mengganggu kernel.

34. Implementasi thread :


 User space

 Keuntungan
o Mengizinkan setiap proses memiliki scheduling
algorithm sendiri.
o Performa.
 Kerugian :
o Implementasi blocking sistem call.

Timothy Orvin Edwardo – LK01 – 1901456205


o Tidak ada thread yang bisa jalan kecuali ada yang
memberikan CPU.
 Kernel space

 Keuntungan
o Tidak butuh non – blocking system call baru.
 Kerugian
o Cost lebih besar untuk membuat dan destroy
thread.
 Gabungan  multiplex user level thread ke kernel level
thread.

35. State thread :


 Spawn  ketika proses baru spawn, maka thread baru
spawn.

Timothy Orvin Edwardo – LK01 – 1901456205


 Block  ketika thread menunggu event. Prosesor turn ke
ready thread.
 Unblock  ketika event untuk blocked thread ada, maka
thread masuk antrean ready.
 Finish  ketika thread complete, register context, dan stack
didealokasi.

36. Hubungan antara thread dan proses :

37. POSIX (Portable Operating System Interface) thread :

Timothy Orvin Edwardo – LK01 – 1901456205


38. Karakteristik embedded system :
 Real time operation  kebenaran sebuah komputasi
tergantung pada waktu delivernya, kadang – kadang
realtime. Constraint diatur oleh external I/O dan kontrol
stability requirement.
 Reactive operation  bisa eksekusi dalam respon ke
external event. Jika event ini tidak muncul berkala, maka
harus mengambil kondisi worst – case dan set prioritas
untuk execution routines.
 Configurability  karena ada beragam jenis embedded
system, ada beragam variasi di requirement baik secara
kualitatif maupun kuantitatif. Untuk embedded OS,
fungsionalitasnya untuk eksekusi routines.
 I/O device flexibility  tidak ada device yang harus
disupport oleh semua versi OS, dan range I/O devices besar.
 Streamlined protection mechanism  didesain untuk
limited dan well – defined functionality.
 Direct use of interrupts  general purpose OS biasanya
tidak mengizinkan user process interrupt secara langsung.

39. CPU scheduling decision :


 Switch running ke waiting
 Switch running ke ready
 Switch waiting ke ready
 Terminate

40. Jenis scheduler :


 Long term  job scheduler, load memory untuk eksekusi.
Menambah pool untuk proses dieksekusi.

Timothy Orvin Edwardo – LK01 – 1901456205


 Medium term  RAM diturunkan ke paging / virtual
memory. Menambahkan proses yang ada di main memory.
 Short term  ready state ke CPU (paling cepat). Melibatkan
proses yang mana yang akan dieksekusi.
 I/O scheduler  proses pending I/O request dihandle oleh
I/O device.

41. Dispatcher  control CPU ke proses yang dipilih short –


term scheduler :
 Switching context
 Switching to user mode
 Lompat ke lokasi user program untuk restart program.

42. Dispatch latency  waktu yang dibutuhkan untuk stop


sebuah proses dan menjalankan yang lainnya.

43. Kriteria scheduling :


 CPU utilization  membuat CPU terpakai semuanya.
(optimal jika MAX)
 Throughput  banyak proses yang complete eksekusinya
per satuan waktu. (optimal jika MAX)
 Turnaround time  berapa waktu eksekusi proses. (optimal
jika MIN)
 Waiting time  waktu tunggu sebelum proses. (optimal jika
MIN)
 Response time  waktu ketika request dikumpul sampai
yang pertama dihasilkan. (optimal jika MIN)

44. Tujuan scheduling :

Timothy Orvin Edwardo – LK01 – 1901456205


45. Algoritma FCSF  yang duluan masuk diproses duluan. Jika
ada arrival time, urutkan arrival timenya.
 Kelebihan : lebih mudah dipahami dan diprogram.
 Kelemahan : job yang pendek mungkin menunggu terlalu
lama.

46. Algoritma Shortest Job First  execute yang pendek dulu.


Ada 2 jenis :
 Non preemptive  tidak boleh interrupt sampai complete.
 Preemptive  bisa diinterrupt apabila ada yang lebih
pendek.
 SJF optimal karena memberikan minimum avg. Waiting time.

47. Priority scheduling  scheduling sesuai prioritasnya.

48. Multiple queue  priority class pada antrean proses guna


untuk reduce swapping.

49. Shortest process next  estimasi waktu proses berikutnya.

Timothy Orvin Edwardo – LK01 – 1901456205


50. Guaranteed scheduling  pada sebanyak n proses berjalan,
setiap proses harus mendapat 1/n bagian CPU cycles.

51. Lottery scheduling  dipilih secara random, namun yang


memiliki lottery ticket terbanyak punya kesempatan dipilih lebih
besar.

52. Fair share scheduling  setiap user diberikan alokasi bagian


CPU yang sama.

53. Thread scheduling :

Timothy Orvin Edwardo – LK01 – 1901456205


54. Concurrency  komunikasi dalam proses termasuk sharing
resources supaya tidak ada konflik. Mengatur proses dalam sistem
operasi. Yang diatur adalah : multiple application, structured
application, OS structure.

55. Terminologi pada concurrency :

56. Masalah dalam concurrency :


 Sharing global resources
 Manajemen alokasi resources
 Error programming sulit dilokasikan

57. O/S concerns :


 Keep track proses aktif
 Alokasi dan dealokasi resources  waktu prosesor, memory,
files, I/O devices
 Protect data dan resources

Timothy Orvin Edwardo – LK01 – 1901456205


 Hasil proses harus independen dari eksekusi speed dari
proses concurrent lain.

58. Persaingan proses dalam resources :


 Mutual exclusion  harus diatasi dengan menjaga
hubungan 1 sama lain. Ketika 1 masuk, yang lain menunggu.
Agar tidak ada deadlock / starvation. Caranya :
 Disabling interrupt
 Lock variable
 Strict alternation
 Patterson solution
 TSL (test set lock)
 XCHG instruction
 Deadlock
 Starvation

59. Kooperasi proses :


 Sharing
 Menulis mutually exclusive
 Critical section digunakan untuk menyediakan data
integrity
 Proses interaksi dengan proses lain tanpa aware satu
sama lain
 Komunikasi
 Message pass  mutual exclusion bukan control
requirement.
 Peluang deadlock  menunggu message dari proses
lain.
 Peluang starvation  2 proses mengirim pesan satu
sama lain ketika proses lain menunggu pesan.

Timothy Orvin Edwardo – LK01 – 1901456205


60. Semaphore  signalling ke sebuah proses tertentu yang
berjalan. Jika proses menunggu signal, maka disuspend sampai
signal dikirim. Memiliki integer value :
 Bisa diinisialisasi oleh nonnegative number
 Operasi wait decrement semaphore value
 Operasi signal increment semaphore value.

61. Mekanisme umum concurrency :

Timothy Orvin Edwardo – LK01 – 1901456205


62. Masalah dining philosopher  ketika 1 proses butuh 2 garpu
dan 5 proses datang bersamaan, maka akan saling menunggu
sampai ada yang release garpunya.

63. Deadlock  suatu proses yang tidak bisa selesai karena


saling menunggu event. Deadlock melibatkan 2 atau lebih proses
dan tidak ada solusi efisien.

64. Contoh kasus deadlock :

65. Contoh lain kasus deadlock (a dan b tidak deadlock, c


deadlock) :

Timothy Orvin Edwardo – LK01 – 1901456205


66. Salah 1 cara menghindari deadlock :

67. Deadlock dengan RAG (resources allocation graph) :

68. Tidak deadlock dengan RAG :

Timothy Orvin Edwardo – LK01 – 1901456205


69.
Strategi agar tidak deadlock :
 Abaikan masalah  proses
dianggap selesai, tapi tidak ada
hasil.
 Deteksi dan recovery 
deteksi deadlock dan
pengambilan tindakkan.
 Penghindaran dinamis  resources allocation diperhatikan,
kalau tidak cukup, jangan eksekusi.
 Prevention  menegasikan 1 dari 4 kondisi yang required.
 Mutual exclusion  harus hold untuk nonsharable
resources.
 Hold and wait  menjamin proses jika request
resource sedang tidak memegang resource lain.
 Circular wait  RAG
 No preemption  bukan viable option.

70. Deadlock recovery :


 Memilih victim  minimize cost.
 Rollback  mengembalikan ke safe state.
 Starvation  proses sama dipick sebagai victim termasuk
banyak rollback di cost factor.

Timothy Orvin Edwardo – LK01 – 1901456205

Anda mungkin juga menyukai