Tag Archives: بنبست

جزوه سیستم عامل (بخش اول)

جزوه زیر حاصل تلاش من در راستای جمع آوری نکات مهم و کلیدی درس سیستم عامل میباشد. از آنجا که حجم این جزوه زیاد است، آن را در چندین پست و در فواصل زمانی ( حدود یک هفته ) در اختیار شما قرار میدهم. هر دو هفته یکبار هم منتظر تستهای کنکوری و کلیدی این درس و سایر درسهای مهم باشید.   نگاه کلی به سخت افزار عناصر اصلی 1- 1- پردازنده 1-2- حافظه اصلی 1-3- دستگاه های ورودی / خروجی 1-4- اتصالات داخلی سیستم شامل ساختار ها و راهکارهائی که ارتباط بین اجزاء ( پردازنده – حافظه – دستگاه های ورودی /خروجی )   1-1-1- ثبات پردازنده الف- ثباتهای قابل دسترس توسط کاربر : این ثباتها در دسترس تمام برنامه های کاربردی و برنامه های سیستم ب- ثبات های کنترلی وضعیت: این ثباتها برای کنترل عملیات پردازنده بکار گرفته می شود و قابل دسترسی بوسیله کاربران نیستند..مانند ثبات دستوالعمل ، شمارنده برنامه ( PC ) ، ثبات کلمه وضعیت ( PSW )   وقفه (interrupt ) نکته 1: وقفه توسط سخت افزار کامپیوتر تولید می شود هر چند علت آن می تواند نرم افزار باشد. نکته 2: یک هدف عمده ، از راهکار وقفه ، افزایش کارائی پردازنده می باشد. نکته 3: در هنگام اجرای خود هسته نیز وقفه اتفاق می افتد. CPU آنها را آشکار کرده و به جای پشته درون جدول ،فرآیند از پشته هسته استفاده می شود. نکته 4: امکان وقوع وقفه های تو در تو نیز وجود دارد و هرگاه روال سرویس دهی به وقفه بعدی خاتمه می یابد ، می توان وقفه قبل ازآن را تکمیل نمود.   در حالت کلی سه نوع وقفه در کامپیوتر وجود دارد: 1- وقفه خارجی 2- وقفه داخلی 3- وقفه نرم افزاری   -1 وقفه خارجی الف- زمان سنج (Timer): وقفه ای که توسط تایمر داخلی پردازنده تولید می شود. این وقفه به سیستم عامل اجازه می دهد، بعضی اعمال را به طور مرتب انجام دهد.در واقع به منظور تعیین زمان اجرای پردازنده در هر وهله کاری ب- وقفه تکمیل ورودی – خروجی: هنگامی تولید می شود که ورودی – خروجی کامل شده باشد یا خطائی در آنها رخ داده باشد.   ج- وقفه سخت افزار : وقفه ای است که بر اثر بروز خطا در سخت افزار ماشین رخ می دهد.مثل نقص برق د- وقفه Restart: وقفه ای است که بر اثر فشار دادن دکمه Reset بر روی کنسول ایجاد می گر دد.     وقفه داخلی(تله های حفاظتی و استثنا، ( Trap )) : بر اثر خطا های مختلف در برنامه کار بران رخ می دهد . این وقفه ها تله ( Trap) نیز نامیده می شود مانند تقسیم بر صفر ، سرریز شدن محاسباتی ، تلاش برای اجرای یک دستوالعمل ماشین غیر مجاز و مراجعه به آدرسی خارج از فضای مجاز کاربر   مثال : الف- فرض کنید برنامه ای می خواهد خلاف کند به حافظه دیگران دسترسی داشته باشد. مثال : ب- می خواهیم وقفه ها را از کار بندازیم . مثل : ج- هارد دیسک را فرمت کنیم Trap چیست؟هر گونه رفتن از مد کاربر به مد هسته را تله گویند. چه کسی Trap را کشف میکند؟ الف- هسته ب- پوسته ج- CPU د- Compiler   وقفه نرم افزاری : این وقفه ها همان فراخوانی سیستمی ( System Call) نامیده می شوند دستوراتی از برنامه کاربر هستند که با فراخوانی آنها نیاز به استفاده از حالت ناظر() و امکانات آن فراهم می گردد مثل در خواست اجرا ی یک ورودی – خروجی که با یک وقفه به ناظر (سیستم) واگذار می شود.     جدول بردار وقفه ( Vector Table ): بخشی از مکانیسم وقفه شامل یک جدول بردار می باشد که آدرس حافظه سرویس دهنده های وقفه را نگه می دارد . جدول آدرس به عنوان مکانی مطمئن برای نگهداری آدرس ها ی مهمی که کاری با وقفه ندارند ، استفاده می شود. برای هر کدام از این آدرس ها یک شماره وقفه متناظر وجود دارد ، اما تا وقتیکه روتین سرویس دهنده وقفه موجود نباشد ، هرگز نمی تواند استفاده شود.   وقفه به عنوان مکانیسمی استفاده می شو ند که کامپیوتر را به دنیای اطرافش متصل می کند. وقفه ها کامپیوتر را به گردش در می آورند، زیرا تمام کارها به شکل وقفه ها به کامپیوتر وارد می شوند. مهمتر اینکه تمام سازمان داخلی کامپیوتر بر اساس وقفه طراحی می شود. عامل کنتر لی که تعیین می کند توجه پردازنده در کجا متمر کز خواهد شد.   مکانیسم وقفه :   هر وقفه یک شماره دارد که نوع وقفه را مشخص میکند . به عنوان مثال یک شماره وقفه برای دیسک گردانها استفاده می شود ( تمام گرداننده ها دارای یک وقفه می باشند ) ساعت، صفحه کلید ، چاپگر ها نیز هر کدام یک شماره مخصوص دارند، برای هر شماره وقفه یک برنامه مخصوص به نتم سرویس دهنده وقفه ( Interrupt handler ) جدول مخصوص که در اوایل حافظه کامپیوتر قرار دارد آدرس کامل سرویس دهنده های وقفه را ضبط می کند . هنگامیکه وقفه ای رخ می دهد ، از شماره وقفه برای پیدا کردن برنامه سرویس دهنده وقفه استفاده می شود . اما پیش از اینکه سرویس دهنده وقفه شروع به کار کند ، که مکانیسم پردازش وقفه ، رکوردی از وضعیت کاری که در جر یان بود را بر روی پشته ذخیره می کند . بعد از اجرای وقفه ، کنترل پردازنده از روتین سرویس دهنده وقفه انتقال می یابد . سرویس دهنده وقفه اغلب در برنامه تعبیه شده ROM_BIOS یا به عنوان بخش از سیستم عامل ظا هر میشوند.   منتظر ادامه این مبحث در روزهای آینده باشید

Read More »