Ageng Anugrah
Operating Systems 2021-1 (OS211)
Ageng Anugrah Wardoyo Putra
Computer Science Student at Universitas Indonesia

Top 10 List of Week 06

  1. Apa itu Zombie Process?
    Saya memilih website ini karena penjelasannya singkat disertai gambar atau diagram dan mudah dipahami. Secara singkat zombie process adalah sebuah proses dimana proses eksekusinya sudah selesai namun masih mempunyai input di process table-nya.

  2. Apa itu Orphan Process?
    Saya memilih artikel ini karena mudah dipahami dan terdapat perbedaan antara orphan process, zombie process, dan daemon process. Orphan process hampir bisa dikatakan kebalikan dari zombie process, orphan process adalah sebuah process yang masih atau sedang berjalan akan tetapi proses yang menampungnya (parent processnya) sudah berhenti berjalan.

  3. Apa itu Concurrency?
    Sebenarnya materi mengenai Concurrency sudah sedikit disinggung pada mata kuliah pemrograman lanjut. Saya memilih website ini karena penjelasannya yang singkat padat, namun lengkap dan mudah dimengerti. Didalamnya juga terdapat kelemahan, keuntungan, dan masalah yang dapat disebabkan oleh concurrency. Secara sederhana concurrency adalah mengeksekusi atau menjalankan beberapa proses dalam waktu bersamaan.

  4. Perbedaan Proses dan Thread
    Saya memilih website ini karena didalamnya terdapat perbedaan yang cukup lengkap mengenai thread dan proses baik dari segi kompleksitas waktu, ruang, maupun komponennya. Proses dapat berarti program apapun yang sedang dieksekusi. Sebuah proses dapat membuat proses lain yang disebut child process(es). Proses dapat memiliki beberapa state seperti new, ready, running, waiting, terminated, suspended. Sementara thread adalah segmen dari proses atau dengan kata lain thread adalah pelaksanaan instruksi terkecil dari program komputer yang dapat dikelola secara independen. Sebuah proses dapat memiliki beberapa thread. Thread mempunyai 3 state yaitu running, ready, dan blocked. State juga dapat berkomunikasi antara satu dan yang lainnya.

  5. Stack dan Heap dalam Memori dan Sistem Operasi
    Saya memilih artikel dari stackoverflow ini karena ada banyak jawaban yang menarik untuk dibaca, ada yang kompleks ada juga yang sederhana. Heap dalam memori adalah sebuah porsi memori di mana alokasinya dinamis. Karena alokasinya dinamis, heap tidak langsung hilang ketika suatu fungsi telah diinisiasi. Untuk menghilangkannya, harus di delete langsung atau ketika program sudah tidak berjalan lagi. Sementara itu stack menyimpan data secara sementara (temporary) ketika menginisiasi suatu fungsi, ketika fungsi tersebut selesai digunakan maka akan di ‘pop’ dari stack.

  6. Perbedaan Multithreading dan Multiprocessing
    Saya memilih website ini karena menjelaskan secara lengkap mengenai perbedaan multithreading dan multi processing. Dalam multiprosesing, CPU harus berpindah antar beberapa program sehingga terlihat seperti beberapa program yang berjalan secara bersamaan. Sementara itu dalam multithreading, CPU harus beralih di antara beberapa thread untuk membuatnya tampak bahwa semua thread berjalan secara bersamaan.

  7. Masalah yang Dapat Ditimbulkan oleh Multithreading
    Saya memilih video ini karena di video tersebut membahas masalah multithreading dengan lumayan mendetail. Dibalik kelebihan pasti ada kekurangan, tidak terlepas dalam multithreading, dalam multithreading dapat terjadi thread cancellation yang dapat disebabkan oleh banyak hal.

  8. Program Modularity
    Saya memilih website ini karena penjelasannya yang singkat dan mudah dimengerti. Modularity berarti sebuah sistem atau program harus dibuat dari sesuatu yang padu, tetapi mempunyai komponen yang tidak terlalu terikat satu sama lain (depedensi rendah) atau terdiri dari modul-modul.

  9. Fork pada Pemrograman C
    Saya memilih website ini karena didalamnya terdapat penjelasan mengenai fork yang lumayan lengkap, mulai dari program beserta output dan ilustrasinya. Fork () adalah cara membuat proses baru. Pada titik yang memanggil fork (), proses Anda dikloning, dan dua proses berbeda melanjutkan eksekusi dari sana. Salah satunya child, akan memiliki fork () return 0. Yang lainnya, Parent, akan memiliki fork () mengembalikan PID (ID proses) anak.

  10. Multithreading Models
    Saya memilih artikel ini karena isinya to the point dan mudah dipahami. Secara umum multithreading model dapat berbentuk one to one, one to many, many to many, maupun multilevels models. Setiap model ini punya karakteristik yang berbeda beda.


© 2021-2021 --- Ageng Anugrah Wardoyo Putra