Materi Perkuliahan dan Pembalajaran Sistem Operasi - BAB 3

Berikut adalah materi sistem operasi BAB 3 yang mencakup bahasan dari proses, thread, penjadwalan dan lain-lain, untuk lebih lanjutnya bisa anda langsung baca dibawah berikut ini.

 

Pengertian Proses

  • Prosesor mengeksekusi program-program komputer.
  • Prosesor adalah sebuah chip dalam sistem komputer yang dijalankan intruksi program komputer. Dan dalam setiap detiknya prosesor menjalankan jutaan intruksi.
  • Proses adalah sebuah program yang sedang dijalankan (eksekusi).

 

Proses

  • Konsep Proses.
  • Penjadwalan eksekusi proses.
  • Operasi pada proses.
  • Proses yang saling berkerjasama (Cooperating Process).
  • Komunikasi antar proses (interprocess Communication).

 

Konsep Proses

  • Sistem operasi menjalankan banyak dan beragam program :
  1. Batch system >> Jobs
  2. Time Shared System >> User programs atau task.
  3. Istilah pada buku teks : job, task dan process (dapat diartikan sama).
  • Proses adalah program yang dieksekusi.
  1. Aktif(proses=>memori) vs pasif (program=>file).
  2. Intruksi pada program (code) akan dieksekusi secara berturut(sequensial) sesuai dengan "line code" (stored program concept)
  • Proses lebih dari program code yang aktif :
  1. Melacak posisi intruksi (sequensial execution) : program counter.
  2. Menyimpan data sementara.
  3. Menyimpan data (data section).
  4. Menyimpan status proses. contoh : aktif, wait I/O request dll.
Baca juga : Materi atau bahan Sistem Operasi BAB 2

 

Sistem Operasi Bertanggung Jawab Atas Aktifitas

  • Membuat dan menghapus proses pengguna dan sistem proses.
  • Menunda dan melanjutkan proses.
  • Menyediakan mekanisme untuk proses sinkronisasi.
  • Menyediakan mekanisme untuk proses komunikasi.
  • Menyediakan mekanisme untuk penanganan deadlock.

 

Status Proses

  •  saat-saat prose dijalankan (excuted) maka status dari proses akan berubah.
  • Suatu proses didefinisikan sebagai bagian dari aktifitas proses yang sedang berlangsung saat itu.
  • Status proses terdiri atas :
  1. New : Proses sedang dikerjakan/dibuat
  2. Running : Intruksi dieksekusi.
  3. Waiting : Proses menunggu beberapa event yang akan terjadi.
  4. Ready : Proses menunggu jatah waktu dari prosesor.
  5. Terminated : Proses selesai dieksekusi.

 

Diagram Status Proses



Baca juga : Materi perkuliahan dan pembelajaran sistem operasi BAB 1

 

Informasi Proses


Dimanakah informasi proses disimpan?
  • Data struktur dari OS dalam bentuk table :
  1. Satu entry table/linked list => struktur data untuk menampung informasi satu proses (array of structure).
  2. Setiap entry data tabel proses menyimpan satu proses.
  • Informasi yang disimpan :
  1. Informasi internal CPU : isi register-register, program counter, status CPU dll (umumnya dalam bentuk stack frame).
  2. Identifikasi proses : nama proses, proses number/index, proses id.
  3. Accounting dan timer : user time, system time, alarm etc.
  4. Resources : memory dan file management.

 

Process Control Block (PCB)


Setiap proses dalam sistem operasi mendapatkan sebuah PCB yang memuat informasi tentang proses tersebut, yaitu sebuah tanda pengenal proses (process ID) yang unix dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori.

PCB berisikan banyak bagian dari informasi yang berhubungan denga sebuah proses yang spesifik, yaitu:
  1. Keadaan proses/status proses : new, ready, running, waiting dan terminated.
  2. Program counter : menunjukkan atau mengindikasikan address berikutnya yang akan dieksekusi oleh proses tersebut.
  3. CPU register : register bervariasi tipe dan jumlah, tergantung pada rancangan/arsitektur komputer. Register tersebut terdiri atas accumulator, index register, stack pointer, general-purposes register, ditambah beberapa informasi tentang kode kondisi. Selama program counter berjalan, status informasi harus disimpan pada saat terjadi interupt.
  4. Informasi penjadwalan CPU : berisi prioritas daru suatu proses, pointer ke antrian penjadwalan dan beberapa parameter penjadwalan yang lainya.
  5. Informasi management memori : informasi tersebut bernilai (basis) dan limit register, page table atau segment table tergantung pada sistem memori yang digunakan SO.
  6. Informasi accounting : informasi yang berisi jumlah CPU dan real time yang digunakan, time limits, account number, jumlah proses dll.
  7. Informasi status I/O : informasi tersebut berisi jumlah deretan I/O device yang dialokasikan untuk proses tersebut.

 

Perpindahan CPU dari satu Proses ke Proses Lainya



 

Penjadawalan Proses

  • Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan sepanjang waktu dan memaksimalkan pemakaian CPU secara efesien (jadwal dan giliran pemakaian CPU).
  • Tujuan dari "time-sharing adalah pemakaian CPU dapat di switch dari satu proses ke proses lain (concurrent process execution).
  • Tiga macam bentuk dari penjadwalan proses :
  1. Antrian Penjadwalan.
  2. Penjadwal (Scheduler).
  3. Context Switch.

 

Antrian Penjadwalan

  • Proses dapat berubah dan berpindah dari satu antrian ke antrian yang lain.
  1. Proses dari status "ready" berada di ReadyQueue.
  2. Menunggu giliran/dipilih oleh scheduler => Menggunakan CPU.
  • Selama eksekusi (status run) events yang dapat terjadi :
  1. I/O request => I/O wait berada pada DeviceQueue.
  2. Create "child" proses => Jalankan proses "child", tunggu sampai proses selasai (wait).
  3. Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue.

 

Ready Queue dan I/O Device Queue



Diagram antrian



 

Penjadwalan atau Scheduler

  • Bagaimana Schedulers memilih proses atau program (decision)? >> Lebih dari satu proses atau program yang akan dijalankan.
  • Terdapat dua bentuk penjadwal, yaitu :
  1. Long-Term Scheduler (job scheduler) : menyeleksi proses-proses mana yang harus dibawa ke readyqueue.
  2. Short-Term Scheduler (CPU scheduler) : memilih proses-proses yang siap untuk dieksekusi dan mengalokasikan CPU ke salah satu dari proses-proses tersebut.

 

Alih Konteks atau Context Switch

  • Ketika CPU memindahkan proses ke proses lain, diperlukan penyimpanan suatu keadaan proses lama dan kemudian beralih ke proses yang baru (supaya dapat dijalankan kembali). Tugas tersebut diketahui sebagai alih konteks (context switch).
  • Waktu context-switch adalah overhead, sistem tidak melakukan perkerjaan saat terjadi switch.
  1. Sangat tergantung pada waktu di hardware.
  2. OS modern mencari solusi untuk mengurangi overhead waktu switch proses.

 

Pembuatan Proses.


Beberapa aktivitas dalam pembuatan proses, yaitu:
  • Memeberi identitas (nama) pada proses yang dibuat.
  • Menyisipkan proses pada list proses atau tabel proses.
  • Menetukan prioritas awal proses.
  • Membuat PCB.
  • Mengalokasikan resource awal bagi proses tersebut.
Selama eksekusi, suatu proses mungkin akan membuat proses baru. Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child.

 

Penghentian Proses

  • Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir dan meminta pada SO untuk menghapusnya denga menggunakan system call exit.
  • Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti.
  • Namun beberapa sistem menganggap proses anak terpisah dengan induknya.

 

Kejadian yang Mengakibatkan Penghentian Proses

  • Selesaikan proses secara normal.
  • Melebihi batas waktu.
  • Memori tidak tersedia.
  • Kesalahan Aritmatika.
  • Kegagalan I/O
  • Cacat intruksi.
  • Kesalahan menggunakan data.
  • Berakhirnya proses induk.
  • Dan lain-lain.

 

Kerjasama Proses

  • Proses yang dieksekusi oleh SO mungkin berupa proses independence atau cooperate.
  • Proses yang terpisah (independence) adalah proses yang tidak berakibat atau diakibatkan oleh eksekusi dari proses lain.
  • Proses yang saling berkerjasama (cooperate) adalah proses yang dapat berakibat atau diakibatkan oleh eksekusi dari proses lain.

 

Keuntungan Kerjasama Proses

  • Terjadi pembagian informasi.
  • Meningkatkan kecepatan komputasi.
  • Proses dapat dibagi dalam modul-modul.
  • Lebih memberikan kenyamanan dan kemudahan pada programmer.

 

Komunikasi Antarproses

  • Komunikasi antarproses/ interprocess communication (IPC) adalah mekanisme proses-proses untuk berkomunikasi dan melakukan sinkronisasi aksinya.
  • IPC menyediaka dua operasi :
  1. Send (massage).
  2. Receive ( message).
  • Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
  1. Membangun jalur komunikasi di antar keduanya.
  2. Melakukan pertukaran peasn melalui send/receive.
  • Implementasi jalur komukasi.
  1. Physical (shared memory, hardware bus).
  2. Logical (logical properties).

 

Komunikasi Langsung

  • Proses melakukan komunikasi langsung ke proses lain.
  • Proses harus diberi nama secara eksplisit :
  1. Send (P, Massage) >> Kirim pesan ke proses P.
  2. Receive (Q, Massage) >> Terima peasn dari proses Q.
  • Properti jalur komunikasi.
  1. Jalur dibangun secara otomatis.
  2. Setiap jalur memiliki pasanga masing-masing dalam proses komunikasi.
  3. Jalur komunikasi tersebut biasanya directional.

 

Komunikasi Tidak Langsung

  • Pesan dikirim dan diterima malalui mailboxes (yang ditunjuk sebagai port).
  • Mailbox yaitu suatu objek dimana pesan-pesan ditempatkan oleh proses atau dapat dihapus.
  • Properti jalur komunikasi :
  1. Jalur komunikasi hanya dibangun jika proses di share dalam mailbox.
  2. Sambungan dihubungkan dengan beberapa proses.
  • Setiap pasangan proses dibagi ke dalam beberapa jalur komunikasi tetapi tiap link berhubungan dengan satu mailbox.

 

Buffering


Antrian pesan yang dihubungkan dalam suatu jalur, diimplementasikan denga tiga jalan :
  • Zero capacity >> Tidak ada pesan.
>> Sender harus menunggu receiver (rendezvous).
  • Bounded capicity >> Memiliki panjang yang terbatas (finite length) dari n pesan.
>> Sender menunggu pada saat jalur penuh.
  • Unbounded capcacity >> Memiliki panjang tidak terbatas (infinite length).
>> Sender tidak pernah menunggu.

 

Thread

  • Thread atau lightweight proces (LWP) adalah suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register dan ruang stack.
  • Thread akan berkerjasama dengan thread lainya dalam hal penggunaan bagian kode, bagian data dan resources SO, seperti open file dan task.

 

Keuntungan Sistem Thread

  • Tanggap/ respon lebih cepat.
  • Resouce sharing.
  • Lebih ekonomis.
  • Meningkatkan utulitas arsitektur mikroprosesor.

Next >> Bab 4 :

Demikian untuk Bab 3, kalau ada penulisan dan ejaan yang salah mohon di maafkan dan bagi yang suka dengan bahan materi yang saya tulis bisa anda share atau bagikan, untuk tanggapan atau komentar saya harapkan karna berguna untuk artikel yang akan saya buat selanjutnya.


Terima Kasih Semoga Bermanfaat.

No comments:

Post a Comment

Esterogen dan Progesteron Sel Folikel Ovarium Dipengaruhi Hormon dan Dihasilkan Oleh

Question : Sistesis Esterogen dan Progesteron oleh sel folikel Ovarium dipengaruhi oleh hormon-hormon yang dihasilkan oleh? Answer : Sis...