এটি লক্ষ করা উচিত যে প্রাথমিক হার্ডওয়্যারে (1960 এর আগে), I / O অনেক সহজ ছিল। আপনি একটি কার্ড পড়তে পারেন, বা একটি কার্ড ঘুষি মারতে পারেন বা প্রিন্টারে একটি লাইন মুদ্রণ করতে পারেন, প্রতিটি একক নির্দেশ দিয়ে: বাফার আকারটি ঠিক করা হয়েছিল, এবং প্রায়শই বাফারের ঠিকানাও ঠিক করা হত।
এমনকি 60 এর দশকের গোড়ার দিকে, আরও পরিশীলিত প্রসেসর সহ (যেমন। 7090), আপনি এখনও একটি ছোট রুটিন (প্রায় 20 নির্দেশাবলী) দিয়ে কার্ডগুলি পঞ্চ করতে বা পাঞ্চ করতে পারেন, যা প্রতিটি প্রোগ্রামে অনুলিপি করা হয়েছিল।
যেহেতু কম্পিউটারটি পুরোপুরি একক কাজের জন্য নিবেদিত ছিল তাই কার্ড পাঠক পরবর্তী কার্ডটি পড়ার জন্য প্রস্তুত হওয়ার অপেক্ষায় প্রসেসরটি নিষ্ক্রিয় ছিল কি না, অথবা লাইন প্রিন্টারের জন্য পরবর্তী লাইনটি খাওয়ানোর জন্য এটি কোনও ব্যাপার নয়।
ঠিক আছে, এটি গুরুত্বপূর্ণ ছিল না, কারণ কম্পিউটিং সময়টি আসলে ব্যয়বহুল ছিল। এই কারণেই লোকেরা বহু-প্রক্রিয়াকরণ, সময় ভাগ করে নেওয়ার, অ্যাসিনক্রোনাস আই / ও, এবং বাধা এবং ডিভাইস ড্রাইভার এবং অপারেটিং সিস্টেমগুলি আবিষ্কার করেছিল। হার্ডওয়্যার ডিভাইস ইন্টারফেসগুলি আরও জটিল হয়ে উঠল, প্রোগ্রামারের জন্য, নিম্ন স্তরের আই / ও রেজিস্টারগুলিতে অ্যাক্সেস দেয়, যার জন্য ডিভাইস ড্রাইভারদের থেকে আরও জটিলতার প্রয়োজন হয়। এই জটিলতার ব্যয় (মেমরি, প্রোগ্রামিং সময়) অপারেটিং সিস্টেম দ্বারা একাধিক প্রোগ্রাম "একযোগে" ডিভাইসগুলি ব্যবহার করে বেশ কয়েকটি প্রোগ্রামের উপর সঞ্চারিত হয়েছিল।
এখনও ৮০ এর দশকে আমি একটি মাইক্রো প্রসেসর ভিত্তিক কম্পিউটার ব্যবহার করছিলাম, সেই পুরানো সিস্টেমগুলির মধ্যে একটিকে অনুকরণ করে। মেশিনের নির্দেশাবলীতে 80 বিট (10 অক্টেট) এর বেশি অভিন্ন ফর্ম্যাট ছিল এবং প্রথম হার্ড ডিস্কের প্রথম সেক্টরটি পড়তে এবং ঠিকানায় 0 এ মেমরিতে জমা করার জন্য নির্দেশটি ছিল খুব সহজেই: 0000000000. সুতরাং প্রতিদিন বুট পদ্ধতিতে গঠিত হয় টার্মিনালে এই নির্দেশটি টাইপ করতে, এটি এটি ঠিকানায় 0 এ সঞ্চয় করে এবং এটি কার্যকর করে, যা বুট সেক্টরটি লোড করে এবং পরবর্তী নির্দেশে চালিয়ে যায় (ঠিকানায় 10)। ফাইল সিস্টেমটি স্ট্যাটিক টেবিল ম্যাপিং ফাইলটিতে "নামগুলি" সেক্টরের বিভিন্ন স্তরের অন্তর্ভুক্ত ছিল, যা ম্যানুয়ালি বরাদ্দ করা হয়েছিল! I / O সেই ফাইলগুলিতে সরাসরি সেক্টরগুলি পড়ার বা লেখার মাধ্যমে এসেম্বলারের মাধ্যমে করা হয়েছিল, হার্ডডিস্কে ফাইলের অবস্থান দ্বারা অফসেট করা হয়েছিল যা "