HOME


Top 10 List of Week 06

  1. Masalah Update OS
    Baru saja saya senang seteleh melakukan update macOs Big Sur, pada laptop saya. Tiba-tiba saja saat saya memulai untuk belajar dan mengerjakan tugas mata kuliah OS, tiba-tiba Virtualbox saya muncul alert error “Kernel driver not installed (rc=-1908)”. Saya panik, lalu mencari pada forum tersebut dan pusing membacanya. Inisiatif untuk update Virtualbox dan akhirnya solved. Jangan lupa untuk selalu update ya guys baik Virtualbox maupun Virtual Guest-nya.

  2. Komputer yang semakin kompleks
    Komputer mulanya hanya dapat melakukan eksekusi satu program dalam satu waktu. Tiap program akan memiliki kendali penuh pada sistem dan memiliki akses pada system resources. Seiring dengan perkembangan teknologi, sistem komputer memungkinkan banyak program untuk dimuat kedalam memori dan dijalankan secara bersamaan, yaitu pada komputer kontemporer. Dengan begitu, untuk menjalankan masing-masing programnya, disebut sebagai proses. Jadi, semakin kompleks sistem operasi, berarti semakin besar harapan program-program dijalankan dalam proses.

  3. Apa itu Process dalam Sistem Operasi?
    Sederhananya, proses yaitu ketika suatu program sedang dieksekusi. Contohnya, ketika kita menulis suatu program dalam C dan melakukan compile dan compiler membuat binary code. Proses adalah suatu active entity dengan program yang sebagai passive entity nya. Suatu program tunggal dapat membuat banyak proses ketika dijalankan beberapa kali, misalnya ketika kita membuka file.

  4. Atribut dan Karakteristik suatu proses
    Proses memiliki beberap aatribut maupun karakteristik, diantaranya adalah:
    • Process Id: Suatu Unique Identifier yang di assign oleh sistem operasi.
    • Process State: Status seperti ready, running, dan lain-lain.
    • CPU Registers: Layaknya program counter, register pada CPU perlu disimpan dan di restore saat swap in and out dari CPU.
    • Account Information: Berisi informasi domain.
    • I/O Status Information: Untuk alokasi device saat melakukan proses pembukaan files, dan lain-lain.
    • CPU Scheduling Information: Pengaturan prioritas yang berbeda, misalnya proses yang lebih singkat akan memiliki prioritas yang lebih rendah.
  5. Layout proses dalam memory
    Ternyata, layout proses pada suatu memory dapat direpresentasikan dalam 4 sections yang berbeda, yaitu text section, data section, heap section, dan stack section.

  6. Perbedaan Direct dan Indirect Inter-Process Communication
    Dalam Direct Communication (Komunikasi Langsung), setiap proses yang dikomunikasikan harus secara eksplisit menyebutkan nama baik recepient maupun sender pada komunikasi. Dalam skema ini, sender dan receiver adalah primitives. Sedangkan, pada komunikasi tidak langsung, pesan dapat dikirim dan diterima melalui mailboxes.

  7. Mengenal Thread
    Sebelumnya, thread yang saya ketahui adalah seperti suatu forum yang biasanya dimulai oleh seorang user, misalnya pada Kaskus. Tetapi, thread dalam sistem operasi memiliki arti yang berbeda, 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.

  8. Lalu, apa bedanya process dan thread?
    Jika kita lihat dari pengertiannya, mungkin ada sedikit kemiripan diantara keduanya, yaitu mengenai thread yang artinya flow eksekusi yang menjaga pengeksekusian instruksi berikutnya, yang juga bisa dianggap sebagai process. Adapun beberapa perbedaan dari keduanya, yaitu:
    • Process cukup berat dalam penerapannya serta membutuhkan resource yang intensif, sedangkan thread lebih ringan dan tidak membutuhkan banyak resources yg banyak.
    • 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.
  9. Mengenai Single-Thread dan Multi-Thread
    Single-Thread merupakan eksekusi instruksi dalam satu sequence. Artinya, satu perintah diproses dalam satu waktu. Sedangkan Multi-Thread memungkinkan eksekusi beberapa bagian dari program pada waktu yang bersamaan. Bisa dibilang, proses lebih ringan saat melakukan eksekusi program.

  10. Kelebihan maupun kekurangan Thread
    Dalam penerapannya, Thread memiliki beberapa kelebihan dan juga kekurangan. Beberapa kelebihdan dari Thread adalah:
    • Switching time yang berkurang, karena thread mengerjakan task satu persatu tanpa perlu diinstruksikan
    • Komunikasi antar threads dan antar process dibuat efisien dengan bantuan thread. Hal ini dapat membantu mengelola proses tanpa perlu tracking seluruh proses, yang pastinya juga dapat mengurangi biaya.
    • Dengan demikian, biaya yang digunakan lebih sedikit dan karena seluruh prosesnya ekonomis untuk membuat dan mengelola serta mengalihkan thread diantara proses.
    • Thread memanfaatkan multiprocessor dalam jumlah yang besar since they both have the same characteristic. Membuat suatu multiprocessor itu cukup mudah dan terjangkau dibandingkan dengan processor lainnya.

Adapun kekurangan dari Thread itu sendiri, yaitu: