Proses



Pengertian Proses
Hasil gambar untuk proses

Proses adalah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Setelah sebuah program dimuat dari media penyimpanan, sebuah instance dari program dijalankan. Instance ini disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut ruang alamat proses (process address space). Ruang alamat proses memiliki dua area penting: area teks dan area data.

Area teks adalah kode program yang sebenarnya; digunakan untuk memberitahukan sistem apa yang harus dilakukan. Area data digunakan untuk menyimpan data konstan dan juga runtime. Sistem operasi memberikan waktu bagi setiap proses untuk dieksekusi. Pada sistem dengan prosesor tunggal, proses tidak sepenuhnya berjalan secara bersamaan. Pada kenyataannya, sebuah penjadwal pada kernel membagi waktu CPU pada semua proses, memberikan sebuah ilusi bahwa proses-proses dijalankan secara bersamaan. Proses ini disebut dengan time-sharing. Pada sistem dengan lebih dari satu CPU atau inti CPU, lebih dari satu proses dapat berjalan bersamaan, tetapi konsep time-sharing masih dipakai untuk membagi waktu CPU yang ada pada setiap proses. Proses-proses baru dibuat dengan menduplikasi proses yang sedang berjalan dengan system call fork system call.
Kernel akan merespon terhadap panggilan ini dengan menduplikasi proses, menamai proses lain sebagai induk (parent), dan proses lain sebagai anak (child). Setelah sebuah program dimuat dari media penyimpanan, sebuah instance dari program dijalankan. Instance ini disebut sebuah proses. Sebuah proses memiliki memorinya sendiri, disebut ruang alamat proses (process address space). Ruang alamat proses memiliki dua area penting: area teks dan area data. Area teks adalah kode program yang sebenarnya; digunakan untuk memberitahukan sistem apa yang harus dilakukan. Area data digunakan untuk menyimpan data konstan dan juga runtime. Sistem operasi memberikan waktu bagi setiap proses untuk dieksekusi. Pada sistem dengan prosesor tunggal, proses tidak sepenuhnya berjalan secara bersamaan. Pada kenyataannya, sebuah penjadwal pada kernel membagi waktu CPU pada semua proses, memberikan sebuah ilusi bahwa proses-proses dijalankan secara bersamaan. Proses ini disebut dengan time-sharing. Pada sistem dengan lebih dari satu CPU atau inti CPU, lebih dari satu proses dapat berjalan bersamaan, tetapi konsep time-sharing masih dipakai untuk membagi waktu CPU yang ada pada setiap proses.
Proses-proses baru dibuat dengan menduplikasi proses yang sedang berjalan dengan system call fork system call. Proses induk memanggil fork(). Kernel akan merespon terhadap panggilan ini dengan menduplikasi proses, menamai proses lain sebagai induk (parent), dan proses lain sebagai anak (child). Fork bisa digunakan oleh sebuah program untuk membuat dua proses yang berjalan secara bersamaan pada mesin dengan banyak prosesor. Namun, hal ini seringkali tidak ideal, karena kedua proses akan memiliki alamat ruang prosesnya masing-masing. Duplikasi pertama dari memori proses cukup memakan waktu, dan sangat susah untuk melakukan share data diantara dua proses. Masalah ini diselesaikan oleh sebuah konsep yang disebut multithreading. Multithreading berarti banyak instance dari area teks dapat dijalankan pada waktu yang bersamaan, melakukan pertukaran area data. Instance ini disebut thread dapat dieksekusi secara parallel pada banyak CPU.

Tidak ada komentar:

Posting Komentar