Skip to content Skip to sidebar Skip to footer

Inilah Manajemen I/O (Input/Output) pada Sistem Operasi

Assalamu‘alaikum wr. wb.

Hello gais! Jika kita sebelumnya sudah membahas tentang Virtual Memory pada Sistem Operasi, sekarang giliran membahas tentang Manajemen I/O (Input/Output) pada Sistem Operasi.




A. Pengertian Manajemen Input Output (I/O)

Manajemen Input Output sering disebut sebagai device manager atau penyedia device driver sehingga operasi input output dapat berjalan. Manajemen input output merupakan ruang lingkup atau batasan dalam manajemen perangkat keras input output yaitu bagaimana perangkat keras input output itu dikelola dan diprogram agar dapat berjalan dengan baik. Dalam sistem komputer, manajemen input output sangat diperlukan karena input output adalah sarana user untuk bisa berkomunikasi dengan komputer. Oleh karena itu, dalam setiap sistem operasi selalu terdapat input output manajer.

B. Fungsi Manajemen Input Output

Manajemen perangkat I/O mempunyai fungsi, antara lain :
  • Mengirimkan perintah ke perangkat I/O untuk menyediakan layanan akses.
  • Menangani interupsi perangkat I/O.
  • Menangani kesalahan pada perangkat I/O.
  • Menyediakan interface ke pemakai.
  • Menyediakan driver perangkat yang umum.
  • Menyediakan driver perangkat yang khusus.

C. Teknik Manajemen Input Output

1. I/O Terprogram

Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.

Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinterupsikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

2. I/O Interrupt


Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.

Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. 

Teknik interrupt-driven I/O memungkinkan proses tidak membuang buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.

Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.

3. I/O Polling

Polling adalah cara paling sederhana bagi perangkat I/O untuk berkomunikasi dengan prosesor. Proses pengecekan status perangkat secara berkala untuk melihat apakah sudah waktunya untuk operasi I/O berikutnya, disebut polling. Perangkat I/O hanya menempatkan informasi dalam register Status, dan prosesor harus datang dan mendapatkan informasi.

Sebagian besar waktu, perangkat tidak memerlukan perhatian dan ketika seseorang melakukannya, ia harus menunggu sampai diinterogasi berikutnya oleh program pemungutan suara. Ini adalah metode yang tidak efisien dan sebagian besar waktu prosesor terbuang untuk polling yang tidak perlu.

Bandingkan metode ini dengan seorang guru yang terus-menerus bertanya kepada setiap siswa di kelas, satu demi satu, jika mereka membutuhkan bantuan. Jelas metode yang lebih efisien adalah bagi seorang siswa untuk memberi tahu guru kapan pun mereka membutuhkan bantuan.

4. Direct Memory Access (DMA)

DMA merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.


Teknik sebelumnya yaitu I/O terprogram dan I/O interrupt memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung, hal ini berdampak pada :
  • Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
  • Kerja CPU terganggu karena adanya interupsi secara langsung.
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Karena itu, DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus.

Untuk memulai transfer data secara DMA, driver peralatan akan menulis blok perintah DMA memori yang menunjukkan sumber data, tujuan, dan jumlah byte yang akan di transfer. CPU kemudian akan mengirimkan alamat blok perintah ini pada pengendali DMA. Pengendali DMA akan memproses informasi ini untuk kemudian mengoperasikan bus memori.

Transfer sebanyak 1 byte/word per satuan waktu oleh pengendali DMA disebut sebagai cycle stealing karena pengendali menggunakan bus cycle milik CPU. Dengan cycle stealing penggunaan bus oleh CPU akan tertunda beberapa waktu karena bus digunakan untuk proses DMA. Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja.

D. Komponen Manajemen Input Output

1. Buffering

Buffer adalah area memori yang menyimpan data ketika sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering bertujuan melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi. Sebagai contoh, sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hard disk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem.

a. No Buffering

Ketika perangkat memberi perintah untuk perangkat I/O, maka data akan langsung melewati sistem operasi dan langsung dikirim ke proses user. Contohnya seperti saat kita sedang streaming youtube tanpa ada hambatan koneksi.

b. Single Buffering

Single buffering merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi. Untuk perangkat berorientasi blok, transfer masukak dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok tersebut akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.

c. Double Buffering

Peningkatan dapat dibuat dengan dua buffer sistem. Dua dari tempat buffer yang ada, hanya satu yang ditetapkan untuk berkas. Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan peningkatan kompleksitas. Proses dapat di transfer ke (atau dari) satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain.

Sebagai contoh, setelah modem mengisi buffer pertama, penulisan ke disk dilakukan. Modem kemudian mulai mengisi buffer kedua sementara buffer pertama ditulis ke disk. Pada saat modem sudah mengisi buffer kedua, penulisan disk dari buffer pertama seharusnya sudah selesai sehingga modem dapat menggunakan kembali buffer pertama ketika buffer kedua melakukan penulisan ke disk.

d. Circular Buffering

Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari dengan menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri disebut sebagai circular buffer. Tiap buffer individu adalah satu unit di circular buffer.

2. Spooling

Spool adalah sebuah buffer yang berisi keluaran untuk sebuah perangkat. Spooling melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien.
Sebagai contoh, printer tidak memiliki aliran data yang dapat mengalir bersama. Walaupun printer hanya dapat melayani satu pekerjaan pada satu waktu, beberapa aplikasi mungkin ingin mencetak keluaran masing-masing secara bersamaan tanpa harus tercampun. Sistem operasi menyelesaikan masalah ini dengan cara meng-intercept semua keluaran tersebut ke printer. Masing-masing keluaran aplikasi tadi di-spool ke disk berkas yang terpisah. Ketika sebuah aplikasi selesai mencetak keluarannya, sistem spooling akan melanjutkan ke antrian berikutnya.

E. Manajemen Perangkat dalam Sistem Operasi

Manajemen Perangkat atau Device Management dalam Sistem Operasi berarti mengendalikan perangkat Input/Output seperti Disk, Mikrofon, Keyboard, Printer, Pita Magnetik, Port USB, Camcorder, Scanner, Aksesori lain, dan unit pendukung seperti saluran kontrol unit pendukung. Suatu proses mungkin memerlukan berbagai sumber daya, termasuk memori utama, akses file, dan akses ke disk drive, dan lain-lain. Jika sumber daya tersedia, mereka dapat dialokasikan, dan kontrol dikembalikan ke CPU. Jika tidak, prosedur harus ditunda sampai sumber daya yang memadai tersedia. Sistem memiliki beberapa perangkat, dan untuk menangani perangkat fisik atau virtual ini, sistem operasi memerlukan program terpisah yang dikenal sebagai pengontrol perangkat iklan. Ini juga menentukan apakah perangkat yang diminta tersedia.

Dasar-dasar perangkat I/O dapat dibagi menjadi 3 (Tiga) Kategori :
  • Perangkat Booting (Boot Device)
  • Perangkat Karakter (Character Device)
  • Perangkat Jaringan (Network Device)

a. Boot Device

Ini menyimpan data dalam blok ukuran tetap, masing-masing dengan alamat uniknya. Misalnya Disk.

b. Character Device

Ini mentransmisikan atau menerima aliran karakter, tidak ada yang dapat ditangani secara individual. Misalnya, keyboard, printer, dll.

c. Network Device

Digunakan untuk mengirimkan paket data.

Fungsi Manajemen Perangkat dalam Sistem Operasi

Sistem operasi (OS) menangani komunikasi dengan perangkat melalui drivernya. Komponen OS memberikan antarmuka yang seragam untuk mengakses perangkat dengan berbagai fitur fisik. Ada berbagai fungsi manajemen perangkat dalam sistem operasi. Beberapa di antaranya adalah sebagai berikut :
  • Itu melacak data, status, lokasi, penggunaan, dll. Sistem file adalah istilah yang digunakan untuk mendefinisikan sekelompok fasilitas.
  • Ini memberlakukan kebijakan yang telah ditentukan sebelumnya dan memutuskan proses mana yang menerima perangkat kapan dan untuk berapa lama.
  • Ini meningkatkan kinerja perangkat tertentu.
  • Ini memantau status setiap perangkat, termasuk printer, driver penyimpanan, dan perangkat lain.
  • Ini mengalokasikan dan secara efektif membatalkan alokasi perangkat. De-alokasi membedakan perangkat pada dua tingkat: pertama, ketika perintah I/O dikeluarkan dan dibebaskan sementara. Kedua, ketika pekerjaan selesai, dan perangkat dilepaskan secara permanen

Types of Devices

Ada 3 (Tiga) Jenis perangkat periferal sistem operasi: dedicated, shared, dan virtual. Ini adalah sebagai berikut :

1. Dedicated Device (Perangkat Khusus)

Dalam manajemen perangkat, beberapa perangkat dialokasikan atau ditetapkan hanya untuk satu tugas dalam satu waktu hingga tugas tersebut dilepaskan. Perangkat seperti plotter, printer, tape driver, dan perangkat serupa lainnya memerlukan mekanisme alokasi seperti itu karena akan merepotkan jika beberapa orang membagikannya secara bersamaan. Kerugian dari perangkat tersebut adalah inefisiensi yang disebabkan oleh pengalokasian perangkat ke satu pengguna untuk seluruh durasi pelaksanaan tugas, bahkan jika perangkat tidak digunakan 100% sepanjang waktu.

2. Shared Devices (Perangkat Bersama)

Perangkat ini dapat ditugaskan untuk berbagai proses. Dengan menyisipkan permintaan mereka, disk-DASD dapat digunakan bersama oleh beberapa proses secara bersamaan. Pengelola Perangkat dengan hati-hati mengontrol interleaving, dan kebijakan yang telah ditentukan sebelumnya harus menyelesaikan semua kesulitan.

3. Virtual Devices (Perangkat Virtual)

Perangkat Virtual adalah hibrida dari dua perangkat, dan mereka adalah perangkat khusus yang telah diubah menjadi perangkat bersama. Misalnya, printer dapat diubah menjadi perangkat yang dapat dibagikan dengan menggunakan program spooling yang mengarahkan semua permintaan cetak ke disk. Pekerjaan cetak tidak dikirim langsung ke printer; namun, itu dirutekan ke disk sampai benar-benar siap dengan semua urutan dan pemformatan yang diperlukan, pada titik mana itu ditransmisikan ke printer. Pendekatan ini dapat mengubah satu printer menjadi banyak printer virtual, meningkatkan kinerja dan kemudahan penggunaan.

Fitur Manajemen Perangkat

Device Input Output Port locations on PCs (Partial)

Di sini, Anda akan mempelajari fitur-fitur manajemen perangkat di sistem operasi. Berbagai fitur manajemen perangkat adalah sebagai berikut :
  • OS berinteraksi dengan pengontrol perangkat melalui driver perangkat sambil mengalokasikan perangkat ke beberapa proses yang dijalankan pada sistem.
  • Driver perangkat juga dapat dianggap sebagai program perangkat lunak sistem yang menjembatani proses dan pengontrol perangkat.
  • Tugas utama fungsi manajemen perangkat lainnya adalah mengimplementasikan API.
  • Driver perangkat adalah program perangkat lunak yang memungkinkan sistem operasi untuk mengontrol pengoperasian berbagai perangkat secara efektif.
  • Pengontrol perangkat yang digunakan dalam operasi manajemen perangkat terutama berisi tiga register yaitu perintah, status, dan data.

Mohon maaf apabila ada kesalahan sedikitpun. Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb.

Ads