Anggota : Login |Pendaftaran |Upload pengetahuan
Cari
Asynchronous I / O [Modifikasi ]
Dalam ilmu komputer, asynchronous I / O, atau "Non-sequential I / O" adalah bentuk pemrosesan input / output yang memungkinkan pemrosesan lain untuk melanjutkan sebelum transmisi selesai.
Operasi input dan output (I / O) pada komputer bisa sangat lambat dibandingkan dengan pemrosesan data. Perangkat I / O dapat menggabungkan perangkat mekanis yang harus bergerak secara fisik, seperti hard drive yang mencari trek untuk membaca atau menulis; ini sering kali lipat lebih lambat daripada peralihan arus listrik. Misalnya, selama operasi disk yang memerlukan waktu sepuluh milidetik, prosesor yang clock satu gigahertz dapat melakukan sepuluh juta siklus pemrosesan instruksi.
Pendekatan sederhana untuk I / O adalah memulai akses dan kemudian menunggunya selesai. Tetapi pendekatan semacam itu (disebut sinkron blocking I / O) akan memblokir kemajuan suatu program ketika komunikasi sedang berlangsung, meninggalkan sumber daya sistem idle. Ketika sebuah program membuat banyak operasi I / O (seperti program yang sebagian besar atau sebagian besar tergantung pada input pengguna), ini berarti bahwa prosesor dapat menghabiskan hampir semua waktunya menganggur, menunggu operasi I / O selesai.
Alternatifnya, adalah mungkin untuk memulai komunikasi dan kemudian melakukan pemrosesan yang tidak mengharuskan I / O diselesaikan. Pendekatan ini disebut input / output asynchronous. Setiap tugas yang bergantung pada I / O telah selesai (ini termasuk baik menggunakan nilai input dan operasi penting yang mengklaim untuk memastikan bahwa operasi tulis telah selesai) masih perlu menunggu operasi I / O selesai, dan dengan demikian adalah masih diblokir, tetapi pemrosesan lain yang tidak memiliki ketergantungan pada operasi I / O dapat dilanjutkan.
Banyak fungsi sistem operasi yang ada untuk mengimplementasikan asynchronous I / O pada banyak level. Bahkan, salah satu fungsi utama dari semua tetapi yang paling dasar dari sistem operasi adalah untuk melakukan setidaknya beberapa bentuk I / O asynchronous dasar, meskipun ini mungkin tidak terlalu jelas bagi operator atau programmer. Dalam solusi perangkat lunak yang paling sederhana, status perangkat perangkat keras disurvei pada interval untuk mendeteksi apakah perangkat siap untuk operasi berikutnya. (Sebagai contoh, sistem operasi CP / M dibangun dengan cara ini. Sistemnya memanggil semantik tidak memerlukan struktur I / O yang lebih rumit daripada ini, meskipun sebagian besar implementasinya lebih kompleks, dan dengan demikian lebih efisien.) Akses memori langsung (DMA) ) dapat sangat meningkatkan efisiensi sistem berbasis polling, dan gangguan perangkat keras dapat menghilangkan kebutuhan untuk polling sepenuhnya. Sistem operasi multitasking dapat memanfaatkan fungsionalitas yang disediakan oleh interupsi perangkat keras, sementara menyembunyikan kerumitan penanganan interupsi dari pengguna. Spooling adalah salah satu bentuk pertama dari multitasking yang dirancang untuk mengeksploitasi I / O asynchronous. Akhirnya, multithreading dan eksplisit I / O API asynchronous dalam proses pengguna dapat mengeksploitasi I / O asynchronous lebih jauh, dengan mengorbankan kompleksitas perangkat lunak tambahan.
Asynchronous I / O digunakan untuk meningkatkan throughput, latency, dan / atau respons.
[Proses: komputasi]
1.Formulir
1.1.Proses
1.2.Polling
1.3.Pilih (/ jajak pendapat) loop
1.4.Sinyal (interupsi)
1.5.Fungsi panggilan balik
1.6.Proses atau utas ringan
1.7.Antrean / port penyelesaian
1.8.Bendera acara
1.9.Channel I / O
1.10.I / O terdaftar
2.Pelaksanaan
2.1.Perpaduan
3.Contoh
[Upload Lebih Isi ]


Hak cipta @2018 Lxjkh