یکی از عملکردهای بسیار مهم و اصلی سیستم عامل کنترل و مدیریت دستگاههای ورودی/ خروجی (I/O) در کامپیوتر است. سیستم عامل باید فرمانهایی را به این دستگاهها بفرستد، وقفه ها را بگیرد و خطاها را اداره کند. و همچنین باید یک رابط بین دستگاهها و بقیه سیستم به منظور استفاده ساده تر از آنها فراهم نماید.
اصول سخت افزاری I/O
دید افراد مختلف نسبت به سخت افزار I/O متفاوت است. مهندسین برق و الکترونیک آن را بصورت مدارهای مجتمع، مدار چاپی، منابع تغذیه، موتورها و دیگر اجزاء فیزیکی تشکیل دهنده سخت افزار می بینند. برنامه نویسان آن رابه شکل واسطه ارائه شده به نرم افزار، فرامین مورد قبول سخت افزار، توابع قابل اجرا و خطاهای احتمالی و گزارش آنها می بینند. از یک دیدگاه، دستگاههای ورودی/ خروجی بطور کلی به دو دسته تقسیم می شوند.
1- دستگاههای بلوکی BLOCK DEVICE
2- دستگاههای کارکتری CHARACTER DEVICE
یک دستگاه بلوکی وسیله ای است که اطلاعات را در یک بلوک با اندازه معین ذخیره می کند که هر کدام با آدرس خودشان مشخص شده اند. حدود اندازه بلوکهای معمولی از 512 بایت تا 32768 بایت می باشند خاصیت اساسی یک دستگاه بلوکی این است که خواندن و نوشتن هر بلوک را بطور مستقل از بقیه ممکن می سازد دیسکها از متداولترین دستگاههای بلوکی هستند.
نوع دیگری از دستگاههای ورودی/ خروجی، دستگاههای کارکتری است. یک دستگاه کارکتری یک جریان از کارکترها را بدون توجه به هیچ ساختار بلوکی، دریافت نموده و یا تحویل می دهد، بنابراین قابلیت آدرس دهی و جستجو در آن وجود ندارد. چاپگرها، واسطه های شبکه، موشواره ها و دیگر دستگاههایی که شبیه دیسک نیستند، به عنوان دستگاه کارکتری در نظر گرفته می شوند. از دیدگاه دیگر دستگاههای ورودی/ خروجی به سه طبقه تقسیم می شوند:
1- قابل خواندن توسط انسان:
مناسب برای ارتباط با کاربر، مانند پایانه های نمایش دهنده تصویر، صفحه کلید و…
2- خواندن توسط ماشین:
مناسب برای ارتباط با وسائل الکترونیکی، مانند گردانندهای دیسک و نوار، حس کنندهها، کنترل کننده ها و محرکها.
3- ارتباطات:
مناسب برای ارتباط با دستگاههای دور مانند، گرداننده های دیجیتالی خط و مودمها. تفاوتهای زیادی در بین هر طبقه وجود دارد که مهمترین آنها عبارتند از:
نرخ انتقال، کاربرد، پیچیدگی کنترل، واحد انتقال، نمایش داده ها، شرایط خطا.
سازمان عمل ورودی/ خروجی
الف) ورودی/ خروجی برنامه ریزی شده: پردازنده یک فرمان ورودی/ خروجی را از جانب فرایندی به یک مولفه ورودی/ خروجی صادر می کند. سپس آن فرایند قبل از ادامه، تا کامل شدن عمل ورودی/ خروجی به انتظار می ماند.
ب) ورودی/ خروجی مبتنی بر وقفه: پردازنده یک فرمان ورودی/ خروجی را از جانب فرایند صادر می کند، سپس به اجرای دستورالعملهای بعدی ادامه می دهد و با کامل شدن عمل ورودی/ خروجی یا وقفه مولفه ورودی/ خروجی مواجه می شود. دستورالعملهای بعدی می توانند از همان فرایند باشند البته به شرطی که فرایند نیازی به انتظار برای تکمیل ورودی/ خروجی نداشته باشد. در غیر این صورت فرایند در انتار وقفه معلق می گردد و کار دیگری انجام می گیرد.
فایل ورد 20 ص
دانلود مقاله بررسی INPUT & OUTPUT MANAGEMENT