Pert.3 proses dan thread
Upcoming SlideShare
Loading in...5
×
 

Pert.3 proses dan thread

on

  • 665 views

 

Statistics

Views

Total Views
665
Views on SlideShare
665
Embed Views
0

Actions

Likes
0
Downloads
17
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pert.3 proses dan thread Pert.3 proses dan thread Presentation Transcript

  • SISTEM OPERASI Muhammad Risal CHAPTER.3 Muhammad Risal 1
  • Satu selingan pada diskusi kita mengenai sistemoperasi yaitu bahwa ada sebuah pertanyaan mengenaiapa untuk menyebut semua aktivitas CPU. Sistem batchmengeksekusi jobs, sebagaimana suatu sistemtime-shared telah menggunakan programpengguna, atau tugas-tugas/ pekerjaan-pekerjaan.Bahkan padasistem tunggal, seperti Microsoft Windows danMacintosh OS, seorang pengguna mampu untukmenjalankan beberapa program pada saat yang sama:sebuah Word Processor, Web Browser, dan pakete-mail. Bahkan jika pengguna dapat melakukan hanyasatu program pada satu waktu, sistem operasiperlu untuk mendukung aktivitas program internalnyasendiri, seperti managemen memori NURHALIMA 2
  • Secara informal; proses adalah program dalameksekusi. Suatu proses adalah lebih dari kode program,dimana kadang kala dikenal sebagai bagian tulisan.Proses juga termasuk aktivitas yang sedang terjadi,sebagaimana digambarkan oleh nilai pada programcounter dan isi dari daftar prosesor/ processor’sregister. Suatu proses umumnya juga termasuk processstack, yang berisikan data temporer (sepertiparameter metoda, address yang kembali, dan variabellokal) dan sebuah data section, yang berisikanvariabel global. NURHALIMA 3
  • Tiap proses mungkin adalah satu dari keadaanberikut ini:• New: Proses sedang dikerjakan/ dibuat.• Running: Instruksi sedang dikerjakan.• Waiting: Proses sedang menunggu sejumlahkejadian untuk terjadi (seperti sebuah penyelesaianI/O atau penerimaan sebuah tanda/ signal).• Ready: Proses sedang menunggu untuk ditugaskanpada sebuah prosesor.• Terminated: Proses telah selsesai melaksanakantugasnya/ mengeksekusi. NURHALIMA 4
  • • Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.• Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankanuntuk proses ini• CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register,ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/statusinformasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebutberjalan/bekerja dengan benar setelahnya (lihat Gambar 2-3).• Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai daridasardan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (lihat Bab 4).• Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yangdigunakan, bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.• Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada prosesini,suatu daftar open berkas dan banyak lagi.• PCB hanya berfungsi sebagai tempat menyimpan/ gudang untuk informasi apa pun yang dapatbervariasi dari prose ke proses. NURHALIMA 5
  • Model proses yang didiskusikan sejauh ini telahmenunjukkan bahwa suatu proses adalah sebuahprogram yang menjalankan eksekusi thread tunggal.Sebagai contoh, jika sebuah proses menjalankansebuah program Word Processor, ada sebuah threadtunggal dari instruksi-instruksi yang sedangdilaksanakan. NURHALIMA 6
  • Tujuan dari multiprogramming adalah untuk memiliki sejumlahproses yang berjalan pada sepanjang waktu, untukmemaksimalkan penggunaan CPU. Tujuan dari pembagianwaktu adalah untuk mengganti CPU diantara proses-prosesyang begitu sering sehingga pengguna dapat berinteraksidengan setiap program sambil CPU bekerja. Untuk sistemuniprosesor, tidak akan ada lebih dari satu proses berjalan.Jika ada proses yang lebih dari itu, yang lainnya akan harusmenunggu sampai CPU bebas dan dapat dijadualkan kembali. NURHALIMA 7
  • Ketika proses memasuki sistem, mereka diletakkandalam antrian job. Antrian ini terdiri dari seluruhproses dalam sistem. Proses yang hidup pada memoriutama dan siap dan menunggu/ wait untukmengeksekusi disimpan pada sebuah daftar bernamaready queue. Antrian ini biasanya disimpan sebagaidaftar penghubung. Sebuah header ready queueberisikan penunjuk kepada PCB-PCB awal dan akhir.Setiap PCB memiliki pointer field yang menunjukkanproses selanjutnya dalam ready queue. NURHALIMA 8
  • Sebuah proses berpindah antara berbagai penjadualanantrian selama umur hidupnya. Sistem operasiharus memilih, untuk keperluanpenjadualan, memproses antrian-antrian ini dalam caratertentu.Pemilihan proses dilaksanakan oleh penjadual yangtepat/ cocok. Dalam sistem batch, sering ada lebihbanyak proses yang diserahkan daripada yang dapatdilaksanakan segera. Proses ini dipitakan/ disimpanpada suatu alat penyimpan masal (biasanyadisket), dimana proses tersebut disimpan untukeksekusidilain waktu. Penjadualan long term, atau penjadualjob, memilih proses dari pool ini dan mengisinyakedalam memori eksekusi. NURHALIMA 9
  • Pergantian waktu konteks adalah murnioverhead, karena sistem melakukan pekerjaan yangtidak perlu. Kecepatannya bervariasi dari mesin kemesin, bergantung pada kecepatan memori, jumlahregister yang harus di copy, dan keberadaaninstruksi khusus (seperti instruksi tunggal untukmengisi atau menyimpan seluruh register). Tingkatkecepatan umumnya berkisar antara 1 sampai 1000mikro detik. NURHALIMA 10
  • Proses dalam sistem dapat dieksekusi secarabersama-sama, proses tersebut harus dibuat dandihapus secara dinamis. Maka, sistem operasi harusmenyediakan suatu mekanisme umtuk pembuatanproses dan terminasi proses. NURHALIMA 11
  • Secara umum, suatu proses akan memerlukan sumber tertentu(waktu CPU, memori, berkas, perangkat I/O) untukmenyelesaikan tugasnya. Ketika suatu proses membuat sebuahsubproses, sehingga subproses dapat mampu untukmemperoleh sumbernya secara langsung dari sistem operasi.Induk mungkin harus membatasi sumber diantaraanaknya, atau induk dapat berbagi sebagian sumber (sepertimemori berkas) diantara beberapa dari anaknya. Membatasisuatu anak proses menjadi subset sumber daya induknyamencegah proses apa pun dari pengisian sistem yang telalubanyak dengan menciptakan terlalu banyak subproses. NURHALIMA 12
  • Sebuah proses berakhir ketika proses tersebutselesai mengeksekusi pernyataan akhirnya danmeminta sistem operasi untuk menghapusnyadengan menggunakan sistem pemanggilan exit. Padatitik itu, proses tersebut dapat mengembalikan data(keluaran) pada induk prosesnya (melalui sistempemanggilan wait) Seluruh sumber-sumber dariproses-termasuk memori fisik dan virtual, membukaberkas, dan penyimpanan I/O di tempatkan kembalioleh sistem operasi. NURHALIMA 13
  • Sebelumnya kita telah ketahui seluk beluk dari suatuproses mulai dari pengertiannya, cara kerjanya,sampai operasi-operasinya seperti prosespembentukannya dan proses pemberhentiannyasetelah selesai melakukan eksekusi. Kali ini kita akanmengulas bagaimana hubungan antar proses dapatberlangsung, misal bagaimana beberapa prosesdapat saling berkomunikasi dan bekerja-sama. NURHALIMA 14
  • Proses yang bersifat simultan (concurrent) dijalankanpada sistem operasi dapat dibedakaan menjadiyaitu proses independent dan proses kooperatif.Suatu proses dikatakan independen apabila prosestersebut tidak dapat terpengaruh atau dipengaruhioleh proses lain yang sedang dijalankan pada sistem. NURHALIMA 15
  • IPC menyediakan sebuah mekanisme untuk mengizinkanproses-proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi ruang alamat yang sama. IPC adalahkhusus digunakan dalam sebuah lingkungan yang terdistribusidimana proses komunikasi tersebut mungkin saja tetap adadalam komputer-komputer yang berbeda yang tersambungdalam sebuah jaringan. IPC adalah penyedia layanan terbaikdengan menggnakan sebuah sistem penyampaian pesan, dansistem-sistem pesan dapat diberikan dalam banyak cara. NURHALIMA 16
  • Berikut ini ada beberapa metode untukmengimplementasikan sebuah jaringan dan operasipengiriman/penerimaan secara logika:• Komunikasi langsung atau tidak langsung.• Komunikasi secara simetris/ asimetris.• Buffer otomatis atau eksplisit.• Pengiriman berdasarkan salinan atau referensi.• Pesan berukuran pasti dan variabel. NURHALIMA 17
  • Proses-proses yang ingin dikomunikasikan harus memilikisebuah cara untuk memilih satu dengan yang lain. Merekadapat menggunakan komunikasi langsung/ tidak langsung.Setiap proses yang ingin berkomunikasi harus memiliki namayang bersifat eksplisit baik penerimaan atau pengirim darikomunikasi tersebut. Dalam konteks ini, pengiriman danpenerimaan pesan secara primitive dapat dijabarkan sebagai:• Send (P, message) - mengirim sebuah pesan ke proses P.• Receive (Q, message) - menerima sebuah pesan dari prosesQ. NURHALIMA 18
  • Dengan komunikasi tidak langsung, pesan akan dikirimkanpada dan diterima dari/ melalui mailbox (kotak surat) atauterminal-terminal, sebuah mailbox dapat dilihat secara abstraksebagai sebuah objek didalam setiap pesan yang dapatditempatkan dari proses dan dari setiap pesan yang biasdipindahkan.Setiap kotak surat memiliki sebuah identifikasi (identitas) yangunik, sebuah proses dapat berkomunikasi dengan beberapaproses lain melalui sebuah nomor dari mailbox yang berbeda.Dua proses dapat saling berkomunikasi apabila kedua prosestersebut sharing mailbox. NURHALIMA 19
  • Komunikasi antara proses membutuhkan place by calls untuk mengirim danmenerima data primitive.Terdapat rancangan yang berbeda-beda dalam implementasi setiap primitive.Pengiriman pesan mungkindapat diblok (blocking) atau tidak dapat dibloking (nonblocking) - juga dikenaldengan nama sinkron atau asinkron.• Pengiriman yang diblok: Proses pengiriman di blok sampai pesan diterimaoleh proses penerima (receiving process) atau oleh mailbox.• Pengiriman yang tidak diblok: Proses pengiriman pesan dan mengkalkulasioperasi.• Penerimaan yang diblok: Penerima mem blok samapai pesan tersedia.• Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid ataunull. NURHALIMA 20
  • Baik komunikasi itu langsung atau taklangsung, penukaran pesan oleh proses memerlukanantriansementara. Pada dasarnya, terdapat tiga jalandimana antrian tersebut diimplementasikan:1. Kapasitas nol:2. Kapasitas terbatas3. Kapasitas tak terbatas NURHALIMA 21