Manajemen Perangkat IO Edi Sugiarto S Kom 1

  • Slides: 40
Download presentation
Manajemen Perangkat I/O Edi Sugiarto, S. Kom 1

Manajemen Perangkat I/O Edi Sugiarto, S. Kom 1

Pendahuluan �Pengelolaan perangkat masukan/keluaran merupakan aspek perancangan sistem operasi yang terluas. �Hal ini disebabkan

Pendahuluan �Pengelolaan perangkat masukan/keluaran merupakan aspek perancangan sistem operasi yang terluas. �Hal ini disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat tersebut. �Manajemen perangkat I/O memiliki beragam fungsi, diantaranya : ◦ Mengirim perintah ke perangkat I/O agar menyediakan layanan. ◦ Menangani interupsi perangkat I/O ◦ Menangani kesalah perangkat I/O ◦ Menyediakan interface ke pemakai 2

Organisasi I/O �Secara fisik organisasi sitem I/O pada komputer dapat dibedakan : ◦ Peranti

Organisasi I/O �Secara fisik organisasi sitem I/O pada komputer dapat dibedakan : ◦ Peranti I/O (device) �Piranti yang terkoneksi komputer ◦ Device Controller (adapter) �Merupakan sirkuit digital yang berfungsi mengontrol kerja komponen mekanik ataupun elektris. ◦ Bus I/O �Terdiri atas bus data, alamat dan kendali yang berfungsi menghubungkan device controller dengan elemen internal komputer. 3

4

4

Klasifikasi Perangkat I/O �Perangkat I/O dapat di kelompokkan dengan beragam kriteria antaralain : ◦

Klasifikasi Perangkat I/O �Perangkat I/O dapat di kelompokkan dengan beragam kriteria antaralain : ◦ Berdasarkan sifat aliran datanya �Perangkat berorientasi blok �Perangkat berorientasi aliran karakter ◦ Berdasarkan sasaran komunikasi �Perangkat yang terbaca oleh manusia �Perangkat yang terbaca oleh mesin �Untuk komunikasi 5

Perangkat Berorientasi Blok �Perangkat berorientasi blok menyimpan informasi dan menukar informasi sebagai blok berukuran

Perangkat Berorientasi Blok �Perangkat berorientasi blok menyimpan informasi dan menukar informasi sebagai blok berukuran tetap. �Ciri perangkat ini adalah memungkinkan membaca atau menulis blok-blok secara independen yakni : dapat membaca atau menulis sembarang blok tanpa melewati blok lain. �Contoh : disk, tape, CD-ROM, dsb. 6

Perangkat Berorientasi Aliran Karakter �Merupakan perangkat yang mengantarkan atau menerima aliran karakter tanpa peduli

Perangkat Berorientasi Aliran Karakter �Merupakan perangkat yang mengantarkan atau menerima aliran karakter tanpa peduli membentuk struktur blok �Contoh : terminal, line printer, interface jaringan, dsb. 7

Perangkat I/O Berdasarkan Sasaran Komunikasi �Perangkat yang terbaca oleh manusia ◦ Perangkat yang cocok

Perangkat I/O Berdasarkan Sasaran Komunikasi �Perangkat yang terbaca oleh manusia ◦ Perangkat yang cocok untuk komunikasi dengan manusia ◦ Contoh : VDT (Video Display Terminal) terdiri dari monitor, keyboard, mouse, dsb. �Perangkat yang terbaca oleh mesin ◦ Perangkat yang cocok untuk komunikasi dengan perangkat elektronik ◦ Contoh : disk dan tape, sensor, controller. 8

�Perangkat untuk Komunikasi ◦ Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh. ◦

�Perangkat untuk Komunikasi ◦ Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh. ◦ Contoh : Modem 9

Teknik Pemrograman Perangkat I/O �Terdapat tiga teknik pemrograman perangkat I/O berdasarkan mekanisme hubungan pemroses

Teknik Pemrograman Perangkat I/O �Terdapat tiga teknik pemrograman perangkat I/O berdasarkan mekanisme hubungan pemroses dengan pengendali perangkat I/O yaitu : ◦ Masukan/Keluaran terpogram (programmed I/O) atau Polling System. ◦ Masukan/Keluaran dikendalikan Interupsi (Interupt driven I/O) ◦ Dengan DMA (Direct Memory Access). 10

Masukan/Keluaran terpogram �Ketika perangkat masukan/keluaran menangani permintaan, perangkat men-set bit status di register status

Masukan/Keluaran terpogram �Ketika perangkat masukan/keluaran menangani permintaan, perangkat men-set bit status di register status perangkat. �Perangkat tidak dapat memberitahu ke pemroses saat tugas telah selesai dilakukan. �Perangkat harus selalu memeriksa register status perangkat secara periodik dan melakukan tindakan berdasarkan status yang dibaca. 11

�Perangkat lunak pengendali perangkat (driver) harus mentransfer data ke/dari pengendali. �Driver mengeksekusi perintah yang

�Perangkat lunak pengendali perangkat (driver) harus mentransfer data ke/dari pengendali. �Driver mengeksekusi perintah yang berkomunikasi dengan penendali (adapter) di perangkat dan menunggui hingga operasi yang dilakukan perangkat selesai. �Driver harus berisi kumpulan interuksi di tiga kategori yaitu ; ◦ Pengendali ◦ Pengujian ◦ pembacaan 12

�Pengendalian ◦ Instruksi pengendalian untuk mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan ◦

�Pengendalian ◦ Instruksi pengendalian untuk mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan ◦ Contoh : tape magnetik diinstruksikan untuk kembali ke posisi awal, ke record selanjutnya, dsb �Pengujian ◦ Instruksi pengujian untuk memeriksa kondisi status berkaitan dengan perangkat I/O 13

�Pembacaan / Penulisan ◦ Instruksi membaca/menulis untuk transfer data antara register pemroses dan perangkat

�Pembacaan / Penulisan ◦ Instruksi membaca/menulis untuk transfer data antara register pemroses dan perangkat eksternal. �Kelemahan ◦ Cara ini tidak efisien karena banyak pemborosan waktu pemroses untuk menunggu waktu kejadian perangkat keras. 14

15

15

Masukan/Keluaran dituntun Interupsi �Masalah utama masukan/keluaran terprogram adalah pemroses diboroskan untuk menunggu dan menjagai

Masukan/Keluaran dituntun Interupsi �Masalah utama masukan/keluaran terprogram adalah pemroses diboroskan untuk menunggu dan menjagai seluruh operasi masukan/keluaran. �Teknik masukan/keluaran dituntun interupsi mempunyai mekanisme kerja sbb : ◦ Pemroses memberikan intruksi ke I/O device dan melanjutkan kerja lain. ◦ I/O device akan melakukan interupsi meminta layanan berikutnya saat perangkat telah siap bertukar data dengan proses 16

◦ Saat menerima interupsi perangkat keras, pemroses segera mengeksekusi transfer data. �Keunggulan ◦ Pemroses

◦ Saat menerima interupsi perangkat keras, pemroses segera mengeksekusi transfer data. �Keunggulan ◦ Pemroses tidak disibukan menunggui dan menjagai seluruh operasi perangkat masukan/keluaran untuk memeriksa status perangkat. ◦ Kinerjanya lebih baik daripada masukan/keluaran terprogram. 17

18

18

DMA (Direct Memory Access) �Perangkat masukan/keluaran dikendalikan interupsi lebih efisien dibanding perangkat masukan/keluaran terprogram

DMA (Direct Memory Access) �Perangkat masukan/keluaran dikendalikan interupsi lebih efisien dibanding perangkat masukan/keluaran terprogram �Namun perangkat masukan/keluaran dikendalikan interupsi masih memerlukan intervensi aktif pemroses untuk transfer data antara memori dan buffer perangkat I/O �Pemroses masih disibukkan oleh operasi transfer data 19

�Kelemahan pemrograman masukan/keluaran dikendalikan interupsi memiliki dua kelemahan : ◦ Rate transfer masukan/keluaran dibatasi

�Kelemahan pemrograman masukan/keluaran dikendalikan interupsi memiliki dua kelemahan : ◦ Rate transfer masukan/keluaran dibatasi kecepatan menguji dan melayani operasi perangkat ◦ Pemroses terikat erat dalam mengelola transfer masukan/keluaran. Sejumlah intruksi harus dieksekusi untk tiap transfer masukan/keluaran. 20

� DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O. � DMA

� DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O. � DMA ialah sebuah prosesor khusus yang berguna untuk menghindari pembebanan CPU utama oleh program I/O 21

Skema I/O dengan DMA 22

Skema I/O dengan DMA 22

Evolusi Fungsi Perangkat I/O �Sistem komputer telah mengalami evolusi peningkatan kompleksitas. Evolusi sangat tampak

Evolusi Fungsi Perangkat I/O �Sistem komputer telah mengalami evolusi peningkatan kompleksitas. Evolusi sangat tampak pada fungsi-fungsi masukan/keluaran sbb [STA-95]: ◦ Pemroses mengendalikan perangkat I/O secara langsung ◦ Perangkat dilengkapi I/O Controller ◦ Perangkat dilengkapi fasilitas Interupsi ◦ I/O controller mengendalikan memori secara langsung melalui DMA. 23

◦ I/O Controller menjadi proses terpisah ◦ I/O Controller memiliki memori lokal 24

◦ I/O Controller menjadi proses terpisah ◦ I/O Controller memiliki memori lokal 24

Prinsip Manajemen Perangkat I/O �Terdapat dua sasaran perancangan manajemen perangkat I/O yaitu : ◦

Prinsip Manajemen Perangkat I/O �Terdapat dua sasaran perancangan manajemen perangkat I/O yaitu : ◦ Efisiensi �Menghindari bootleneck ◦ Generalitas �Memisahkan keragaman perangkat berdasarkan sudut pandang tertentu. 25

Masalah pada perancangan manajemen I/O : �Masalah pada perancangan manajemen I/O antaralain : ◦

Masalah pada perancangan manajemen I/O : �Masalah pada perancangan manajemen I/O antaralain : ◦ Penamaan yang seragam (Uniform Naming) ◦ Penanganan kesalahan (Error Handler) ◦ Transfer sinkron vs asinkron ◦ Sharable vs dedicated 26

�Penamaan Naming). yang seragam (Uniform ◦ Nama file atau perangkat adalah sebuah string atau

�Penamaan Naming). yang seragam (Uniform ◦ Nama file atau perangkat adalah sebuah string atau integer, sehingga tidak tergantung pada perangkat sama sekali �Penanganan Handling) Kesalahan (Error ◦ Tujuan yang ingin dicapai adalah bagaimana menangani kesalahan, teruma kesalahan baca yang ditemui pada operasi I/O 27

�Transfer Sinkron vs Asinkron ◦ Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan

�Transfer Sinkron vs Asinkron ◦ Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk memulai tugas lain sampai interupsi tiba. �Sharable vs Dedicated ◦ Beberapa perangkat dapat dipakai bersama namun beberapa hanya dapat dipakai satu pengguna dalam satu waktu. ◦ Contoh Sharable : disk, dedicated : printer. 28

Hirarki Manajemen Perangkat I/O �Manajemen perangkat I/O tersusun dalam hirarki sbb : ◦ Interupt

Hirarki Manajemen Perangkat I/O �Manajemen perangkat I/O tersusun dalam hirarki sbb : ◦ Interupt Handler ◦ Device Driver ◦ Perangkat Lunak Device Independent ◦ Perangkat Lunak level pemakai 29

�Interrupt Handler ◦ Interrupt harus disembunyikan agar tidak terlihat oleh rutin pada lapisan berikutnya

�Interrupt Handler ◦ Interrupt harus disembunyikan agar tidak terlihat oleh rutin pada lapisan berikutnya ◦ Device driver di blok saat perintah masukan/keluaran diberikan dan menunggu interupsi ◦ Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked. 30

�Device Driver ◦ Semua kode bergantung perangkat ditempatkan di device driver ◦ Masing-masing device

�Device Driver ◦ Semua kode bergantung perangkat ditempatkan di device driver ◦ Masing-masing device driver menangani satu tipe atau kelas perangkat. ◦ Device driver bertugas menerima permintaan abstrak perangkat lunak device independent di atasnya dan melakukan layanan sesuai permintaan itu. 31

◦ Mekanisme kerja device driver �Menterjemahkan perintah �Menulis ke register pengendali perangkat �Memeriksa status

◦ Mekanisme kerja device driver �Menterjemahkan perintah �Menulis ke register pengendali perangkat �Memeriksa status kesalahan yang terjadi, setelah operasi selesai dilakukan �Jika berjalan baik device driver melewatkan data ke perangkat lunak device independent �Device driver melaporkan statusnya ke pemanggil. 32

�Perangkat Lunak Device Independent ◦ Fungsi utama perangkat lunak lapisan ini adalah membentuk fungsi-fungsi

�Perangkat Lunak Device Independent ◦ Fungsi utama perangkat lunak lapisan ini adalah membentuk fungsi-fungsi masukan/keluaran yang berlaku untuk semua perangkat dan menyediakan antarmuka yang seragam ke perangkat lunak tingkat pemakai. ◦ Fungsi yang dilakukan antaralain : �Interface seragam untuk seluruh device driver �Penamaan perangkat �Proteksi perangkat 33

�Memberi ukuran blok perangkat agar bersifat device independent �Melakukan buffering �Alokasi penyimpanan pada blok-device

�Memberi ukuran blok perangkat agar bersifat device independent �Melakukan buffering �Alokasi penyimpanan pada blok-device �Alokasi dan pelepasan dedicated-device �Pelaporan kesalahan 34

�Perangkat Lunak Level pemakai ◦ Kebanyakan perangkat lunak I/O terdapat di sistem operasi ◦

�Perangkat Lunak Level pemakai ◦ Kebanyakan perangkat lunak I/O terdapat di sistem operasi ◦ Satu bagian kecil berisi pustaka yang ditautkan di program pemakai dan berjalan di luar kernel ◦ System call masukan/keluaran umumnya dibuat sebagai prosedur pustaka. ◦ Tidak semua perangkat lunak I/O level pemakai berupa prosedur pustaka. ◦ Contoh : spooler 35

Buffering Masukan/Keluaran �Buffering adalah menampung sementara data operasi I/O, baik operasi baca ataupun tulis

Buffering Masukan/Keluaran �Buffering adalah menampung sementara data operasi I/O, baik operasi baca ataupun tulis di memori utama. �Buffering meningkatkan efisiensi sistem operasi dan kinerja proses �Terdapat beragam cara buffering antaralain : ◦ Single buffering ◦ Double buffering ◦ Circular buffering 36

�Single Buffering ◦ Ketika proses memberi perintah untuk masukan/keluaran, sistem operasi menyediakan buffer memori

�Single Buffering ◦ Ketika proses memberi perintah untuk masukan/keluaran, sistem operasi menyediakan buffer memori utama milik sistem operasi untuk operasi. ◦ Keunggulan �Meningkatkan kecepatan dibanding tanpa buffering. �Proses pemakai dapat mengelola blok, sementara blok berikutnya sedang dibaca 37

◦ Kelemahan �Teknik ini merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke

◦ Kelemahan �Teknik ini merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke masing proses pemakai. 38

�Double Buffering ◦ Peningkatan dapat dibuat dengan menyediakan dua buffer sistem. ◦ Proses dapat

�Double Buffering ◦ Peningkatan dapat dibuat dengan menyediakan dua buffer sistem. ◦ Proses dapat melakukan transfer ke/dari satu buffer sementara sistem operasi mengosongkan buffer lain ◦ Teknik ini disebut double buffer atau buffer swapping ◦ Double buffering menjamin proses tidak menungu operasi masukan/keluaran. 39

�Circular Buffering ◦ Double buffering tidak mencukupi jika proses melakukan operasi masukan/keluaran berurutan secara

�Circular Buffering ◦ Double buffering tidak mencukupi jika proses melakukan operasi masukan/keluaran berurutan secara cepat ◦ Masalah ini dapat diindari dengan menggunakan lebih dari dua buffer ◦ Ketika lebih dari dua buffer digunakan, kumpulan buffer tsb disebut Circular buffer. 40