You are on page 1of 9

DUKUNGAN SISTEM OPERASI

TUJUAN DAN FUNGSI

Kenyamanan
Membuat komputer lebih mudah penggunaannya.

Efisiensi
Penggunaan sumber daya komputer yang lebih baik
Layanan Sistem Operasi : Tipe Sistem Operasi

1. Pembuatan program ƒ Interaktif


2. Pelaksanaan program ƒ Batch
3. Mengakses ke device I/O ƒ Single program (Uni-programming)
4. Akses kontrol file ƒ Multi-programming (Multi-tasking)
5. Akses sistem
6. Pendeteksian kesalahan dan respon
7. Perhitungan (Accounting) Awal Sistem Operasi

Akhir 1940 sampai pertengahan 1950 :


Sistem Operasi sebagai Manager Sumber Daya : 1. Tidak ada Sistem operasi
2. Program saling berhubungan secara langsung dengan
perangkat keras
3. Dua permasalahan utama:
o Penjadwalan
o Waktu setup

Sistem Batch Sederhana

1. Program monitor yang residen


2. User menngirim job ke operator
3. Operator mem-batch job
4. Monitor control mengendalikan urutan even untuk
memproses secara batch
5. Ketika satu job sudah selesai, kendali kembali ke
monitor yang akan membaca job berikutnya
6. Monitor menangani skeduling
Bahasa Kendali Job Multi-programmed Batch Systems

ƒ Instruksi ke monitor ƒ Device I/O sangat lambat


ƒ Biasanya diawali dengan $ atau beberapa karakter ƒ Ketika suatu program menunggu I/O selesai bekerja,
spesial lainnya yang lainnya seharusnya dapat menggunakan CPU.
ƒ Contoh :
– $JOB
– $FTN ILUSTRASI
– ... Beberapa instruksi Fortran
– $LOAD Program Tunggal :
– $RUN
– ... Beberapa data
– $END
z Bahasa awal (Predecessor) kemudian selanjutnya
menjadi scripting languages (Burroughs WFL)

Fasilitas hardware Diinginkan Multi-Programming dengan Dua Program :

ƒ Memori terproteksi :
Untuk melindungi Monitor

ƒ Pengatur waktu (TIMER) :


Untuk mencegah suatu pekerjaan memonopoli sistem

ƒ Instruksi yang diistimewakan :


o Yang hanya dieksekusi oleh Monitor
o Misalnya I/O

ƒ Interupsi :
Memungkinkan mempertimbangkan untuk melepaskan
(untuk sementara) suatu kendali dan mendapatkannya
kembali
Multi-Programming dengan Tiga Program : Penjadwalan (Scheduling)

Merupakan kunci multi-programming, terdiri dari :

ƒ Long term
ƒ Menentukan program yang mana yang disiapkan
untuk memproses. Misalnya mengendalikan
derajat tingkat dalam multi-programming
ƒ Setelah di submit, suatu pekerjaan menjadi suatu
proses yang dilaksanakan dalam penjadwalan
jangka pendek. (atau menjadi suatu job yang di-
swap ke luar untuk penjadwalan jangka
menengah)

ƒ Medium term
ƒ Bagian dari fungsi swap.
Sistem Time Sharing ƒ pada umumnya didasarkan pada kebutuhan untuk
mengatur multi-programming
ƒ Jika tidak ada virtual memori, manajemen memori
adalah sekedarnya saja.
Mengijinkan para pemakai untuk saling
berhubungan secara langsung dengan komputer,
ƒ Short term
yaitu Interaktifitas.
Sebagai DISPATCHER, yaitu pengambil keputusan
langsung untuk menentukan pekerjaan mana yang akan
Multi-Programming mengijinkan sejumlah para
dlaksanakan berikutnya. Misalnya : pekerjaan aktual
pemakai untuk saling berhubungan dengan
mana yang harus segera masuk ke prosesor pada
komputer
waktu slot selanjutnya.

ƒ I/O
Hubungan langsung permintaan layanan dari device I/O
untuk mendapatkan perhatian Prosesor.
Status Proses
Blok Kendali Proses

ƒ Identifier
ƒ Informasi Status
ƒ Skala Prioritas
ƒ Program counter
ƒ Memory pointer
ƒ Context data
ƒ Status I/O
ƒ Accounting information

Penjadwalan Proses Elemen Kunci Sistem Operasi

Long-Term Short-Term End


Queue Queue CPU

I/O I/O Queue


Process
Request
I/O I/O Queue

I/O I/O Queue


ƒ Terjadi penukaran (swap), proses yang diblok ke
antrian yang akan segera dilayani.
Manajemen Memori
ƒ Terjadi penukaran (swap), proses yang sudah siap
atau proses baru.
ƒ Uni-Program
Memori di-split menjadi dua :
o Satu bagian untuk Sistem operasi (monitor)
Partitioning
o Satu bagian untuk eksekusi program

ƒ Multi-Program Defenisi :
User adalah bagian dari sub-divided dan berbagi pakai Melakukan Split memori menjadi bagian-bagian untuk
antar proses aktif saja. dialokasikan ke proses ( termasuk proses pada Sistem
operasi)

Swapping Partisi Fixed-sized


ƒ Dapat saja tidak dalam ukuran yang sama.
ƒ Proses dimasukkan ke dalam lubang paling kecil yang
Masalah: I/O sangat lambat dibandingkan dengan CPU, paling tepat ukurannya dengan proses tersebut)
bahkan di sistem yang multi-programming, CPU seringkali ƒ Dapat saja beberapa bagian memori jadi tersia-sia,
idle. sehingga membutuhkan partisi dengan ukuran variabel.

Solusi :
ƒ Meningkatkan memori utama :
o Mahal
o Memungkinkan pelaksanaan program besar.
ƒ Swapping
ƒ Pada Long Term Queue (Antrian jangka panjang),
proses disimpan pada disk.
ƒ Proses “di-swap” ketika ruangan sudah tersedia.
ƒ Jika proses sudah selesai, akan dipindahkan
keluar dari memori utama.
ƒ Jika tidak satupun dari proses di dalam memori
yang siap ( misalnya ketika semua I/O di blok) :
Ilustrasi Partisi Fixed-sized Partisi Variable-sized
ƒ Mengalokasikan secara tepat memori yang diperlukan
suatu proses.
ƒ Menyebabkan suatu hole kosong tidak terpakai pada
bagian akhir memori, yang biasanya terlalu kecil untuk
digunakan.
ƒ Dari keseluruhan memori yang tersedia, hanya ada satu
hole kecil - sedikit yang tersia-siakan
ƒ Ketika semua proses diblok, akan terjadi penukaran
(swap) proses keluar CPU, lalu CPU mengambil proses
yang lain.
ƒ Proses baru mungkin saja lebih kecil dibanding proses
yang ditukar keluar tadi, sehingga membuat hole baru.
ƒ Amat cepat terbentuk sekelompok hole (fragmentation)
ƒ Solusi:
o Koalisi - Menggabung dengan hole yang
bersebelahan ke hole yang lebih besar.
o Pemampatan (Compaction) - Dari waktu ke waktu
melakukan perpindahan semua hole ke dalam
satu blok bebas ( seperti pada disk de-
fragmentation)
Ilustrasi Partisi Variable-sized
Relokasi

ƒ Tidak ada jaminan suatu proses akan mengisi ke dalam


tempat yang sama dengan proses yang lain di dalam
memori.

ƒ Instruksi berisi alamat :


o Lokasi data
o Alamat instruksi (percabangan)

ƒ Alamat logis - relatif untuk awal suatu program.


ƒ Alamat fisik - Lokasi aktual (yang sesungguhnya)
dalam memori pada saat ini.
ƒ Konversi otomatis berdasarkan alamat.

Paging

ƒ Memori di-split pada ukuran yang sama, chunks kecil -


disebut frame Page.
ƒ Program yang dipisah ( proses) pada ukuran yang
sama, small chunks – disebut page.
ƒ Mengalokasikan page frame yang diperlukan kepada
suatu proses.
ƒ Sistem operasi memelihara daftar frame yang bebas.
Ilustrasi Paging

You might also like