Tahun Akademik 2014/2015 Semester II DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen I/O Mohamad Dani (MHM) (mohamad.dani@gmail.com) Saluran Youtube saya : youtube.com/danstama Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom Applied Science School Tujuan Pembelajaran Mahasiswa mampu : Merangkum kategori-kategori kunci devais-devais I/O dalam komputer, Menjelaskan organisasi fungsi I/O, Memahami cara kerja dari I/O dalam manajemen I/O. 1
Struktur Bus PC yang khas Lokasi Port Device I/O pada PC (partial) 2
Kategori Devais I/O Devais eksternal yang melakukan operasi I/O dalam sistem komputer dapat dibagi tiga kategori: Human readable Cocok untuk berkomunikasi dengan pengguna komputer printer, terminals video display, keyboard, mouse Machine readable Cocok untuk berkomunikasi dengan peralatan elektronik disk drive, USB key, sensors controller Communication Cocok untuk berkomunikasi devais jarak jauh modem, digital line driver Perbedaan dalam Devais I/O Data Rate Besarnya data transfer rate antar devais I/O bisa berbeda Aplikasi Penggunaan devais membawa pengaruh kepada software Kompleksitas Kontrol kerumitan dalam Pengaturan Modul I/O dapat disederhanakan dengan bantuan sistem operasi Satuan Transfer data dapat ditransfer dalam sebuah stream byte atau karakter atau dalam blok yang lebih besar Representasi Data Teknik representasi data digunakan pada berbagai devais I/O yang berbeda-beda Error Condition Adanya laporan bila ada kesalahan, respon terhadap kesalahan bisa berbeda-beda tiap devais I/O 3
Data Rate Register Register Port I/O Data-in register dibaca oleh untuk mendapatkan masukan. Data-out register ditulis oleh host untuk mengirimkan keluaran. Status register berisi bit-bit status yang dapat dibaca oleh Control register dapat ditulisi oleh host untuk memulai sebuah perintah atau mengubah mode dari sebuah devais 4
Organisasi Fungsi I/O Tiga Teknik untuk melaksanakan operasi I/O : Programmed I/O Prosesor melaksanakan perintah I/O yang diminta oleh sebuah proses terhadap sebuah modul I/O; proses tersebut dalam keadaan sibuk menunggu operasi I/O tersebut selesai sebelum melanjutkan. Interrupt-driven I/O Jika non-blocking prosesor melanjutkan untuk mengeksekusi instruksiinstruksi dari proses yang meminta perintah I/O Jika blocking instruksi selanjutnya prosesor mengeksekusi dari sistem operasi yang akan menyimpan proses sekarang dalam sebuah blocked state dan menjadualkan proses yang lain Direct Memory Access (DMA) Modul DMA mengendalikan pertukaran data antara memori utama dan modul I/O. Teknik Untuk Melakukan Operasi I/O 5
Handshaking : Polling Menentukan status device command-ready busy Error Siklus busy wait ke wait untuk I/O dari device Handshaking : Interrupt Permintaan interupt CPU dipicu oleh I/O device Interrupt handler menerima interrupt Maskable interupt untuk membatalkan atau menunda beberapa interupt Interrupt vector untuk mengirimkan interrupt ke handler yang benar. Berdasarkan prioritas Beberapa unmaskable Mekanisme interrupt juga digunakan untuk exception 6
Siklus Interrupt-Driven I/O Direct Memory Access Digunakan untuk menghindari diprogramnya I/O untuk pergerakan data yang besar Membutuhkan DMA controller Dilakukan bypass CPU untuk transfer data secara langsung antara I/O device dan memori 7
I/O Buffering Proses-proses harus menunggu untuk I/O selesai sebelum melanjutkan Untuk menghindari deadlock beberapa halaman harus tetap ada di memori utama selama I/O 8
Block-oriented Buffering Informasi disimpan dalam blok-blok ukuran yang tetap Transfer dibuat dalam blok pada satu saat Digunakan pada disk dan USB key Stream-Oriented Buffering Informasi transfer sebagai sebuah stream of byte Digunakan untuk terminal, printer, communication port, mouse dan pointing device lainnya, dan kebanyakan devais yang bukab penyimpanan sekunder 9
No Buffer Tanpa buffer, OS mengakses devais secara langsung begitu dibutuhkan Single Buffer Sistem operasi menugaskan sebuah buffer dalam memori utama untuk sebuah permintaan I/O 10
Double Buffer Menggunakan 2 buffer sistem Sebuah sistem dapat menstransfer data ke atau dari buffer satu pada saat sistem operasi mengosongkan atau mengisi buffer lainnya. Circular Buffer Menggunakan lebih dari 2 buffer Tiap individual buffer adalah satu unit dalam sebuah circular buffer Digunakan pada operasi I/O yang harus tetap dijaga ole proses 11
Keterbatasan Buffer Buffering memperhalus permintaan I/O yang begitu tinggi. Bila permintaan I/O sangat tinggi dan membuat buffer penuh maka penggunaan buffer ini tidak begitu terasa manfaatnya. Pada beberapa kasus, buffering dapat meningkatkan efisiensi OS dan kinerja dari tiap-tiap proses. Spooling & Reservasi 12
Error Handling Sistem operasi dapat mengembalikan pembacaan disk, device unavailable dan kegagalan penulisan karena transient Pengembalian error number atau kode terjadi ketika permintaan terhadap I/O gagal. System error log memberikan laporan kesalahan Logical I/O: Berhubungan dengan devais sebagai sumber daya lojik Device I/O: Mengkonversikan operasi-operasi yang diminta ke dalam deretan instruksi-instruksi I/O Scheduling & Control Melakukan operasi kontrol dan pengantrian 13
Serupa dengan modul I/O tetapi digantikan dengan communications architecture, Terdiri dari sejumlah lapisan. Contoh TCP/IP, Directory management Fokus ke operasi-operasi user yang mempengaruhi file File System Operasi dan strktur Lojikal Physical organisation Mengkonversikan nama lojik ke alamat fisikal 14
Daftar Pustaka William Stallings(2012). Operating Systems 7th Edition. Prentice Hall. New Jersey halaman 305 334. Avi Silberschatz, Peter Galvin, dan Grag Gagne (2013). Operating Systems CONCEPTS ninth Edition. John Wiley & Sons. USA Halaman 351 389. 15