os211

#W07

TOP 10 LINKS

  1. What is mmap()?
    Website ini menjelaskan mengenai mmap(). mmap(), atau memory-mapped i/o, merupakan sebuah function dimana kita bisa mapping suatu file ke process address space di memory. Ketika sudah di mapping, kita bisa akses file tersebut ibaratnya sebuah array pada suatu program. Saya masih rada ngawang cara menggunakan dan segala sesuatu tentang method tersebut, namun untuk sekarang saya ngeh mengenai definisinya.

  2. Coffman conditions, anyone?
    Website ini memberitahukan mengenai Coffman conditions. Bagi yang sudah terjun di lautan Synchronization & Deadlock pasti sudah familiar dengan 4 kondisi yang harus ada untuk terjadinya suatu deadlock (mutual exclusion, hold and wait, no-preemptive dan circular wait condition). Saya menemukan website tersebut menarik karena saya baru tahu 4 kondisi tersebut disebut dengan Coffman conditions, courtesy of E. G. Coffman (1971).

  3. Ever heard of a Spinlock?
    Website ini menjelaskan secara singkat mengenai Spinlock. Dari apa yang saya pahami setelah GSGS, Spinlock adalah sebuah lock yang menyebabkan suatu thread terus menunggu dalam suatu loop (hence “spins”) sambil mengecek secara berkala apakah lock tersebut sudah available atau belum. Karena thread tersebut tetap aktif namun tidak melakukan task penting, maka bisa dianggap sebagai “busy-waiting”.

  4. Starvation (no, not that kind)
    Website ini membahas mengenai Starvation. Mungkin hal yang pertama kali muncul di pikiran ketika melihat kata starvation adalah kelaparan. Pada OS, Starvation memang kurang lebih berhubungan dengan kelaparan. Starvation terjadi ketika sebuah program dengan low priority ingin request resource tapi resource tersebut sedang dipakai terus-menerus untuk waktu yang tidak dapat ditentukan. Alhasil, low priority program jadi “lapar”. Bisa dibilang low priority program tersebut di “block” oleh high priority program.

  5. Aging? What does age have to do with OS?
    Website ini mengulas mengenai Aging. Ketika saya sedang GSGS tentang Starvation, istilah “Aging” menarik perhatian saya. Awalnya saya kira Aging di OS beneran berhubungan dengan umur. Ternyata saya agak benar. Aging adalah solusi untuk melawan Starvation. Pada Aging, kita perlahan-lahan meningkatkan (alias aging) priority sebuah process. Jadi makin bertambah umur but in this case, makin bertambah/naik level priority-nya.

  6. Orphans vs Zombies
    Website ini menjelaskan mengenai orphan dan zombie process. Saya menemukan website ini menarik karena baru tahu ada yang namanya zombie process. Yang saya pahami dari web tersebut yaitu orphan process adalah process yang masih berjalan meskipun parent process-nya udah selesai atau terminated, sedangkan zombie process adalah sebuah process yang eksekusinya udah selesai, tapi masih memiliki entry di process table.

  7. You’ve heard of Spinlock, now get ready for Livelock
    Website ini menceritakan mengenai Livelock. Yang saya tangkap, Livelock terjadi ketika sebuah request untuk exclusive lock di reject karena ada lock-lock lain yang menganggu. Livelock merupakan suatu situasi/kondisi dimana processes saling berganti status, sehingga terjadi clash pada state yang dimiliki masing-masing process. Interaksi tersebut terus terulang sehingga task yang dimiliki process jadi sulit untuk diselesaikan, dan progress yang dimiliki menjadi gagal.

  8. All you need to know about locking
    Website ini memberitahukan mengenai locking. Ketika saya GSGS, saya menemukan istilah locking. Dan ternyata locking ada materinya sendiri, its own separate topic. Sebenarnya materi website tersebut masih rada sulit untuk saya cerna, namun bagi yang tertarik monggo untuk di cek. Yang saya tangkap, locking adalah memory object dengan dua operasi, acquire(), yaitu mendapatkan hak untuk memasuki critical section, dan release(), yaitu melepaskan hak untuk memasuki critical section.

  9. Mutex…what is that
    Website ini menjelaskan mengenai Mutex. Mutex, atau Mutual Exclusion Object, intinya merupakan suatu variable yang memberikan suatu process akses ke resource. Mutex adalah sebuah jenis binary Semaphore yang menggunakan locking mechanism. Terjadi mutual exclusion pada Mutex sehingga hanya satu thread saja yang bisa menggunakan Mutex tersebut. Dengan adanya Mutex, thread tidak bisa saling mengakses resources yang sama pada saat bersamaan (hanya Mutex saja yang bisa akses), sehingga race condition dapat dihindari.

  10. Critical section in Synchronization
    Website ini menjelaskan mengenai apa itu critical section. Bila ada bagian suatu program dimana banyak process yang mencoba untuk akses bagian tersebut, maka bagian tersebut adalah “critical”. Bagian critical tersebut yang sedang mencoba untuk mengakses shared resources tidak bisa dieksekusi oleh lebih dari satu process. Menurut saya bahasan tersebut menarik karena saya jadi sadar program ternyata bisa aja ada bagian kritisnya.