Sistem Operasi (Pertemuan 2)
Session 3
Process vs Program
Program berisi instruksi untuk melakukan tugas.
Proses menjalankan program (eksekusi).
Process Characteristic
- Identifier: A unique identifier (biasa disebut ID).
- State: Apa yang terjadi saat itu, misalnya lagi ada yang dijalankan, maka itulah state nya.
- Priority
- Program counter: Alamat dari instruksi selanjutnya.
- Context data: These are data that are present in registers in the processor while the process is executing.
- Accounting information: Bisa termasuk jumlah dari processor time dan clock time yang digunakan, time limits, account numbers.
Process Creation
- Masukkan proses ID.
- Alokasi space untuk proses.
- Inisialisasi process control block.
- Atur linkages yang benar.
- Perluas struktur data lainnya.
Process Termination
- Normal Completion.
- Time Limit Exceeded.
- Memory Unavailable.
- Protection Error.
- Bounds Violation.
Process Table
- Dimana lokasi prosesnya.
- Atribut yang penting:
- Process ID.
- Process state.
- Lokasi dalam memori.
Process Location
- Proses berisi kumpulan dari program untuk di eksekusi.
- Proses Control Block berisi kumpulan atribut.
- Proses Image berisi kumpulan data, program, stack, dan atribut.
Modes of Execution
- User Mode
- Mode yang kurang punya hak istimewa.
- Program user biasanya eksekusi mode ini.
- System Mode, Control Mode, atau Kernel Mode
- Mode yang punya hak istimewa lebih.
- Kernel dari OS.
Session 4
Process Management System Call – fork()
- Buat proses baru (child).
- Parent dan children di eksekusi berbarengan.
- Setiap proses bisa fork proses lain jadi membuat hirarki proses.
- Sebuah proses bisa memilih untuk menunggu child atau terminate.
Fork()
- Return 0 bila
- Return -1 bila tidak berhasil.
- Saat fork() dieksekusi, akan ada dua copy address space yang identik.
- Oleh karena itu parent dan child berjalan masing-masing.
- Urutan eksekusi akan berbeda di platform yang berbeda pula, di Ubuntu Linux (1-2-3-4) dari child lalu kembali lagi ke parent, di Solaris (1-3-4-2) parent lalu ke child.
- Fork() dijalankan sekali tapi akan return dua kali.
System()
- Mengeksekusi perintah dari dalam program.
- Kebanyakan jika perintah itu telah diketik ke shell.
- Menciptakan subproses menjalankan standar Bourne shell.
Other System Calls
- exit()
- Mengakhiri proses normal.
- Unblocks orang tua menunggu.
- wait()
- Digunakan oleh parents.
- Menunggu child untuk menyelesaikan eksekusi.
- getpid ()
- Mengembalikan identifier dari proses panggilan.
- getppid ()
- Mengembalikan identifier
Jason Rahardja
1701325271/BX01
www.binusmaya.binus.ac.id
www.skyconnectiva.com