Perlu dicatat bahwa pada perangkat keras awal (sebelum 1960), I / O jauh lebih simpel. Anda dapat membaca kartu, atau meninju kartu atau mencetak garis pada printer, masing-masing dengan instruksi tunggal: ukuran buffer diperbaiki, dan seringkali alamat buffer diperbaiki juga.
Bahkan di awal tahun 60an, dengan prosesor yang lebih canggih (mis., 7090), Anda masih bisa membaca atau meninju kartu dengan rutin kecil (sekitar 20 instruksi), yang mudah disalin ke dalam setiap program.
Karena komputer sepenuhnya didedikasikan untuk satu pekerjaan, tidak masalah jika prosesor menganggur sambil menunggu pembaca kartu siap membaca kartu berikutnya, atau agar printer baris memberi makan baris berikutnya.
Yah, itu penting, karena waktu komputasi sebenarnya mahal. Inilah sebabnya mengapa orang menemukan multi-pemrosesan, berbagi waktu, menambahkan I / O asinkron, dan menginterupsi dan driver perangkat dan sistem operasi. Antarmuka perangkat perangkat keras menjadi lebih kompleks, bagi programmer, memberikan akses ke register I / O tingkat rendah, yang membutuhkan lebih banyak kompleksitas dari driver perangkat. Biaya kompleksitas ini (memori, waktu pemrograman) diamortisasi selama beberapa program menggunakan perangkat "secara bersamaan", multiplexed oleh sistem operasi.
Masih di tahun 80-an saya menggunakan komputer berbasis prosesor mikro, meniru salah satu sistem yang lebih tua. Instruksi mesin memiliki format yang seragam lebih dari 80 bit (10 oktet), dan instruksi untuk membaca sektor pertama dari hard disk pertama dan menyimpannya ke dalam memori di alamat 0 sangat mudah: 0000000000. Jadi prosedur boot terdiri setiap pagi untuk mengetik instruksi ini pada terminal, yang menyimpannya di alamat 0 dan mengeksekusinya, yang kemudian memuat sektor boot dan melanjutkan eksekusi pada instruksi berikutnya (pada alamat 10). Sistem file terdiri dari file pemetaan nama statis "nama" untuk rentang sektor, yang dialokasikan secara manual! I / O dilakukan secara assembler ke file-file tersebut dengan langsung membaca atau menulis sektor-sektor, diimbangi dengan posisi file pada hard disk yang dipulihkan oleh "