Sistem I/O pada sistem komputer dapat ditinjau dari segi organisasi fisik atau perangkat keras maupun
dari segi organisasi perangkat lunaknya.
Karakteristik yang dapat digunakan sebagai pembeda antara peranti I/O yang satu sama yang lain
antara lain:
Device controller merupakan bagian dari organisasi fisik sistem I/O yang berfungsi sebagai pengendali
digital terhadap peranti I/O dan juga bertanggung jawab atas komunikasi data antara peranti I/O
dengan sistem internal computer
Bus I/O terdiri atas bus data,alamat, dan control yang berfungsi menghubungkan device controller
dengan elemen internal komputerseperti prosesor dan memori.
Salah satu hal yang cukup penting dalam menentukan kinerja sistem I/O adalah mekanisme transfer
data dari peranti I/O ke bagian internal sistem komputer.
1. Device independence
2. Uniform Naming
3. Error Handling
4. Transfer Sinkron vs Asinkron
5. Shareable vs Dedicated Device
Manajement device memiliki fungsi-fungsi yang di implementasikan pada lapisan kernel I/O.
1. Sheduling
Salah satu fungsi manajement device yang melakukan penjadwalan penggunaan suatu peranti I/O.
2. Buffering
Yaitu menampung ementara data operasi I/O , baik operasi baca ataupun tulisan di memori utama.
Beberapa keuntungan dari mekanisme buffering adalah;
3. Caching
4. Spooling
5. Device Reservation
6. Error Handling
BAB VII
MANAJEMEN DISK
Disk secara fisik memiliki struktur 3 dimensi, yang terdiri atas silinder, track,dan sektor. Secara fisik, disk
cakram magnetis terdiri atas cakram yang tersusun secara vertikal. Kedua sisi atas dan bawah dapat
ditulis data, kecuali permukaan cakram paling atas dan paling bawah. Setiap sisi cakram terdiri alur
melingkar atau track. Makin kedalam sisi cakram, alur makin mengecil .
1. Ketika suatu proses membutuhkan transfer data dari atau ke disk maka proses akan
memanggil system call sistem operasi .
2. system call akan memicu sistem operasi memblok proses bersangkutan karena operasi I/O
disk akan memakan waktu. Disk request akan ditangani oleh device driver yang sesuai denga
peranti I/O yang hendak diakses.
3. Device driver disk akan memeriksa status disk driver akan diantrikan pada antrian disk
bersangkutan.
4. Jika disk tidak sedang digunakan maka disk request tersebut akan dilayani dan alamat disk
dikirimkan ke disk controller.
5. Pada operasi penulisan (write), data akan disalinkan oleh DMA controller ataupun prosesor
dari memori utama ke buffer disk controller untuk selanjutnya disalinkan kepiringan disk.
Sementara pada operasi pembacaan (read), data yang dibaca akan disalin ke buffer disk
controller lebih dahulu dan selanjutnya disalin ke memori utama.
Waktu yang dibutuhkan untuk memproses suatu disk request tersendiri atas:
1. Overhead time, yaitu total waktu yang dihabiskan sistem operasi untuk menangani disk
request , termasuk mengantrikan disk request.
2. Queuing time, yaitu waktu yang dihabiskan diantrikan disk untuk menunggu disk tersedia
untuk digunakan.
3. Latency (Random Access Time), yaitu waktu yang dihabiskan untuk menempatkan head ke
lokasi yang hendak diakses . latency terdiri atas 2 komponen:
a. Seek time, yaitu waktu yang dibutuhkan disk untuk memindahkan head ke silinder yang
berisi sektor yang dituju.
b. Rotational latency, adalah waktu tambahan yang dibutuhkan untuk menunggu putaran disk
sehingga head berada tepat dibawah sektor yang hendak di akses.
4. Transfer time, yaitu waktu untuk mentransfer data dari atau ke lokasi disk.
1. pemformatn fisik (low-level formatting), yaitu membagi disk ke dalam sektor-sektor sehingga
disk controller dapat membaca dan menulisinya dengan cara menandai awal setiap sektor
dengan header dan akhir setiap sektor dengan trailer.
2. Pemartisian, yaitu membagi disk menjadi satu atau lebih partisi di mana masing-masing partisi
dapat dipandang secara logika sebagai disk yang tepisah.
3. Pengformatan secara logika, yaitu membangun struktur pengelolaan berkas.
4. Alokasi blok booting, yaitu membangun struktur untuk melakukan operasi booting.
5. Manajement Blok atau Sektor yang rusak (bad sector), yaitu mengelola, mencatat atau
mengalihkan bad block, yaitu satu atau lebih sektor yang rusak pada disk.
Sistem operasi yang menggunakan konsep virtual memory menggunakan disk sebagai ekstensi memori
utama.
BAB V
MANAJEMEN MEMORI
Memori merupakan tempat menampung data dan kode instruksi program. Kode instruksi program akan
dibaca memori ke register prosesor untuk dieksekusi baris demi baris.
Secara garis besar, pengalamatan memori dapat dibedakan atas pengalamatan secara fisiki, relatif,
dan logika :
Cara pengelolaan memori pada sistem monoprogramming berbeda dengan sistem yang
multiprogramming. Adapun cirri-ciri manajemen memori pada sistem monoprogramming antara
lain:
1. Hanya ada satu proses pada suatu saat dan menggunakan seluruh area memori pengguna.
2. Program dimuatkan seluruhnya ke memori dari disk/tape
3. Pada saat eksekusi, program mengambilkendali seluruh sumber daya computer.
4. Alokasi memori dilakukan secara berurutan, yang artinya image proses dari program harus
menempati area memori yang utuh
Pada sistem monoprogramming, seluruh area memori yang tidak digunakan oleh sistem operasi dan
device driver akan dialokasikan semuanya ke proses pengguna .
Pada sistem monoprogramming, kode intruksi dan data dari sistem operasi butuh dilindungi dari akses
langsung ataupun modifikasi oleh proses aplikasi pengguna. misalnya , pada sistem tempat rutin-rutin
OS diletakan dialamat memori bawah. Sedang kan proses pengguna diletakan pada alamat memori atas
maka diperlukan adanya proteksi terhadap memori agar proses penggunaan mengakses memori yang
ditempati OS ataupun bagian memori lainnya.
1. terdapat sejumlah proses yang menepati memori utama pada setiap saat
2. image proses dari program dapat dimuat seluruhnya atau sebagian saja ke memori utama.
3. Alokasi memori utama ke proses dapat berurutan ataupun tidak berurutan.
4. Dimungkinkan seluruh ataupun sebagian image proses perpindahan lokasi memori utama
selama eksekusinya.
5. Dimungkinkan suatu lokasi memori utama diakses bersama oleh sejumlah proses ataupun
disebut dengan memory sharing.
5.4.1 PENGALOKASIAN BERURUT DENGAN PARTISI STATIS
Pengelokasian memori utama secara berurutan dengan partisi statis memiliki karakteristik sebagai
berikut:
Model alokasi berurutan dengan partisi statis dapat dikategorikan berdasarkan ukuran partisi,
yaitu:
Pengelokasian memori berurutan dengan partisi dinamis memiliki beberapa karakteristik, anata
lain:
1. Best-fit
Algoritma best-fit mencari blok memori kosong paling kecil yang dapat menampung image
proses. Algoritma ini memerlukan waktu yang lama karna harus melihat seluruh blok memori
utama, tetapi fragmentasi eksternal dapat ditekan sekecil mungkin.
2. First-fit
Algoritma first-fit mencari memori kosong dari alamat awal utama sampai menemukan
blok yang dapat menampung image proses algoritma ini sederhana dan cepat.
3. Next-fit
Algoritma next-fit hamper sama dengan algoritma first-fit. Perbrdaannya algoritma next-fit
tidak memulai pencarian dari alamat awal memori utama namun dari lokasi alokasi
terakhir.
4. Worst-fit
Algoritma worst-fit mencari diseluruh nenori utama untuk menemukan hole yang paling
besar. Tujuannya adalah hole sisa yang tercipta setelah alokasi masih cukup besar untuk
dialokasikan ke proses lainnya.
2. Pengalokasian
Operasi selanjutnya adalah mencari hole yang besarnya seukurang dengan perhitungan
diatas. Jika ternyata tidak ada maka sistem buddy akan mencari hole yang berukuran
sedikit lebih besar dan kemudian memecahnya secara bertahap sehingga didapatkan
hole dengan ukuran yang ditentukan diatas.
1. Sistem paging memerlukan pengalaman logika khusus yang membagi suatu ruang
alamat logika proses menjadi bagian-bagian yang berukuran sama yang disebut
dengan page.
2. Pada sistem paging, memori fisik dipartisi secara statis yang disebut dengan frame
page atau disebut frame saja, yang berukuran sama dengan page pada ruang alamat
logika.
3. Sistem paging memakai pengelokasian memori tak berurutan. Jadi suatu image
proses dapat menempati lebih dari satu frame yang letaknya tidak harus berurutan.
4. Sistem paging membutuhkan pengelolaan informasi mengenai seluruh frame-frame
yang masih kosong dan tersedia untuk dialokasikan.
5. Pada sistem paging tidak terjadi fragmentasi eksternal, sedangkan fragmentasi
internal hanya terjadi pada sejumlah frame tertentu saja.
Berikutnya akan dibahas lebih rinci proses terjadinya alokasi memori pada sistem paging. Konsep
alokasinya adalah sebagai berikut:
1. Memori utama dibagi menjadi frame-frame kecil berukuran sama tiap frame memiliki nomor
frame sebagai referensi
2. Ruang alamat logika proses dibagi menjadi page-page seukuran frame. Image proses aplikasi
menempati sebagai ruang alamat logika proses. Image proses umunya lebih kecil dari ruangan
alamat logika proses. Misalnya ruangan alamat logika adalah 4 G, sedanglan image proses
berukuran 20 M bytes saja, page-page ini juga diberi nomor sebagai referensi.
3. Pada saat proses di-load, page-page image proses diletakn atau dialokasikan pada frame-frame
yang masih kosong. Alokasi ini dicatat pada suatu table halaman (page table), yang memetakan
asosiasi page dan frame yang dialokasi.
4. Page table umumnya berisi nomor frame-frame yang telah dialokasikan untuk image proses.
Indeks dari page table dapat digunakan sebagai referensi nomor page yang dialokasikan.
Address binding pada sistem paging terjadi pada saat eksekusi (execution time). Alamat referensi
pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi,
alamat referensi tersebut haruslah ditransaksi ke alamat fisik memori utama yang sesungguhnya.
Sistem paging adalah proteksi memori.mekanis proteksi berfungsi menghindari pengaksesan memori
secara ilrgal, misalnya pengaksesan bagian memori yang ditempati proses lain atau kode instruksi
sistem operasi.
Sistem paging mendukung pula mekanisme bagi pakai memori utama atau memori sharing.
1. Image proses dibagi menjadi beberapa segmen yang ukurannya tidak harus sama.
2. Pada saat image proses dialokasikan ke memori utama, segmen-segmen image proses
ditempatkan pada bagian memori yang masih kosong dan informasi alokasi dicatat pada
segment table dari proses tersebut.
3. Segment table berisi rekaman nilai limit, yang berisi panjang segmen dan nilai base, yang berisi
alamat awal bagian memori utama yang dialokasikan ke segmen. Indeks rekaman pada segment
table menunjukan nomor segmen yang dialokasikan.
Seperti halnya sistem paging, pada sistem segmentation , alamat logika pada kode instruksi program
juga perlu ditranslasi pada saat dieksekusi.
Pada sistem segmentation, sharing segmen antara 2 atau lebih proses dapat dilakukan dengan
mencatat lokasi alokasi segmen tersebut ke table segmen masing-masing proses.
Sistem segmentation juga mendukung mekanisme proteksi memori utama. Pada sistem
segmentation , proteksi pengaksesan memor utama dapat dilakukan secara perangkat keras yang
akan membandingkan nomor offiset dari alamat logika yang diakses dengan nilai limit segmen
bersangkutan yang tercatat pada table segmen.