Manajemen I/O SISTEM OPERASI Slide perkuliahan Sumber : - Modern Operating System, Tanenbaum Operating System, Internal and Design Principles, William Stallings Ken Kinanti Purnamasari
Device I/O Berdasarkan Sifat Aliran Data : Block-Oriented data/informasi dianggap sebagai blok berukuran tetap (disk, tape, CD ROM, optical disk) Character Stream-Oriented data/informasi tidak dianggap sebagai blok (terminal, line printer, interface jaringan)
Device I/O Berdasarkan Sasaran Komunikasi : Human Readable : dengan manusia (monitor, keyboard, mouse) Machine Readable : dengan perangkat elektronik (sensor, controller, actuator) Communication : dengan perangkat jarak jauh (modem, digital line drivers)
Device I/O Aspek-aspek pembanding antar device : Data Rate Application Complexity of Control Unit of Transfer Data Representation Error Conditions
Typical I/O Device Data Rate Gigabit Ethernet Graphics Display Hard disk Ethernet Optical Disk Scanner Laser Printer Floppy Disk Modem Mouse Keyboard 101 102 103 104 105 106 107 108 Data Rate (bps) 109
Organisasi I/O 3 Teknik I/O : Programmed I/O Interrupt-driven I/O Direct Access Memory (DMA) I/O
Teknik I/O No Interrupts Use of Interrupts I/O-to-Memory Transfer through Processor Programmed I/O Interrupt-driven I/O Direct I/O-to-Memory Transfer Direct Memory Access (DMA)
Programmed I/O Prosesor mengeluarkan perintah ke modul I/O. Prosesor secara berkala mengecek apakah proses sudah selesai dikerjakan. Setelah selesai, prosesor melakukan transfer data ke memori utama.
Interrupt-driven I/O Prosesor mengeluarkan perintah ke modul I/O. Apabila perintah tersebut sudah selesai dikerjakan, modul I/O akan menyampaikan interupsi ke prosesor. Maka, prosesor akan melakukan transfer data ke memori utama.
Direct Memory Access (DMA) Prosesor memberikan perintah ke modul DMA. DMA menghubungi modul I/O dan mengelola transfer data ke memori utama (tanpa prosesor). Setelah transfer data selesai, DMA memberi interupsi ke prosesor.
Evolusi I/O Prosesor langsung mengatur I/O Perangkat dilengkapi I/O Controller Perangkat dilengkapi fasilitas Interrupt DMA langsung mengatur transfer data ke memori utama I/O Controller sebagai Prosesor khusus I/O Controller memiliki memori lokal
1 Prosesor langsung mengatur I/O Memori Processor Selesai ??? Pindah Data Siapkan data Device I/O Data
2 Perangkat dilengkapi I/O Controller Processor Memori Selesai ??? Pindah Data Siapkan data I/O Controller Device I/O Data
3 Perangkat dilengkapi fasilitas Interrupt Processor Memori Interrupt Pindah Data Siapkan data I/O Controller Interrupt Device I/O Data
4 DMA langsung mengatur transfer data ke memori utama Processor Memori Interrupt Siapkan data DMA Interrupt I/O Controller Interrupt Device I/O Data
5 I/O Controller sebagai Prosesor khusus Processor Memori Interrupt DMA Siapkan data Interrupt I/O Controller Interrupt Device I/O Data
6 I/O Controller memiliki memori lokal Memori Lokal Processor Interrupt DMA Siapkan data Interrupt I/O Controller Interrupt Device I/O Data
Buffering I/O Buffering : penyimpanan data ke dalam suatu area penyimpanan saat transfer data antar device sedang berlangsung.
Cache, Buffer, Spool - Cache : area penyimpanan salinan data yang ada di dalam komputer - Buffer : area penyimpanan salinan data yang akan disimpan ke dalam komputer - Spool : buffer yang menyimpan salinan data yang akan dieksekusi suatu critical resource (mis: printer)
Buffering I/O Single Buffering : 1 (satu) buffer Double Buffering : 2 (dua) buffer Circular Buffering : lebih dari 2 buffer
DISK Waktu Pembacaan & Penulisan ke Disk : Seek Time Rotational Latency Time Transfer Data Time
DISK Transfer Rate Seek Time Latency Time
DISK Read/Write Head Platter Spindle Boom
DISK Algoritma Penjadwalan Disk : FCFS (First Come, First Serve) SSF (Shortest Seek First) SCAN (Elevator) C-SCAN (Elevator Modified) N-Step SCAN Eschenbach Scheme
CLOCK Tipe Clock : Clock dengan impuls tegangan listrik Clock PIT (Programmable Interval Timer)
CLOCK Mode Pemrograman PIT : One-shot mode Square wave mode
CLOCK Fungsi Clock : Mengatur waktu nyata Mencegah proses dieksekusi lebih dari waktu tertentu Menghitung waktu penggunaan prosesor Menangani system call alarm Mengerjakan profiling, monitoring, pengumpulan statistik
RAM RAM => Random Access Memory Tidak memiliki seek time & latency time. Perintah di RAM : Baca blok Tulis blok
RAID RAID => Redundant Array of Intelligent Disk