بررسی INPUT/ OUTPUT MANAGEMENT
یكی از عملكردهای بسیار مهم و اصلی سیستم عامل كنترل و مدیریت دستگاههای ورودی خروجی (IO) در كامپیوتر است سیستم عامل باید فرمانهایی را به این دستگاهها بفرستد، وقفه ها را بگیرد و خطاها را اداره كند و همچنین باید یك رابط بین دستگاهها و بقیه سیستم به منظور استفاده ساده تر از آنها فراهم نماید اصول سخت افزاری IO دید افراد مختلف نسبت به سخت افزار IO متفا |
دسته بندی | کامپیوتر |
فرمت فایل | doc |
حجم فایل | 58 کیلو بایت |
تعداد صفحات فایل | 22 |
- دستگاههای بلوكی BLOCK DEVICE
2- دستگاههای كاركتری CHARACTER DEVICE
یك دستگاه بلوكی وسیله ای است كه اطلاعات را در یك بلوك با اندازه معین ذخیره می كند كه هر كدام با آدرس خودشان مشخص شده اند. حدود اندازه بلوكهای معمولی از 512 بایت تا 32768 بایت می باشند خاصیت اساسی یك دستگاه بلوكی این است كه خواندن و نوشتن هر بلوك را بطور مستقل از بقیه ممكن می سازد دیسكها از متداولترین دستگاههای بلوكی هستند.
نوع دیگری از دستگاههای ورودی/ خروجی، دستگاههای كاركتری است. یك دستگاه كاركتری یك جریان از كاركترها را بدون توجه به هیچ ساختار بلوكی، دریافت نموده و یا تحویل می دهد، بنابراین قابلیت آدرس دهی و جستجو در آن وجود ندارد. چاپگرها، واسطه های شبكه، موشواره ها و دیگر دستگاههایی كه شبیه دیسك نیستند، به عنوان دستگاه كاركتری در نظر گرفته می شوند. از دیدگاه دیگر دستگاههای ورودی/ خروجی به سه طبقه تقسیم می شوند:
1- قابل خواندن توسط انسان:
مناسب برای ارتباط با كاربر، مانند پایانه های نمایش دهنده تصویر، صفحه كلید و…
2- خواندن توسط ماشین:
مناسب برای ارتباط با وسائل الكترونیكی، مانند گردانندهای دیسك و نوار، حس كنندهها، كنترل كننده ها و محركها.
3- ارتباطات:
مناسب برای ارتباط با دستگاههای دور مانند، گرداننده های دیجیتالی خط و مودمها. تفاوتهای زیادی در بین هر طبقه وجود دارد كه مهمترین آنها عبارتند از:
نرخ انتقال، كاربرد، پیچیدگی كنترل، واحد انتقال، نمایش داده ها، شرایط خطا.
سازمان عمل ورودی/ خروجی
الف) ورودی/ خروجی برنامه ریزی شده: پردازنده یك فرمان ورودی/ خروجی را از جانب فرایندی به یك مولفه ورودی/ خروجی صادر می كند. سپس آن فرایند قبل از ادامه، تا كامل شدن عمل ورودی/ خروجی به انتظار می ماند.
ب) ورودی/ خروجی مبتنی بر وقفه: پردازنده یك فرمان ورودی/ خروجی را از جانب فرایند صادر می كند، سپس به اجرای دستورالعملهای بعدی ادامه می دهد و با كامل شدن عمل ورودی/ خروجی یا وقفه مولفه ورودی/ خروجی مواجه می شود. دستورالعملهای بعدی می توانند از همان فرایند باشند البته به شرطی كه فرایند نیازی به انتظار برای تكمیل ورودی/ خروجی نداشته باشد. در غیر این صورت فرایند در انتار وقفه معلق می گردد و كار دیگری انجام می گیرد.
پ) دسترسی مستقیم به حافظه DMA: مولفه DMA تبادل داده ها بین حافظه اصلی و مولفه ورودی/ خروجی را كنترل می كند. پردازنده تقاضایی برای انتقال یك بلوك از داده ها را به مولفه DMA می فرستد و فقط پس از انتقال كل بلوك مورد وقفه قرار می گیرد.
تكامل عمل ورودی/ خروجی
می توان گامهای تكاملی را بصورت زیر خلاصه نمود:
1- كنترل دستگاه جانبی بطور مستقیم.
2- یك كنترل كننده یا مولفه ورودی/ خروجی افزوده شده است. پردازنده از ورودی/ خروجی برنامه ریزی شده بدون وقفه استفاده می كند. با این گام پردازنده از جزئیات اختصاصی واسط های دستگاه خارجی جدا می گردد.
3- همان پیكربندی گام دوم، ولی این بار از وقفه استفاده شده است. دیگر وقت پردازنده تلف نمی شود.
4- از طریق DMA كنترل مستقیم حافظه به مولفه ورودی/ خروجی داده شده است. حال می توان بلوكی از داده را بدون دخالت پردازنده به/ از حافظه انتقال داد.
5- مولفه ورودی/ خروجی تا حد پردازنده ای مجزا، با مجموعه ای دستورالعملهای خاصی برای ورودی/ خروجی ارتقاء یافته است. پردازنده مركزی (CPU)، پردازنده ورودی/ خروجی را برای اجرای برنامه ورودی/ خروجی از حافظه هدایت می كند، پردازنده ورودی/ خروجی این دستورالعملها را بدون دخالت پردازنده مركزی واكنشی و اجرا می كند.
6- مولفه ورودی/ خروجی دارای حافظه محلی اختصاصی و در واقع به نوبه خود یك كامپیوتر است. با این معماری، مجموعه بزرگی از دستگاههای ورودی/ خروجی با حداقل دخالت پردازنده مركزی می تواند كنترل شود