Proses (komputasi)
Dalam komputasi, proses adalah suatu instansi objek program komputer yang sedang dijalankan oleh satu atau lebih utas. Ia mengandung kode program beserta aktivitas yang sedang dijalani. Suatu sistem operasi dapat mengatur proses yang terdiri dari beberapa utas eksekusi untuk dijalankan bersamaan.[1][2]
Suatu program komputer adalah kumpulan (pasif) perintah-perintah komputer, sedangkan suatu proses adalah kerja nyata perintah-perintah tersebut. Beberapa proses dapat berjalan dari program yang sama, misalnya pembuatan beberapa instansi program yang sama biasanya menghasilkan lebih dari satu proses yang dijalankan.
Tugas ganda adalah suatu cara untuk membolehkan beberapa proses berbagi prosesor (UPS) dan sumber data sistem. Tiap inti prosesor (UPS) menjalankan satu tugas dalam satu waktu. Namun, tugas ganda membolehkan prosesor untuk beralih ke tugas lain yang sedang berlangsung tanpa harus menunggu hingga tiap tugas selesai. Peralihan tugas dapat dilakukan ketika tugas sedang menunggu operasi masukan/keluaran, ketika tugas ditandai sebagai bisa ditinggal, atau ketika ada interupsi perangkat keras tergantung implementasi sistem operasi.
Bentuk umum tugas ganda adalah pembagian waktu. Pembagian waktu adalah metode untuk meningkatkan respons suatu aplikasi interaktif. Dalam sistem pembagian waktu, peralihan konteks dilakukan dengan cepat sehingga seolah-olah banyak proses dijalankan bersamaan oleh prosesor yang sama. Hal ini disebut dengan konkurensi.
Untuk keamanan dan keandalan, kebanyakan sistem operasi mencegah komunikasi langsung di antara proses-proses yang mandiri dengan memberikan fungsi perantara komunikasi antarproses yang terkontrol.
Representasi
Pada umumnya, suatu proses komputer terdiri dari (bisa disebut "memiliki") sumber daya berikut:[1]
- suatu citra (image) bahasa mesin tereksekusi yang berkaitan dengan program asal;
- memori (biasanya suatu bagian memori virtual), termasuk kode program, data khusus proses (masukan dan keluaran), sebuah tumpukan pemanggilan (untuk melacak subrutin aktif dsb.), dan heap (untuk menyimpan data komputasi sementara);
- pendeskripsi sumber daya oleh sistem operasi yang dialokasikan kepada proses, seperti pendeskripsi berkas (Unix) atau handel (Windows) serta sumber dan muara data;
- atribut keamanan seperti pemilik dan izin yang dimiliki proses;
- konteks status prosesor seperti isi register prosesor dan pengalamatan memori fisik.
Sistem operasi menyimpan informasi tentang proses aktif dalam struktur data yang disebut blok kontrol proses. Sebagian sumber daya, setidaknya status prosesor, dapat dihubungkan dengan utas tiap-tiap proses dalam sistem operasi yang mendukung utas atau anak proses.
Sistem operasi menjaga agar proses-prosesnya terpisah dan mengalokasikan sumber daya yang dibutuhkan masing-masing sehingga mereka tidak mengganggu satu sama lain dan menyebabkan kegagalan sistem, misal kebuntuan. Sistem operasi juga dapat memberikan mekanisme untuk komunikasi antarproses agar proses dapat berinteraksi dalam cara-cara yang aman.
Referensi
- ^ a b Silberschatz, Abraham (2004). "Chapter 4 - Processes". Operating system concepts with Java (edisi ke-Sixth Edition). John Wiley & Sons, Inc. ISBN 0-471-48905-0.
- ^ Vahalia, Uresh (1996). "2 - The Process and the Kernel". UNIX Internals - The New Frontiers. Prentice-Hall Inc. ISBN 0-13-101908-2.
Bacaan lebih lanjut
- Remzi H. Arpaci-Dusseau; Andrea C. Arpaci-Dusseau (2014). Operating Systems: Three Easy Pieces. Arpaci-Dusseau Books. Bab-bab yang relevan: Abstraction: The Process dan The Process API
- Gary D. Knott (1974). "A proposal for certain process management and intercommunication primitives". ACM SIGOPS Operating Systems Review. 8 (4): 7–44.
Pranala luar
- Media tentang Process (computing) di Wikimedia Commons
- (Inggris) What Is Process - Computer Process Information Database
- (Inggris) Online Resources For Process Information
- (Inggris) Computer Process Information Database and Forum
- (Inggris) Process Models with Process Creation & Termination Methods