المدخلات/المخرجات
في مجال الحوسبة ، تُعرف عملية الإدخال/الإخراج ( I/ O ) بأنها عملية التواصل بين نظام معالجة المعلومات، كالحاسوب ، والعالم الخارجي، كنظام حاسوب آخر، أو الأجهزة الطرفية، أو المستخدم البشري. المدخلات هي الإشارات أو البيانات التي يستقبلها النظام، والمخرجات هي الإشارات أو البيانات التي يرسلها. ويمكن استخدام المصطلح أيضاً كجزء من عملية؛ فـ"تنفيذ عملية إدخال/إخراج" يعني تنفيذ عملية إدخال أو إخراج .
أجهزة الإدخال والإخراج هي قطعالأجهزةالتي يستخدمها الإنسان (أو أي نظام آخر) للتواصل مع الحاسوب. على سبيل المثال،تُعدلوحة المفاتيحأوفأرة الحاسوبأجهزة الإدخال، بينماتُعدالشاشاتوالطابعاتأجهزة الإخراجأماأجهزة الاتصال بين الحواسيب، مثلالمودماتوبطاقاتالشبكة، فتؤدي عادةً عمليات الإدخال والإخراج معًا. أي تفاعل بين المستخدم والنظام يُعتبر إدخالًا،ورد فعل النظام يُسمى إخراجًا.
يعتمد تصنيف جهاز ما كمدخل أو مخرج على وجهة النظر. فالفأرة ولوحة المفاتيح تستقبلان الحركات الجسدية التي يُدخلها المستخدم البشري وتحولانها إلى إشارات إدخال يفهمها الحاسوب؛ أما المخرجات الصادرة من هذه الأجهزة فهي مدخلات الحاسوب. وبالمثل، تستقبل الطابعات والشاشات الإشارات التي يُخرجها الحاسوب كمدخلات، وتحولها إلى تمثيل يفهمه المستخدمون. من وجهة نظر المستخدم البشري ، تُعد عملية قراءة هذه التمثيلات أو رؤيتها بمثابة استقبال للمخرجات؛ ويُدرس هذا النوع من التفاعل بين الحواسيب والبشر في مجال التفاعل بين الإنسان والحاسوب . ومن التعقيدات الأخرى أن الجهاز الذي يُعتبر تقليديًا جهاز إدخال، مثل قارئ البطاقات أو لوحة المفاتيح، قد يستقبل أوامر تحكم، مثل تحديد مُكدس البطاقات أو عرض مؤشرات لوحة المفاتيح، بينما قد يُقدم الجهاز الذي يُعتبر تقليديًا جهاز إخراج بيانات حالة (مثل انخفاض مستوى الحبر، أو نفاد الورق، أو انحشار الورق).
في هندسة الحاسوب، يُعتبر الجمع بين وحدة المعالجة المركزية والذاكرة الرئيسية ، التي تستطيع وحدة المعالجة المركزية القراءة والكتابة إليها مباشرةً باستخدام تعليمات فردية، بمثابة عقل الحاسوب. أي عملية نقل للمعلومات من أو إلى وحدة المعالجة المركزية/الذاكرة، على سبيل المثال عن طريق قراءة البيانات من محرك الأقراص ، تُعتبر عملية إدخال/إخراج. [ 1 ] قد توفر وحدة المعالجة المركزية ودوائرها الداعمة عمليات إدخال/إخراج مُرتبطة بالذاكرة تُستخدم في برمجة الحاسوب منخفضة المستوى ، كما هو الحال في تنفيذ برامج تشغيل الأجهزة ، أو قد توفر الوصول إلى قنوات الإدخال/الإخراج . خوارزمية الإدخال/الإخراج هي خوارزمية مصممة لاستغلال خاصية التوطين والعمل بكفاءة عند تبادل البيانات مع جهاز تخزين ثانوي، مثل محرك الأقراص.
واجهة المستخدم
تُعدّ واجهة الإدخال/الإخراج ضروريةً كلما كان جهاز الإدخال/الإخراج مُشغَّلاً بواسطة معالج. عادةً ما يتواصل المعالج المركزي مع الأجهزة عبر ناقل بيانات . يجب أن تحتوي الواجهة على المنطق اللازم لتفسير عنوان الجهاز الذي يُولِّده المعالج. ينبغي أن تُنفِّذ الواجهة عملية المصافحة باستخدام أوامر مناسبة (مثل BUSY وREADY وWAIT)، ويستطيع المعالج التواصل مع جهاز الإدخال/الإخراج من خلال هذه الواجهة. في حال تبادل تنسيقات بيانات مختلفة، يجب أن تكون الواجهة قادرة على تحويل البيانات التسلسلية إلى بيانات متوازية والعكس. ولأنّ بقاء المعالج في وضع الخمول أثناء انتظاره للبيانات من جهاز الإدخال يُعدّ إهدارًا للموارد، يجب توفير آلية لتوليد المقاطعات [ 2 ] وأرقام أنواعها المُقابلة لمزيد من المعالجة من قِبل المعالج عند الحاجة.
يستخدم الحاسوب الذي يعتمد على الإدخال/الإخراج المُمَثَّل بالذاكرة الوصول إلى المكونات المادية عن طريق القراءة والكتابة في مواقع ذاكرة محددة، باستخدام نفس تعليمات لغة التجميع التي يستخدمها الحاسوب عادةً للوصول إلى الذاكرة. وهناك طريقة بديلة تتمثل في الإدخال/الإخراج القائم على التعليمات، والذي يتطلب أن تحتوي وحدة المعالجة المركزية على تعليمات مُخصصة للإدخال/الإخراج. [ 1 ] تختلف سرعة معالجة البيانات لكل من أجهزة الإدخال والإخراج اختلافًا كبيرًا. [ 2 ] ونظرًا لقدرة بعض الأجهزة على تبادل البيانات بسرعات عالية جدًا، يصبح الوصول المباشر إلى الذاكرة (DMA) ضروريًا دون الحاجة إلى مساعدة مستمرة من وحدة المعالجة المركزية. [ 2 ]
التنفيذ على مستوى أعلى
تستخدم أنظمة التشغيل وأنظمة البرمجة ذات المستوى الأعلى مفاهيم وعناصر إدخال/إخراج منفصلة وأكثر تجريدًا . على سبيل المثال، توفر معظم أنظمة التشغيل لبرامج التطبيقات مفهوم الملفات . كما توفر معظم لغات البرمجة إمكانيات الإدخال/الإخراج إما كعبارات في اللغة نفسها أو كدوال في مكتبة قياسية خاصة بها.
يُعدّ موناد الإدخال/الإخراج بديلاً عن الدوال الأولية الخاصة ، إذ يسمح للبرامج بوصف عمليات الإدخال/الإخراج فقط، بينما تُنفّذ العمليات خارج البرنامج. ويُعدّ هذا الأمر جديرًا بالملاحظة لأنّ دوال الإدخال /الإخراج ستُدخل آثارًا جانبية على أي لغة برمجة، لكنّه يُتيح للبرمجة الوظيفية البحتة أن تكون عملية.
قد تكون مرافق الإدخال/الإخراج التي توفرها أنظمة التشغيل موجهة نحو السجلات ، حيث تحتوي الملفات على سجلات ، أو موجهة نحو التدفق، حيث يحتوي الملف على تدفق من البايتات.
إدخال/إخراج القناة
تتطلب عمليات الإدخال/الإخراج للقنوات استخدام تعليمات مصممة خصيصًا لتنفيذ هذه العمليات. تعنون هذه التعليمات القناة أو القناة والجهاز معًا؛ وتصل القناة بشكل غير متزامن إلى جميع معلومات العنونة والتحكم الأخرى المطلوبة. يشبه هذا الأسلوب الوصول المباشر إلى الذاكرة (DMA)، ولكنه أكثر مرونة.
منافذ الإدخال/الإخراج المُعَيَّنة
يتطلب الإدخال/الإخراج المُمَثَّل بالمنافذ استخدام تعليمات إدخال/إخراج خاصة. عادةً ما يتم تخصيص منفذ واحد أو أكثر للجهاز، لكل منها غرض محدد. توجد أرقام المنافذ في نطاق عناوين منفصل عن ذلك المستخدم في التعليمات العادية.
الوصول المباشر إلى الذاكرة
الوصول المباشر إلى الذاكرة (DMA) هو وسيلة للأجهزة لنقل أجزاء كبيرة من البيانات من وإلى الذاكرة بشكل مستقل عن وحدة المعالجة المركزية.
انظر أيضاً
مراجع
- 1 2 نول، ليندا؛ جوليا لوبور (2006). أساسيات تنظيم وهندسة الحاسوب . جونز وبارتليت ليرنينج. ص 185. ISBN 0763737690أُرشف من المصدر الأصلي بتاريخ 20 ديسمبر 2016. تم الاطلاع عليه بتاريخ 11 ديسمبر 2016 .
- 1 2 3 عبد البر، مصطفى؛ هشام الرويني (2005). أساسيات تنظيم وبنية الحاسوب . جون وايلي وأولاده. ص 161-162 . ISBN 9780471478331أُرشف من المصدر الأصلي بتاريخ 21 ديسمبر 2016. تم الاطلاع عليه بتاريخ 11 ديسمبر 2016 .
روابط خارجية
الوسائط المتعلقة بالمدخلات/المخرجات على ويكيميديا كومنز
- المدخلات/المخرجات
