Rangkuman Sistem Operasi Pert. 3-4
Program adalah sekumpulan instruksi untuk melakukan sebuah tugas, sedangkan process adalah pengeksekusian program.
Karakteristik sebuah process:
- identifier
- state
- priority
- program counter
- memory pointer
- context data
- I/O status information
- accounting information
Cara membuat sebuah process
- memberikan sebuah penanda (identifier) yang unik
- mengalokasikan ruang untuk process
- inisialisasikan process control block
- membuat hubungan process yang tepat
- memperluas struktur data lainnya
Kapan sebuah process dapat diakhiri?
- ketika terdapat kegagalan input outpu
- instruksi yang tidak sah
- instruksi yang dibataskan
- penyalahgunaan data
- campur tangan sistem operasi
- process induk diakhiri sehingga mengakhiri process anak
Suatu sistem operasi yang baik adalah sistem operasi yang mampu menunda (suspend) aplikasi yang sedang berjalan untuk aplikasi lain dengan prioritas yang lebih tinggi sehingga dapat menghemat penggunaan ram dan penggunaan CPU.
Process Management System Call –> fork()
- membuat process baru (child)
- pengeksekusian proses induk dan anak secara merangkap
- setiap proses dapat merangkap dengan process lain membentuk hirarki proses
- proses dapat menunggu hingga anaknya diakhiri
fork() memiliki tipe data int, artinya memiliki return value dengan kriteria
- return -1 jika proses tidak berhasil
- return 0 jika merupakan proses anak
- return positive number jika process induk
Pada saat pengeksekusian, fork() membuat dua copy yang identik pada alamat memory sehingga process induk dan anak berjalan secara sendiri tanpa ketergantungan yang lain (independently). Secara umum, kita tidak dapat mengetahui kapan process induk berjalan terlebih dahulu atau sebaliknya. Semua itu tergantung pada algoritma penjadwalan (scheduling algorithm) yang digunakan oleh kernel.