Kamis, 20 November 2014

Concurrency pada Sistem Operasi

Adalah dua atau lebih hal yang berjalan pada waktu yang bersamaan pada sebuah Sistem Operasi. Masalah yang dihadapi:
  • Bahayanya berbagi global resourcres
  • Sulitnya Sistem Operasi mengatur alokasi resources secara optimal
  • Sulit untuk mencari kelalahan programming.
 Istilah-istilah merujuk Concurrency:
 1. Atomic Operation
- sebuah operasi yang sifatnya tidak dapat dibagi lagi
- dieksekusi semua atau tidak sama sekali
- bagian program yang tidak dapat di interrupt 
2. Critical Section
- bagian tertentu dari code yang membutuhkan akses ke shared resources
- tidak boleh dijalankan ketika ada proses lain yang sedang menjalankan bagian tersebut (tidak boleh ada yang menyela)
3. Race Condition
- hasil eksekusi sebuah program tergantung dari program mana yang berjalan terlebih dahulu

Kamis, 13 November 2014

Thread pada Sistem Operasi Linux

Thread adalah sesuatu yang berjalan di sebuah processor. Perbedaannya dengan proses adalah Thread mempunyai ruang tersendiri di memori pada sebuah Sistem Operasi untuk menampung process image. Sedangkan sebuah proses tidak bisa mengakses ruang lain di memori.

Lebih cepat membuat Thread dibandingkan dengan membuat proses

Ciri-ciri sebuah Thread:
  1. Thread state
  2. Saved thread context
  3. Execution stack
  4. Local variables
  5. Akses ke memori dan sumber daya yang dimiliki oleh prosesnya.
Pemrograman Thread

Rabu, 05 November 2014

"Process Programming" pada Linux

Sebuah Sistem Operasi pasti mempunyai pembeda antar proses satu dengan yang lainnya. Pembeda tersebut dapat kita sebut dengan PID (Process ID). PID berupa sebuah angka (integer) yang membedakan setiap proses berjalan dalam Sistem Operasi tersebut. Pun jika kita ingim menghubungkan dua proses atau lebih, PID disini sangat berperan penting untuk mengidentifikasi sebuah proses yang berjalan pada Sistem Operasi.

Selain itu, PID juga berguna untuk membuat sebuah "Child Process" di dalam Sistem Operasi, terutama Sistem Operasi Linux. Child process harus dibuat oleh sebuah parent secara identik. Karena child process akan memenuh perintah dari superuser sebuah Sistem Operasi. Child process juga dapat mencegah hal-hal yang tidak diinginkan sebuah Sistem Operasi seperti keterbataan penggunaan memori dan lain sebagainya.

Terdapat tiga cara untuk membuat chil process (proses baru) di dalam Sistem Operasi Linux, yaitu :