ইনপুট/আউটপুট
ইংরেজি ভাষায় ইনপুট/আউটপুট এবং বাংলা ভাষায় প্রবিষ্ট/নিষ্কৃত হল কম্পিউটারের সাথে মানুষের যোগাযোগের অপর নাম। কম্পিউটারের পরিভাষায় ইনপুট/আউটপুট বা আই/ও হল একটি তথ্য প্রক্রিয়াকরণ ব্যবস্থা (যেমন কম্পিউটার) সাথে বাইরের জগতের কারো সাথে যোগাযোগ হয় যেমন মানুষ। প্রবিষ্ট বা ইনপুট হল কম্পিউটার ব্যবস্থাকে প্রদত্ত বা এটিকে প্রবেশ করানো সংকেত বা তথ্য যা সেটি গ্রহণ করে এবং নিষ্কৃত বা আউটপুট হল ঠিক তার উল্টো মানে কমপিউটার ব্যবস্থা থেকে বেরিয়ে আসা বা নিষ্কাশিত সংকেত বা তথ্য যা আমরা গ্রহণ করি। বিভিন্ন ধরনের ইনপুট/আউটপুট যন্ত্র রয়েছে যেগুলো মানুষ উপাত্ত প্রবিষ্টকরণ ও নিষ্কাশনের জন্য ব্যবহার করে। উদাহরণসরূপ বলা যায়, কিবোর্ড বা চাবিযন্ত্র, মাউস বা মূষিকযন্ত্র -- এগুলি হল প্রবিষ্টকরণ যন্ত্র; অন্যদিকে মনিটর বা দৃশ্যমান পর্দাযন্ত্র, প্রিন্টার বা মুদ্রণযন্ত্র --- এগুলি হলে নিষ্কাশন যন্ত্র। আবার ব্যতিক্রমও আছে যেমন মডেম, নেটওয়ার্ক কার্ড এগুলো প্রবিষ্টকরণ এবং নিষ্কাশন—দুটোই করে।
কোন্‌ ডিভাইস ইনপুট বা আউটপুট হবে তা নির্ভর করে দৃষ্টিভঙ্গির উপর। কিবোর্ড আর মাউস মানুষের দেয়া ইনপুট বা নির্দেশটা নেয় নাড়াচাড়া বা কি চাপ দেয়ার উপর। তাতে যে সংকেত কম্পিউটার গ্রহণ করে তা প্রথমে কনভার্ট বা পরিবর্তন হয়ে কম্পিউটারের ভাষায় রূপান্তরিত হয় এবং কম্পিউটার তা বুঝে নেয়। একই ভাবে মনিটর, প্রিন্টার প্রভৃতি যন্ত্রাংশগুলো কম্পিউটারের দেয়া সংকেতগুলো নেয় এবং মানুষ বোঝার মত করে তা দেখায়। তাই একজন কম্পিউটার ব্যবহারকারীর দৃষ্টিতে কোন কিছু মনিটরের স্ক্রীনে পড়া মানে ইনপুট গ্রহণ করা। এইধরনের কম্পিউটার এবং মানুষের কার্যপ্রনালীগুলোকে মানুষ-কম্পিউটার ইন্টারেকশ হিসেবে চিহ্নিত করা হয়।
কম্পিউটার আর্কিটেকচারে, সিপিইউ আর প্রধার মেমোরি হল কম্পিউটারের ব্রেন যেখানে সিপিইউ স্বতন্ত্র নির্দেশনায় সরাসরি রিড বা রাইট করে। যেকোন তথ্য যা কম্পিউটারের সিপিইউ আর প্রধান মেমোরির সমন্বয় থেকে আসে বা যায় তাকেও আই/ও বলে ধরা হয়। যেমন ডিস্ক ড্রাইভ থেকে তথ্য রিড করা।
প্রসেসর যখন কোন আই/ও ডিভাইস চালায় তখন তার একটি ইন্টারফেস প্রয়োজন হয় যা আই/ও ইন্টারফেস নামে পরিচিত। প্রসেসর প্রত্যেকটি ডিভাইসকে একটি করে এ্যড্রেস দিয়ে চিহ্নিত করে। সুতারাং আই/ও ইন্টারফেসকে সেই এ্যড্রেস বুঝার জন্য প্রয়োজনীয় যুক্তি (কোড) থাকতে হবে। ইন্টারফেসটিকে প্রয়োজনীয় কমান্ডগুলো (ব্যস্ত, তৈরি এবং অপেক্ষা করুন ইত্যাদি) বোঝার ক্ষমতা এবং প্রসেসরের সাথে যোগাযোগ থাকতে হবে। যদি বিভিন্ন ধরনের ডেটা ফরমেট থাকে তা রূপান্তরের ক্ষমতা ইন্টারফেসে থাকতে হয় যেমন প্যারালাল থেকে সিরিয়াল। প্রসেসর দ্বারা ইন্টারফেসটি ব্যাহত করা এবং সংশ্লিষ্ট নাম্বারগুলোকে পরবর্তীতে আরো প্রসেস যাতে করা যায় তার প্রয়োজনীয় ব্যবস্থা থাকতে হবে।
উচ্চ স্তরের অপারেটিং সিস্টেম এবং প্রোগ্রামিং সহজ করার জন্য আলাদা আরো পৃথক আই/ও ধারণা রয়েছে। উদাহরন হিসেবে বলা যায়, বেশির ভাগ অপরেটিং সিস্টেম এপ্লিকেশন প্রোগ্রামগুলোকে ফাইলের ধারণার অংশ হিসেবে দেয়। সি এবং সি++ প্রোগ্রামিং ভাষাগুলো, এবং ইউনিক্স সিস্টেমের অপারেটিং সিস্টেমগুলো, প্রথাগতভাবে ফাইল এবং ডিভাইসগুলোকে দেখায় যেগুলো রিড এবং রাইট করা যায়, কখনো কখনো দুটোই। সি প্রোগ্রামিং মানের লাইব্রেরি ইনপুট এবং আউটপুটের জন্য কার্য সম্পাদনের জন্য নিজের মত করে ধারা তৈরি করতে দেয়।
এএলজিওএল ৬৮ প্রোগ্রামিং ভাষার আলোকে, ইনপুট এবং আউটপুট সুবিধাকে একত্রে ট্রান্সপুট (transput) নামে নির্দেশ করা হয়। এএলজিওএল ৬৮ ট্রান্সপুট লাইব্রেরি এই সমস্ত মানের ফাইল/ডিভাইসগুলোকে চিহ্নিত করতে পারে: codice_1, codice_2, codice_3 এবং codice_4
অন্য আরেকটি বিকল্প প্রাথমিক কার্য ব্যবস্থা রয়েছে যা আই/ও monad হিসেবে জানা যায়। এটি প্রোগ্রামকে অনুমতি দেয় আই/ও কে ব্যাখ্যা করতে আর তা করা হয় প্রোগ্রামের বাইরে। এটি উল্লেখ্যযোগ্য কারণ আই/ও কার্যাবলি অন্য প্রোগ্রামিং ভাষাগুলোতে পার্শ্ব প্রতিক্রিয়া সৃষ্টি করতে পারে কিন্তু যেগুলো একেবারে বিশুদ্ধ কার্যক্ষম প্রোগ্রামিং সেগুলোর জন্য এটা হতে পারে খুবই ব্যবহারিক।
আই/ও কার্যাবলিগুলো সম্পাদনের জন্য চ্যানেল আই/ও সুনিষ্টভাবে তৈরী করা নির্দেশনাগুলো ব্যবহার করে। আই/ও নির্দেশনাগুলো চ্যানেলগুলোকে বা চ্যানেল বা ডিভাইসগুলোকে উদ্দিষ্ট করে। তারপর চ্যানেল পর্যায়ক্রমে অন্যান্য সব দরকারি নিয়ন্ত্রন তথ্য ও এ্যড্রেসিং সম্পন্ন করে।
বিশেষ নির্দেশনাগুলো পোর্ট ম্যাপড আই/ও তেও ব্যবহার হয়ে থাকে। সাধারণ বৈশিষ্ট্য হিসেবে একটা বা তার অধিক পোর্ট কোন ডিভাইসের জন্য বরাদ্দ করা হয়। সাধারণ নির্দেশাবলীর থেকে পোর্টের সংখ্যাগুলো আলাদাভাবে চিহ্নিত করা হয়ে থাকে।