Pengertian Proses
Merupakan abstraksi atau pemodulan terhadap eksekusi program. Sebuah proses memerlukansumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/O untuk menyelesaikan tugasnya.
Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada aktrifitas-aktifitas yang berhubungan denagn manajemen proses berikut :
a. Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
b. Menghentikan proses sementara dan melanjutkan proses.
c. Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi
proses.
Pengertian Multitasking
Merupakan istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut.
Multitasking memecahkan masalah ini dengan memjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch. Ketika context switch terjadi dengan sangat cepat, kondisi ini cukup untuk memberikan ilusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.
Pengertian Konkurensi
adalah proses-proses (lebih
dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan
landasan umum perancangan sistem operasi. Proses-proses disebut
konkuren jika proses-proses berada pada saat yang sama. Pada
proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang
harus diselesaikan:
1. Mutual Exclusion
2. Sinkronisasi
3. Deadlock
4. Startvation
Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
• Alokasi waktu pemroses untuk proses-proses
• Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
• Komunikasi antarproses
• Sinkronisasi aktivitas banyak proses.
Konkurensi dapat muncul pada konteks berbeda, antara lain:
1. Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak
proses sekaligus dijalankan. Proses-proses dapat berasal dari
aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat
banyak aplikasi sekaligus yang dijalankan di sistem komputer.
2. Aplikasi terstruktur.
2. Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan
pemrograman terstruktur adalah suatu aplikasi dapat secara efektif
diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses,
maka tiap proses menyediakan satu layanan spesifik tertentu.
3. Struktur sistem operasi.
3. Struktur sistem operasi.
Keunggulan strukturisasi dapat juga
diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang
dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai
sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan
pendekatan ini.
4. Untuk Strukturisasi Satu Proses.
4. Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka
satu proses dapat memiliki banyak thread yang independen. Thread-thread
tersebut harus dapat bekerjasama untuk mencapai tujuan proses.
Masalah yang dihadapi proses-proses
kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu:
kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi.
Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.
2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel
global yang sama, serta keduanya membaca dan menulis variabel itu maka
urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi
kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal
masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend
sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal
tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi
inefisiensi.
c) Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
- Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara lain:
a) Sistem operasi harus mengetahui proses-proses yang aktif
b) Sistem operasi harus mengalokasikan
dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber
daya yang harus dikelola, antara lain:
(1) Waktu pemroses.
(2) Memori
(3) Berkas-berkas
(4) Perangkat I/O
c) Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing proses dari gangguan proses-proses lain.
d) Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.
Tiga katagori interaksi dengan banyak proses (konkuren)
-
- Proses-proses tidak saling peduli (independent) => Prosesproses tidak dimaksudkan untuk bekerja bersama untuk mencapai tujuan tertentu.
- Proses-proses saling mempedulikan secara tidak langsung => Prosesproses tidak perlu saling mempedulikan identitas proses-proses lain tapi sama-sama mengakses objek tertentu (seperti buffer Input/Output). Prosesproses itu perlu bekerja sama dalam memakai bersama objek tertentu.
- Proses-proses saling mempedulikan secar langsung Prosesproses dapat saling bekomunikasi dan dirancang bekerja sama untuk suatu aktivitas.
Siklus Hidup Proses
Struktur Kendali Sistem Operasi
a. Pembuatan dan penghapusan file.
b. Pembuatan dan penghapusan direktori.
c. Primitif-primitif yang mendukung untuk manipulasi file dan direktori.
d. Pemetaan file ke memori sekunder.
e. Backup file ke media penyimpanan yang stabil (nonvolatile).
Manajemen I/O
Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem I/O sebagai
berikut:
a. Sistem buffer-caching.
b. Antarmuka device-driver secara umum.
c. Driver untuk device hardware-hardware tertentu.
Manajemen Penyimpan Sekunder
Karena memori utama (primary storage) bersifat volatile dan terlalu kecil untuk mengakomodase semua data dan program secara permanen, sistem komputer harus menyediakan penyimpan sekunder (secondary storage) untuk back up memori utama. Beberapa sistem komputer modern menggunakan disk untuk media penyimpan on-lin, baik program maupun data. Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpan sekunder sebagai berikut:
a. Pengaturan ruang bebas.
b. Alokasi penyimpanan.
c. Penjadwalan disk.
Sistem Jaringan (Sistem Terdistribusi)
Sistem terdistribusi adalah kumpulan prosessor yang tidak menggunakan memori atau clock bersama-sama. Setiap prosessor mempunyai local memori sendiri. Prosessor-prosessor pada sistem dihubungkan melalui jaringan komunikasi. Komunikasi dilakukan dengan menggunakan protocol.
Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan pemrograman dengan mudah.
a. Eksekusi Program. Sistem harus dapat memanggil program ke memori dan menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi error).
b. Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
c. Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat dan menghapus file.
d. Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa proses dalam satu komputer atau dalam komputer yang berbeda melalui sistem jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau dengan cara pengiriman pesan (message passing).
e. Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program.
Gambar Struktur Kendali Sistem Operasi
0 komentar:
Posting Komentar