سیستمهای عامل 2
همانگونه که پیشتر اشاره شد، اغلب سختافزارها خود یک رایانه به شمار میآیند. پس در برخی جاها به طور مستقل عمل میکنند. مثلاً برای صرفهجویی در زمان، به جای آنکه اطّلاعات به صورت لحظه به لحظه به کارت صدا ارسال شود، اطّلاعات برای زمانی در حدود چند ثانیه (به صورت بافر) به کارت صدا ارسال شده و در RAM آن قرار میگیرد. قبل از خالی شدن RAM آن، وقفهای به CPU ارسال شده و درخواست اطّلاعات مجدد میکند که باید از CD خوانده شود. در RAM خود قرار داده و هنگام درخواست کارت صدا، ابتدا اطّلاعات از رم CD Drive به رم سیستم منتقل شده و سپس به RAM کارت صدا منتقل میشود که تمام این عملیّات با مدیریّت و کنترل سیستم عامل صورت میگیرد.
تا اینجای کار تا حدّی با پیچیدگی کار سیستم عامل آشنا شدید. امّا کار به همینجا ختم نمیشود. معمولاً سیستم عامل کارهایی بیشتر از آنچه تا کنون بررّسی شد انجام میدهد. فرض کنید هنگام گوش دادن به موسیقی، میخواهید یک متن برروی چاپگر، چاپ کنید. اگر سیستم عامل شما چند وظیفهای (Multi Tasking) باشد، شما احساس خواهید کرد این کارها به طور همزمان اجرا میشوند؛ امّا در واقع چنین نیست. سیستم عامل در تخصیص زمان CPU برای انجام این دو وظیفه چنان عمل میکند که محاسبات CPU در کسری از ثانیه به وظیفهی اوّل و در کسری از ثانیه به وظیفهی دوّم اختصاص مییابد. منتها این کار با چنان سرعت و دقّتی انجام میشود که به صورت همزمان جلوه میکند. گاهی شما چندین کار گوناگون را در آن واحد انجام میدهید و هر کاری چندین سختافزار را درگیر میکند و هر سخت افزار چندین وقفه را به خود اختصاص میدهد. بنابراین سیستم عامل مجبور است تمام این وقفهها را کنترل کرده و اولوییّتها را چنان سامان دهد که درخواستهای شما به درستی و به صورت منطقی برآورده گردد. به همین خاطر است که درخواستهای متعدّد، موجب کندی سیستم میشوند، چرا که همهی آنها از منابع مشترک بهره میبرند و وقتی این درخواستها به حالت اشباع میرسند (منابع موجود جوابگوی همهی درخواستهای شما نمیشوند)، سیستم هنگ میکند و این همان چیزی است که همهی شما به کرّات با آن دست و پنجه نرم کردهید.
برخی از سخت افزارها نسبت به سایر قطعات از سرعت کمتری برخوردارند. معمولاً سختافزارهایی که قطعات مکانیکی دارند، مانند پرینتر، دیسک سخت، سی دی یا دی وی دی و مخصوصاً دیسک نرم (Floppy Drive) سرعتشان نسبت به سایر سختافزارها بسیار کمتر است؛ بنابراین اگر هنگام پخش موسیقی بخواهیم فایلی را از روی دیسک نرم کپی کنیم در پخش موسیقی وقفه ایجاد میشود. زیرا هنگامی که طبق زمانبندی سیستم عامل، زمان به فلاپی اختصاص مییابد، به علّت سرعت پایین آن کار دیر انجام میشود و چون CPU در اختیار این منبع قرار دارد، حتّی با مشاهدهی وقفهای با اولویّت بیشتر، نمیتواند منبع را سریعاً رها کند، چرا که باید وضعیّت جاری را ثبت کرده سپس منبع را رها کند تا در مراجعهی بعدی جهت ادامهی سرویس دهی، اطّلاعات از بین نرفته باشد. حال اگر در این اثنا دیسک فلاپی شما دارای خرابی (Bad Sector) باشد، باز هم وضعیّت بغرنجتر میشود. گرچه دیگر فلاپی درایوها از رده خارج شدهاند، امّا این داستان هنوز هم در مورد چاپگرها، سیدیها، دی وی دی درایوها و تا حدّی دیسک سختها مصداق دارد.
وقتی سختافزاری فعّال میشود، از CPU درخواست سرویس میکند. چنانچه وقفهی آن دارای اولویّت باشد، وضعیّت فعلی سختافزاری که در حال سرویسگیری است ثبت شده و سختافزار جدید، سرویس گیری را آغاز میکند.
چون سختافزارهای دیگر سرعت پایینتری نسبت به CPU دارند، پس زمان کوتاهی (چند میلیونیوم ثانیه) سرویسدهی به سختافزار قبلی موقّتاً قطع میشود تا سختافزار جدید کار خود را آغاز کند. سپس سختافزاری که وضعیّت آن ثبت شده بود، مجدّداً فعّال میشود، امّا باز ممکن است سختافزار دوّم درخواست سرویس کند که همان فرایند قبلی تکرار میشود. فرض کنید در این بین سختافزار جدیدی درخواست سرویس کند؛ در این حالت باید وضع هر دو سختافزار قبلی ثبت شود و سرویس دهی به سختافزار جدید شروع گردد.
ضمناً دقّت کنید که برخی کارها دائماً در حال انجام هستند. مثل مدیریّت حافظه و کنترل صفحه نمایش. حتّی وقتی که رایانهی شما فقط روشن است و هیچ کاری با آن ندارید، سیستم عامل و CPU درگیرند.
پس با توجّه به مطالب عنوان شد (که البته به اختصار و با زبانی ساده و بدور از پیچیدگیهای بحث) نتیجه میشود کار یک سیستم عامل بسیار پیچیده بوده و برخی مشکلات آن گریزناپذیرند. گرچه سیستمهای عامل هرروز مورد بازبینی و رفع مشکل قرار میگیرند امّا به موازات آن، سختافزارهای دیگر نیز روزبروز قویتر و متنوّعتر میشوند و نیازهای تازه زاده میشوند. بنابراین سیستمهای عامل نیز باید همواره خود را با آنها تطابق دهند و این سازگاری لحظه به لحظه خالی از عیب و ایراد نبوده و وجود برخی مشکلات، اجتناب ناپذیر است.
منابع:
کتاب درسی مبانی علم رایانه سال سوّم ریاضی فیزیک
کتاب درسی سختافزار رشتهی کامپیوتر شاخهی آموزش فنّی و حرفهای
کتاب مبانی کامپیوتر نوشتهی سعید سعادت چاپ پنجم سال 77