Kamis, 07 Mei 2015

Session 4-6 (Process and Threads)

4.1 Process Model
      a. Multiprogramming of four programs. 
      b. Conceptual model of four independent, sequential processes. 
      c. Only one program is active at once.

4.2 Process Creation
Event Event yang menyebabkan proses creation
      a. Inisialisasi sistem.
      b. Pelaksanaan sistem proses penciptaan panggilan dengan proses yang berjalan. (fork ())
      c. Sebuah permintaan pengguna untuk membuat proses baru.
      d. Inisiasi pekerjaan batch.

4.3 Process
Juga disebut tugas. Pelaksanaan program individu. Dapat ditelusuri daftar urutan instruksi yang mengeksekusi.


4.4 Suspended Process
Prosesor lebih cepat daripada I / O sehingga semua proses dapat menunggu I / O. Swap proses ini ke disk untuk membebaskan lebih banyak memori. Suatu state yang di blok menjadi state yang ditunda ketika bertukar ke disk. 
Dua state baru : Diblokir,ditunda, dan  Ready, ditunda

4.5 Process Table
Dimana proses terletak. Atribut yang diperlukan untuk manajemen proses ID state proses. Lokasi di memori.

4.6 Process Location
Proses mencakup set program yang akan dieksekusi. Lokasi data untuk variabel lokal dan global
Setiap konstanta didefinisikan tumpukan .Kontrol proses blok. Koleksi atribut gambar proses.
Koleksi program, data, stack, dan atribut.

4.7 Process Termination
a. Acara yang menyebabkan penghentian proses
b. Keluar normal (sukarela).
c. Kesalahan exit (sukarela).
d. Kesalahan fatal (disengaja).
e. Dibunuh oleh proses lain (disengaja). 

Ketika program panggilan garpu, proses duplikat, yang disebut proses anak, yang dibuat
Proses induk terus melaksanakan program dari titik yang disebut garpu.
Proses anak juga, mengeksekusi program yang sama dari tempat yang sama garpu pid_t (void)

Pengembalian: 0 pada anak, proses ID anak di orangtua, -1 pada kesalahan
selesai biasa
Batas waktu terlampaui
memori tidak tersedia
pelanggaran Bounds
kesalahan perlindungan
Misalnya menulis untuk read-only file yang
kesalahan aritmatika
waktu overrun
Proses menunggu lebih lama dari maksimum yang ditentukan untuk sebuah acara
I / O gagal
instruksi tidak valid
terjadi ketika mencoba untuk mengeksekusi data
instruksi istimewa
penyalahgunaan Data
Intervensi sistem operasi
seperti ketika deadlock terjadi
Induk berakhir sehingga proses anak mengakhiri
permintaan orang tua

4.9 Alasan dari Proces Switch
clock interrupt
Proses telah dieksekusi untuk maksimum yang diijinkan irisan waktu
I / O interrupt
memori kesalahan
alamat memori di virtual memory sehingga harus dibawa ke memori utama
perangkap
kesalahan terjadi
dapat menyebabkan proses untuk pindah ke negara Keluar
pengawas panggilan
seperti file terbuka

4.10  Menggunakan System Call
a. Fork();
b. System();
c. Exec();

4.11 System
Mengeksekusi perintah dari dalam program
- Banyak sebagai jika perintah itu telah diketik ke shell
• Membuat sub proses menjalankan standar 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

4.12 Fork
Ketika program panggilan garpu, proses duplikat, yang disebut proses anak, yang dibuat
Proses induk terus melaksanakan program dari titik yang disebut garpu.
Proses anak juga, mengeksekusi program yang sama dari tempat yang sama garpu pid_t (void)

Pengembalian: 0 pada anak, proses ID anak di orangtua, -1 pada kesalahan

5.1 Threads
eksekusi state (saat sedang berjalan, siap, dll). Disimpan konteks thread ketika tidak berjalan
Memiliki eksekusi tumpukan. Beberapa penyimpanan statis per-benang untuk variabel lokal
Akses ke memori dan sumber daya dari proses yang semua thread dari sebuah proses berbagi ini

Thread memungkinkan beberapa eksekusi berlangsung dalam lingkungan proses yang sama
Ligthweight proses  karena benang memiliki beberapa sifat dari proses
Multithreading  memungkinkan beberapa thread dalam proses yang sama


Kolom pertama berisi beberapa item bersama oleh semua thread dalam proses. Yang kedua berisi beberapa item pribadi ke setiap thread.


5.2 Manfaat Thread
a. Waktu yang panjang untuk membuat thread baru dari suatu proses
b. Kurang waktu untuk mengakhiri thread dari proses
c. Kurang waktu untuk beralih di antara dua benang dalam proses yang sama
d. Sejak benang dalam memori yang sama berbagi proses dan file, mereka dapat berkomunikasi satu sama lain tanpa melibatkan kernel
e. lebih baik banyak thread dalam aplikasi

5.3 Implementasi Thread
USER SPACE
keuntungan:
a. Memungkinkan setiap proses untuk memiliki algoritma penjadwalan sendiri 
b. Perfomance

kekurangan:
a. Pelaksanaan memblokir panggilan sistem
b. Tidak ada thread lain dapat berjalan kecuali thread pertama secara sukarela menyerahkan CPU

KERNEL SPACR
keuntungan:
Tidak membutuhkan panggilan sistem non-blocking baru

kekurangan:
biaya yang lebih besar untuk menciptakan dan destryoing benang


Multiplexing user-level thread ke thread tingkat kernel-

5.4 Pop Up Thread
Penciptaan thread baru ketika pesan tiba.
      (a) Sebelum pesan tiba.  (b) Setelah pesan tiba.


5.5 Hubungan Thread dengan Process
      a. 1:1 -> 1 proces 1 thread
      b. M:1 -> banyak thread 1 proces
      c. 1:M -> 1 thread menjalankan banyak proces
      d. M:N -> kombinasi ketiga diatas

6.1 Sifat Proces
a.Process-bound
b.I/O bound

6.2 CPU Scheduler
Memilih dari antara proses di memori yang siap untuk mengeksekusi, dan mengalokasikan CPU untuk salah satu dari mereka.
Keputusan penjadwalan CPU dapat terjadi ketika proses:
1. Saklar dari berjalan ke keadaan menunggu.
2. Switch dari berjalan ke keadaan siap.
3. Switch dari menunggu untuk siap.
4. Menghentikan.
Penjadwalan bawah 1 dan 4 adalah nonpreemptive.
Semua penjadwalan lainnya adalah preemptive.

6.3 Dispatcher
Modul Dispatcher memberikan kontrol CPU kepada proses yang dipilih oleh scheduler jangka pendek; ini melibatkan:
switching konteks
beralih ke mode pengguna
melompat ke lokasi yang tepat dalam program pengguna untuk me-restart program yang
Dispatch latency - waktu yang diperlukan untuk operator untuk menghentikan satu proses dan mulai berjalan lagi.

6.4 Scheduling Criteria
Utilisasi CPU - menjaga CPU sesibuk mungkin
Throughput - # dari proses yang menyelesaikan eksekusi per satuan waktu
Waktu Turnaround - jumlah waktu untuk mengeksekusi proses tertentu
Menunggu waktu - jumlah waktu proses telah menunggu dalam antrian siap
Response time - jumlah waktu yang dibutuhkan dari saat permintaan disampaikan sampai tanggapan pertama diproduksi, tidak keluaran (untuk lingkungan time-sharing)

6.5 Optimization Criteria
•Max CPU utilization
•Max throughput
•Min turnaround time
•Min waiting time
•Min response time

6.6 Tujuan dari Scheduling

6.7 Batch Scheduling Algorithm
Siapa Cepat Dia Dapat
Proses ditugaskan CPU dalam urutan mereka memintanya

keuntungan:
Mudah dipahami dan mudah program

kerugian:
Pekerjaan singkat mungkin menunggu terlalu lama jika pekerjaan lama di depan itu

  Process  Burst Time 
  P1  24
   P2   3
   P3
Suppose that the processes arrive in the order: P1 , P2 , P3  The Gantt Chart for the schedule is:
•Waiting time for P1  = 0; P2  = 24; P3 = 27
  Average waiting time:  (0 + 24 + 27)/3 = 17

Penggabungan setiap proses panjang CPU burst berikutnya. Gunakan panjang ini untuk menjadwalkan proses dengan waktu terpendek.
Dua skema:
nonpreemptive - sekali CPU diberikan ke proses itu tidak dapat mendahului sampai selesai CPU burst.
preemptive - jika proses baru datang dengan panjang CPU burst lebih kecil dibandingkan saat proses eksekusi saat tersisa, mendahului. Skema ini dikenal sebagai? Shortest-Remaining-Time-First (SRTF).
SJF optimal - memberikan waktu tunggu rata-rata minimal untuk satu set proses.

  Process  Arrival Time  Burst Time
  P1  0.0  7
   P2.0  4
   P3  4.0  1
   P4  5.0  4
•SJF (non-preemptive)

•Average waiting time = (0 + 6 + 3 + 7)/4 = 4

  Process  Arrival Time  Burst Time
  P1  0.0  7
   P2.0  4
   P3  4.0  1
   P4  5.0  4
•SJF (preemptive)
•Average waiting time = (9 + 1 + 0 +2)/4 = 3

6.8 Interactive Scheduling Algorithm
•Round-robin scheduling
•Priority scheduling
•Multiple queues
•Shortest process next
•Guaranteed scheduling
•Lottery scheduling
•Fair-share scheduling

  Process           Burst Time    Arrival Time
  P1                          53                 0
   P                17                20
   P3                            68                25
   P4                            24                30
•The Gantt chart is:
                  P2         P1        P3           P4        P1        P3           P4        P3          P3
                  P1         P3        P4           P1        P3        P4           P3
                               P4        P1           P3        P4


Setiap proses diberikan prioritas, dan proses runnable dengan prioritas tertinggi yang diperbolehkan untuk berjalan
Scheduler dapat menurunkan prioritas proses yang sedang berjalan
Penjadwalan prioritas digunakan antara kelas dan penjadwalan round-robin dalam setiap kelas

6.9 Policy vs Mechanism
Pisahkan apa yang diperbolehkan untuk dilakukan dengan bagaimana hal itu dilakukan
proses tahu yang anak-anaknya benang yang penting dan perlu prioritas

Algoritma penjadwalan parameter
mekanisme di kernel

Parameter diisi oleh proses pengguna
kebijakan yang ditetapkan oleh proses pengguna

6.10 Thread Scheduling
(a) Kemungkinan penjadwalan thread user-level dengan proses kuantum 50-msec dan benang yang
berjalan 5 msec per CPU burst.
(b) Kemungkinan penjadwalan thread kernel-level dengan karakteristik yang sama seperti (a).

















Tidak ada komentar:

Posting Komentar