Dalam kegiatannya sehari-hari, sistem operasi memiliki sebuah mekanisme proteksi untuk
memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan dengan baik.
Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis ( mode) operasi yang saling terpisah.
Dua operasi tersebut, yaitu user mode, eksekusi program dikendalikan oleh pengguna, dan kernel
mode, eksekusi program dikendaikan oleh sistem operasi, dinamakan dual-mode operation.
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang
disebut mode bit ditambahkan ke perangkat keras untuk menunjukkan mode operasi saat itu: 0
untuk kernel modedan 1 untuk user mode.
Dengan adanya dual-mode operation, eksekusi sebuah program/proses bisa dibedakan
sumbernya, apakah dieksekusi oleh sistem operasi atau dieksekusi oleh pengguna. Hal ini akan sangat
berguna dalam berjalannya sistem operasi.
Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari
berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami infinite loop.
Tentu saja prosesor akan terus menerus melayani program itu dan menghambat proses lainnya yang
akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi kinerja dari komputer.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap
dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang
berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program
editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama,
data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses
begitu ia bekerja.
Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan
sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time,
alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber
daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses
tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa
digunakan kembali oleh proses lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses
seperti:
Pembuatan berkas atau direktori. Berkas yang dibuat nantinya akan diletakkan pada direktori-
direktori yang diinginkan pada sistem berkas. Sistem operasi akan menunjukkan tempat
dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan
membuat entri yang berisi nama berkas dan lokasinya pada sistem berkas.
Penghapusan berkas atau direktori. Sistem operasi akan mencari letak berkas atau direktori
yang hendak dihapus dari sistem berkas, lalu menghapus seluruh entri berkas tersebut, agar
tempat dari berkas tersebut dapat digunakan oleh berkas lainnya.
Pembacaan dan menulis berkas. Proses pembacaan dan penulisan berkas
melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di
dalam sebuah berkas.
Meletakkan berkas pada sistem penyimpanan sekunder. Sistem operasi mengatur lokasi fisik
tempat penyimpanan berkas pada sarana penyimpanan sekunder
Status Proses
Saat proses dieksekusi maka setiap proses akan mengalami perubahan status / kondisi. Jika
dikelompokkan, maka perubahan status proses ada lima tahapan yaitu :
1. New yaitu proses yang sedang dibuat.
2. Running yaitu proses yang dapat dieksekusi karena CPU tidak ada tugas atautugas selesai.
3. Ready yaitu proses menuggu jatah waktu dari processor.
4. Waiting yaitu proses sedang menunggu beberapa event.
5. Terminated yaitu proses yang sudah selesai dieksekusi.
Penjadwalan Proses
Ada tujuh criteria penjadwalan proses pada system operasi, yaitu sebagai berikut :
1. CPU Utilizatio, Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai
range dari 0 sampai 100 persen. Di sistem yang sebenarnya ia mempunyai range dari 40
sampai 100 persen.
2. Throughput, Salah satu ukuran kerja adalah banyaknya proses yang diselesaikan per satuan
waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma
penjadwalan yang berbeda, throughput bisa menjadi salah satu kriteria penilaian, dimana
algoritma yang menyelesaikan proses terbanyak mungkin yang terbaik.
3. Turnaround Time, Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa
lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses
sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap
ada dalam lama waktu yang dipakai untuk menyelesaikan sebuah proses. Misal kita memiliki
sistem komputer yang identik dan proses-proses yang identik pula, namun kita memakai
algoritma yang berbeda, algoritma yang mampu menyelesaikan proses yang sama dengan
waktu yang lebih singkat mungkin lebih baik dari algoritma yang lain. Interval waktu yang
diijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah proses disebut
turnaround time. Turnaround time adalah jumlah periode untuk menunggu untuk dapat ke
memori, menunggu di ready queue, eksekusi CPU, dan melakukan operasi M/K.
4. Waiting Time, Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan
proses tersebut atau M/K, itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di
antrian ready. Waiting time adalah jumlah waktu yang dibutuhkan proses di antrian ready.
5. Response Time, Di sistem yang interaktif, turnaround time mungkin bukan waktu yang
terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat
meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna.
Ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan.
Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan
waktu yang dipakai output untuk respon tersebut.
6. Fairness, Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses
(menghindari terjadinya starvation CPU time).
7. Efisiensi, Rendahnya overhead dalam context switching, penghitungan prioritas dan
sebagainya menentukan apakah suatu algoritma efisien atau tidak.
Multiprogramming
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).
Multiprocessing
manajemen banyak proses dalam satu komputer, contoh pada sistem operasi microsoft
windows NT, UNIX, Linux telah menyediakan fasilitas multiprocessing.
Distributed processing
manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar.
1. Status Proses
2. Program Counter
3. Stack Pointer
4. Alokasi Memori
5. Status File
6. Informasi Scheduling atau penjadwalan informasi
7. Dan proses lain dari status kerja ke status siap
Contoh Tabel Proses
Tabel Proses
Proses management Memory management File management
Register Pointer to text segment UMASK mask
Program counter Pointer to data segment Root directoy
Program status word Pointer to bss segment Working directory
Stack pointer Exit status File descriptiors
Process state Signal status Effective uid
Time when process started Process id Effective gid
CPU time used Parent process System call parameters
Children’s CPU time Process group Various flag bits
Time of next alarm Real uid
Message queue pointers Effective uid
Pending signal bits Real gid
Process id Effective gid
Various flag bits Bit maps for signals
Itulah cara dalam implementasi proses yang dilakukan oleh sistem operasi untuk
memanajemn proses agar dapat berjalan dengan lancar sebagaimana tujuan serta fungsi dari
beberapa komponen yang ada di dalam komputer untuk melakukan menajemn proses
tersebut.