Your SlideShare is downloading. ×
Sistem operasi pertemuan 10
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Sistem operasi pertemuan 10

506
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
506
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sistem OperasiOleh : A. AfrinaRamadhani H. 1Sistem Operasi 13.12.11
  • 2. PERTEMUAN 10 2Sistem Operasi 13.12.11
  • 3. Proses  Manajemen Proses Setiap aplikasi yang dijalankan di linux mempunyai pengenal yang disebut sebagai process identification number (PID). PID disimpan dalam 32 bit dengan angka berkisar dari 0-32767 untuk menjamin kompatibilitas dengan unix. Dari nomor PID inilah linux dapat mengawasi dan mengatur proses-proses yang terjadi didalam system. Proses yang dijalankan ataupun yang baru dibuat mempunyai struktur data yang disimpan di task_struct. 3 Sistem Operasi 13.12.11
  • 4. Deskriptor Proses Guna keperluan manajemen proses, kernel memelihara informasi tentang setiap proses di sebuah deskriptor proses dengan tipe task_struct. Setiap deskriptor proses mengandung informasi antara lain status proses, ruang alamat, daftar berkas yang dibuka, prioritas proses, dan sebagainya. Berikut gambaran isinya: 4Sistem Operasi 13.12.11
  • 5. Isi Deskriptor Proses struct task_struct{ volatile long state; /*-1 unrunnable, 0 runnable, >0 stopped*/ unsigned long flags; /* 1 untuk setiap flag proses */ mm_segment_t_addr_limit; /* ruang alamat untuk thread */ struct exec_domain *exec_domain; long need_resched; long counter; long priority; 5 Sistem Operasi 13.12.11
  • 6. /* SMP and runqueue state */ struct task_struct *next_task, *prev_task; struct task_struct *next_run, *prev_run; ... /* task state */ /* limits */ /* file system info */ /* ipc stuff */ /* tss for this task */ /* filesystem information */ /* open file information */ /* memory management info */ /* signal handlers */ ... }; 6Sistem Operasi 13.12.11
  • 7. Setiap proses di Linux memiliki status. Status proses merupakan array dariflag yang mutually exclusive. Setiap proses memiliki tepat satu keadaan(status) pada suatu waktu. Status tersebut adalah: • TASK_RUNNING • TASK_INTERRUPTIBLE • TASK_UNINTERRUPTIBLE • TASK_STOPPED • TASK_ZOMBIE 7 Sistem Operasi 13.12.11
  • 8. Setiap proses atau pun eksekusi yang terjadwal secara independenmemiliki deskriptor prosesnya sendiri. Alamat dari deskriptor prosesdigunakan untuk mengindentifikasi proses. Selain itu, nomor ID proses(PIDs) juga digunakan untuk keperluan tersebut. PIDs adalah 32-bitbilangan yang mengidentifikasikan setiap proses dengan unik. Linuxmembatasi PIDs berkisar 0-32767 untuk menjamin kompatibilitasdengan sistem UNIX tradisional. 8Sistem Operasi 13.12.11
  • 9. Antrian Tunggu void sleep_on(struct wait_queue **wqptr) { struct wait_queue wait; current_state=TASK_UNINTERRUPTIBLE; wait.task=current; add_wait_queue(wqptr, &wait); schedule(); remove_wait_queue(wqptr, &wait); } 9 Sistem Operasi 13.12.11
  • 10.  Proses dan Thread Linux menggunakan representasi yang sama untuk proses dan thread. Secara sederhana thread dapat dikatakan sebuah proses baru yang berbagi alamat yang sama dengan induknya. Perbedaannnya terletak pada saat pembuatannya. Thread baru dibuat dengan system call clone yang membuat proses baru dengan identitas sendiri, namun diizinkan untuk berbagi struktur data dengan induknya. 10Sistem Operasi 13.12.11
  • 11. Thread dibuat dengan __clone(). __clone() merupakan rutindari library system call clone(). __clone memiliki 4 buahargumen yaitu:1. fn fungsi yang akan dieksekusi oleh thread baru2. arg pointer ke data yang dibawa oleh fn3. flags sinyal yang dikirim ke induk ketika anak berakhir dan pembagian sumber daya antara anak dan induk.4. child_stack pointer stack untuk proses anak. 11Sistem Operasi 13.12.11
  • 12.  Penjadualan Penjadual adalah suatu pekerjaan yang dilakukan untuk mengalokasikan CPU time untuk tasks yang berbeda-beda dalam sistem operasi. Kernel tasks meliputi task yang diminta oleh proses yang sedang dijalankan dan tasks yand dieksekusi internal menyangkut device driver yang berkepentingan. 12Sistem Operasi 13.12.11
  • 13.  Sinkronisasi Kernel Cara penjadualan kernel pada operasinya secara mendasar berbeda dengan cara penjadualan suatu proses. Terdapat dua cara agar sebuah permintaan akan eksekusi kernel-mode dapat terjadi. Sebuah program yang berjalan dapat meminta service sistem operasi, dari system call atau pun secara implisit (untuk contoh:ketika page fault terjadi). Sebagai alternatif, device driver dapat mengirim interupsi perangkat keras yang menyebabkan CPU memulai eksekusi kernel-define handler untuk suatu interupsi. 13Sistem Operasi 13.12.11
  • 14.  Penjadualan Proses Ketika kernel telah mencapai titik penjadualan ulang, entah karena terjadi interupsi penjadualan ulang mau pun karena proses kernel yang sedang berjalan telah diblokir untuk menunggu beberapa signal bangun, harus memutuskan proses selanjutnya yang akan dijalankan. Linux telah memiliki dua algoritma penjadualan proses yang terpisah satu sama lain. Algoritma yang pertama adalah algoritma time-sharing untuk penjadualan preemptive yang adil diantara sekian banyak proses. Sedangkan algoritma yang kedua didesain untuk tugas real-time dimana proritas mutlak lebih utama daripada keadilan mendapatkan suatu pelayanan. 14 Sistem Operasi 13.12.11
  • 15.  Symmetric Multiprocessing Kernel Linux 2.0 adalah kernel Linux pertama yang stabil untuk mendukung perangkat keras symmetric multiprocessor (SMP). Proses mau pun thread yang berbeda dapat dieksekusi secara paralel dengan processor yang berbeda. Tapi bagaimana pun juga untuk menjaga kelangsungan kebutuhan sinkronisasi yang tidak dapat di-preemptive dari kernel, penerapan SMP ini menerapkan aturan dimana hanya satu processor yang dapat dieksekusi dengan kode mode kernel pada suatu saat. SMP menggunakan kernel spinlock tunggal untuk menjalankan aturan ini. 15 Sistem Operasi 13.12.11
  • 16. Q&ASekian dan Terima Kasih  16Sistem Operasi 13.12.11