SISTEM OPERASI
Peran Sistem Operasi
(adalah sebuah program)
v mengatur
fasilitas komputer, memberikan layanan untuk pemrogram, dan menjadwal eksekusi
program lainnya.
v menjembatani
perangkat keras dari pemrogram.
v memberikan
interface yang bagus untuk menggunakan sistem
v mengontrol
eksekusi program-program aplikasi yang memerlukan fasilitas dan pelayanan
hardware komputer.
Tujuan dan Fungsi Sistem Operasi
§ Nyaman : Suatu
sistem operasi akan membuat sistem komputer lebih mudah untuk digunakan.
§ Efisien :
Sistem operasi memungkinkan fasilitas sistem komputer dapat digunakan dengan
cara yang efisien.
Sistem Operasi sebagai Interface Pengguna/Komputer
Latar Belakang Sistem Operasi
§ Fungsi
utama komputer adalah menyediakan satu atau lebih aplikasi.
§ Pengguna
aplikasi (end user) umumnya tidak berkepentingan dengan arsitektur
komputer, end user memandang sistem komputer dari sudut aplikasi.
§ Aplikasi
diekspresikan dalam bentuk bahasa pemrograman dan dibuat oleh pemrogram
aplikasi.
§ Sebagian
program aplikasi dikenal sebagai utilitas. Utilitas adalah implementasi
fungsi-fungsi yang sangat sering digunakan untuk membantu proses pembuatan
program, manajemen file, dan pengontrolan perangkat I/O.
§ Program
sistem yang paling penting adalah sistem operasi.
ð Sistem
operasi menyembunyikan detail hardware dari pemrogram dan menyediakan interface
yang nyaman untuk pemrogram.
ð Sistem
operasi berfungsi sebagai mediator antara hardware komputer dengan pemrogram
untuk mengakses dan menggunakan
fasilitas layanan tertentu.
Layanan yang Diberikan Sistem Operasi adalah :
v Pembuatan Program
Sistem operasi menyediakan
berbagai fasilitas layanan bagi pemrogram untuk pembuatan program dalam bentuk
utilitas (general utilities).
v Eksekusi Program
Sistem operasi melakukan penanganan pemuatan
instruksi dan data ke memori utama, perangkat input/output (I/O) dan
inisialisasi file, dan penyiapan fasilitas.
v Akses ke Perangkat I/O
Sistem operasi menangani set instruksi I/O
atau sinyal kontrol untuk keperluan operasi.
v Akses Terkontrol ke File
Sistem operasi dapat menyediakan perlindungan
untuk mengontrol akses ke fasilitas yang digunakan secara bersama.
v Akses Sistem
Sistem operasi mengontrol akses ke sistem
sebagai keseluruhan dan ke sumber daya sistem tertentu.
Sistem Operasi Sebagai Pengelola Fasilitas
§ Sebuah
komputer adalah sekumpulan fasilitas untuk pemindahan, penyimpanan, dan
pengolahan data dan mengontrol ketiga fungsi ini.
§ Pengontrolan
fungsi-fungsi ini dilakukan oleh sistem operasi.
® Sistem
operasi merupakan program yang dieksekusi oleh CPU
§ Sistem
operasi mengarahkan CPU dalam menggunakan fasilitas lainnya dan dalam pewaktuan
dan atau penjadwalan eksekusi program.
Jenis Sistem Operasi
Pembedaan jenis sistem operasi didasarkan pada
karakteristik.
Karakteristik dapat dibagi menjadi 2 dimensi:
Dimensi pertama:
Ditinjau dari segi interaksi pengguna dengan sistem
komputer, ada dua jenis sistem operasi yang independen, yaitu:
® Sistem
bersifat interaktif
® Sistem
bersifat batch
Dimensi kedua:
Ditinjau dari segi banyaknya program yang dieksekusi
secara simultan, ada dua jenis sistem operasi, yaitu:
® Sistem
yang menggunakan Multiprogramming
® Sistem
yang tidak menggunakan Multiprogramming yaitu: Uniprogrammed / One task at a
time
Sistem interaktif,
è pengguna/pemrogram
berinteraksi secara langsung dengan komputer,
biasanya melalui keyboard/layar monitor, untuk meminta eksekusi tugas atau membentuk transaksi.
Sistem batch,
è program-program
pengguna ditampung bersama-sama (secara offline)
dengan pengguna lainnya dan kemudian diserahkan ke sistem operasi oleh operator
komputer.
è program
diselesaikan, hasilnya dicetak dan dikembalikan ke pengguna.
è sistem
batch murni sudah jarang ditemukan saat ini.
Dimensi Multiprogramming
è Prosesor
selalu berada dalam keadaan sibuk karena prosesor mengerjakan lebih dari satu
program pada saat yang sama,
è Beberapa
program dimuatkan ke dalam memori,
è Prosesor
beralih dengan cepat dari satu program ke program lainnya
è Bila
menggunakan sistem interaktif, menerapkan time
sharing
è Persyaratan
lain untuk meningkatkan kecanggihan dibanding dengan sistem operasi tipe batch
adalah
o manajemen
memori
o penjadwalan
Tabel Jenis Sistem Operasi
|
Batch System
|
Interactive System
|
Uniprogrammed / One task at a time
|
Simple batch
|
Dedicated system
|
Multiprogrammed
|
Sophisticated batch
|
Time sharing
|
§ Jadi ada empat jenis sistem operasi secara umum:
1.
Sistem Batch sederhana
2.
Sistem Batch canggih
3.
Sistem Multiprogramming
4.
Sistem Time Sharing
Dua
permasalahan yang ada pada sistem komputer lama (terdahulu):
® Penjadwalan
(Scheduling): pengguna memesan waktu
pelayanan mesin, pemesanan waktu mesin hendaknya sama dengan waktu penyelesaian
pekerjaan.
® Waktu
setup (Setup Time): Waktu yang
diperlukan untuk pemuatan compiler dan program berbahasa tingkat tinggi
(program sumber) ke dalam memori, penyimpanan program yang telah dikompilasi
(program object), dan kemudian memuatkan dan melakukan link program object
dengan fungsi-fungsi agar program dapat berjalan. Waktu setup harus diusahakan
sependek mungkin.
Sistem Batch Sederhana
Dalam sistem batch, pengguna tidak perlu lagi memiliki
akses langsung ke mesin. Pengguna menyerahkan pekerjaanya kepada operator
komputer yang akan melakukan batch pekerjaan secara berurutan.
Untuk memahami pola kerja batch, kita tinjau dari dua
sudut pandang:
® Sudut
pandang monitor
® Sudut pandang
CPU.
Dari
sudut pandang monitor,
Monitorlah yang mengontrol rangkaian kejadian. Untuk itu
monitor harus selalu berada di dalam memori utama (disebut resident monitor)
dan selalu tersedia untuk melakukan eksekusi. Monitor membaca job satu persatu.
Setelah membaca, job tersebut ditempatkan pada daerah program pengguna, dan
kontrol diberikan ke job ini. Pada saat job telah selesai, akan terjadi
interupt (internal interupt terhadap komputer) yang mengembalikan kontrol ke
monitor, dan segera membaca job berikutnya. Hasil setiap job dicetak dan
dikirim ke pengguna.
Dari
sudut pandang CPU,
CPU mengeksekusi instruksi-instruksi yang berasal dari
lokasi memori yang berisi monitor. Instruksi-instruksi ini akan menyebabkan job
berikutnya dibaca ke bagian lain memori utama. Setelah sebuah job dibaca, CPU
akan menemukan instruksi cabang pada monitor yang meminta CPU untuk melanjutkan
eksekusi di lokasi lain pada memori (awal program pengguna). Kemudian CPU akan
mengeksekusi instruksi pada program pengguna sampai CPU menemukan akhir program
atau error. Salah satu kejadian itu akan menyebabkan CPU mengambil instruksi
berikutnya dari program monitor.
“Kontrol diserahkan ke CPU” berarti CPU mengambil dan
mengeksekusi instruksi dalam program pengguna.
“Kontrol dikembalikan ke monitor” berarti CPU mengambil
dan mengeksekusi instruksi dari program monitor.
Beberapa feature yang perlu diperhatikan dalam sistem
operasi batch:
è Proteksi
Memori : Pada saat program pengguna dieksekusi, maka program
itu tidak boleh mengubah area memori yang berisi monitor. Bila terjadi
perubahan area memori, maka hardware CPU akan mendeteksi suatu error dan
memindahkan kontrol ke monitor. Kemudian monitor membatalkan job, mencetak
pesan error, dan memuatkan job berikutnya.
è Pewaktu
(Timer) : Pewaktu digunakan untuk mencegah sebuah job memonopoli
sistem. Pewaktu disetel pada awal setiap job. Bila waktu habis, terjadi sebuah
interrupt, dan kontrol kembali ke monitor.
è Privileged
Instruction : Instruksi tertentu ditandai dengan privileged dan
hanya dapat dieksekusi oleh monitor. Instruksi ini meliputi instruksi I/O,
sehingga monitor menguasai kontrol semua perangkat I/O. Hal ini akan mencegah
pembacaan instruksi kontrol job dari job berikutnya secara tidak sengaja.
Sistem Batch Canggih
Karena
kecepatan prosesor lebih cepat dibandingkan kecepatan perangkat I/O, maka
sering terjadi prosesor berada pada keadaan idle.
Read
satu record 0,0015
detik
Execute
100 instruksi 0,0001
detik
Write
satu record 0,0015
detik
Total 0,0031
detik
Persen
utilisasi CPU = 0,0001 / 0,0031 = 0,032 = 3,2 %
Pada
contoh di atas komputer menghabiskan lebih dari 96% waktunya untuk menunggu
perangkat I/O menyelesaikan proses transfer data.
Untuk
mengatasi hal ini maka diterapkan sistem operasi modern yang dikenal dengan
Multiprogramming.
Multiprogramming
Dalam
multiprogramming, bila sebuah job perlu menunggu I/O, maka prosesor dapat
beralih ke job lainnya, yang tidak sedang menunggu I/O. Dalam multiprogramming,
memori dapat menampung tiga atau lebih program dan dapat beralih ke setiap
program tersebut. Multiprogramming banyak digunakan dalam sistem operasi
modern.
Berikut
contoh operasi multiprogramming dan uniprogramming:
Penjadwalan
(Scheduling)
è Tugas
utama sistem operasi modern adalah multiprogramming
è Hal
terpenting dalam multiprogramming adalah scheduling
è Dalam
sistem operasi multiprogramming, beberapa job dipertahankan di memori, setiap
job saling bergantian menggunakan CPU dan menunggu I/O
è Kunci
peningkatan efisiensi menggunakan multiprogramming adalah penjadwalan yang
efektif.
è Ada
tiga jenis penjadwalan :
o High
level scheduling (Penjadwalan tingkat tinggi)
o Short
term scheduling (Penjadwalan jangka pendek)
o I/O
scheduling
è Penjadwalan tingkat tinggi
o Menentukan
job mana yang akan dimasukkan ke sistem untuk pemrosesan
o Mengontrol
derajat multiprogramming (jumlah proses yang berada di dalam memori).
o Job
yang diijinkan ditambahkan pada antrian job pada penjadwal jangka pendek
o Bekerja
dalam modus batch atau interaktif
è Penjadwalan jangka pendek
o Dikenal
dengan istilah dispatcher
o Mengeksekusi
dan membuat keputusan yang lebih detil tentang job yang akan dieksekusi untuk
kesempatan selanjutnya.
o Keadaan
proses
Ada lima keadaan proses :
§ New : Sebuah
program diijinkan oleh penjadwal tingkat tinggi namun belum siap melakukan
eksekusi. Sistem akan menginisialisasi proses, yang akan mengubahnya menjadi
berada dalam keadaan siap.
§ Ready :
Proses telah berada dalam keadaan siap dieksekusi dan sedang menunggu akses ke
prosesor
§ Running :
Proses sedang dieksekusi oleh prosesor
§ Waiting :
Proses ditahan eksekusinya untuk menunggu sumber daya sistem, misal I/O.
§ Halted :
Proses telah dihentikan dan akan dihancurkan oleh sistem operasi.
è Untuk
setiap proses direpresentasikan dalam sistem operasi dengan blok kontrol proses
yang berisi sbb.:
o Identifier :
Setiap proses saat itu memiliki identifier yang unik.
o State :
Keadaan proses saat itu (new, ready, dll)
o Priority :
Tingkatan prioritas relatif
o Program
Counter : Alamat instruksi berikutnya di dalam program yang akan
dieksekusi.
o Memori
pointers : Lokasi awal dan akhir proses di dalam memori
o Context
Data : Data ini adalah data yang berada di dalam register
pada prosesor pada saat proses sedang dieksekusi.
o I/O
Status Information : Meliputi request I/O yang belum dipenuhi
perangkat I/O yang diassign ke proses ini, daftar file yang di-assign ke proses
dll.
o Accounting
Information : dapat meliputi jumlah waktu prosesor dan clock time
yang digunakan, batas waktu, nomor account, dll.
Ketika prosesor menerima job baru, prosesor menerima blok
kontrol proses yang kosong dan menempatkan proses yang bersangkutan di dalam
keadaan yang baru, setelah sistem terisi blok kontrol proses dengan benar, maka
proses dipindahkan ke keadaan siap (ready).
Manajemen
memori
§ Dalam
sistem uniprogramming, memori utama dibagi menjadi dua bagian:
» Bagian
untuk sistem operasi (monitor resident)
» Bagian
untuk program yang saat itu sedang dieksekusi
§ Dalam
sistem multiprogramming, bagian “pengguna” dari memori harus dibagi lagi untuk
mengakomodasi sejumlah proses. Tugas pembagian dilakukan secara dinamis oleh
sistem operasi dan dikenal sebagai manajemen memori.
§
Tidak ada komentar:
Posting Komentar