Tag Archives: جزوه سیستم عامل

دانلود جزوه سیستم عامل

  ضمنا باید از دوست خوبم علی نایب پور که زحمت اسکن جزوات را کشیدند تشکر کنم.     دانلود جزوه مفاهیم سیستم عامل– حجم 3.3 mb   دانلود جزوه 100 تست سیستم عامل حجم 1.7 mb  

Read More »

دانلود جزوه مفاهیم سیستم عامل

جهت دانلود جزوه مفاهیم سیستم عامل ( ویژه داوطلبان آزمون کاردانی به کارشناسی کامپیوتر ) بر روی لینک زیر کلیک کنید لینک دانلود جزوه مفاهیم سیستم عامل ( 60 کیلو بایت )

Read More »

تاریخچه سیستم عامل

اولین کامپیوتر رقمی واقعی توسط یک ریا ضیدان انگلیسی به نام چارلز بابیج ( charles babbage ) 1871-1792 طراحی شده است با بیج بیشتر عمر و ثروت خود را برای ساختن موتور تحلیلی صرف کرد ولی به علت اینکه فقط از مکانیک محض استفاده کرد به نتیجه دلخواه خود نرسید. موتور تحلیلی وی سیستم عامل نداشت بابیج فهمیده بود که موتور تحلیلی اش به نرم افزار نیاز دارد بنابر این ار خانم جوانی را به نام () استخدام نمود . او دختر شاعر مشهور انگلیسی لرد بایرون بود که به عنوان اولین برنامه نویس جهان شناخته شد.{تننباوم} 1- نسل اول (1955-1945) :لامپ خلا و تخته های مدار های سوراخ دار انداز ه ماشین ها بسیار بزرگ بود و به همراه دهها هزار لامپ خلا داخل اتاق ها را پر می کرد کلیه برنامه به طور مطلق به زبان ماشین نوشته می شد. و اغلب به وسیله سیم بندی تخته مدار های سوراخ دار و به منظور کنترل عملیات باید ماشین پایه ای ماشین انجام می شد. زبانهای برنامه نویسی شناخته نشده بود ( حتی زبان اسمبلی ) و هیچ کس نامی از سیستم عامل نشنیده بود . اکثر برنامه ها مثل تهیه جداول سینوس و کسینوس بود. تننباوم} برنامه ساز مستقیما با سخت افزار در تراکنش بود ، سیستم عاملی در کار نبود. 2- نسل دوم (1965-1955): ترانزیستو ر و سیستم های دسته ای ظهور ترانزستور در اواسط دهه 1950 یک انقلاب بنیادی بود . این ماشین ها در اتاق های مخصوص کامپیوتر با تهویه مطبوع مستقر می شود و گروهی از اپراتو رها ی حرفهای راهبری آن را بر عهده می گرفتند. برای اجرای یک کار(job) ، یک برنامه نوییس برنامه (به زبان فرترن یا اسمبلی )خود را بر روی کاغذ می نوشت سپس آنر بر روی کارت ها منگنه می کرد و یک دسته کارت را به اتاق کامپیوتر می آورد و به یکی از اپراتورها تحویل میداد. در صورتیکه برنامه به مترجم فرترن نیاز داشت وی دسته کارت مترجم فرترن را نیز از داخل کمد فایل ها بر داشته و در دستگاه کارتخوان قرار می داد . هنگامیکه اپراتورها برای انجام این کار ها در اتاق ماشین را ه می رفتند ، مدت زمان زیادی از وقت کامپیوتر تلف می شد. را ه حلی که به طور کلی پذیرفته شد ، سیستم های دسته ای ( Batch system ) بود. ایده این روش این بو د که یک سبد پر از دسته کارتها در اتاق ورودی جمع آوری شود سپس کلیه آنها به وسیله دستگاه کارتخوان یک کامپیوتر کوچک و ارزان قیمت ها IBM 1401 خوانده شده و از طریق یک نوار گردان بر روی نوار مغناطیس ذخیره گردد .این IBM 1401 برای محاسبات مناسب نبودند و از یک ماشین گران قیمت IBM 7094 کامپیوتر ها برای پردازش و محاسبات واقعی استفاده می شد. پس از حدود یک ساعت که برای جمع آوری یک دسته از کارها برای نوار صرف می شد ، یک اپراتور نوار را از اتاق کامپیوتر می آورد و یکی از اپراتور ها تحویل می داد. در صورتیکه برنامه به مترجم فرترن نیاز داشت . وی دسته کارت مترجم فرترن رانیز از داخل کمد فایل ها برداشته و در دستگاه کارتخوان قرار می داد . هنگامیکه اپراتور ها برای انجام این کارها در اتاق ماشین راه می رفتند ، مدت زمان زیادی از وقت کامپیوتر تلف می شد. راه حلی که به طور کلی پذیرفته شد ، سیستم های دسته ای () بود. ایده این روش این بود که یک سبد پر از دسته کارتها در اتاق ورودی جمع آوری شود ، سپس کلیه آنها به وسیله دستگاه کارتخوان یک کامپیوتر کوچک و ارزان قیمت IBM 1401 خوانده شده و از طریق یک نوار گردان بر روی نوار مغناطیسی ذخیره گردد. این کامپیوتر ها () رای محاسبات مناسب نبودند و از یک ماشین گران قیمت (7094) برای پردازش و محاسبات واقعی استفاده می شود. حدود یک ساعت طول مکیشد که یک دسته از کارها بر روی نوار ضبط شود پس از یک ساعت یک اپراتور نوار را از اتاق برداشته و به اتاق ماشین منتقل می کرد و درآنجا در یک نوار گردان قرار می داد. سپس یک برنامه مخصوص (سیستم عامل ) را بار می کرد تا اولین کار از روی نوار بخواند و اجرا نماید. خروجی به جای چاپگر بر روی یک نوار دیگر نوشته می شد. پس از اتمام هر کار ، سیستم عامل به صورت خودکار ، کار بعدی را از نوار می خواند و شروع به اجرای آن می کرد . وقتی که تمامی دسته کار ها اجرا می شد ، اپراتور نوار های ورودی و خروجی را بر می داشت ، نوار ورودی را با دسته بعدی جایگزین کرده ، نوار خروجی را به ماشین 1401 منتقل میکرد تا عملیات چاپ به صورت OFF Line (به کامپیوتر اصلی متصل نیست ) انجام شو د.{تننباوم } سیستم عامل در این گونه کامپیوتر ها بسیار ساده بود . کار اصلی آن ، انتقال از یک کار به کار دیگر بود. سیستم عامل همیشه در حافظه قرار داشت. {سیلبر شاتس} ویژگی های سیستم عامل دسته ای :{ سیلبر شاتس } 1- کاربر با کار ی که در حال اجرا بود تعاملی نداشت. 2- درچنین محیطی CPU اغلب بیکار است چون سرعت دستگاه های I/O مکانیکی کمتر از سرعت دستگاه های الکترونیکی مثل CPU است. مثلا CPU در یک ثانیه هزاران دستورالعمل انجام می دهد. در حالکه دستگاه کارت خوان سریع در یک دقیق 1200 کارت را می خواند.در نتیجه تفاوت سرعت بین CPU و دستگاه های I/O بسیار زیاد است. 3 – تخصیص CPU در چند برنامه ای انحصاری (Non Preemptive ) است . استفاده از فناوی دیسک ، موجب افزایش سرعت دستگاه های I/o شده است . به جای اینکه کارت ها از طریق کارت خوان به حافظه خوانده شوند . سپس کاربر پردازش شود کارت ها مستقیماً به دیسک خوانده میشوند .{سیلبر شاتس } Job چیست؟ مجوعه ای از یک 1- برنامه ( program ) 2- داده ورودی (input data ) 3- دستوارت سیستم عامل(O.S Command ) JCL( Job Control Language ) یک زبان کنترل است. ساختار یک کار نوعی در FSM 1-این ساختار بایک کارت $JOB شروع می شود. که مشخص کننده حداکثر زمان اجرا به دقیقه ، شماره حساب برای حسابداری هزینه ها و نام برنامه نویس می باشد. $JOB , 10, 6610802, MARVIN TANENBAUM 2-سپس یک کارت$FORTRAN قرار دارد که به سیستم عامل اعلام می کند که کترجم فرترن را از روی نوار سیستم بار نماید. 3- سپس کارتهای برنامه ای که باید ترجمه شود قرار دارد و کارت$LOAD به دنبال آن قرار گرفته است.این کارت سیستم عامل را ودار میکند که برنامه OBJECT (مستقیماً ترجمه شده ) را بار نماید -4سپس نوبت به کارت $RUN می رسد که به سیستم عامل می گوید اجرای برنامه ها را به همراه داده هایش که در کارتهای بعدی قرار دارد، آغاز نماید. -5در انتها کارت $End قرار گرفته است که نشان دهنده پایان کار است. کامپیوتر های بزرگ نسل دوم بیشتر برای محاسبت مهندسی و علمی بکار می رفت . برنامه آنها بیشتر به زبان فرترن و اسمبلی نوشته می شد. و معمولا از سیستم عامل FSM ( Fortran Monitor System ) و IBSYS (سیستم عامل IBM برای 7094) استفاده می شد. 3- نسل سو م (1980-1965):مدارات مجتمع و چند برنامگی IBM سری 360 اولین خط تولید کامپیوتر های بزرگ بود که از مدارات مجتمع با مقیاس کوچک استفاده کرد بنابراین نسبت به کامپیوتر های نسل دوم که از ترانزیستور ها ی جداگانه ساخته می شود نسبت به کارایی از هزینه بالاتری برخوردار بود. IBM یک سیستم عامل عظیم الجثه و بسیار پیچیده بود که این سیستم عامل از میلیون ها خط اسمبلی که توسط هزاران برنامه نویس نوشته شده است . سیستم عامل OS/360 چندین تکنیک کلیدی جدید که در سیستم عامل های نسل دوم وجود نداشت متداول نمود. شاید مهمترین این تکنیک ها ، چند برنامگی ( Multi Programming ) بود. در محاسبات علمی سنگین تنگنای محاسباتی CPU_BOUND (Multi Limited) ، I/O به ندرت به کار می رود. اما در پردازش داده های تجارتی ، زمان انتظار I/O اغلب 80 تا 90 درصد کل زمان را به خود اختصاص می دهد. و CPU بیشتر بیکار است. برای حل مشکل ، حافظه را به چند تکه تقسیم بندی نماییم. اگر چه سیستم های نسل سوم برای محاسبات علمی بزرگ و پردازش داده های تجازی مناسب بود ، ولی هنوز سیستم های دسته ای بودند. ویژگی سیستم عامل نسل سوم : 1- بلا فاصله پس از ورود کارها به اتاق کامپیوتر ، می توانند کارتها را خوانده و به دیسک منتقل نمایند. 2- بنابراین هرگاه یک کار ، در حال اجرا به پایان می رسد ، سیستم عامل می تواند یک کار جدید را از روی دیسک برداشته و در یک بخش خالی شده از حافظه بار نماید و سپس آنرا ، به اجرا در آورد . این تکنیک که Spooling نامیده می شود. 3- برای خروجی نیز ، به کار گرفته شده با SPOOLING دیگر نیازی به 1401 و نوار گردان های اضافی و حمل نوارها نبود.{ تننباوم }  

Read More »

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

حافظه اصلی کامپیوتر 1-اولین بخش جدول بردار (Interrupt Vector) می باشد که محل روتین های سرویس دهنده وقفه را تعریف می کند.این جدول آدرس 0 تا 400 هگزا را اشغال می کند. 2- دومین فضا به عنوان محل کار روتین های ROM _BIOS استفاده می شود. از بین چیز های زیادی که در فضای داده ROM_BIOS ذخیره می شود. به یک BUFFER که ضر به های کلید را پیش از اینکه برنامه برای در یافت آنها حاضر باشد در خود نگه می دارد . 3- سومین بخش فضای پایین حافظه فضای کار کامپا یلر ها و سیستم عامل می باشد. 4- بخش اصلی فضای کاری حافظه قسمتی است که برنامه ها و داده های آنها استفاده می شود.   هر وسیله برنامه سرویس دهی خاص خود را دارد و از طریق یک دستوالعمل (JMP) ، آدرس بردار قرار دارد قابل دسترسی است. مثال: فرض کنید که صفحه کلید بیت وقفه را 1 کند. در پایان سیکل دستوالعمل ،کامپیوتر به سیکل وقفه میرود. ابتدا آدرس بازگشت برنامه در حال اجرا را در پشته ذخیره می کند و سپس CPU آدرس بردار 00000011(3) را از گذر گاه پذیرفته و آنرا به ثبات PC ( ثبات شمارنده ) انتقال میدهد. آنگاه دستوالعمل واقع در مکان 3 اجرا شده ، و در نتیجه کنترل به روال KBD (برنامه سرویس دهی به صفحه کلید ) منتقل می شود. آخرین دستور در هر برنامه ، دستوالعمل بازگشت از وقفه است. { معماری کامپیوتر – موریس مانو } در رابطه با هر کلاس از دستگاه های I/O در قسمت پایینی حافظه ناحیه ای به نام بردار وقفه ( Interrupt ) وجود دارد که شامل آدرس روتین سرویس وقفه ( Interrupt Service Procedure ) می باشد. فرض کنید فرآیند 3 در حال اجرا است که ناگهان یک وقفه در رابطه با دیسک اتفاق می افتد . این وقفه باعث می شود که PC (شمارنده برنامه )، PSW(کلمه وضعیت برنامه ) و چند رجیستر دیگر توسط وقفه سخت افزاری در پشته (جاری) ققرار گیرند. سپس کامپیوتر به آدرس مشخص شده در بردار وقفه ( Interrupt Verctor ) پرش میکند. تااین مرحله کاملاً توسط سخت افزار انجام می شود ولی از این مرحله به بعد به عهده نرم افزار است. روتین سرویس وقفه با ذخیره سازی کلیه رجیستر ها در درایه ای از جدول فرآیند که مر بوط به فرآیند جاری است آغاز می شود.اعمالی نظیر ذخیره سازی رجیستر ها و تغییر اشاره گر پشته (به راحتی) در زبان C انجام نمی شود. بنابراین این موارد توسط رویه کوچکی که به زبان اسمبلی نوشته شده است انجام می شود. .{ تننباوم 65 }   روشهای انتقال ورودی /خروجی { معماری کامپیوتر – موریس مانو }   تبادل داده با وسایل جانبی به سه طریق زیر امکان پذیر است.   -1ورودی خروجی برنامه نویسی شده -2ورودی /خروجی بطریقه وقفه -3دستیابی مستقیم به حافظه DMA (Direct Memory Access)   -1 ورودی /خروجی برنامه سازی شده   در این روش ،CPU در یک حلقه از برنامه باقی می ماند تا واحد I/O مشخص نماید که برای انتقال داده آماده است . این فرآیند موجب اتلاف قابل توجه وقت می شود. زیرا پردازنده زا بی آنکه لازم باشد مشغول نگه می دارد . برای جلوگیری از بهدر رفتن وقت پردازنده از امکانات وقفه (Interrupt ) استفاده کرد.در این روش انتقال داده بین CPU و دستگاه جانبی انجام می شود.. در این روش ، برنامه ای برای کامپیوتر نوشته شده است تا پرچم را در ثبات وضعیت وارسی نموده و تعیین کند که آیا وسیله I/O بایتی در ثبات قرارداده است یا خیر . این عمل با خواندن ثبت وضعیت و قراردادن آن در یک ثبات CPU و وارسی بیت پرچم صورت می گیرد. اگر پرچم برابر 1 باشد ، CPU داده را از ثبات داده می خواند . سپس بیت پرچم با 0 شدن به وسیله ،CPU ، پاک می شود. . بعد از صدور فرمان لازم برای اجرای ورودی / خروجی به مولفه مر بوطه ، عمل درخواست شده توسط مولفه ورودی / خروجی انجام میشود و بیتهای مناسب از ثبات وضعیت ورودی / خروجی مقدار گذاری میشود و هیچ اطلاعی به پردازنده داده نمی شود. این مسئولیت پردازنده است که وضعیت مولفه ورودی / خروجی را متنا وبا ٌ بررسی نماید تا اتمام آن عمل را دریابد .   2- ورودی / خروجی بطریقه وقفه بعد از صدور فرمان به مولفه ورودی / خروجی ، پردازنده به کار مفید دیگری میپردازد . بعد از تکمیل عمل ورودی / خروجی هنگامی که داده ها در بافر داده های آن مولفه قرار گرفت مولفه ورودی / خروجی از طریق یک خط کنترلی به پردازنده وقفه میدهد، سپس داده هایش توسط پردازنده ، درخواست شده و به حافظه منتقل می گردد. در این روش CPU مادامی که مشغول اجرای یک برنامه است پرچم را وارسی نمی کند. با این وجود ، هنگامیکه پرچم 1 شده باشد، یک وقفه CPU را لحظه ای از اجرای برنامه جاری متوقف ساخته و 1 شدن پرچم را به آن اطلاع می دهد. CPU از آنچه در حال انجام آن است منصرف شده و به انتقال ورودی یا خروجی می پردازد.پس از تکمیل شدن اتنتقال ، کامپیوتر به برنامه اصلی بر می گردد تا آنچه را که قبل از وقفه انجام می داد ادامه دهد.   3-ورودی / خروجی میتنی بر وقفه همراه با مولفه DMA   انتقال داده بین یک وسیله ذخیره سازی سریع مانند دیسک مغناطیسی و حافظه اغلب بوسیله سرعتCPU محدود می شود. حذف CPU از مسیر و ایجاد امکان کنترل مستقیم گذرگاه حافظه توسط وسیله جانبی سرعت انتقال را بهبود می بخشد. این تکنیک انتقال دستیابی مستقیم به حافظه (DMA) نام دارد در حین انتقال بروش DMA ، CPU بیکار است و کنترلی بر گذر گاه های حافظه ندارد . یک کنترل کننده به منظور اداره مستقیم امر انتقال بین حافظه و وسیله I/O ، کنترل گذرگاه را بدست می گیرد. در این روش که برای انتقا ل داد ه های حجیم کارآمد تر است ، پردازنده با ارسال اطلاعات شامل ، عمل ورودی / خروجی ، آدرس دستگاه ورودی /خروجی ، محل حافظه برای خواندن یا نو شتن و تعداد کلماتی که باید خوانده ویا نوشته شود ، مولفه DMA را فعال میسازد . سپس پردازنده به کار دیگری می پردازد ، ، زمانی که انتقال ورودی / خروجی به اتمام رسید مولفه DMA علامت وقفه را صادر می نماید . بنابراین بدون دخالت پردازنده داده ها مستقیماً به حافظه منتقل می شود. پس نتیجه می گیریم که برای انتقال ورودی / خروجی های چند کلمه ای DMA بسیار کارآمد تر از روش های ورودی / خروجی برنامه سازی شده یا مبتنی بر وقفه است. توجه نمائید که مولفه DMA به منظور انتقال اطلا عات به حافظه یا بالعکس می بایست از گذرگاه استفاده نماید. بنابراین مولفه DMA باید زمانی از گذرگاه استفاده نماید که پردازنده به آن نیازی ندارد و یا باید پردازنده را وادار کند که موقتا ً عملیاتش را با تاخیر اندازد . روش اخیر را سرقت سیکل Cycle Stealing ) (می گویند زیرا مولفه DMA در اصل یک چرخه گذرگاه را می رباید . مولفه DMA هر بار که گذرگاه را در اختیار می گیرد (زمان واکشی دستور و یا واکشی عملوند ) یک کلمه را منتقل می کند و کنترل را به پردازنده باز می گرداند توجه نماید که این وقفه نیست ، بلکه به اندازه یک چرخه گذرگاه منتظره می ماند.CPU صرفاً عملکرد خود را به اندازه یک سیکل حافظه به تاخیر می اندازد تا عمل انتقال حافظه I/O به طور مستقیم صورت گرفته و یک سیکل حافظه را برباید. » لطفا جهت طرح سوالات خود، فقط به انجمن سايت مراجعه نمایید. «

Read More »

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

تفاوت سیستم عامل با ROM_BIOSچیست؟ سیستم عامل بطور مستقیم کاربر را سرویس دهی میکند در صورتیکه ROM_BIOS چنین کاری را انجام نمی دهد. تفاوت دیگر در این است که ROM_BIOS سرویس های خود را در سطحی پایین تر برای برنامه ها عر ضه می نماید. در صورتیکه بیشتر سرویس هی سیستم عامل سرویس های پیچیده ایی است و در سطحی بالا عر ضه می گردد. کنترل کننده دیسک دستوالعمل را از BIOS یا درایور ها به سیگنال الکتریکی ترجمه می کند که باعث حرکت هد خواندن / نوشتن روی مکان دیسک می شود. این عمل باعث ایجاد سیگنالهای مغناطیسی شده و بدین تر تیب داده ها ی یک سند روی سطح دیسک ثبت و ضبط می شود. BIOS را میتوان یک نرم افزار خاص برای برقراری ارتباط میان سیستم عامل و اجزای سخت افزاری نامید که معمولا بر روی یک حافظه از نوع Flash بر روی مادر بورد ذخیره میشود ولی گاهی اوقات از نوع ROM نیز ساخته میشود که تفاوت این دو با هم در این است که BIOS از نوع ROM قابلیت تغییر یافتن را ندارد ولی نوع Flash را میتوان به روز رسانی کرد .   به طور کلی برای BIOS می توان چهار وظیفه مهم را بر شمرد :   1. می توان گفت مهمترین وظیفه BIOS بارگذاری سیستم عامل است . همانطور که می دانید سیستم عامل بر روی هارد دیسک ذخیره شده است و هنگامی که کامپیوتر را روشن میکنیم و ریز پردازنده تلاش میکند تا اولین دستور را اجرا کند باید این دستورات را از جایی بخواند و اجرا نماید و مسلما از سیستم عامل نمی تواند این کار را انجام دهد،BIOS این دستورات را فراهم میکند . 2. تست خودکار تمام اجزای سخت افزاری سیستم جهت اطمینان از صحت کارکرد انها . 3. فعال کردن سایر BIOS های موجود در کارت های مختلفی که برروی سیستم نصب است. 4. BIOS علاوه بر کارهای فوق یکسری زیر برنامه ها ی سطح پایینی را هم در اختیار قرار می دهد که سیستم عامل برای بر قراری ارتباط با برخی سخت افزار ها نیاز دارد مثلا صفحه کلید ، صفحه نمایش ، پورت های سریال و موازی ر اکنترل میکند،مخصوصا هنگام بوت شدن سیستم !! (همین زیر برنامه ها نام BIOS -Basic Input/Output System- را به آن داده اند )   هنگامی که سیستم روشن می شود BIOS اعمال مختلفی را انجام می دهد که ما در اینجا یک روال معمول را به شما گوشزد میکنیم : 1. بررسی تنظیمات دستی CMOS (Complementary Metal-Oxide Semiconductor): اولین کاری که BIOS انجام می دهد بررسی اطلاعات ذخیره شده بر روی یکRAM 64 بایتی به نام CMOS می باشد که جزئیات سیستم را تامین میکند و میتواند با توجه به مشخصات سیستم تغییر یابد ،BIOS به این اطلاعات بری اجرای صحیح دستورات خود نیاز دارد . 2. بار گذاری کنترل کننده های وقفه و راه اندازی سخت افزاری:کنترل کننده وقفه قطعه نرم افزاری کوچکی است که به عنوان مترجم میان سخت افزار و سیستم عامل عمل میکند به عنوان مثال هنگامی که یک کلید بر روی صفحه کلید فشرده میشود یک سیگنال به کنترل کننده وقفه فرستاده شده که به CPU می گوید که چه کلیده فشرده شده و آنرا به سیستم عامل ارسال میکند . راه انداز های سخت افزار ، قطعات نرم افزاری هستند که اجزای سخت افزاری پایه از جمله صفحه کلید و ماوس و هارد و فلاپی و را تعریف می کند که برای افزایش سرعت بر روی RAM بارگذاری می شوند .بد از بار گذاری کنترل کننده وقفه نوبت به کارت گرافیک می رسد، در این هنگام بررسی می شود که آیا کات گرافیک فعال است یا خیر ؛ در صورت فعال بودن BIOS کارت گرافیک ، مادربرداین BIOS را بارگذاری میکند . 3. مقدار دهی اولیه ثبات ها و مدیریت جریانهای الکتریکی داخل سیستم 4. انجام تست خود کار هنگام روشن شدن(POST ) سپس BIOS چک میکند که که آیا بوت شدن ،یک بوت شدن سرد است (Cold Boot) یا بوت مجدد (ReBoot) .اگر از نوع دوم باشد بایوس اعمال مربوط به POST را دیگر انجام نمی دهد زیرا قبلا یک بار انجام گرفته اند . اما اگر بوت سرد باشد BIOS حافظه RAM را با انجام تست خواندن / نوشتن بر روی هر آدرس حافظه بررسی میکند . سپس BIOS پورت های PS/2 و USB را برای صفحه کلید و ماوس چک میکند و در صورت وجود گذرگاه PCI ( Prepheral Component Interconnect ) همه کارت های PCI را بررسی میکند اگر بایوس هنگام POST به مشکل بر بخورد این خطا با بوق یا متن به کاربر اطلاع داده میشود .   5. نمایش تنظیمات دستی :بعد از مراحل فوق BIOS برخی جزئیات سیستم را نمایش میدهد ازجمله : · پردازنده · فلاپی درایو و هارد درایو · حافظه · نسخه و تاریخ ساخت BIOS · نوع سخت افزار نمایشی 6. تعیین اینکه کدام دستگاهها قابل بوت شدن هستند 7. شروع کردن روال نوار بوت : بعد از نمایش جزئیات ، BIOS راه انداز قطعاتی مانند SCLS ( Small Computer System interface ) را که همراه خود قطعه است را بارگذاری میکند .پس از طی این مراحل ،برای اجرای سیستم عامل BIOS ترتیب قطعاتی را که به عنوان قطعات بوت کننده در CMOSانتخاب شده اند را بررسی میکند و سعی میکند تا روال بوت شدن را از اولین قطعات پیدا کند و اگر هیچ قطعه ای را پیدا نکند روند بوت قفل میشود . این آخرین فعالیت BIOS در هنگام بوت شدن می باشد پس از آن در صورت یافتن سیستم عامل ، مدیریت سیستم به دست سیستم عامل سپرده میشود .   :ROM_BIOS مجموعه ای از برنامه های تعبیه شده در کامپیوتر می باشد که اصلی ترین و سطح پایین ترین عملیات کنترل و نظارت را برای کامپیوتر انجام می دهند. ROM_BIOS در پایین ترین لایه قرار دارد لایه ای که در زیر تمام نرم افزار ها و عملیات در جدار کردن سایر برنامه ها از جزئیات نحوه کار سخت افزار می باشد. ROM_BIOS بطور اساسی یک رابط ، متصل کننده ، و مترجم بین سخت افزار کامپیوتر و برنامه های نرم افزار ی می باشد. نرم افزار هایی اینچنین چون بطور ثابت در تراشه های سخت افزاری ROM ذخیره می شوند FIREWARE گفته می شوند آنچه را که . ROM_BIOS باید انجام دهد کنترل مستقیم سخت افزار و پاسخ به هر تقاضایی از سوی سخت افزار است .نحوه انجام اینکار به مقدار زیاد ی توسط در گاهها انجام می گیرد.   مجموعه از برنامه های مهم و اصلی پشتیبان کلی عملیات کامپیوتر در ROM_BIOS نگهداری می گردند. این برنامه ها از دوبخش اصلی تقسیم می شوند   1- بخش اول فقط در هنگام روشن شدن کامپیوتر استفاده می شوند : این گروه برنامه های تست و مقدار دهی اولیه هستند که مطمئن می شوند کامپیوتر در وضعیت کاری خوبی قرار دارد. تاخیری که بین زمان روشن کردن کامپیوتر تا شروع کار آن وجود دارد توسط عملیات این برنامه های تست و مقدار دهی یا ( Power On Self Test ) POST بوجود می آید.   2- بخش دوم گروهی از روتینها به نام سرویس های اصلی ورودی / خروجی یا BIOS ( Basic Input /Output Service ) می باشد. این برنامه ها کنترل درونی و مفصلی را بر روی بخشهای مختلف کامپیوتر ، مخصوصاً وسایل ورودی / خروجی ، مانند دیسک گردانها فراهم می کنند. گرداننده ها() احتیاج به نظارت دقیقی (شامل نظارت جامع برای خطا ها ) دارند. ROM-BIOS برای کمک به کل عملیات کامپیوتر سرویس های متعدد و مفیدی را ارائه می کند که قابل دسترس برای استفاده توسط سیستم عامل ( Dos,windows) و برنامه های کاربردی می باشند.آخرین بخش روتین های را ه اندازی در ROM_BIOS روتین بوت می باشد که سعی میکند سیستم عامل را در کامپیوتر بوت کند. عمل بوت تلاش ROM_BIOS برای خواندن رکورد بوت کننده از آغاز دیسک را در بر دارد. دو بخش دیگر ROM_BIOS بخش اصلی عملیات اجرایی کامپیوتر را شکل می دهد. این دو بخش سرویس دهنده وقفه سخت افزار (hardware -interrupt handler ) و دستگذاری سرویس (service – handling ) می باشد. آنها به عنوان دو نوع روتین مجزا اما همکار عمل می کنند. 3-بخش سوم ROM-BIOS که فقط برای اعضا خانواده PC ساخت IBM به کار می رود.

Read More »

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

جزوه زیر حاصل تلاش من در راستای جمع آوری نکات مهم و کلیدی درس سیستم عامل میباشد. از آنجا که حجم این جزوه زیاد است، آن را در چندین پست و در فواصل زمانی ( حدود یک هفته ) در اختیار شما قرار میدهم. هر دو هفته یکبار هم منتظر تستهای کنکوری و کلیدی این درس و سایر درسهای مهم باشید.   نگاه کلی به سخت افزار عناصر اصلی 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 »