rizky putri ananda si2d 141410124 tugas struktur disk.docx

11
Manajemen Sistem Input/Output 1. Prinsip Perangkat Keras I/O Batasan : bagaimana hardware tersebut di program Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya : mengirimkan perintah ke perangkat I/O agar menyediakan layanan menangani interupsi perangkat I/O menangani kesalahan pada perangkat I/O menyediakan interface ke pemakai 1.1. I/O Device Perangkat I/O dapat dibedakan berdasarkan : 1. Sifat aliran data Berdasarkan aliran data dibedakan menjadi : a. Perangkat berorientasi blok (block-oriented devices) Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024 byte. Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contohnya : disk, tape, CD ROM, Optical disk b. Perangkat berorientasi karakter (character-oriented devices) Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai operasi seek. Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouse Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya :

Upload: rizky-ananda

Post on 07-Nov-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Manajemen Sistem Input/Output1. Prinsip Perangkat Keras I/O Batasan : bagaimana hardware tersebut di program Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya : mengirimkan perintah ke perangkat I/O agar menyediakan layanan menangani interupsi perangkat I/O menangani kesalahan pada perangkat I/O menyediakan interface ke pemakai

1.1. I/O DevicePerangkat I/O dapat dibedakan berdasarkan :1. Sifat aliran dataBerdasarkan aliran data dibedakan menjadi :a. Perangkat berorientasi blok (block-oriented devices)Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024 byte.Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain.Contohnya : disk, tape, CD ROM, Optical disk

b. Perangkat berorientasi karakter (character-oriented devices)Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai operasi seek.Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouseKlasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya : clock yang tidak teramati secara blok dan juga tidak menghasilkan / menerima aliran karakter. Clock menyebabkan interupsi pada interval-interval yang didefinisikan. Memory mapped screen, Sensor

2. Sasaran komunikasiBerdasarkan sasaran komunikasi dibedakan menjadi :a. Perangkat yang terbaca oleh manusia (human readable device)Perangkat yang cocok untuk komunikasi dengan manusia.Contohnya : VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)b. Perangkat yang terbaca oleh mesin (machine readable device)Perangkat yang cocok untuk komunikasi dengan perangkat elektronik.Contohnya : disk, tape, sensor, controller, aktuatorc. Untuk komunikasiPerangkat yang cocok untuk komunikasi dengan perangkat jarak jauh.Contohnya : modem

1.2. Device ControlleUnit I/O berupa :a. Komponen elektronikDevice controller / adapter adalah untuk mengaktifkan perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat / driver.Contoh : unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikutnya dan sebagainya.

CPUMemoryDisk ControllerPrinter ControllerOther Controller..Disk DriverPrinterController Device InterfaceSystem BusModel untuk mengkoneksi / menghubungkan CPU, Memory, Controller dan Device I/O

b. Komponen mekanikContohnya : head, motor stepper, printer

1.3. Direct Memory Access (DMA)DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA Controller dengan mengirimkan informasi berikut : perintah penulisan / pembacaan alamat I/O device awal lokasi memori yang ditulis / dibaca jumlah word / byte yang ditulis / dibaca

setelah mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke / dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA, lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.Keuntungan DMA : peningkatan kinerja prosesor atau I/O meminimasikan over head

countCPUmemoryDisk controllerdrivebufferDMA Register / memory addresscountTranfer DMA seluruhnya dilakukan oleh controller

617053423470652123507146No InterleavingSingle InterleavingDouble InterleavingPada waktu data di tranfer dari controller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke controller. Controller sederhana tidak dapat melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving (skip blok), memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk bukan pada memori, seperti terlihat pada gambar di bawah ini

2. Prinsip Perangkat Lunak I/OPemanfaatan perangkat lunak untuk mengelola I/O ini pada dasarnya adalah mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses atau kerumitan hardware untuk level diatasnya. Level akan berfungsi sebagai antar muka atau interface ke pengguna. Adapun kriteria, karakteristik atau tujuan perangkat lunak I/O adalah :1. Konsep dalam desain software I/O, merupakan device independence dan tidak bergantung pada device yang digunakan.2. Penamaan yang seragam / Uniform Naming. Penamaan file berkas atau perangkat adalah string atau integer dan harus sederhana, tidak bergantung pada device Contoh : seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS).3. Penanganan kesalahan / Error Handling. Error harus ditangani sedekat mungkin dengan hardware. Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan4. Synchronous (blocking) dan Asynchronous (Interrupt Driver) transfer Kebanyakan I/O adalah asinkron. Pemroses memulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, pemrogram ditunda secara otomatis sampai data tersedia di buffer.5. Sharable vs Dedicated Device. Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat. Misal : disk untuk sharable dan printer untuk dedicated

Untuk mengimplementasikan tujuan atau kriteria diatas perangkat lunak I/O dipisahkan dalam empat layer, yaitu : Interrupt Handler Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked. Device Drivers. Seluruh kode device dependent terletak di device driver. device driver untuk menerima permintaan abstrak dari software device inde- pendent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya.

2.1. Tujuan Perangkat Lunak I/O

Melaksanakan program pengguna dan memudahkan dalam menyelesaikan masalahnya. Membuat sistem komputer menjadi mudah untuk digunakan. Menjadikan pengguna hardware komputer menjadi lebih efisien.

Tujuan perancangan perangkat lunak I/O adalah : Device Independence Uniform Naming Error Handling Transfer Sinkron Vs. Asinkron Sharable Vs. Dedicated Device

2.2. Interrupt Handler Interrupt HandlerInterupsi adalah suatu peristiwa yangmenyebabkan eksekusi satu program ditunda danprogram lain yang dieksekusi.Interrupt adalah sinyal dari peralatan luar daupermintaan dari program untuk melaksanakansuatu tugas khusus.Jika interrupt terjadi, maka program dihentikandahulu untuk menjalankan rutininterruptKetika program yang sedang berjalan tadidihentikan, prosesor menyimpan nilai registeryang berisi alamat program ke stack, danmulaimenjalankan rutin interruptInterupsi harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blocked saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.

2.3. Device Drivers Setiap device driver menangani satutipe peralatan. Device driver bertugasmenerimapermintaan abstrak perangkat lunakdevice independent di atasnya danmelakukan layanan sesuaipermintaan itu

Mekanisme kerja device driver Menerjemahkan perintah-perintah abstrakmenjadi perintah-perintah konkret. Begitu telah dapat ditentukan perintah-perintahyang harus diberikan ke pengendali, device drivermulai menulis ke register-register pengendaliperalatan. Setelah operasi selesai dilakukan peralatan,device driver memeriksa kesalahan-kesalahanyang terjadi. Jika semua berjalan baik, device drivermelewatkan data ke perangkat lunak deviceindependent. Device melaporkan informasi status sebagaipelaporan kesalahan ke pemanggil.

Semua kode bergantung perangkat ditempatkan di device driver. Tiap device driver menangani satu tipe (kelas) perangkat dan bertugas menerima permintaan abstrak perangkat lunak device independent diatasnya dan melakukan layanan permintaan.Mekanisme kerja device driver :o Menerjemahkan perintah abstrak menjadi perintah konkret.o Setelah ditentukan perintah yang harus diberikan ke pengendali, devicedriver mulai menulis ke register-register pengendali perangkat.o Setelah operasi selesai dilakukan perangkat, device driver memeriksastatus kesalahan yang terjadi.o Jika berjalan baik, device driver melewatkan data ke perangkat lunakdevice independent.o Kemudian device driver melaporkan status operasinya ke pemanggil.

2.4. Device-Independent I/O Software Fungsi utama perangkat lunak tingkat ini adalah membentuk fungsi-fungsi I/O yang berlaku untuksemua peralatan dan memberi interface seragamke perangkat lunak tingkat pemakai. Fungsi-fungsi yang biasa dilakukan antara lain1. Interface seragam untukseluruh driver-driver2. Penamaan peralatan3. Proteksi peralatan4. Memberi ukuran blok peralatan agar bersifat deviceindependent5. Melakukan bufferin6. Alokasi penyimpanan pada block devices7. Alokasi pelepasan dedicated devices8. Pelaporan kesalahan.Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkatdan memberi antarmuka seragam ke perangkat lunak tingkat pemakai. Fungsi-fungsi lain yang dilakukan :o Sebagai interface seragam untuk seluruh device driver.o Penamaan perangkat.o Proteksi perangkat.o Memberi ukuran blok perangkat agar bersifat device independent.o Melakukan buffering.o Alokasi penyimpanan pada block devices.o Alokasi dan pelepasan dedicated devices.o Pelaporan kesalahan.

2.5. User-Space I/O SoftwareSebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program. System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures). Contoh : count = write(fd,buffer,nbytes)I/O prosedur dengan level lebih tinggi. Contoh : printf (memformat output terlebih dahulu kemudian panggil write)

Yang tidak mempunyai library procedure, contohnya : spooling directory dan daemon (proses khusus) pada proses mencetak, transfer file, USENET

I/O requestLayer

I/O reply I/O functions

User processes

Make I/O call; format I/O; spooling

Device-independentsoftwareNaming protection, blocking, buffering, allocation

Device-drivers

Setup device register, check status

Interrupt handler

Wake up driver when I/O completed

Hardware

Perform I/O operation

Lapisan sistem I/O dan fungsi utama dari tiap lapisan (layer)

3. DISK

3.1. Sruktur disk

Disk menyediakan penyimpanan sekunder bagi sistem komputer modern.Magnetic tapesebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarangtapedigunakan terutama untukbackup, untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk.Disk drivemodern dialamatkan sebagai suatu array satu dimensi yang besar dari blok lojik, dimana blok lojik merupakan unit terkecil dari transfer. Ukuran dari blok lojik biasanya adalah 512bytes, walau pun sejumlah disk dapat diformat di level rendah (low level formatted) untuk memilih sebuah ukuran blok lojik yang berbeda, misalnya 1024bytes.Array satu dimensi dari blok lojik dipetakan ke bagian dari disk secara sekuensial. Sektor 0 adalah sektor pertama dari trek pertama di silinder paling luar (outermost cylinder). Pemetaan kemudian memproses secara berurutan trek tersebut, kemudian melalui trek selanjutnya di silinder tersebut, dan kemudian sisa silinder dari yang paling luar sampai yang paling dalam.Dengan menggunakan pemetaan, kita dapat minimal dalam teori mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di silinder tersebut, dan sebuah nomor sektor di trek tersebut. Dalam prakteknya, adalah sulit untuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk. Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dipunyainya. Oleh karena itu, disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah dari zona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya mempunyai 40 persen sektor lebih banyak daripada trek di zona paling dalam.Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologi disk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yang lebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telah meningkat, dan sejumlah ribuan silinder adalah tak biasa.