Senin, 01 Desember 2014

Tugas IO Management

Management I/O dan Disk Scheduling
Perangkat input/output dikategotikan menjadi 3 bagian, yaitu :
1.      Human readable
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan user. Contohnya ialah printer, keyboard dan mouse.
2.      Machine readable
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan perangkat elektronik. Contohnya antara lain sensor dan controller.
3.      Communication
Merupakan perangkat I/O yang digunakan untuk berkomunikasi dengan remote device. Contohnya modem dan digital line drivers.
Adapun beberapa fungsi manajemen I/O antara lain :
-          Mengirim perintah ke perangkat I/O agar menyediakan layanan
-          Memberi interface kepada user
-          Menangani kesalahan pada perangkat I/O
-          Menangani interupsi yang terjadi pada perangkat I/O

Terdapat 2 teknik pengoperasian perangkat I/O, yaitu :
1.      Perangkat I/O terprogram
Merupakan perangkat I/O yang dikontrol oleh sebuah program, misalnya perintah in, out dan move. Teknik ini tidak sesuai jika digunakan untuk pengalihan data dengan kecepatan tinggi karena memerlukan overhead yang tinggi, serta banyak peralatan peripheral berkecepatan tinggi memiliki mode operasi sinkron.
2.      Perangkat berkendalikan interupsi
Konsep interupsi berguna di dalam sistem operasi karena pemrosesan rutin tertentu diatur dengan seksama.
a.      Mekanisme dasar interupsi
Ketika prosesor mendeteksi controller telah banyak mengirim sinyal interupsi, maka CPU akan menjawab interupsi tersebut dengan menyimpan informasi mengenai status terkini prosesor.
b.      Fitur tambahan pada computer modern
Ada 3 fitur yang disediakan oleh CPU dan interrupt controller untuk menangani interupsi, antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama proses berada dalam critical section, efisiensi penanganan interupsi, dan adanya sebuah konsep multilevel interupsi sehingga terdapat prioritas dalam penanganan interupsi.
c.       Interrupt request line
Terdapat 2 macam interrupt request line pada CPU, yaitu nonmaskable interrupt dan maskable interrupt.
d.      Interrupt vector dan interrupt chaining
Interrupt vector merupakan table yang menyimpan alamat interrupt handler spesifik di memori. Sedangkan interrupt chaining merupakan teknik yang digunakan untuk mengatasi hambatan yang ada jika jumlah device dan interrupt handler pada computer lebih banyak dibandingkan dengan jumlah alamat interrupt vector, dimana setiap elemen dari interrupt vector menunjuk pada elemen pertama dari daftar interrupt handler.

Perbedaan di I/O device :
1.      Kompleksitas control
2.      Unit transfer
3.      Representasi data
4.      Kondisi error

Berikut beberapa evolusi fungsi dari I/O :
-          Controller atau I/O modul ditambahkan
-        I/O modul adalah proses terpisah      :  dengan set instruksi khusus untuk I/O, prosesor I/O menjemput  dan mengeksekusi instruksi tanpa intervene prosesor
-          I/O prosesor    : I/O modul memiliki memori local sendiri
-          Controller atau I/O modul dengan interupsi
-          Direct memory access (DMA)

Direct Memory Access (DMA)
            Merupakan suatu pendekatan alternative yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal da memori utama tanpa intervensi terus menerua oleh CPU. Ada tiga langkah yang digunakan untuk transfer DMA, yaitu :
1.  Prosesor menyiapkan DMA transfer dengan menyediakan data dari device, operasi yang akan ditampilkan, alamat memori yang menjadi sumebr dan tujuan data, serta banyaknya byte yang akan di-transfer.
2.      Kemudian DMA controller memulai operasi transfer sampai seluruh blok sudah ditransfer.
3.  Terakhir, DMA controller akan menginterupsi prosesor, selanjutnya akan ditentukan tindakan berikutnya.


Isu dalam desain sistem operasi :
-    Efisiensi               : I/O sangat lambat jika dibandingkan dengan memori utama. Penggunaan multiprogramming yang memungkinkan beberapa proses harus menunggu I/O sementara mengeksekusi proses lain.
-        Generality       : diharapkan dapat menangani semua perangkat I/O secara seragam.

I/O buffering :
-          Reason for buffering   : proses harus menunggu I/O untuk selesai sebelum memproes.
-          Block-oriented                        : informasi disimpan diblok berukuran tetap.
-          Stream-oriented         : mentransfer informasi sebagai aliran byte.



Disk Scheduling
            Merupakan salah satu tanggung jawab sistem operasi untuk menggunakan hardware dengan efisien. Pada disk drives, efisiensi yang dimaksudkan ialah dalam hal waktu akses yang cepat dan aspek bandwith disk. Jika suatu proses membutuhkan pelayanan I/O dari/menuju disk, maka proses akan melakukan system call ke sistem operasi dengan membawa informasi sebagai berikut :
- apakah merupakan proses input atau output
- alamat disk untuk proses
- alamat memori untuk proses
- jumlah bytes yang akan ditransfer

Kebijakan dalam penjadwalan :
1.      First-in First-out (FIFO)
a.      Adil untuk semua proses
b.      Proses permintaan berurutan
2.      Prioritas
a.      Merupakan penjadwalan yang dilakukan diluar kendali manajemen disk
b.      Memberikan respon time yang baik
3.      Last-in First-out (LIFO)
a.      Cocok untuk sistem transaksi
b.      Ada kemungkinan terjadi starvasion
4.      Shortest-seek-time-first (SSTF)
Algoritma dalam penjadwalan ini ialah memilih permintaan berdasarkan seek-time minimum dari posisi head saat itu.
5.      SCAN
Pada algoritma ini, pergerakan disk arm dimulai dari salah satu ujung disk kemudian bergerak menuju ujung yang lain sambal melayani permintaan. Jika sampai pada ujung disk, maka disk arm akan bergerak berlawanan arah dan mulai melayani permintaan baru.
6.      C-SCAN
Merupakan varian dari algoritma SCAN yang didesain untuk menyediakan waktu tunggu yang sama. Perbedaan dengan SCAN ialah saat disk sampai pada ujung, head tidak akan berbailk arah.
7.      LOOK
Algoritma ini meliat dulu permintaan sebelum melanjutkan arah pergerakan disk. Disk arm bergerah paling jauh pada permintaan terakhir tiap disk di tiap arah pergerakannya kemudian langsing berbelik arah tanpa menunggu sampai di ujung disk.


Disk Cache
-          Buffer dalam memori utama untuk sector disk
-          Berisi Salinan dari beberapa sector disk
-    Algoritma yang paling umum digunakan untuk pengganti yang terakhir digunakan (LRU) least  recently used
-          Kemungkinan lain adalah kurangnya sering digunakan (LFU) least frequently  used

Least recently used
-          Cache terdiri dari tumpukan blok.
-          Blok yang telah di cache terpanjang tanpa referensi untuk itu diganti
-          Blok yang terbaru terletak di bagian atas tumpukan
-          Ketika blok direferensikan atau dibawa ke dalam cache, ia ditempatkan di bagian atas tumpukan
Least frequently used
-          Blok yang telah mengalami paling sedikit referensi akan diganti
-          Sebuah counter akan dikaitkan dengan setiap blok
-          Counter bertambah setiap blok diakses

-          Blok dengan jumlah terkecil dipilih untuk pergantian

Tidak ada komentar: