Sistem Operasi sebagai Manager Sumber Daya :
Tipe Sistem Operasi
• Interaktif
• Batch
• Single program (Uni-programming)
• Multi-programming (Multi-tasking)
Awal Sistem Operasi
Akhir 1940 sampai pertengahan 1950 :
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
• Instruksi ke monitor
• Biasanya diawali dengan $ atau beberapa karakter spesial
lainnya
• Contoh :
– $JOB
– $FTN
– ... Beberapa instruksi Fortran
– $LOAD
– $RUN
– ... Beberapa data
– $END
• Bahasa awal (Predecessor) kemudian selanjutnya menjadi
scripting languages (Burroughs WFL)
Fasilitas hardware Diinginkan
• 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-programmed Batch Systems
• Device I/O sangat lambat
• Ketika suatu program menunggu I/O selesai bekerja, yang
lainnya seharusnya dapat menggunakan CPU.
ILUSTRASI
Program Tunggal :
Multi-Programming dengan Dua Program :
Multi-Programming dengan Tiga Program :
Sistem Time Sharing
Mengijinkan para pemakai untuk saling berhubungan secara
langsung dengan komputer, yaitu Interaktifitas.
Multi-Programming mengijinkan sejumlah para pemakai untuk
saling berhubungan dengan komputer
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
diswap ke luar untuk penjadwalan jangka menengah)
• Medium term
Bagian dari fungsi swap.
pada umumnya didasarkan pada kebutuhan untuk mengatur
multi-programming
Jika tidak ada virtual memori, manajemen memori adalah
sekedarnya saja.
• Short term
Sebagai DISPATCHER, yaitu pengambil keputusan langsung untuk
menentukan pekerjaan mana yang akan dlaksanakan berikutnya. Misalnya :
pekerjaan aktual
mana yang harus segera masuk ke prosesor pada waktu slot
selanjutnya.
• I/O
Hubungan langsung permintaan layanan dari device I/O untuk
mendapatkan perhatian Prosesor.
Blok Kendali Proses
Identifier
Informasi Status
Skala Prioritas
Program counter
Memory pointer
Context data
Status I/O
Accounting information
Elemen Kunci Sistem Operasi
Manajemen Memori
• Uni-Program
Memori di-split menjadi dua :
o Satu bagian untuk Sistem operasi (monitor)
o Satu bagian untuk eksekusi program
• Multi-Program
User adalah bagian dari sub-divided dan berbagi pakai antar
proses aktif saja.
Swapping
Masalah: I/O sangat lambat dibandingkan dengan CPU, bahkan
di sistem yang multi-programming, CPU seringkali idle.
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) :
Terjadi penukaran (swap), proses yang diblok ke atau
proses baru.
Partitioning
Defenisi :
Melakukan Split memori menjadi bagian-bagian untuk
dialokasikan ke proses ( termasuk proses pada Sistem operasi)
Partisi Fixed-sized
Dapat saja tidak dalam ukuran yang sama.
Proses dimasukkan ke dalam lubang paling kecil yang paling
tepat ukurannya dengan proses tersebut.
Dapat saja beberapa bagian memori jadi tersia-sia,
sehingga membutuhkan partisi dengan ukuran variabel.
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
defragmentation)
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
Bus adalah :
Jalur komunikasi yang dibagi pakai
Suatu set kabel tunggal yang digunakan untuk menghubungkan
berbagai subsistem.
Merupakan tool yang fundamental dalam menyusun sistem yang
besar dan kompleks secara sistematis.
KEUNTUNGAN MENGGUNAKAN BUS
Memiliki berbagai macam kegunaan (Versatilitas):
o Device baru dapat ditambahkan dengan mudah.
o Peripheral dapat dipindah-pindahkan antar sistem komputer
yangh menggunakan standar bus yang sama.
Harga Rendah:
o Set kawat tunggal dipakai bersama dalam berbagai cara dan
metode
KERUGIAN MENGGUNAKAN BUS
Menciptakan suatu komunikasi bottleneck
Bandwidth (Luas bidang) bus dapat membatasi maksimum
I/OThroughput
Maksimum kecepatan bus biasanya dibatasi oleh:
o Panjang bus
o Banyaknya device yang terhubung pada bus
Kebutuhan dukungan tambahan untuk device-device yang :
o Secara luas memiliki berbagai jenis latency
o Secara luas memiliki berbagai jenis data transfer rate
ORGANISASI BUS
Jalur Kontrol
o Berisi Signal request dan sinyal acknowledgments
o Mengindikasikan tipe informasi pada jalur data.
Jalur Data membawa informasi antara sumber dan tujuan:
o Data dan alamat
o Perintah-perintah kompleks.
MASTER VS SLAVE
Suatu transaksi bus meliputi dua komponen:
o Mengeluarkan perintah (dan alamat) – request (permintaan)
o Memindahkan data - action (tindakan)
Master adalah bus yang memulai transaksi bus dengan cara :
o Mengeluarkan perintah (dan alamat)
Slave adalah bus yang bereaksi terhadap alamat dengan cara :
o Mengirimkan data kepada master jika master meminta data.
o Menerima data dari master jika master mengirimkan data
DIRECT MEMORY ACCESS (DMA)
Device I/O harus memindahkan sejumlah data yang besar dari
memori ke prosesor :
o Disk harus memindahkan blok lengkap ( 4K? 16K ?)
o Paket besar dari jaringan
DMA memberi kemampuan pada device eksternal untuk dapat
menulis ke memori secara langsung:
Overhead yang lebih kecil dibandingkan dengan jika prosesor
me-request
1 word setiap waktu.
o Prosesor (atau sistem memori) bertindak seperti slave
Kasus : Cache coherence
Apa Akibatnya jika device I/O menulis data yang sedang
berada dalam prosesor cache? Prosesor tidak dapat lihat data baru!
Solusi:
Membersihkan cache pada setiap Operasi I/O (mahal)
Memiliki perangkat keras yang membuat tidak berlakunya
suatu jalur cache.
KONSEP PROGRAM
Program adalah :
• Kumpulan Langkah yang berurutan
• Untuk setiap langkah, akan menyelesaikan operasi aritmatik
atau operasi logikal
• Untuk setiap operasi, membutuhkan suatu sinyal kontrol
tertentu.
Fungsi Kontrol Unit :
• Untuk setiap operasi membutuhkan kode unik : ADD, MOVE
• Segmen hardware menerima kode tersebut dan memilihkan
kontrol sinyal yang tepat.
• Kita memiliki Komputer!
Komponen :
• Control Unit dan unit Aritmatik &Logika terdapat pada
Central Processing Unit
• Data dan instruksi perlu masuk ke dalam sistem tersebut
dan hasilnya dikeluarkan dari sistem tersebut : Proses Input/output
• Penyimpanan sementara bagi kode dan hasil amat diperlukan,
contoh : Main memory
Komputer Komponen (Top Level View) :
Siklus Instruksi :
Contoh Eksekusi Program :
Contoh
Dua Langkah Siklus Instruksi :
1. Siklus Fetch
• Program Counter (PC) mengambil alamat instruksi
selanjutnya pada fetch.
• Processor mengambil instruksi dari memori yang ditunjuk
oleh PC
• Increment PC : mencari alamat lainnya
• Instruksi di-load ke Instruction Register (IR)
• Prosesor menginterpretasi instruksi dan menyiapkan aksi
yang dibutuhkan
2. Siklus Eksekusi
• Processor-memory : transfer data antara CPU dan main
memory
• Processor I/O : transfer data antara CPU dan modul I/O
• Data processing : Beberapa operasi aritmatik dan logika
pada data
• Kendali.: alternatif aliran operasi, misalnya jump
• Kombinasi di atas.
State Diagram Siklus Intruksi :
Interupsi
• Mekanisme antara modul yang berlainan (misalnya I/O) dapat
menginterupsi aliran proses yang normal.
• Berhubungan dengan program, misalnya : overflow, division
by zero
• Berhubungan dengan Timer, misalnya : dibuat oleh timer
pada prosesor internal, digunakan dalam multitasking
• Berhubungan dengan I/O : dari I/O controller
• Berhubungan dengan kesalahan Hardware, misalnya error pada
parity memori.
Kendali Aliran Program :
Siklus Interupsi :
• Ditambahkan dalam siklus Instruksi
• Prosesor akan menmeriksa interupsi : diindikasikan dengan
adanya sinyal interupsi.
• Jika tidak ada interupsi maka akan mem-fetch intruksi
selanjutnya.
• Jika terdapat interupsi :
o Hentikan dulu eksekusi program yang sedang berjalan
o Isi program di simpan dulu
o Set PC untuk menunjuk ke alama awal rutin handler
interupsi
o Memproses interupsi.
o Mengembalikan isi program dan melanjutkan program yang
terinterupsi tadi.
State Diagram Siklus Interupsi :
Multiple Interupsi :
• Men-disable interupsi
• Prosesor akan mengabaikan interupsi yang lain kerika
sedang memproses suatu interupsi
• Interupsi yang di-pending akan dijalankan setelah
interupsi yang sebelumnya telah selesai diproses.
• Terdapat Interupsi yang menangani urutan.
• Mendefinisikan prioritas
• Interupsi prioritas rendah dapat diinterupsi oleh
interupsi yang lebih tinggi prioritasnya.
• Ketika proses pada interupsi yang berprioritas tinggi
selesai dilakukan, proses akan kembali ke interupsi sebelumnya.
sumber :
http://jaquelineanggella.blogspot.com/2013/06/jelaskan-berikut-dengan-gambar-dari.html
Tidak ada komentar:
Posting Komentar