Minggu, 14 Mei 2017

Konsep Proses Pada Sistem Operasi

Konsep Proses Pada Sistem Operasi
Sistem operasi mengeksekusi berbagai jenis program. Pada sistem batch program tersebut biasanya disebut dengan job, sedangkan pada sistem time sharing, program disebut dengan program user atau task. Beberapa buku teks menggunakan istilah job atau proses. Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat program counter, stack dan daerah data. Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Proses penjadwalan yang akan dibahas disini adalah proses penjadwalan sistem operasi Solaris dan Linux. Tujuan utama penjadwalan proses optimasi kinerja menurut kriteria tertentu, dimana kriteria untuk mengukur dan optimasi kerja penjadwalan.
Penjadwalan CPU adalah basis dari multi programming sistem operasi. Dengan cara men-switch CPU diantara proses, maka akan berakibat sistem operasi bisa membuat komputer produktif. Dalam bab ini kami akan mengenalkan tentang dasar dari konsep penjadwalan dan beberapa algoritma penjadwalan.

Pada sistem Operasi, terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
a. Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
b. Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
c. Penjadwal jangka panjang (long term scheduller)
Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya berupa proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.
Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses bisa dibangkitkan dari output proses lainnya sebagai input. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefiniskan sebagai bagian dari aktivitas proses yang sedang berlangsung saat itu. Gambar 3.1 dibawah, ditunjukkan diagram status proses. Status proses terdiri dari :
a. New, proses sedang dibuat.
b. Running, proses sedang dieksekusi.
c. Waiting, proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
d. Ready, proses menunggu jatah waktu dari CPU untuk diproses.
e. Terminated, proses telah selesai dieksekusi.
Secara blog diagram, maka dapat digambarkan sebagai berikut :



Masing-masing proses direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB). Informasi yang terdapat pada setiap proses meliputi :
a. Status Proses. New, ready, running, waiting dan terminated.
b. Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
c. CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
d. Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
e. Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh sistem operasi.
f. Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses
g. Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka.

Tidak ada komentar:

Posting Komentar