os211

Top 10 List of Week 06

  1. What is a Thread?
    Saya mendengar kata thread sebelumnya di mata kuliah adpro dimana dia menjelaskan hubungannya dengan concurrency. Thread dalam sistem operasi memiliki arti dimana thread adalah suatu flow eksekusi melalui process code, dengan program counter yang menjaga alur pengeksekusian instruksi berikutnya. Suatu thread terdiri dari Thread ID, program counter, a register set, and a stack.
  2. Why Do We Need Concurrency in Operating System Frameworks?
    Jika diperhatikan selama beberapa tahun ke belakang, perkembangan processing power sudah tidak aktif lagi. Yang berarti Moore’s Law sudah tidak relevan, mengapa? karena concurrency. “Concurrency can help us to get the most out of our limited resources”. Salah satu tujuan utama sistem operasi adalah memanfaatkan hardware dengan sepenuhnya. Dengan menggunakan concurrency, hardware dapat melakukan lebih banyak task sekaligus.
  3. Concurrency: Tradeoffs
    Tentunya dari kompleksitas. Membuat software concurrent jauh lebih kompleks karena ada banyak interaksi yang terjadi sekaligus. Semakin kompleks, semakin prone to errors, dan juga secara inheren lebih sulit untuk didiagnosis karena multiple threads of control.
  4. Process Layout in Memory
    Ternyata, layout proses pada suatu memory dapat direpresentasikan dalam 4 sections yang berbeda, yaitu text section, data section, heap section, dan stack section. Masing-masing section diletakan dalam satu atau lebih blok dan konten blok tersebut dikelola oleh process yang memilikinya.
  5. Process vs Threads
    Process cukup berat dalam penerapannya serta membutuhkan resource yang intensif, sedangkan thread lebih ringan. Process switching membutuhkan interaksi dengan sistem operasi, sedangkan thread tidak. Dalam multiple processing environments, masing-masing process mengeksekusi code yang sama tetapi memungkinkan untuk memiliki memory yang berbeda dan file resources nya masing-masing, sedangkan thread dapat melakukan sharing dari kedua hal tersebut. Serta, jika suatu proses terblokir maka tidak akan ada proses yang dapat mengeksekusi sampai proses yang sebelumnya di unblock, sedangkan pada thread jika salah satu thread di blokir maka thread lainnya masih bisa berjalan.
  6. Real life examples of concurrency
    Ya kalian sadar tidak kalau lift itu konkuren. Lebih tepatnya, sistem komputer yang dirancang untuk mengontrol sekelompok lift di satu lokasi dalam sebuah gedung. Ada lift yang lagi naik, atau turun, atau idle. Ada tombol yang baru saja dipencet, atau tombol yang lagi pending. Ada pintu lift yang terbuka atau tertutup. Displays yang harus selalu diupdate untuk memberi tahu passenger state lift nya. Banyak sekali task yang dieksekusi sistem secara simultan.
  7. Semaphores
    Bukan semaphore pramuka ya guys hehe. Dari video singkat ini saya mempelajari bahwa semaphore merupakan variabel yang digunakan untuk process synchronization dalam multi processing environment. Bayangkan variabel ini seperti security guard di restoran. Dia mengizinkan pelanggan masuk ke restoran hanya jika meja nya tersedia. Jika meja sudah terisi, pelanggan (processes) harus menunggu di luar restoran.
  8. Multithreading Models
    Seperti di mata kuliah basdat, di OS juga ada sejenis kardinalitas dalam thread yang disebut multithreading models. Di satu sisi merupakan user thread seperti PC, registers, stack. Dan di sisi lainnya adalah kernel thread yang langsung di handle oleh operating system. Kedua thread ini akan bekerja sama untuk menjalankan suatu task dengan cara bertukar/meneruskan informasi.
  9. Concurrency: Benefits
    Kita tahu bahwa dengan concurrency akan terjadi sharing of resources. Hal ini akan berakibat masalah-masalah seperti deadlocks. Namun sebenarnya ada juga benefit dari concurrency. Selain tentunya dapat menjalankan beberapa application sekaligus, concurrency dapat menurunkan average response time, menaikkan performance, dan dapat memberdayakan resources yang ada dengan maksimal.
  10. The End of Moore’s Law
    Prediksi yang dikatakan Moore beneran terjadi selama 5 dekade ke belakang. Sekarang chip yang kita gunakan terdiri dari 50 Billion transistors. Moore’s law sudah tidak lagi relevan karena semakin banyak jumlah transistornya, semakin mahal juga chipnya. Konon katanya akan ada inovasi terbaru namanya neuromorphic chip yang mimic cara kerja otak manusia. Di neuromorphic chip ini memory dan CPU akan disatukan dan saling berkomunikasi seperti neuron-neuron pada otak manusia.