RANGKUMAN MATERI PERTEMUAN 3
Sistem operasi mengontrol kejadian-kejadian yang ada dalam sistem komputer. Sistem operasi menjadwal dan mengirimkan proses untuk dieksekusi oleh prosesor, mengaokasikan sumber daya untuk proses dan menanggapi permintaan program pemakai untuk layanan-layanan dasar.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Awalnya sistem komputer hanya diperbolehkan menjalankan satu program dalam satu waktu. Program ini memiliki kontrol penuh terhadap sistem, dan memiliki akses ke semua sumber daya sistem. Sistem operasi diharapkan semakin kompleks oleh penggunanya, karena sistem terdiri dari kumpulan proses. Operasi sistem proses mengeksekusi kode sistem, dan proses mengeksekusi kode pengguna.
Beberapa kontrol proses :
A. Process State
Keterangan:
- Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.
- Penjadwalan mengambil proses lain.
- Penjadwalan mengambil proses ini (baru).
- Input telah tersedia.
Penjelasan Status (State)
Terdapat transisi di antara state-state selama siklus hidup proses, yaitu:
- Proses yang baru diciptakan akan segera mempunyai status Ready.
- Proses dengan status running→blocked karena sumber daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
- Proses dengan status running→ ready karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time-out).
- Proses dengan status blocked→ ready saat sumber daya yang diminta/diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).
- Proses dengan status ready→running karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena proses yang saat itu running berubah state (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem Proses menjadi mendapatkan jatah pemroses.
B. Blok Kontrol Proses(PCB)
Setiap proses digambarkan dalam sistem operasi oleh sebuah Process Control Block (PCB) yang juga disebut sebuah control block. Control Block PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
a) Status Proses.
Status new, ready, running, waiting, halted, dan juga banyak lagi.
b) Program Counter.
Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
c) CPU register.
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
d) Informasi manajemen memori.
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
e) Informasi pencatatan.
Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
f) Informasi status I / O.
Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, daftar berkas-berkas yang sedang diakses dan banyak lagi.
C. Threads
Proses merupakan sebuah program yang mengeksekusi thread tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk mengeksekusi multi-threads. Misalnya user melakukan pekerjaan secara bersamaan yaitu mengetik dan menjalankan pemeriksaan ejaan didalam proses yang sama.
Bagaimana proses pada sistem operasi?
- Hal – hal yang berkaitan dengan proses
• 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).
• 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.
- Kebutuhan utama pengendali proses :
• Saling melanjutkan (interleave) : bertujuan memaksimumkan penggunaan pemroses sambil
memberi waktu tanggap.
• Mengikuti kebijaksanaan tertentu : SO harus mengalokasikan sumber daya ke proses
mengikuti kebijaksaan yang sudah ditentukansambil menghindari deadlock.
• Mendukung komunikasi antar proses dan pencipta proses : SO harus dapat mengetahui state
masing – masing proses dan merekam semua perubahan yang terjadi secara dinamis
(berguna untuk penjadwalan dan memutuskan alokasi sumber daya).
- Tujuan MultiProgramming
Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU. Tujuan dari pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu sering sehingga pengguna dapat berinteraksi dengan setiap program sambil CPU bekerja. Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan dapat dijadualkan kembali.