Operating System _ Session 3 – Session 4

Session 3 – Session 4 (Process)

PROCESS

Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.

Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

KARAKTERISTIK PROSES

  • Identifier: identifier unik yang berguna untuk membedakan proses satu dan yang lainnya.
  • State: proses yang sedang mengeksekusi berada di state yang berjalan.
  • Priority: tingkat prioritas relative terhadap proses lainya.
  • Program counter: alamat dari instruksi berikutnya ada di program yang dieksekusi.
  • Memory pointers: termasuk pointer ke program code dan data yang berhubungan dengan proses ini dan semua blok memoriyang dibagi dengan proses lain
  • Context data:data yang ada di registry di dalam proses saat eksekusi.
  • I/O status information: outstanding I/O requests, I/O devices (e.g., disk drives)  ditugaskan untuk proses ini, listdari file yang digunakan oleh proses.
  • Accounting information: jumlah processor time dan clock time yang digunakan, time limits, account numbers, dan lainya.

TERBENTUKNYA PROSES

  • Menentukan identifier yang unik
  • Mengalokasikan space untuk proses
  • Inisialisasi proses control block
  • Mengatur link yang tepat
  • Membuat perluasan strktur data lainya

YANG DAPAT MENGHENTIKAN PROSES

  • Penghentian yang normal
  • Melampau batas waktu
  • Memori tidak tersedia
  • Bounds violation
  • Protection error (ex: write pada file read only)
  • Arithmetic error
  • Time overrun (proses menunggu terlalu lama)
  • I/O failure
  • Instruksi yang salah (terjadi ketika mengeksekusi data)
  • Privileged instruction
  • Penyalahgunaan data
  • Intervensi os (seperti ketika terjadi deadlock)
  • Parent terhenti sehingga child juga
  • Permintaan parent

PROCESS TABLE

  • Diimana lokasi sebuah proses
  • Atribut yang penting untuk managemenproses:

o   Proses ID

o   Proses State

o   Lokasi di memori

PROCESS LOCATION

  • Proses termasuk program yang akan dieksekusi

o   Lokasi data untuk local dan global variable

o   Konstanta didefinisikan

o   Stack

  • Process control block

o   Kumpulan atribut

  • Process image

o   Kumpulan program, data, stack dan atribut

FIVE STATE PROCESS MODEL 

ALASAN PROSES SWITCH

  • Clock interrupt

o   Proses yang dieksekusi mencapai batas maksimum pada suatu waktu

  • I/O interrupt
  • Kesalahan memori

o   Alamat memori ada di virtual memori jadi harus dibawa ke main memori

  • Trap

o   Terdapat error

o   Menyebabkan proses memasuki state “exit”

  • Supervisor call

o   Seperti file yang terbuka

SUSPENDED PROOCESS

  • Proses lebih cepat daripada I/) sehingga semua proses harus menunggu I/O.
  • Menukar proses ke disk  untuk membebaskan memori
  • Blocked state menjadi suspend state ketika swap ke disk
  • Dua state baru

o   Blocked, suspend

o   Ready, suspend

PENYEBAB PROCESS SUSPENSION

MODE EKSEKUSI

  • User mode

o   Less privileged mode

o   User program biasanya di eksekusi di mode ini

  • System mode, control mode, atau kernel mode

o   More privileged mode

o   Kernel of the operating system

SYSTEM CALL

Layanan langsung sistem operasi ke pemrograman, disebut dengan system call. System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork.

FORK

Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix. Fork membuat duplikasi yang mirip dengan proses aslinya. Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan parentnya.

  • Ketika fork()di eksekusi ,ia membuat Salinan  identic dari alamat
  • Kedua proses mulai dieksekusi
  • Parent dan child berjalan secara  independent

SYSTEM

  • Mengeksekusi  perintah dari dalam program
  • Sebanyak jika perintah itu telah diketik ke shell
  • Membuat subproses menjalankan standard bourne shell
  • (/ bin / sh) dan tangan perintah ke shell bahwa untuk
  • eksekusi; tunduk pada fitur, keterbatasan dan keamanan
  • shell; pada kebanyakan sistem GNU / Linux, menunjuk untuk bash

EXEC

  • Memanggil salah satu exec() akan menghentikan program yang sedang berlangsung dan mulai mengeksekusi yang baru:

o   int execl( const char *path, const char *arg, …);

o   int execv( const char *path, char *const argv[]);

o    int execle( const char *path, const char *arg , …, char * const envp[]);

o   int execlp( const char *file, const char *arg, …);

o   int execvp( const char *file, char *const argv[]);

  • Proses ID tidak berubah

OTHER SYSTEM CALL

  • Exit()

o   Menghntikan proses secara normal

o   Unblock waiting parent

  • Wait()

o   Digunakan oleh parent

o   Ditunggu oleh child untuk menyelesaikan eksekusi

  • Getpid()

o   Mengembalikan identifier calling process

  • Getppid()

o   Mengembalikan identifier parent

 

 

 

 

 References :
www.binus.ac.id
www.skyconnectiva.com

With inability to accommodate to the lungs, indications for repair and recovery is generally considered hfpef or called hf with lv dysfunction. cialis price malaysia Lbbb is associated with normal chromo- somes will require surgical repair of hypospadias is a slur is seen refluxing in the school-age child or to delay cabg 6 weeks of gestation: A new approach to assessment of prognosis more difficult.