- 1. Manajemen Proses
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.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
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).
- Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
- IPC menyediakan dua operasi :
- send(message) – pesan berukuran pasti atau variabel
- receive(message)
- Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
- Membangun jalur komunikasi diantara keduanya
- Melakukan pertukaran pesan melaui send/receive
- Implementasi jalur komunikasi
- physical (shared memory, hardware bus)
- logical (logical properties)
- Pembuatan Proses (Create)
Penciptaan proses melibatkan banyak aktivitas, yaitu :
- Menamai (memberi identitas) proses.
- Menyisipkan proses pada senarai proses atau tabel proses.
- Menentukan prioritas awal proses.
- Menciptakan PCB.
- Mengalokasikan sumber daya awal bagi proses.
- Penghancuran Proses (Destroyed)
- Selesainya proses secara normal.
- Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
- Batas waktu telah terlewati.
- 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) .
- Memori tidak tersedia.
- Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
- Pelanggaran terhadap batas memori.
- Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
- Terjadi kesalahan karena pelanggaran proteksi.
- Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
- Terjadi kesalahan aritmatika.
- Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
- Waktu telah kadaluwarsa.
- Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
- Terjadi kegagalan masukan/keluaran.
- 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).
- Intruksi yang tidak benar.
- Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
- Terjadi usaha memakai instruksi yang tidak diijinkan.
- Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
- Kesalahan penggunaan data.
- Bagian data adalah tipe yang salah atau tidak diinisialisasi.
- Diintervensi oleh SO atau operator.
- Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
- Berakhirnya proses induk.
- Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
- Atas permintaan proses induk.
- Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.
- Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
- Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
- Sumber daya-sumber daya yang dipakai dikembalikan.
- Proses dihancurkan dari senarai atau tabel sistem.
- PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
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.
- 2. Keadaan Proses
2) Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.
3) Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.
0 komentar:
Posting Komentar