KONSEP DAN IMPLEMENTASI PROSES PADA SISTEM OPERASI
Pengertian Proses
Proses pada sistem operasi adalah program yang sedang dieksekusi, merupakan unit
kerja terkecil yang secara individu memiliki sumber daya yang dijadwalkan
oleh sistem operasi. Awalnya proses dijalankan secara berurut (sekwensial)
sesuai dengan “line code” (stored program concept), suatu proses
akan di eksekusi sampai selesai baru kemudian
berpindah ke proses selanjutnya. Sistem sekwensial memiliki
kelemahan yakni tingkat pengguna atau utilitas prosesor
yang rendah.
Proses dapat melakukan lebih dari “program code yang aktif”, seperti :
1 1) Melacak posisi instruksi (sequential execution) : program counter .
2 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.)
Status Proses
Proses yang dieksekusi mempunyai lima status yang terdiri dari :
1. New : pembentukan suatu proses
2. Running : instruksi-instruksi yang sedang dieksekusi
3. Waiting : proses menunggu untuk beberapa event yang terjadi
4. Ready :menunggu untuk dialirkan ke pemroses (processor)
5. Terminated : proses telah selesai dieksekusi
Kelima status proses tersebut dapat digambarkan pada diagram berikut:
)
Saat proses dijalankan (executed) maka status dari proses akan berubah.
2 1)
Status proses tidak selamanya aktif menggunakan CPU.
3 2)
Sering proses menunggu I/O complete => status wait, sebaiknya CPU
diberikan kepada proses yang lain.
4 3)
Mendukung multi-tasking – utilisasi CPU dan I/O
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
Hal
– hal yang berkaitan dengan proses :
1)
multiprogramming : manajemen banyak proses
pada satu pemroses, contoh komputer pribadi bersifat workstation artinya sistem
pemroses tunggal yang dapat menjalankan banyak program/task seperti MS-Windows
3.0, MS-Windows NT, OS/2 dan Macintosh system 7. Program yang dijalankan
sebenarnya bersifat independent dan one program at any instant (satu program
pada satu saat).
2)
Multiprocessing : manajemen banyak
proses dalam satu komputer, contoh pada sistem operasi microsoft windows NT,
UNIX, Linux telah menyediakan fasilitas multiprocessing.
3)
Distributed processing : manajemen
banyak proses yang dieksekusi di banyak sistem komputer yang tersebar.
Implementasi Proses
Setiap proses mempunyai state yang perlu
diperhatikan sistem operasi yang dicatat dalam tabel :
a. Tabel
informasi manajemen memori untuk menjaga keutuhan memori utama dan memori
skunder, yang memuat : alokasi memori utama yang dipakai pemroses, alokasi
memori skunder yang terpakai, atribut segmen utama dan sekunder dan informasi
lain yang digunakan untuk pengelolaan memori.
b. Tabel
informasi manajemen masukan /keluaran : mengelola perangkat I/O dan mengetahui
statusnya dan lokasi memori utama yang digunakan transfer data.
c. Tabel
sistem informasi : berisi informasi eksetensi file, lokasi pada memori
sekunder, statusnya dan informasi lainnya.
d. Tabel
proses mengelola informasi proses di sistem operasi, lokasinya memori, status
dan atribut lainnya.
Operasi – operasi pada proses
Operasi
– operasi terhadap proses antara lain :
1) penciptaan
proses (create a process)
2) penghancuran
proses (destroy a process)
3) penundaan
proses (suspend a process)
4) pelanjutan
kembali proses (resume a process)
5) pengubahan
prioritas process
6) memblok
proses
7) membangunkan
proses
8) menjadwal
proses.
9) memungkinkan
proses berkomunikasi dengan proses lain
Komunikasi antar proses
1)
Interprocess
Communication (IPC)
1) Komunikasi Langsung
Proses
harus diberi nama secara jelas :
- send (P, message) – kirim pesan ke proses P
- receive(Q, message) – terima pesan dari proses Q
Properti jalur komunikasi
- Jalur dibangun secara otomatis
- Setiap jalur memiliki pasangan masing-masing dalam proses komunikasi
- Jalur komunikasi tersebut biasanya directional.
- send (P, message) – kirim pesan ke proses P
- receive(Q, message) – terima pesan dari proses Q
Properti jalur komunikasi
- Jalur dibangun secara otomatis
- Setiap jalur memiliki pasangan masing-masing dalam proses komunikasi
- Jalur komunikasi tersebut biasanya directional.
b)
Komunikasi Tidak Langsung
1) dikirim dan diterima melalui
mailboxes (yang ditunjuk sebagai port).
2) Properti jalur komunikasi Operasi : Membuat mailbox
baru, Mengirim dan menerima pesan melalui mailbox, Menghapus/memusnahkan
mailbox
3) Primitive didefinisikan :
-send(A,
message) – kirim pesan ke mailbox A
- receive(A, message) – terima pesan dari mailbox A
- receive(A, message) – terima pesan dari mailbox A
2)
Komunikasi
Client-Server
a)
Sockets
b)
Remote
Procedure Calls (RPC)
c)
Remote
Method Invocation (Java)
Tidak ada komentar