Proses
adalah program yang sedang di eksekusi, sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Proses
berisi instruksi dan data. program counter dan semua register pemroses, dan
stack berisi data sementara seperti parameter rutin, alamat pengiriman dan
variabel-variabel lokal. Sistem operasi mengelola semua proses di sistem dan
mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi
sasaran sistem.
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.
Komunikasi antar proses (Inter Process
Communinication / IPC) :
·
Beberapa proses biasanya berkomunikasi dengan
proses lainnya.
·
Contohnya pada shell pipe line : output dari
proses pertama harus diberikan kepada proses ke dua dan seterusnya.
·
Pada beberapa sistem operasi, proses-proses
yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu
proses dapat membaca dan menulis pada shared storage (main memory atau files).
Mekanisme proses untuk komunikasi dan sinkronisasi aksi
·
Sistem Pesan – komunikasi proses satu dengan
yang lain dapat dilakukan tanpa perlu pembagian data.
·
IPC
menyediakan dua operasi :
a.
send(message) – pesan berukuran pasti atau
variabel
b.
receive(message)
·
Jika P dan Q melakukan komunikasi, maka
keduanya memerlukan :
a.
Membangun jalur komunikasi diantara keduanya
b.
Melakukan pertukaran pesan melaui send/receive
c.
Implementasi jalur komunikasi
1.
physical (shared memory, hardware bus)
2.
logical (logical properties)
Create and Destroyed Process
·
Pembuatan Proses (Create)
Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
1.
Penciptaan proses melibatkan banyak aktivitas,
yaitu :
2.
Menamai (memberi identitas) proses.
3.
Menyisipkan proses pada senarai proses atau
tabel proses.
4.
Menentukan prioritas awal proses.
5.
Menciptakan PCB.
6.
Mengalokasikan sumber daya awal bagi proses.
·
Penghancuran Proses (Destroyed)
Penghancuran
proses terjadi karena :
1.
Selesainya proses secara normal.
2.
Proses mengeksekusi panggilan layanan So untuk
menandakan bahwa proses telah berjalan secara lengkap.
3.
Batas waktu telah terlewati.
4.
Proses telah berjalan melebihi batas waktu
total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang
diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu
yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali
memberi masukan (pada proses interaktif) .
5.
Memori tidak tersedia.
6.
Proses memerlukan memori lebih banyak daripada
yang dapat disediakan oleh sistem.
7.
Pelanggaran terhadap batas memori.
8.
Proses memcoba mengakses lokasi memori yang tidak
diijinkan untuk diakses.
9.
Terjadi kesalahan karena pelanggaran proteksi.
10. Proses
berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya,
atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis
file read only.
11.
Terjadi kesalahan aritmatika.
12. Proses
mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba
menyimpan angka yang lebih besar daripada yang didapat diakomodasi oleh H/W.
13. Waktu
telah kadaluwarsa.
14. Proses
telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya
suatu kejadian spesfiik.
15.
Terjadi kegagalan masukan/keluaran.
16. Kesalahan
muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file,
kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang
ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid
seperti membaca dari line printer).
17.
Intruksi yang tidak benar.
18. Proses
berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat
pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
19. Terjadi
usaha memakai instruksi yang tidak diijinkan.
20. Proses
berusaha mengeksekusi instruksi yang disimpan untuk SO.
21. Kesalahan
penggunaan data.
22. Bagian
data adalah tipe yang salah atau tidak diinisialisasi.
23. Diintervensi
oleh SO atau operator.
24. Untuk
suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi
deadlock).
25. Berakhirnya
proses induk.
26. Ketika
parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak
proses dari parent itu.
27. Atas
permintaan proses induk.
28. Parent
process biasanya mempunyai otoritas mengakhiri suatu anak proses.
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
o Pada
beberapa sistem, proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
o Beberapa
sistem lain menganggap proses anak independen terhadap proses induk Proses anak
tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a.
Sumber daya-sumber daya yang dipakai dikembalikan.
b.
Proses dihancurkan dari senarai atau tabel
sistem.
c.
PCB dihapus (ruang memori PCB dikembalikan ke
pool memori bebas).
Threads
Sebagai
contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada
sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Kontrol 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 memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.
Kontrol 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 memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.
Keadaan
Proses
·
Running, yaitu suatu kondisi pemroses sedang
mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang
mengeksekusi instruksi proses itu).
·
Ready, yaitu suatu kondisi proses siap
dieksekusi, akan tetapi pemroses belum siap atau sibuk.
·
Blocked, yaitu suatu proses menunggu kejadian
untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya
kerja dari perangkat I/Otersedianya memori yang cukup.
Transisi Status
·
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.
Implementasi
Proses :
·
Untuk mengimplementasikan model proses, sistem
operasi menggunakan suatu tabel / array yang disebut tabel proses dengan 1
entry per-proses.
·
Setiap entry berisi tentang : status proses,
program counter, stack pointer, alokasi memori, status file, informasi
schedulling / penjadwalan informasi, dll dari status kerja ke status siap.
Penjadwalan Proses
Kriteria
untuk mengukur dan optimasi kinerja penjadwalan :
·
Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
·
Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
·
Waktu tanggap (response time)
Waktu
tanggap berbeda untuk :
1.
Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
2.
Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
·
Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
·
Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
Program Control Block (PCB)
PCB
berisi informasi mengenai proses yang diperlukan sistem operasi. PCB dibaca dan
/atau dimodifikasi rutin sistem operasi seperti penjadwalan, alokasi sumber
daya, pemrosesan interupsi, monitoring dan analisis kinerja. Kumpulan PCB
mendefinisikan state sistem operasi. Untuk menyatakan senarai proses di sistem
operasi dibuat senarai PCB. Struktur data PCB menyimpan informasi lengkap
mengenai proses sehingga dapat terjadi siklus hidup proses. Sistem operasi
memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi
ini berada di PCB.
Sistem berbeda akan mengorganisasikan secara berbeda. Informasi dalam PCB :
·
Informasi identifikasi proses
Informasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya.
Informasi tersebut meliputi :
Informasi ini berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya.
Informasi tersebut meliputi :
a.
Identifier proses
b.
Identifier proses yang menciptakan
c.
Identifier pemakai
·
Informasi status pemroses
Informasi tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer.
Informasi tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer.
Informasi
status terdiri dari :
a.
Register-register yang terlihat pemakai
Adalah register-register yang dapat ditunjuk instruksi bahasa assembly untuk diprosespemroses.
Adalah register-register yang dapat ditunjuk instruksi bahasa assembly untuk diprosespemroses.
b.
Register-register kendali dan status
Adalah register-register yang digunakan untuk mengendalikan operasi pemroses.
Adalah register-register yang digunakan untuk mengendalikan operasi pemroses.
c.
Pointer stack
Tiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.
Tiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pointer stack menunjukkan posisi paling atas dari stack.
·
Informasi kendali proses
Adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.
Informasi kendali terdiri dari :
Adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif.
Informasi kendali terdiri dari :
a.
Informasi penjadwalan dan status
Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan antara lain :
Informasi-informasi yang digunakan untuk menjalankan fungsi penjadwalan antara lain :
1.
Status proses
Mendefinisikan keadaan/status proses (running, ready, blocked)
Mendefinisikan keadaan/status proses (running, ready, blocked)
2.
Prioritas
Menjelaskan prioritas proses.
Menjelaskan prioritas proses.
3.
Informasi berkaitan dengan penjadwalan
Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi.
Berkaitan dengan informasi penjadwalan, seperti lama menunggu, lama proses terakhir dieksekusi.
4.
Kejadian
Identitas kejadian yang ditunggu proses.
Identitas kejadian yang ditunggu proses.
b.
Penstrukturan data
Satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
Satu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
c.
Komuikasi antar proses
Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah.
Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah.
d.
Manajemen memori
Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memori) proses.
Bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memori) proses.
e.
Kepemilikan dan utilisasi sumber daya
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
1.
Berkas yang dibuka
2.
Pemakain pemroses
3.
Pemakaian sumber daya lainnya
Informasi ini diperlukan oleh penjadwal. Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.
Informasi ini diperlukan oleh penjadwal. Struktur citra proses digambarkan berurutan di satu ruang alamat. Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen memori yang digunakan dan organisasi struktur kendali sistem operasi.
Kedudukan Sistem operasi
Sistem
operasi pada dasarnya adalah sepert perangkat lunak lain, yaitu program yang
perlu dieksekusi pemroses. Kedudukan sistem operasi dibanding proses-proses
lain, adalah :
·
Sistem operasi sebagai kernel tersendiri yang
berbeda dengan proses-proses lain (kernel sebagai non-proses).
·
Fungsi-fungsi sistem operasi dieksekusi dalam
proses pemakai.
·
Sistem operasi juga sebagai kumpulan proses
(process based operating
systems).
systems).
sumber : google.com
0 komentar:
Posting Komentar