প্রবিষ্ট/বহির্গত

কম্পিউটার-সংক্রান্ত কর্মকাণ্ডে **প্রবিষ্ট/বহির্গত** পরিভাষা যুগল দিয়ে বহির্বিশ্বের (যেমন মানুষ) সাথে একটি তথ্য প্রক্রিয়াকারী ব্যবস্থার (যেমন কম্পিউটার যন্ত্রের) মধ্যকার যোগাযোগকে বোঝায়। কম্পিউটারে প্রদত্ত বা সরবরাহকৃত উপাত্ত বা সঙ্কেতকে **প্রবিষ্ট উপাত্ত** বলে এবং প্রক্রিয়াকরণ শেষে কম্পিউটার থেকে বেরিয়ে আসা উপাত্ত বা সঙ্কেতকে **বহির্গত উপাত্ত** বলে। এই দুই ধরনের উপাত্তের সাথে সংশ্লিষ্ট প্রক্রিয়াগুলিকে যথাক্রমে **উপাত্ত প্রবিষ্টকরণ** এবং **উপাত্ত বহির্গমন** বলা হয়। ইংরেজি ভাষায় এই দুই ধরনের উপাত্ত ও কর্মকাণ্ড উভয়কেই **ইনপুট/আউটপুট** বা সংক্ষেপে **আই/ও** (I/O) পরিভাষা যুগল দিয়ে নির্দেশ করা হয়।

বিভিন্ন ধরনের প্রবিষ্টকরণ যন্ত্র ও বহির্গমন যন্ত্র রয়েছে যেগুলি উপাত্ত প্রবিষ্টকরণ ও বহির্গমনের জন্য ব্যবহার করা হয়। যেমন, কিবোর্ড বা চাবিযন্ত্র, মাউস বা মূষিকযন্ত্র—এগুলি হল প্রবিষ্টকরণ যন্ত্র; অন্যদিকে মনিটর বা দৃশ্যমান পর্দাযন্ত্র, প্রিন্টার বা মুদ্রণযন্ত্র --- এগুলি হলে বহির্গমন যন্ত্র। আবার ব্যতিক্রমও আছে যেমন মডেম, নেটওয়ার্ক কার্ড এগুলো উপাত্ত প্রবিষ্টকরণ এবং বহির্গমন — দুই ধরনের কাজই সম্পাদন করে।

কোনও যন্ত্র প্রবিষ্টকরণভিত্তিক নাকি বহির্গমনভিত্তিক হবে তা নির্ভর করে দৃষ্টিভঙ্গির উপর। কিবোর্ড আর মাউস মানুষের প্রদত্ত নির্দেশ নেয় নাড়াচাড়া বা বোতাম চাপ দেয়ার উপর ভিত্তি করে। তাতে যে সংকেত কম্পিউটার গ্রহণ করে তা প্রথমে পরিবর্তিত হয়ে কম্পিউটারের ভাষায় রূপান্তরিত হয় এবং কম্পিউটার তা বুঝে নেয়। একইভাবে মনিটর, প্রিন্টার প্রভৃতি যন্ত্রগুলি কম্পিউটার থেকে বহির্গত সংকেতগুলো গ্রহণ করে এবং মানুষ বোঝার মত করে তা দেখায়। তাই একজন কম্পিউটার ব্যবহারকারীর দৃষ্টিতে কোন কিছু মনিটরের পর্দায় পড়া মানে প্রবিষ্ট উপাত্ত গ্রহণ করা। এই ধরনের কম্পিউটার এবং মানুষের কার্যপ্রণালীগুলোকে মানুষ-কম্পিউটার আন্তঃক্রিয়া হিসেবে চিহ্নিত করা হয়।

কম্পিউটার স্থাপত্যে, কেন্দ্রীয় প্রক্রিয়াকরণ যন্ত্রাংশ (সিপিইউ) আর প্রধান স্মৃতি (মেমোরি) হলো কম্পিউটারের মস্তিষ্ক যেখানে সিপিইউ স্বতন্ত্র নির্দেশনায় সরাসরি তথ্য "পড়ে" (রিড) বা "লেখে" (রাইট)। যেকোনও তথ্য যা কম্পিউটারের সিপিইউ আর প্রধান মেমোরির সমন্বয় থেকে আসে বা যায় তাকেও প্রবিষ্ট/বহির্গত বলে ধরা হয়। যেমন ডিস্ক ড্রাইভ থেকে তথ্য পড়া।

## আন্তঃসংযোগ
প্রক্রিয়াকরণ যন্ত্র যখন কোন প্রবিষ্ট/বহির্গত যন্ত্র পরিচালনা করে তখন তার একটি আন্তঃসংযোগের প্রয়োজন হয় যা আন্তঃসংযোগ নামে পরিচিত। প্রক্রিয়াকরণ যন্ত্র প্রত্যেকটি যন্ত্রকে একটি করে ঠিকানা দিয়ে চিহ্নিত করে। সুতরাং প্রবিষ্ট/বহির্গত আন্তঃসংযোগকে সেই ঠিকানা বুঝার জন্য প্রয়োজনীয় যুক্তি (কোড) থাকতে হবে। আন্তঃসংযোগটিকে প্রয়োজনীয় নির্দেশগুলো (ব্যস্ত, তৈরি এবং অপেক্ষা করুন ইত্যাদি) বোঝার ক্ষমতা এবং প্রক্রিয়াকরণ যন্ত্রের সাথে যুক্ত থাকতে হবে। যদি বিভিন্ন ধরনের তথ্য বিন্যাস থাকে তবে তা রূপান্তরের ক্ষমতা আন্তঃসংযোগে থাকতে হয় যেমন সমান্তরাল সংযোগ (প্যারালাল) থেকে পর্যায়ক্রমিক সংযোগ (ধারাবাহিক)। প্রক্রিয়াকরণ যন্ত্র দ্বারা আন্তঃসংযোগটি ব্যাহত করা এবং সংশ্লিষ্ট সংখ্যাগুলোকে পরবর্তীতে আরো যাতে প্রক্রিয়াকরণ করা যায় তার প্রয়োজনীয় ব্যবস্থা থাকতে হবে।

### উচ্চ-স্তরে বাস্তবায়ন
উচ্চ স্তরের অপারেটিং সিস্টেম এবং প্রোগ্রামিং সহজ করার জন্য আলাদা আরো পৃথক আই/ও ধারণা রয়েছে। উদাহরণ হিসেবে বলা যায়, বেশির ভাগ অপরেটিং সিস্টেম এপ্লিকেশন প্রোগ্রামগুলোকে ফাইলের ধারণার অংশ হিসেবে দেয়। সি এবং সি++ প্রোগ্রামিং ভাষাগুলো, এবং ইউনিক্স সিস্টেমের অপারেটিং সিস্টেমগুলো, প্রথাগতভাবে ফাইল এবং ডিভাইসগুলোকে দেখায় যেগুলো রিড এবং রাইট করা যায়, কখনো কখনো দুটোই। সি প্রোগ্রামিং মানের লাইব্রেরি ইনপুট এবং আউটপুটের  কার্য সম্পাদনের জন্য নিজের মত করে ধারা তৈরি করতে দেয়।

এএলজিওএল ৬৮ প্রোগ্রামিং ভাষার আলোকে, ইনপুট এবং আউটপুট সুবিধাকে একত্রে ট্রান্সপুট (transepot) নামে নির্দেশ করা হয়। এএলজিওএল ৬৮ ট্রান্সপুট লাইব্রেরি এই সমস্ত মানের ফাইল/ডিভাইসগুলোকে চিহ্নিত করতে পারে: `stand in`, `stand out`, `stand errors` এবং `stand back`

অন্য আরেকটি বিকল্প প্রাথমিক কার্য ব্যবস্থা রয়েছে যা আই/ও monad হিসেবে জানা যায়। এটি প্রোগ্রামকে অনুমতি দেয় আই/ও কে ব্যাখ্যা করতে আর তা করা হয় প্রোগ্রামের বাইরে। এটি উল্লেখ্যযোগ্য কারণ আই/ও কার্যাবলি অন্য প্রোগ্রামিং ভাষাগুলোতে পার্শ্ব প্রতিক্রিয়া সৃষ্টি করতে পারে কিন্তু যেগুলো একেবারে বিশুদ্ধ কার্যক্ষম প্রোগ্রামিং সেগুলোর জন্য এটা হতে পারে খুবই ব্যবহারিক।

## প্রবিষ্টকরণ / বহির্গমন প্রণালী (আই/ও চ্যানেল)
আই/ও কার্যাবলিগুলো সম্পাদনের জন্য চ্যানেল আই/ও সুনিষ্টভাবে তৈরী করা নির্দেশনাগুলো ব্যবহার করে। আই/ও নির্দেশনাগুলো চ্যানেলগুলোকে বা চ্যানেল বা ডিভাইসগুলোকে উদ্দিষ্ট করে। তারপর চ্যানেল পর্যায়ক্রমে অন্যান্য সব দরকারি নিয়ন্ত্রণ তথ্য ও এ্যড্রেসিং সম্পন্ন করে।

## পোর্ট ম্যাপড আই/ও
বিশেষ নির্দেশনাগুলো পোর্ট ম্যাপড আই/ও তেও ব্যবহার হয়ে থাকে। সাধারণ বৈশিষ্ট্য হিসেবে একটা বা তার অধিক পোর্ট কোন ডিভাইসের জন্য বরাদ্দ করা হয়। সাধারণ নির্দেশাবলীর থেকে পোর্টের সংখ্যাগুলো আলাদাভাবে চিহ্নিত করা হয়ে থাকে। 
## আরও দেখুন
* 
* C file input/output
## তথ্যসূত্র

বিষয়শ্রেণী:ইনপুট/আউটপুট