Pertemuan 2 Sistem Operasi

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

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *