PROSES
Kali ini saya akan menjelaskan tentang apa itu proses pada sistem operasi . Dalam proses ada beberapa hal yang harus dipahami yaitu :
1. Konsep Proses
2. Penjadualan Eksekusi Proses
3. Operasi pada Proses
4. Proses yang saling Bekerjasama (Cooperating Processes)
5. Komunikasi Antar Proses (Interprocess Communication)
6. Komunikasi pada Sistem Client-Server
KONSEP PROSES
Sistem operasi menjalankan banyak dan beragam program :
1.Batch system – jobs
2.Time-shared systems – user programs atau tasks
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.Instruksi pada program (code) akan dieksekusi secara berurut (sekwensial) sesuai dengan “line code” (stored program concept).
Proses lebih dari “program code yang aktif”:
1.Melacak posisi instruksi (sequential execution): program counter
2.Menyimpan data sementara var., parameter, return value: stack
3.Menyimpan data (initial, global variable dll): data section
4.Menyimpan status proses (contoh, aktif, wait I/O request dll.)
PENJADUALAN PROSES
Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain
1.Proses dengan status “ready” berada di ReadyQueue
- Menunggu giliran/dipilih oleh scheduler =< menggunakan CPU
2.Selama eksekusi (status “run”) events yang dapat terjadi:
- I/O request =< I/O wait berada pada DeviceQueue
- Create “child” proses =< Jalankan proses “child”, tunggu sampai proses selesai (wait)
- Time slice expired =< Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke ReadyQueue
PEMBUATAN PROSES
1. Address space
- Child menduplikasi parent.
- Child memiliki program yang di load ke dalamnya.
2. Contoh UNIX :
- fork system call membuat proses baru
- execve (EXEC) :
# menjalankan program spesifik yang lain
# nama program tersebut menjadi parameter dari system call
# EXEC (sering di load sesudah menjalankan fork).
3.Tahapan pembuatan proses baru:
- Periksa apakah masih terdapat ruang pada PCB.
- Mencoba mengalokasikan memori untuk proses baru.
- Mengisi informasi untuk proses baru: nama proses, id, copy data dari parent dll.
- Mencantumkan informasi proses ke kernel OS.
KERJASAMA PROSES
1.Proses independent tidak mempengaruhi eksekusi proses yang lain
2.Kerjasama proses dapat mempengaruhi atau dipengaruhi oleh eksekusi proses yang lain
3.`Keuntungan kerjasama proses :
- Sharing informasi
- Meningkatkan kecepatan komputasi
- Modularitas
- Kemudahan
KOMUNIKASI ANTAR PROSES
1. Mekanisme proses untuk komunikasi dan sinkronisasi aksi
2. Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
3. IPC menyediakan dua operasi :
- send(message) – pesan berukuran pasti atau variabel
- receive(message)
4. Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
- Membangun jalur komunikasi diantara keduanya
- Melakukan pertukaran pesan melaui send/receive
5. Implementasi jalur komunikasi
- physical (shared memory, hardware bus)
- logical (logical properties)
KOMUNIKASI PADA SISTEM CLIENT-SERVER
1. Sockets
- Suatu socket didefinisikan sebagai titik akhir (endpoint) komunikasi
- Gabungan IP address dan port
- Socket 161.25.19.8:1625 mengacu pada port 1625 pada host 161.25.19.8
- Komunikasi berada diantara pasangan socket
2. Remote Procedure Calls (RPC)
- Remote Procedure Call (RPC) adalah abstraksi pemanggilan prosedur diantara
proses pada sistem jaringan
- Stubs – proxy sisi client untuk prosedur aktual pada server
- Stub sisi client ditempatkan di server dengan parameter marshalls.
- Stub sisi server menerima pesan, membongkarnya dengan parameter marshall dan menjalankan prosedur pada server.
3. Remote Method Invocation (Java)
- Remote Method Invocation (RMI) adalah mekanisme pada JAVA yang hampir sama `dengan RPC
- RMI membolehkan program JAVA pada satu mesin untuk menggunakan metode ``untuk melakukan remote objek.
Tidak ada komentar:
Posting Komentar