الإدخال/الإخراج

في الحوسبة ، الإدخال/الإخراج ( I/O ، i/o ، أو بشكل غير رسمي io أو IO ) هو الاتصال بين نظام معالجة المعلومات، مثل الكمبيوتر ، والعالم الخارجي، مثل نظام كمبيوتر آخر أو أجهزة محيطية أو مشغل بشري. المدخلات هي الإشارات أو البيانات التي يتلقاها النظام والمخرجات هي الإشارات أو البيانات المرسلة منه. يمكن أيضًا استخدام المصطلح كجزء من إجراء؛ "أداء الإدخال/الإخراج" هو أداء عملية إدخال أو إخراج .

أجهزة الإدخال والإخراج هي قطعالأجهزةالتي يستخدمها الإنسان (أو أي نظام آخر) للتواصل مع الكمبيوتر. على سبيل المثال،لوحة المفاتيحأوفأرة الكمبيوترهيجهاز إدخالللكمبيوتر، في حين أنالشاشاتوالطابعاتهيأجهزة إخراج. عادةً ما تقوم أجهزة الاتصال بين أجهزة الكمبيوتر، مثلأجهزة المودموبطاقاتالشبكة،بكل من عمليات الإدخال والإخراج. أي تفاعل مع النظام من قبل متفاعل هو إدخال،والتفاعل الذي يستجيب له النظام يسمى الإخراج.

يعتمد تعيين جهاز ما كمدخل أو كمخرج على المنظور. تأخذ الفئران ولوحات المفاتيح الحركات المادية التي يخرجها المستخدم البشري وتحولها إلى إشارات إدخال يمكن للحاسوب فهمها؛ ويكون الناتج من هذه الأجهزة هو مدخلات الحاسوب. وبالمثل، تأخذ الطابعات والشاشات الإشارات التي يخرجها الحاسوب كمدخلات، وتحول هذه الإشارات إلى تمثيل يمكن للمستخدمين البشريين فهمه. من منظور المستخدم البشري ، فإن عملية قراءة أو رؤية هذه التمثيلات هي تلقي الإخراج؛ تتم دراسة هذا النوع من التفاعل بين الحاسوب والبشر في مجال التفاعل بين الإنسان والحاسوب . هناك تعقيد آخر وهو أن الجهاز الذي يُعتبر تقليديًا جهاز إدخال، مثل قارئ البطاقات أو لوحة المفاتيح، قد يقبل أوامر التحكم، مثل تحديد المكدس أو عرض أضواء لوحة المفاتيح، بينما قد يوفر الجهاز الذي يُعتبر تقليديًا جهاز إخراج بيانات الحالة (مثل انخفاض الحبر أو نفاد الورق أو انحشار الورق).

في هندسة الحاسوب، يعتبر الجمع بين وحدة المعالجة المركزية والذاكرة الرئيسية ، والتي يمكن لوحدة المعالجة المركزية قراءتها أو كتابتها مباشرةً باستخدام تعليمات فردية ، بمثابة عقل الحاسوب. يُعتبر أي نقل للمعلومات من أو إلى مجموعة وحدة المعالجة المركزية/الذاكرة، على سبيل المثال عن طريق قراءة البيانات من محرك الأقراص ، إدخالًا وإخراجًا. [1] قد توفر وحدة المعالجة المركزية والدوائر الداعمة لها إدخالًا وإخراجًا مُخصصًا للذاكرة يُستخدم في برمجة الحاسوب منخفضة المستوى ، مثل تنفيذ برامج تشغيل الأجهزة ، أو قد توفر الوصول إلى قنوات الإدخال والإخراج . خوارزمية الإدخال والإخراج هي خوارزمية مصممة لاستغلال المحلية والأداء بكفاءة عند تبادل البيانات مع جهاز تخزين ثانوي، مثل محرك الأقراص.

الواجهة

تكون واجهة الإدخال/الإخراج مطلوبة كلما كان جهاز الإدخال/الإخراج مدفوعًا بمعالج. عادةً ما تتواصل وحدة المعالجة المركزية مع الأجهزة عبر ناقل . يجب أن تحتوي الواجهة على المنطق اللازم لتفسير عنوان الجهاز الذي يولد بواسطة المعالج. يجب تنفيذ المصافحة بواسطة الواجهة باستخدام الأوامر المناسبة (مثل BUSY وREADY وWAIT)، ويمكن للمعالج التواصل مع جهاز الإدخال/الإخراج من خلال الواجهة. إذا تم تبادل تنسيقات بيانات مختلفة، فيجب أن تكون الواجهة قادرة على تحويل البيانات التسلسلية إلى شكل موازٍ والعكس صحيح. نظرًا لأنه سيكون من العبث أن يكون المعالج خاملاً أثناء انتظاره للبيانات من جهاز الإدخال، فيجب أن يكون هناك ترتيب لتوليد المقاطعات [2] وأرقام النوع المقابلة لمزيد من المعالجة بواسطة المعالج إذا لزم الأمر. [ التوضيح مطلوب ]

يستخدم الكمبيوتر الذي يستخدم الإدخال/الإخراج المخصص للذاكرة الوصول إلى الأجهزة عن طريق القراءة والكتابة إلى مواقع ذاكرة محددة، باستخدام نفس تعليمات لغة التجميع التي يستخدمها الكمبيوتر عادةً للوصول إلى الذاكرة. هناك طريقة بديلة تتمثل في الإدخال/الإخراج القائم على التعليمات والذي يتطلب أن يكون لدى وحدة المعالجة المركزية تعليمات متخصصة للإدخال/الإخراج. [1] تتمتع كل من أجهزة الإدخال والإخراج بمعدل معالجة بيانات يمكن أن يختلف بشكل كبير. [2] مع بعض الأجهزة القادرة على تبادل البيانات بسرعات عالية جدًا، يلزم الوصول المباشر إلى الذاكرة (DMA) دون المساعدة المستمرة من وحدة المعالجة المركزية. [2]

التنفيذ على مستوى أعلى

تستخدم أنظمة التشغيل عالية المستوى ومرافق البرمجة مفاهيم وبدائيات إدخال/إخراج منفصلة وأكثر تجريدًا . على سبيل المثال، توفر معظم أنظمة التشغيل برامج التطبيقات بمفهوم الملفات . توفر معظم لغات البرمجة مرافق إدخال/إخراج إما كعبارات في اللغة أو كوظائف في مكتبة قياسية للغة.

البديل للوظائف البدائية الخاصة هو وحدة الإدخال والإخراج ، والتي تسمح للبرامج بوصف الإدخال والإخراج فقط، ويتم تنفيذ الإجراءات خارج البرنامج. هذا أمر ملحوظ لأن وظائف الإدخال والإخراج من شأنها أن تقدم آثارًا جانبية لأي لغة برمجة، ولكن هذا يسمح للبرمجة الوظيفية البحتة أن تكون عملية.

قد تكون مرافق الإدخال/الإخراج التي توفرها أنظمة التشغيل موجهة نحو السجلات ، حيث تحتوي الملفات على سجلات ، أو موجهة نحو التدفق، حيث يحتوي الملف على تدفق من البايتات.

قناة الإدخال/الإخراج

تتطلب قناة الإدخال/الإخراج استخدام تعليمات مصممة خصيصًا لأداء عمليات الإدخال/الإخراج. تخاطب تعليمات الإدخال/الإخراج القناة أو القناة والجهاز؛ وتقوم القناة بالوصول بشكل غير متزامن إلى جميع المعلومات الأخرى المطلوبة للتحكم والتوجيه. وهذا يشبه DMA، ولكنه أكثر مرونة.

إدخال/إخراج مُخصص للمنافذ

تتطلب عمليات الإدخال والإخراج المخصصة للمنافذ أيضًا استخدام تعليمات إدخال وإخراج خاصة. عادةً ما يتم تعيين منفذ واحد أو أكثر للجهاز، ولكل منفذ غرض خاص. توجد أرقام المنافذ في مساحة عنوان منفصلة عن تلك المستخدمة بواسطة التعليمات العادية.

الوصول المباشر للذاكرة

الوصول المباشر للذاكرة (DMA) هو وسيلة للأجهزة لنقل كميات كبيرة من البيانات من وإلى الذاكرة بشكل مستقل عن وحدة المعالجة المركزية.

انظر أيضا

مراجع

  1. ^ ab Null, Linda; Julia Lobur (2006). أساسيات تنظيم وهندسة الحاسوب. Jones & Bartlett Learning. ص. 185. ISBN 0763737690. مؤرشف من الأصل في 20 ديسمبر 2016 . استرجاع 11 ديسمبر 2016 .
  2. ^ abc Abd-El-Barr, Mostafa; Hesham El-Rewini (2005). Fundamentals of Computer Organization and Architecture. John Wiley & Sons. pp. 161–162. ISBN 9780471478331. مؤرشف من الأصل في 21 ديسمبر 2016 . استرجاع 11 ديسمبر 2016 .
  • الوسائط المتعلقة بـ Input/output في ويكيميديا ​​كومنز
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=الإدخال/الإخراج&oldid=1238506785#جهاز_الإدخال_والإخراج"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate