نوشته شده توسط : زپو

 پاورپوینت-کارکرد نخهای چند پردازشی متقارن و ریزهسته ها درسیستم عامل- در50اسلاید-powerpoin-ppt




سیستم عامل چیست ؟

 سیستم عامل بدون شك مهمترین  نرم افزار در كامپیوتر است . پس از روشن كردن كامپیوتر اولین نرم افزاری كه مشاهده می گردد سیستم عامل بوده و آخرین نرم افزاری كه  قبل از خاموش كردن كامپیوتر مشاهده خواهد شد، نیز سیستم عامل است . سیستم عامل نرم افزاری است كه امكان اجرای تمامی برنامه های كامپیوتری را فراهم می آورد. سیستم عامل با سازماندهی ، مدیریت و كنترل منابع  سخت افزاری امكان استفاده بهینه و هدفمند آنها را فراهم می آورد. سیتم عامل فلسفه بودن سخت افزار را بدرستی تفسیر  و در این راستا امكانات متعدد و ضروری جهت حیات سایر برنامه های كامپیوتری را فراهم می آورد.

تمام كامپیوترها از سیستم عامل استفاده نمی كنند. مثلا"  اجاق های مایكرویو كه در آشپزخانه استفاده شده دارای نوع خاصی از كامپیوتر بوده كه از سیستم عامل استفاده نمیكنند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه كلید و نمایشگرهایLCD ، در اختیار سیستم گذاشته می گردند. ماهیت عملیات انجام شده در یك اجاق گاز مایكروویو بسیار محدود  و مختصر است، بنابراین همواره یك برنامه در تمام حالات و اوقات اجراء خواهد شد.

برای سیستم های كامپیوتری كه دارای عملكردی بمراتب پیچیده تر از اجاق گاز مایكروویو می باشند، بهخدمت گرفتن یك سیستم عامل باعث افزایش كارآئی سیستم و تسهیل در امر پیاده سازی برنامه های كامپیوتری می گردد. تمام كامپیوترهای شخصی دارای سیستم عامل می باشند.
یكی از متداولترین سیستم های عامل ویندوز است . یونیكس یكی دیگر از سیستم های عامل مهم در این زمینه است .  صدها نوع سیستم عامل تاكنون با توجه به اهداف متفاوت طراحی و عرضه شده است. سیستم های عامل مختص كامپیوترهای بزرگ، سیستم های روبوتیك، سیستم های كنترلی بلادرنگ ، نمونه هائی در این زمینه می باشند.

سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در كامپیوتر انجام می دهد :

-  مدیریت منابع نرم افزاری و سخت افزاری یك سِستم كامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی  نمونه هائی از منابع اشاره شده می باشند .

روشی پایدار و یكسان برای دستیابی و استفاده  از سخت افزار را بدو ن نیاز از جزئیات عملكرد هر یك از سخت افزارهای موجود را برای برنامه های كامپیوتری فراهم می نماید

اولین وظیفه یك سیستم عامل،  مدیریت منابع سخت افزاری و نرم افزاری است . برنامه های متفاوت برای دستیابی به منابع سخت افزاری نظیر: پردازنده ، حافظه،  دستگاههای ورودی و خروجی، حافطه های جانبی، در رقابتی سخت شركت خواهند كرد.  سیستم های عامل بعنوان یك مدیر عادل و مطمئن زمینه استفاده بهینه از منابع موجود را برای هر یك از برنامه های كامپیوتری فراهم می نمایند.

وظیفه دوم یك سیستم عامل ارائه یك رابط ( اینترفیس ) یكسان برای سایر برنامه های كامپیوتری است . در این حالت زمینه استفاده بیش از یك نوع كامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم های كامپیوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراكه سیستم عامل بعنوان میانجی بین برنامه های كامپیوتری و سخت افزار ایفای وظیفه كرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده است .برنامه نویسان كامپیوتر نیز با استفاده از نقش سیستم عامل بهعنوان یك میانجی بهراحتی برنامه های خود را طراحی و پیاده سازی كرده و در رابطه با اجرای برنامه های نوشته شده بر روی سایر كامپیوترهای مشابه  نگرانی نخواهند داشت . ( حتی اگر میزان حافظه موجود در دو كامپیوتر مشابه نباشد ) . در صورتیكه سخت افزار یك كامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد كرد كه برنامه ها، در ادامه بدون بروز اشكال قادر به ادامه حیات وسرویس دهی خود باشند. مسئولیت مدیریت منابع سخت افزاری برعهده سیتم عامل خواهد بود نه برنامه های كامپیوتری، بنابراین در زمان ارتقای سخت افزار یك كامپیوتر مسئولیت سیستم عامل در این راستا اولویت خواهد داشت . ویندوز 98یاXP یكی از بهترین نمونه ها در این زمینههستند . سیستم عامل های فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدكنندگان متفاوت اجراء می گردد.  ویندوز 98 قادر به مدیریت و استفاده از هزاران نوع چاپگر دیسك و سایر تجهیزات جانبی است .

سیستم های عامل را از بعد نوع كامپیوترهائی كه قادر به كنترل آنها بوده و نوع برنامه های كاربردی كه قادر به حمایت از آنها می باشند به چهار گروه عمده تقسیم می نمایند:

سیستم عامل بلادرنگ (RTOS)از این نوع سیستم های عامل برای كنترل  ماشین آلات صنعتی ، تجهیزات علمی و سیستم های صنعتی استفاده می گردد. یك سیستم عامل بلادرنگ دارای امكانات محدود در رابطه با بخش رابط كاربر و برنامه های كاربردی مختص كاربران می باشند.  یكی از بخش های مهم این نوع سیستم های عامل ، مدیریت منابع موجود كامپیوتری بگونه ای است كه یك عملیات خاص در زمانی كه می بایست ، اجراء خواهند شد.

-تك كاربره - تك كارههمانگونه كه از عنوان این نوع سیستم های عامل مشخص است، آنها بگونه ای طراحی شده اند كه قادر به مدیریت كامپیوتر بصورتی باشند كه یك كاربر در هر لحظه قادر به انجام یك كار باشد. سیستم عاملPalm OS برای كامپیوترهایPDA نمونه ای مناسب از یك سیستم عامل مدرن تك كاربره و تك كاره است .

-تك كاربره - چندكارهاكثر سیستم های عامل استفاده شده در كامپیوترهای شخصی از این نوع می باشند. ویندوز 98 وMacOS  نمونه هائی در این زمینه بوده كه امكان اجرای چندین برنامه بطور همزمان را برای یك كاربر فراهم می نمایند. مثلا" یك كاربر ویندوز 98 قادر به تایپ یك نامه با استفاده از یك واژه پرداز بوده و در همان زمان اقدام به دریافت یك فایل از اینترنت نموده و در همان وضعیت محتویات نامه الكترونیكی خود را برای چاپ بر روی چاپگر ارسال كرده باشد.

-چندكاربرهیك سیستم عامل چند كاربره ، امكان استفاده همزمان چندین كاربر از منابع موجود كامپیوتر را فراهم می آورند. منابع مورد نیاز هر یك از كاربران می بایست توسط سیستم عامل بهدرستی مدیریت تا  در صورت بروز اشكال در منابع تخصیص یافته به یك كاربر، بر روند استفاده سایر كاربران از منابع مورد نظر اختلالی ایجاد نگردد. یونیكس،VMS و سیستم های عامل كامپیوترهای بزرگ نظیرMVS نمونه هائی از سیستم های عامل چندكاربره می باشند.

در اینجا لازم است كه به تفاوت های موجود  سیستم های عامل " چند كاربر " و " تك كاربر"  در رابطه با امكانات شبكه ای اشاره گردد.  ویندوز 2000 و ناول قادر به حمایت از صدها و هزاران كاربر شبكه می باشند این نوع سیستم های عامل بعنوان سیستم عامل چند كاربره واقعی در نظر گرفته  نمی شوند.

در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سیستم های عامل به عملیات و وظایف سیستم عامل اشاره می گردد.

وظایف سیستم عامل

پس از روشن نمودن كامپیوتر، لولین برنامه ای كه اجراء می گردد ، مجموعه دستوراتی می باشند كه در حافظهROM ذخیره و مسئول بررسی صحت عملكرد امكانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و سایر عناصر سخت افزاری را بررسی خواهد كرد . پس از بررسی موفقیت آمیز برنامهPOST ، در ادامه درایوهای ( هارد ، فلاپی ) سیستم فعال خواهند شد. در اكثر كامپیوترها  ، پس از فعال شدن هارد دیسك ، اولین بخش سیستم عامل با نامBootstrap Loader فعال خواهد شد. برنامه فوق صرفا" دارای یك وظیفه اساسی است : انتقال ( استقرار ) سیستم عامل در حافظه اصلی و امكان اجرای آن . برنامه فوق عملیات متفاوتی را بمنظور استفرار سیستم عامل در حافظه انجام خواهد داد.

سیستم عامل دارای وظایف زیر است :

مدیریت پردازندهمدیریت حافظهمدیریت دستگاهها ( ورودی و خروجی )مدیریت حافظه جانبیاینترفیس برنامه های كاربردیرابط كاربر

وظایف شش گانه فوق ، هسته عملیات در اكثر سیستم های عامل است . در ادامه به تشریح  وظایف فوق اشاره می گردد :

مدیریت پردازنده

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :

ایجاد اطمینان كه هر پردازه  یا برنامه به میزان مورد نیاز پردازنده را برای تحقق عملیات خود ، اختیار خواهد كرد.استفاده از بیشترین سیكل های پردازنده برای انجام عملیات

ساده ترین واحد نرم افزاری  كه سیستم عامل بهمنظور زمانبندی پردازنده با آن درگیر خواهد شد ، یك پردازه  یا یكThread خواهد بود. موقتا" می توان یك پردازه را مشابه یك برنامه در نظر گرفت ، در چنین حالتی مفهوم فوق ( پردازه ) ، بیانگر یك تصویر واقعی از نحوه پردازش های مرتبط با سیستم عامل و سخت افزار نخواهد بود. برنامه های كامپیوتری ( نظیر واژه پردازها ، بازیهای كامپیوتری و ...) در حقیقت خود یك پردازه می باشند ، ولی برنامه های فوق ممكن است از خدمات چندین پردازه دیگر استفاده نمایند. مثلا" ممكن است یك برنامه از پردازه ای بمنظور برقراری ارتباط با سایر دستگاههای موجود در كامپیوتر استفاده نماید. پردازه های فراوان دیگری نیز وجود دارد كه با توجه به ماهیت عملیات مربوطه ، بدون نیاز به محرك خارجی ( نظیر یك برنامه ) فعالیت های خود را انجام می دهند. یك پردازه ، نرم افزاری است كه عملیات خاص و كنترل شده ای را انجام می دهد. كنترل یك پردازه ممكن است توسط كاربر ، سایر برنامه های كاربردی و یا سیستم عامل صورت پذیرد.

سیستم عامل با كنترل و زمانبندی مناسب پردازه ها زمینه استفاده از پردازنده را برای آنان ، فراهم  می نماید. در سیستم های " تك - كاره " ، سیستم زمانبندی بسیار روشن و مشخص است . در چنین مواردی،  سیستم عامل امكان اجرای برنامه را فراهم و صرفا" در زمانیكه كاربر اطلاعاتی را وارد  یا سیستم با وقفه ای برخورد نماید ، روند اجراء متوقف خواهد شد. وقفه ، سیگنال های خاص ارسالی توسط نرم افزار و یا سخت افزار برای  پردازنده می باشند. در چنین مواردی منابع صادر كننده وقفه درخواست برقراری یك ارتباط زنده با پردازنده برای اخذ سرویس  یا سایر مسائل بوجود آمده ، را می نمایند. در برخی حالات سیستم عامل پردازه ها  را با یك اولویت خاص زمانبندی می نماید . در چنین حالتی هر یك از پردازه ها با توجه به اولویت نسبت داده شده به آنان ، قادر به استفاده از زمان پردازنده خواهند بود. در این چنین موارد ، در صورت بروز وقفه ، پردازنده آنها را نادیده گرفته و تا زمان عدم تكمیل عملیات مورد نظر توسط پردازنده ، فرصت پرداختن به وقفه ها وجود نخواهد داشت . بدیهی است با توجه به نحوه برخورد پردازنده ( عدم توجه به وقفه ها ) ، در سریعترین زمان ممكن عملیات و فعالیت جاری پردازنده به اتمام خواهد رسید. برخی از وقفه ها با توجه به اهمیت خود ( نظیر بروز اشكال در حافظه و یا سایر موارد مشابه ) ، قابل اغماص توسط پردازنده نبوده و می بایست صرفنظر از نوع و اهمیت فعالیت جاری ،  سریعا" به وقفه ارسالی پاسخ مناسب را ارائه گردد.

پردازنده ، با توجه به سیاست های اعمال شده سیستم عامل و بر اساس یك الگوریتم خاص ، در اختیار پردازه های متفاوت قرار خواهد گرفت . در چنین مواردی پردازنده مشغول بوده و برای اجراء ، پردازه ای را در اختیار دارد. در زمانیكه پردازنده درگیر یك پردازه است ، ممكن است وقفه هائی از منابع متفاوت نرم افزاری  یا سخت افزاری محقق گردد. در چنین وضعیتی با توجه به اهمیت و جایگاه یك وقفه ، پردازنده برخی از آنها را نادیده گرفته و همچنان به فعالیت جاری خود ادامه داده و در برخی موارد با توجه به اهمیت وقفه ، فعالیت جاری متوقف و سرویس دهی به وقفه آغاز خواهد شد.

در سیستم های عامل " تك - كاره " ، وجود وقفه ها و نحوه مدیریت آنها در روند اجرای پردازه ها تاثیر و پیچیدگی های خاص خود را از بعد مدیریتی بدنبال خواهد داشت . در سیستم های عامل "چند - كاره " عملیات بمراتب پیچیده تر خواهد بود. در چنین مواردی می بایست این اعتقاد بوجود آید كه چندین فعالیت بطور همزمان در حال انجام است . عملا" پردازنده در هر لحظه قادر به انجام یك فعالیت است و بدیهی است رسیدن به مرز اعتقادی فوق ( چندین فعالیت بطور همزمان ) مستلزم یك مدیریت قوی و طی مراحل پیچیده ای خواهد بود.  در چنین حالتی لازم است كه پردازنده در مدت زمان یك ثانیه هزاران مرتبه از یك پردازه به پردازه ه دیگر سوئیچ  تا امكان استفاده چندین پردازه از پردازنده را فراهم نماید . در ادامه نحوه انجام عملیات فوق ، تشریح می گردد :

یك پردازه بخشی از حافظهRAM را اشغال خواهد كرد

·      پس از استفرار بیش از یك پردازه در حافظه ، پردازنده بر اساس یك زمانبندی خاص ، فرصت اجراء را به یكی از پردازه ها خو


خرید و دانلود  پاورپوینت-کارکرد نخهای چند پردازشی متقارن و ریزهسته ها درسیستم عامل- در50اسلاید-powerpoin-ppt




:: برچسب‌ها: نخهای چند پردازشی، متقارن، ریزهسته ها،سیستم عامل،سیستم عامل , همزمانی و بن بست , Operating Systems ,
:: بازدید از این مطلب : 122
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : سه شنبه 19 شهريور 1395 | نظرات ()
نوشته شده توسط : زپو

 پاورپوینت-اصول انحصار متقابل و همگام سازی درسیستم عامل- در 80 اسلاید-powerpoin-ppt


 

همزمانی در سه زمینه زیر اجرا میشود:

 

کاربرد های متعدد

 

چند برنامه ای

 

کاربرد ساخت یافته

 

کاربرد ها میتوانند مجموعه ای از فرایند های همزمان باشند.

 

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

 

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

چند برنامه ای : مدیریت فرایندهای متعدد در داخل یک سیستم تک پردازنده ای

چند پردازشی: مدیریت فرایندهای متعدد در داخل یک سیستم چند پردازنده ای

 

پردازش توزیعی :مدیریت فرایندهای متعدد که روی سیستم های کامپیوتری متعدد و توزیع شده اجرا میشوند.

سيسم های عامل در ابتدا می بايست محدوده های حافظه مورد نياز هر نوع نرم افزار و برنامه های خاص را فراهم نمايند. مثلا" فرض کنيد سيستمی دارای يک مگابايت حافظه اصلی باشد . سيستم عامل کامپيوتر فرضی ، نيازمند 300 کيلو بايت حافظه است . سيستم عامل در بخش انتهائی حافظه مستقر و بهمراه خود درايورهای مورد نياز یه منظور کنترل سخت افزار را نيز مستقر خواهد کرد. درايورهای مورد نظر به 200 کيلو بايت حافظه نياز خواهند داشت . بنابراين پس از استقرار سيستم عامل بطور کامل در حافظه ، 500 کيلو بايت حافظه باقيمانده و از آن برای پردازش برنامه های کاربردی استفاده خواهد شد. زمانيکه برنامه های کاربردی در حافظه مستقر می گردند ، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سيستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک 2 کيلوبايت باشد ، هر يک از برنامه های کاربردی که در حافظه مستقر می گردنند ، تعداد زيادی  از بلاک های فوق را (مضربی از دو خواهد بود) ، بخود اختصاص خواهند داد. برنامه ها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدوده های خاص خود بوده که  توسط کلمات چهار و يا هشت بايت ايجاد خواهند شد. بلاک ها و محدو ده های فوق اين اطمينان را بوجود خواهند آورد که برنامه ها در محدوده های متداخل مستقر نخواهند شد.  پس از پر شدن فضای 500 کيلوبايت اختصاصی برای برنامه های کاربردی ، وضعيت سيستم به چه صورت تبديل خواهد گرديد؟

در اغلب کامپيوترها ، می توان ظرفيت حافظه را ارتقاء و افزايش داد. مثلا" می توان ميزان حافظه RAM موجود را از يک مگابايت به دو مگابايت ارتقاء داد. روش فوق يک راهکار فيزيکی برای افزايش حافظه بوده که در برخی موارد دارای چالش های خاص خود می باشد. در اين زمينه می بايست راهکارهای ديگر نيز مورد بررسی قرار گيرند. اغلب اطلاعات ذخيره شده توسط برنامه ها در حافظه ، در تمام لحظات مورد نياز نخواهد نبود. پردازنده در هر لحظه قادر به دستيابی به يک محل خاص از حافظه است . بنابراين اکثر حجم حافظه در اغلب اوقات  غير فابل استفاده است . از طرف ديگر با توجه به اينکه فضای ذخيره سازی حافظه ها ی جانبی نظير ديسک ها بمراتب ارزانتر نسبت به حافظه اصلی است ، می توان با استفاده از مکانيزمهائی اطلاعات موجود در حافظه اصلی را  خارج و آنها را موقتا"  بر روی هارد ديسک  ذخيره نمود.  بدين ترتيب فضای حافظه اصلی آزاد و در زمانيکه به اطلاعات ذخيره شده بر روی هارد ديسک نياز باشد ، مجددا" آنها را  در حافظه مستقر کرد. روش فوق " مديريتحافظه مجازی " ناميده می شود. 

حافطه های  ذخيره سازی ديسکی ، يکی از انواع متفاوت حافظه موجود بوده که می بايست توسط سيستم عامل مديريت گردد. حافطه های با سرعت بالای Cache ، حافظه اصلی و حافظه های جانبی نمونه های ديگر از حافظه  بوده که  توسط سيستم عامل مديريت گردند.

مديريت دستگاهها 
دستيابی سيستم عامل به  سخت افزارهای موجود از طريقه برنامه های خاصی با نام "درايور" انجام می گيرد. درايور مسئوليت ترجمه بين سيگنال های الکترونيکی زير سيستم های سخت افزاری و زبانهای برنامه نويسی سطح بالا و سيستم عامل و برنامه های کاربردی را برعهده خواهد داشت . مثلا" درايورها اطلاعاتی را که سيستم عامل بصورت يک فايل تعريف و در نظر می گيرد را اخذ و آنها را به مجموعه ای از بيت ها برای ذخيره سازی بر روی حافظه های حانبی و يا مجموعه ای از پالس ها برای ارسال بر روی چاپگر ، ترجمه خواهد کرد.

با توجه به ماهيت عملکرد عناصر سخت افزاری و وجود تنوع در اين زمينه ، درايورهای مربوطه نيز دارای روش های متعدد یه منظور انجام وظايف خود می باشند. اکثر درايورها در زمانيکه به خدمات دستگاه مورد نظر نياز باشد ، استفاده شده و دارای پردازش های يکسانی در زمينه سرويس دهی خواهند بود. سيستم عامل بلاک های با اولويت بالا را به درايورها اختصاص داده تا از اين طريق منابع سخت افزاری قادر به آزادسازی سريع یه منظور استفاده  در آينده باشند.

يکی از دلايلی که درايورها از سيستم عامل تفکيک شده اند ، ضرورت افزودن عمليات و خواسته ای حديد برای درايورها است . در چنين حالتی ضرورتی بر اصلاح و يا تغيير سيستم عامل نبوده و با اعمال تغييرات لازم در درايورها می توان همچنان از قابليت های آنها در کنار سيستم عامل موجود استفاده کرد.

مديريت عمليات ورودی و خروجی در کامپيوتر مستلزم استفاده و مديريت " صف ها " و " بافرها " است .  بافر ، مکان های خاصی برای ذخيره سازی اطلاعات بصورت مجموعه ای از بيت ها ی ارسالی توسط دستگاهها ( نظير صفحه کليد و يا يک پورت سريال ) و نگهداری اطلاعات فوق و ارسال آنها برای پردازنده در زمان مورد نظر و خواسته شده است .  عمليات فوق در موارديکه چندين پردازنده در وضعيت اجراء بوده و زمان پردازنده را بخود اختصاص داده اند ، بسيار حائز اهميت است . سيستم عامل با استفاده از يک بافر قادر به دريافت اطلاعات ارسالی توسط دستگاه مورد نظر است . ارسال اطلاعات ذخيره شده برای پردازنده پس از غير فعال شدن پردازه مربوطه ، متوقف خواهد شد. در صورتی که مجددا" پردازه به اطلاعات ورودی نياز داشته باشد ، دستگاه فعال و سيستم عامل دستوراتی را صادر  تا بافر اطلاعات مربوطه را ارسال دارد. فرآيند فوق اين امکان را به صفحه کليد يا مودم خواهد داد تا با سرعت مناسب خدمات خود را همچنان ادامه دهند ( ولواينکه پردازنده در آن زمان خاص مشغول باشد).

مديريت تمام منابع موجود در يک سيستم کامپيوتری ، يکی از مهمترين و گسترده ترين وظايف يک سيستم عامل است .

ارتباط سيستم با دنيای خارج

اينترفيس برنامه ها 
سيستم عامل در رابطه با اجرای برنامه های کامپيوتری خدمات فراوانی را ارائه می نمايد. برنامه نويسان و پياده کنندگان نرم افزار می توانند از امکانات فراهم شده توسط سيستم های عامل استفاده و بدون اينکه نگران و يا درگير جزئيات عمليات در سيستم باشند ، از خدمات مربوطه استفاده نمايند. برنامه نويسان با استفاده از  
API)Application program interface) ، قادر به استفاده از خدمات ارائه شده توسط سيستم های عامل در رابطه با طراحی و پياده سازی نرم افزار می باشند. در ادامه یه منظور بررسی جايگاه API به بررسی مثالی پرداخته خواهد شد که هدف ايجاد يک فايل بر روی هارد ديسک برای ذخيره سازی اطلاعات است .

برنامه نويسی ، برنامه ای را نوشته که بکمک آن قادر به ذخيره سازی داده های ارسالی توسط يک دستگاه کنترل علمی است . سيستم عامل يک تابع  API با نام MakeFile را یه منظور ايجاد فايل در اختيار برنامه نويس قرار می دهد.  برنامه نويس در زمان نوشتن برنامه از دستوری مشابه زير استفاده می نمايد :

 MakeFile [1,%Name,2]

 دستورالعمل فوق به سيستم عامل خواهد گفت که فايلی را ايجاد که شيوه دستيابی به داده های آن بصورت تصادفی ( عدد يک بعنوان اولين پارامتر ) ، دارای نام مشخص شده توسط کاربر (Name%) و دارای طولی متغير است . ( عدد 2 ، بعنوان سومين پارامتر) سيستم عامل دستور فوق را بصورت زير انجام خواهد داد :

سيستم عامل درخواستی برای هارد ارسال تا اولين مکان آزاد قابل استفاده مشخص گردد.با توجه به اطلاعات ارسالی ، سيستم عامل يکentry در سيستم فايل مربوطه ايجاد و ابتدا و انتهای فايل ، نام فايل ، نوع فايل ، تاريخ و زمان ايجاد فايل و ساير اطلاعات ضروری  را ذخيره خواهد کرد.سيستم عامل اطلاعاتی را در ابتدای فايل یه منظور مشخص کردن فايل ، تنظيمات مربوط به شيوه دستيابی به فايل و ساير اطلاعات مورد نياز را خواهد نوشت .

در چنين حالتی برنامه نويس از تابع فوق برای ايجاد و ذخيره سازی فايل استفاده نموده و ضرورتی بر نوشتن کدها ، نوع داده ها و کدهای پاسخ برای هر نوع هارد ديسک نخواهد بود. سيستم عامل از امکانات درايورها استفاده و درايورها مسئول برقراری ارتباط با منابع سخت افزاری خواهند بود. در چنين حالتی برنامه نويس بسادگی از تابع مورد نظر استفاده و ادامه عمليات توسط سيستم عامل انجام خواهد شد. امکانات ارائه شده توسط سيستم های عامل در قالب مجموعه ای از توابع و امکانات API يکی از موارد بسيار مهم استفاده از سيستم عامل از ديدگاه طراحان و پياده کنندگان نرم افزار است .

اينترفيس کاربر 
API يک روش يکسان برای برنامه های کامپيوتری یه منظور استفاده از منابع موجود در يک سيستم کامپيوتری را فراهم می نمايد. بخش رابط کاربر (UI) ، يک ساختار مناسب ارتباطی بين کاربر و کامپيوتر را فراهم می آورد.  اکثر سيستم های عامل از رابط های گرافيکی در اين زمينه استفاده می نمايند. بخش رابط کاربر هر سيستم عامل شامل يک و يا مجموعه ای از برنامه های کامپيوتری است که بصورت يک لايه در بالاترين سطح يک سيستم عامل و در ارتباط با کاربر مستقر می گردند. برخی از سيستم های عامل از رابط های گرافيکی ( نظير ويندوز ) و برخی ديگر از رابط های مبتنی بر متن ( نظير سيستم عامل DOS ) استفاده می نمايند.

 

سیستم عامل چیست ؟

 


در فرهنگ رایانه سیستم عامل (به انگلیسی: Operating System) اساسی‌ترین برنامه سیستمی است که مدیریت کلیه منابع سیستم را به عهده گرفته و بستری را فراهم می سازد که برنامه‌های کاربردی می‌توانند بر روی آن اجرا شوند.

دلایل ایجاد سیستم عامل:
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده ، مقداری حافظه اصلی ، دیسک ها ، چاپگر ها ، صفحه کلید ، صفحه نمایش ، واسط های شبکه ای و دیگر دستگاه های ورودی و خروجی تشکیل شده است . این اجزا در کنار یکدیگر یک سیستم پیچیده را به وجود آورده اند . نوشتن برنامه هایی که تمامی این عناصر را مدیریت کرده و از آنها به طور صحیح ، بهینه و کارآمد استفاده نماید ، کار بسیار مشکلی است . اگر هر برنامه نویس مجبور باشد با مفاهیمی نظیر نحوه کار دستگاه های ورودی خروجی گوناگون آشنا باشد ، بسیاری از برنامه ها هرگز نوشته نخواهد شد . به همین دلیل ، از سالها قبل به وضوح مشخص بود که باید روش هایی یافت که برنامه نویسان را از پیچیدگی های سخت افزار دور نگه دارد . تلاش های گسترده ، منجر به ایجاد یک لایه نرم افزاری روی سخت افزار شد که همه اجزای سیستم را کنترل نموده و کار برنامه نویسان را راحت تر کند . به این لایه نرم افزاری سیستم عامل می گویند.

وظایف سیستم عامل:
سیستم عامل دو کار عمده انجام می‌دهد :
در نگرش پایین به بالا ، منابع منطقی ( مانند فایل ها ) و منابع فیزیکی ( مانند دستگاه های سخت افزاری ) رایانه را مدیریت و کنترل می‌کند .
در نگرش بالا به پایین ، وظیفه سیستم عامل این است که یک ماشین توسعه یافته ( Extended Machine ) یا ماشین مجازی ( Virtual Machine ) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی های سخت افزاری رایانه نشوند .

به طور کلی ، وظایف سیستم عامل شامل موارد زیر است :
* استفاده بهینه از منابع و جلوگیری از به هدر رفتن آنها
* تخصیص و آزاد سازی منابع
* اداره صف ها و زمان بندی استفاده از منابع
* حساب داری ( Accounting ) میزان استفاده از منابع
* ایجاد امنیت ( security )
* ایجاد ، حذف و اداره فرایند ها
* ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آنها
* مدیریت فایل ها و پوشه ها
* مدیریت حافظه های اصلی و جانبی
* برقراری امکان دسترسی چندتایی ( Multiaccess ) و اجرای هم روند ( Concurrent ) فرایند ها
* به اشتراک گذاری منابع ( Resource Sharing )
* تعیین راهکار هایی برای اداره بن بست ( deadlock ) ها
* جلوگیری از شرایط رقابتی ( Race Condition ) و تداخل یا در هم قفل شدن ( Interlock ) فرایند ها
* جلوگیری از گرسنگی ( Starvation )

سیستم عامل های فعلی:
امروزه پرمصرف ترین سیستم عامل جهان ، ویندوز است که بر روی بیشتر رایانه‌های شخصی نصب شده ‌است.
نام چند ‌سیستم عامل معروف ج


خرید و دانلود  پاورپوینت-اصول انحصار متقابل و همگام سازی درسیستم عامل- در 80 اسلاید-powerpoin-ppt




:: برچسب‌ها: انحصار متقابل،همگام سازی،سیستم عامل , همزمانی و بن بست , Operating Systems ,
:: بازدید از این مطلب : 104
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : سه شنبه 19 خرداد 1395 | نظرات ()

صفحه قبل 1 2 3 4 5 ... 6341 صفحه بعد