Anda di halaman 1dari 11

RESUME

SISTEM OPERASI

“SYSTEM I/O & DISK”

Disusun

Oleh:

MUHAMMAD FADHILAH KAMZA

2201082036

PROGRAM STUDI TEKNIK KOMPUTER

JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI PADANG

2023
Sistem I/O

 Konsep umum I/O :


- Port => pintu komunikasi data.
- Bus => jalur data – shared direct access.
- Controller => host adapter.
 Perangkat – perangkat I/O memiliki alamat, digunakan untuk menyimpan
instruksi I/O secara langsung dan memory – mapped I/O.
 Jenis perangkat keras :
- Perangkat penyimpanan data.
- Perangkat penghubung (link).
- Perangkat antarmuka dengan user.

Perangkat I/O

 KATEGORI
 Perangkat block: disk drives. Perintah nya adalah read, write dan
seek. Akses I/O mentah atau file-system dan memungkinkan akses
file memory-mapped.
 Perangkat karakter : keyboards, mouse, serial ports. Perintahnya
adalah get dan put.
 Perangkat jaringan cukup berbeda dengan perangkat blok dan
karakter sehingga memiliki antarmuka sendiri. Unix dan
Windows/NT memiliki antarmuka socket. Memisahkan protocol
jaringan dari operasi jaringan dan meliputi fungsionalitas select.
Berbagai pendekatan yang ada yaitu pipe, FIFO, streams, antrian dan
mailbox.
 Clock dan timer itu menyediakan informasi current time, elapsed
time, timer. Waktu interval programmable digunakan untuk timing,
periodic interrupts. Ioctl (pada UNIX) mencakup aspek I/O seperti
clock dan timer.
 KOMPONEN
 Port => titik koneksi untuk komunikasi perangkat I/O dengan
computer.
 Bus => jalur yang digunakan Bersama oleh satu/lebih perangkat.
 Controller
a) Tugas controller adalah mengkonversi aliran bit serial ke blok
byte. Melakukan koreksi kesalahan jika diperlukan. Membuat
data dapat diakses oleh memori utama.
b) Jenis controller adalah serial-port controller, SCSI controller
dan built-in controller.
 ALAMAT
 Intruksi Direct I/O
a) Perangkat memiliki alamat khusus yang terpisah dari alamat
memori.
b) Akses terhadap perangkat I/O menggunakan alamat perangkat
tersebut.
 Memory-mapped I/O
a) Perangkat memiliki alamatt logic pada memori utama.
b) Instruksi load/store dapat digunakan untuk mengakses
register perangkat yaitu efisiensi tipe instruksi pada prosesor.

Polling I/O

Device driver melakukan query status perangkat yaitu command-ready, busy


dan error. Client program terus membaca busy-bit secara berulang-ulang sampai bit
tersebut clear. Client program set write-bit di command-register dan menulis satu
byte di data-out register. Client program set bit command-ready. Ketika controller
mengetahui kalua bit command-ready di-set, dia men-set busy bit. Controller
membaca command-register dan melihat perintah write. Dia membaca data-out
register untuk mendapatkan bytenya dan melakukan operasi I/O. controller
menghapus bit command-ready, membersihkan bit error di status register yang
menandakan operasi I/O berhasil dan menghapus busy-bit yang menandakan kalua
operasi sudah selesai.

Interrupt
Perangkat I/O mentrigger interrupt CPU menandakan selesainya operasi I/O.
interrupt handler menerima interrupt. Maskable dilakukan untuk mengabaikan atau
menunda beberapa interrupt. Interrupt vector untuk mengarahkan interrupt ke
handler yang seuai prioritas dan beberapa interrupt tidak dapat di-mask. Mekanisme
interrupt juga digunakan untuk eksepsi.

DMA

 Generasi computer yang sangat tua : controller membaca dari perangkat,


controller meng-interrupt OS dan sistem operasi yang meminta CPU
membaca data secara langsung.
 Generasi computer yang tua : controller membaca dari perangkat, controller
meng-interrupt OS dan sistem operasi dan CPU kemudian menyalin data ke
memori.
 Generasi DMA : controller membaca dari peprangkat, controller menyalin
data ke memori dan controller meng-interrupt OS bahwa operasi selesai.
 DMA controller mem-bypass CPU untuk melakukan transfer data anatara
perangkat I/O dan memori secara langsung.
 Digunakan untuk menghindari sibuknya CPU melakukan perpindahan data
ukuran besar.

Issue

 Device independence : program dapat mengakses perangkat I/O apapun


tanpa perlu menspesifikasikan perangkat terlebih dahulu.
 Penamaan yang seragam : nama file/perangkat berupa string atau integer dan
tidak tergantung pada mesin.
 Transfer synchronous vs asynchronous : transfer blocked vs interrupt-driven.
 Perangkat dapat digunakan Bersama vs ekslusif. Disk dapat digunakan
Bersama dan tape drive tidak dapat digunakan Bersama.
 Spooling : menyimpan output untuk perangkat.
 Jika perangkat hanya bisa melayani satu permintaan pada satu saat.
 Contoh : printing
 Buffering
 Mengatasi perbedaan kecepatan perangkat.
 Mengatasi perbedaan ukuran pengiriman antar peangkat.
 Menjaga “copy semantics”.
 Caching : fast memory untuk menyimpan Salinan data.
 Hanya berupa Salinan.
 Meningkatkan performasi.

Penanganan Error

 Kegagalan yang mungkin terjadi pada operasi I/O adalah pembacaan disk,
penulisan dan perangkat tidak dapat diakses.
 OS dapat memulihkan dari kegagalan tersebut.
 Biasanya mengembalikan error# jika terjadi kegagalan I/O.
 Log system error menyimpan laporan masalah yang terjadi.

Interrupt Handler

Interrupt handlers sebaiknya disembunyikan. Menyebabkan driver yang


memulai operasi I/O diblok sampai interrupt memberi tahu bahwa operasi telah
selesai. Prosedur interrupt melakukan tugasnya, kemudian melakukan unblock
driver yang memulainya.
 Langkah-langkah yang harus dilakukan oleh software setelah interrupt
selesai :
1) Simpan isi register yang belum disimpan oleh interrupt hardware.
2) Membangun konteks untuk ISR (Interrupt Service Routine).
3) Membangun stack untuk ISR.
4) Ack Interrupt controller, enable-kan kembali interrupts.
5) Salin register dari tempat asalnya.
6) Jalankan ISR.
7) Set up konteks MMU untuk proses berikutnya yang akan dijalankan.
8) Load register dari proses baru.
9) Mulai menjalankan proses baru.
Device Independent

Berfungsi antarmuka yang seragam untuk berbagai device drivers, buffering,


error reporting, pengalokasian dan pelepasan perangkat dan menyediakan ukuran
blok yang bersifat device-independent.

Performasi

I/O merupakan factor yang sangat berpengaruh terhadap performasi sistem.


Memerlukan CPU untuk mengeksekusi software I/O. Melakukan context switch
karena adanya interrupt. Context switches due to interrupts. Prnyalinan data dan
trafik jaringan.
Untuk meningkatkan performasi maka perlu mengurangi banyaknya context
switch, mengurangi penyalinan data, mengurangi interrupt dengan melakukan
transfer data skala besar, controller cerdas atau polling. Menggunakan DMA dan
menyeimbangkan performasi CPU, memori, bus, dan I/O untuk memperoleh
throughput maksimal.

I/O Streams

I/O Stream adalah suatu mekanisme pengiriman data secara bertahap dan terus
menerus melalui suatu aliran data (duplex). Biasanya digunakan dalam network
protocol bersifat Asynchronous. Menggunakan message passing dalam mentransfer
data. Untuk memasukkan ke dalam stream digunakan IO control system call atau
pemrograman Socket. Untuk menuliskan data ke device digunakan write/putmsg
system call. Untuk membaca data dari device digunakan read/getmsg system call.

Penjadwalan Lengan Disk

Efisiensi penggunaan disk meliputi waktu akses dan bandwidth disk. Waktu
akses memiliki dua komponen utama yaitu seek time (waktu yang diperlukan untuk
menggerakkan head ke silinder yang berisi sector yang diinginkan) dan Retational
latency (waktu tambahan yang dibutuhkan untuk menunggu disk memutar sector
yang diinginkan ke head).
Seek time mendominasi = minimalkan seek time. Seek time=seek distance.
Bandwidth disk merupakan banyaknya byte yang ditransfer dibagi dengan total
waktu antara permintaan pertama layanan dan penyelesaian transfer terakhir.
Penjadwalan disk perlu dilakukan karena urutan duster/blok yang dibaca
mempengaruhi seek time, mempengaruhi kinerja I/O secara keseluruhan. Pada
sistem multiprogramming, permintaan pengaksesan disk lebih banyak daripada yang
dapat dilayani.
Tujuan penjadwalan disk adalah mengoptimalkan kinerja I/O dan permintaan
dilayani dengan urutan pergerakan mekanis yang minimum. Meminimumkan
pergerakan lengan disk (seek time).
a) SSTF
Memilih request dengan seek time minimum dari posisi head saat ini.
Mirip dengan penjadwalan SJF dapat menyebabkan starvation pada beberapa
request.
b) SCAN
Lengan disk mulai dari salah satu ujung disk dan bergerak ke arah
ujung lainnya. Melayani request hingga sampai ke ujung lainnya dari disk,
pergerakan head kemudian berbalik dan terus melayani permintaan. Disebut
juga algoritma elevator.
c) C-SCAN
Memberikan waktu tunggu yang lebih sedikit variasinya dibandingkan
dengan SCAN. Head melayani request dengan berpindah dari satu ujung disk
ke ujung lainnya. Jika telah mencapai ujung lainnya, head kembali ke awal
disk tanpa melayani request dalam perjalanan kembalinya. Menganggap
silinder sebagai list sirkuler.
d) C-LOOK
Variasi dai C-SCAN. Lengan disk hanya berpindah sejauh request
terakhir pada tiap arah dan kemudian langsung berbalik arah tanpa sampai ke
ujung disk.

Pemilihan Algoritma Penjadwalan


 SSTF bersifat umum dan alami.
 SCAN dan C-SCAN memberikan performasi lebih baik untuk sistem dengan
akses ke disk sangat tinggi.
 Performasi tergantung pada tipe dan banyaknya permintaan.
 Request untuk layanan disk dapat dipengaruhi oleh metode alokasi file.
 Algoritma penjadwalan disk sebaiknya ditulis pada modul terpisah dari OS
sehingga dapt diganti dengan algoritma lain jika perlu.
 STF atau LOOK dapat menjadi algoritma default.

Formatting

 Low-level formatting (physical formatting) : membagi disk menjadi sector


sehingga dapat ditulis/dibaca oleh disk controller. Mengisi disk dengan
struktur data khusus untuk tiap sector (header, data area dan trailer). Header
dan trailer berisi informasi yang diperlukan oleh disk controller seperti ECC.
ECC digunakan untuk mengetahui bad sector.
 Logical formatting : membuat struktur data yang diperlukan OS untuk
menyimpan data. Mempartisi disk menjadi beberapa kelompok silinder.
Program tertentu dapat menggunakan partisi disk sebagai array blok logic
tersendiri. Contoh : untuk keperluan basis data.
 Disk drive dialamatkan sebagai array blok logic 1 dimensi yang brukuran
besar, dimana blok logic merupakan unit transfer terkecil. Array blok logic
ini dipetakan menjadi sector pada disk secara sekuensial. Sector 0
merupakan sector pertama dari track pertama pada silinder terluar. Pemetaan
berlanjut terurut pada track, track pada silinder yang sama dan silinder dari
luar ke dalam.

Boot Block

Program bootstrap digunakan untuk menjalankan program awal pada saat


computer baru dinyalakan. Program bootstrap dapat disimpan di ROM, namun tidak
fleksibel. Kebanyakan sistem menyimpan bootstrap loader di ROM, yang fungsinya
hanya untuk membawa bootstrap program dari disk, program bootstrap lebih
fleksibel. Program bootstrap disimpan di boot blocks, pada lokasi yang tetap pada
disk.

Bad Blocks

Pada disk sederhana seperti IDE, bad block ditangani secara manual. Program
khusus dijalankan untuk memeriksa block yang rusak dan ditandai; data dalam bad
block biasanya hilang. Pada disk yang lebih rumit seperti SCSI, pemeriksaan bad
block dilakukan secara periodic. Controller dapat mengganti block yang rusak
dengan block cadangan.

Swap Space

Ruang disk yang digunakan oleh virtual memory sebagai ekstensi dari memori
utama. Swap-space dapat diambil dari sistem file biasa atau yang lebih umum
menggunakan partisi tersendiri.
Pengelolaan swap-space :
 4.3BSD mengalokasikan swap space ketika proses mulai.
 Kernel menggunakan swap maps untuk melacak penggunaan swap space.
 Solaris 2 mengalokasikan swap space hanya ketika page dipaksa keluar
dari memori, bukan ketika page virtual memori pertama kali dibuat.

Kendalan Disk

 Beberapa perbaikan dalam Teknik penggunaan disk mencakup penggunaan


beberapa disk yang saling bekerjasama.
 Disk striping menggunakan sekolompok disk sebagai unit penyimpan.
 Skema RAID dapat meningkatkan performasi dan keandalan sistem
penyimpan dengan menyimpan data redundan. Mirroring atau shadowing
untuk memelihara duplikat tiap disk. Block interleaved parity menggunakan
lebih sedikit redundansi.
PERTANYAAN

1. Dibawah ini adalah fungsi modul I/O, kecuali


A. Control dan perwaktuan
B. Komunikasi CPU
C. Pembufferan data
D. Deteksi kesalahan
E. Komunikasi perangkat
2. Apa itu output ?
A. Memasukkan data atau memberikan perintah
B. Proses keluaran hasil computer
C. Alat untuk membaca kode barcode
D. Alat untuk mencetak berkas
E. Hasil pemrosesan dari pengolahan data
3. Apa pengertian dari perangkat input ?
A. Proses memasukkan data atau memberikan perintah
B. Proses keluaran hasil computer
C. Alat untuk membaca kode barcode
D. Alat untuk mencetak berkas
E. Semua jawaban benar
4. Zona memori pada Linux yang berhubungan dengan transfer data antara CPU
dengan I/O adalah
A. Zona normal
B. Zona DMA
C. Zona highmem
D. Zona aman
E. Zona standar
5. I/O adalah kependekan dari
A. In/out
B. Is/output
C. Input/output
D. Input/other
E. Semua jawaban benar

Anda mungkin juga menyukai