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