جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
مفاهيم سيستم عامل (1)
-(8 Body) 
مفاهيم سيستم عامل (1)
Visitor 1183
Category: دنياي فن آوري

جلسه اول:

سيستم عامل يک برنامه ي سيستمي است.رابط بين کاربر و سخت افزار مي باشد و نرم افزاري است که مي توان برنامه هاي کاربردي را روي ان نوشت و اجرا کرد.

ويژگي ها:

سهولت : باعث سهولت استفاده از رايانه مي شود.
کارامدي : سيستم موجب استفاده کارامد منابع مي شود.
قابليت رشد : سيستم عامل بايد طوري ساخته شده باشد که بتوان برنامه هاي کاربردي جديد را روي ان نصب کرد و سيستم عامل را ارتقا داد.

منابع کليدي سيستم عامل:

1) پردازنده
2) حافظه
3) دستگاه هاي ورودي و خروجي
4) داده : مستقل از فيزيک و جرم است.قائم به ذات نيست.داده روي کابل IDE حتي روي شبکه نگهداري شود مهم نيست.مهم اين است که سيستم عامل از مکاني که خودش اطلاع دارد ،داده را بردارد و مورد استفاده قرار دهد.
سيستم چند پردازشي:يعني اينکه چندين پردازنده در اختيار داريم و هر پردازنده پردازش خاصي را انجام مي دهد.معمولا در سيستم هاي چند پردازشي يک پردازشگر به عنوان Master و بقيه ي پردازشگرها به عنوان Slave عمل مي کنند.
چند وظيفه اي:در يک بازه ي زماني چند پروسه انجام شود.اگر چندين پردازنده داشته باشيم ،مي توانيم چندين Task را مديريت کنيم. در صورتي که يک پردازنده داشته باشيم از Time Sharing استفاده مي کنيم.
اشتراک زماني يا تسهيم زماني:يعني ارائه يک منبع در زمان هاي متفاوت به متقاضيان متقابل. اشتراک زماني براي استفاده CPU يا پردازشگر بسيار مهم است.(در شرايط مطلوب با الگوريتم مطلوب) اما اينکار براي به اشتراک گذاشتن منبعي مثل Printer بين چندين کاربر يا چندين پروسه غير معقول مي باشد.
نکته:به کارگيري چند کاره بسيار مهم است . چون امکان دارد يک پروسه يا يک برنامه خاص داراي چندين Task باشد و اين Task ها نتوانند به صورت همزمان يا با اشتراک زماني خدمات را بگيرند.
پردازش:به برنامه هاي در حال اجرا که قسمتي از ان در حافظه ي اصلي قرار گرفته باشد ،پردازش مي گويند.
حالت هايي که يک پردازشگر مي تواند به خود بگيرد:

حالت Running :

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

حالت Ready :

هيچ پروسه اي اجازه ي ورود به وضعيت Running را ندارد ، مگر اينکه قبلا به حالت Ready رفته باشد.
البته صف Ready کاملا معني صف را ندارد. چون الگوريتم هاي متفاوتي براي انتخاب پروسه ها از حالت Ready به Running وجود دارد.پروسه اي به حالت Running مي رود که هيچ مشکلي براي اجرا نداشته باشد.

حالت Despatch :

يعني انتخاب پروسه از حالت Ready به Running . اين عمل توسط سخت افزاري به نام Despatcher انجام مي شود.اين پروسه براساس الگوريتم هايي که کار مي کند پروسه را از حالت Ready به Running مي برد.

Time Run Out :

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

حالت Blocked :

ممکن است پروسه اي در حال اجرا باشد و مشکل زماني هم نداشته باشد ،فقط نياز به منبع داشته باشد و اين منبع در اختيار پروسه هاي ديگر باشد.در اين حالت پروسه از حالت Running به Blocked مي رود.اين پروسه در حالت Blocked مي ماند تا زماني که مشکل ان برطرف شود..وقتي مشکل پروسه برطرف شد ،پروسه از حالت Blocked به Ready مي رود.

حالت Suspend Ready :

زماني وجود دارد که پروسه ي در حال اجرا هيچ مشکلي اعم از مشکل زماني و منبع نداشته باشد و اينکه سيستم عامل نياز بداند که پروسه را تعليق کند.اين عمل زماني انجام مي شود که پروسه اي در حالت Running باشد که اين پروسه براساس الگوريتم خاصي اجرا مي شود و تمام منابع سيستم در اختيار اين پروسه قرار دارد و پروسه هاي خيلي کوچکتر از اين پروسه در صف Ready باشند و نياز به منبع هاي در اختيار پروسه ي در حالت Running داشته باشد. اگر پروسه به Loop افتاده باشد سيستم عامل پروسه را به Suspend مي فرستد.

حالت Suspend Blocked :

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

جلسه دوم:

پروسه ها به دو گونه هستند:
1) پروسه هايي که مقيد به ورودي و خروجي هستند.
2) پروسه هايي که مقيد به CPU هستند.
پروسه هايي که مقيد به CPU هستند؛به اين پروسه ها، پروسه هاي Comfort يا مطلوب مي گويند. به علت اينکه اين پروسه ها با پردازنده در ارتباط هستند و سرعت انها بالا است و جهت گيري که سيستم عامل ها در مورد اين پروسه ها دارند، اين است که کار اين پروسه ها را سريعتر انجام مي دهند.به اين معني که منابع کليدي را سريع تر ازاد مي کنند و در اختيار اين پروسه ها قرار مي دهند و اين به اين علت است که CPU بتواند سريع تر در اختيار پروسه هاي ديگر قرار گيرد.

وظايف سيستم عامل:

1) رابط کاربر:

در سيستم عامل هاي قديمي رابط کاربر به صورت Command بود.مثلا در سيستم عامل DOS ، ما براي ارتباط با کامپيوتر از Prompt استفاده مي کرديم . در سيستم عامل هاي جديد اين ارتقا پيدا کرد و تبديل شد به GUI .

2) به اشتراک گذاشتن سخت افزار:

اين خصوصيت به صورت اجباري است.چون نمي توان سخت افزاري مانند CPU را به يک کاربر اختصاص داد و به کاربر ديگر اختصاص نداد.

3) اجازه به اشتراک گذاشتن داده ها بين کاربران:

منظور اين است که به کاربر اجازه دهد که داده ها را به اشتراک بگذارد يا نه؟اين عمل صرفنظر از سخت افزار است. User ها تنها به کاربران انساني محدود نمي شوند . در اين ميان پروسه ها نيز اجازه استفاده از داده ها را دارند.

4) زمان بندي منابع براي تخصيص به کاربران:

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

5) تسهيل در ورودي و خروجي:

يعني اينکه سيستم عامل اين توانايي را داشته باشد که به طور خودکار سخت افزار ما را بشناسد يا توانايي ارتقا داشته باشد. اين به اين منظور است که بتوان Driver مخصوص به هر سخت افزار را به راحتي در ان نصب کرد.

6) توانايي شناخت خطاها در سيستم عامل بايد وجود داشته باشد:

سيستم عامل بتواند خطاهايي را که در برنامه ها يا در ورودي و خروجي رخ مي دهد را بشناسد و به کاربر اعلام کند و کاربر هم بتواند اين نواقص را رفع کند.

7) سيستم عامل بايد حسابدار باشد:

سيستم عامل بتواند منابع در دسترس پروسه ها را حسابرسي کند و مشخص کند که کدام پروسه از کدام منبع چند بار استفاده کرده است.

ساختار PCB : ( Process Control Block) :

سيستم عامل اطلاعات مربوط به پروسه ها را در يک ساختار به نام PCB نگهداري مي کند.اين اطلاعات مربوط به پروسه ها در سيستم عامل ها متفاوت است و در طول حيات پروسه ها اين اطلاعات تغيير مي کند.

اطلاعاتي که در مورد پروسه ها بايد داشته باشيم:

1) نام پروسه :

نام پروسه منحصر به فرد است.اين نام مشخص کننده ي صاحب پروسه است و مشخص مي کند که اين پروسه مربوط به کدام گروه است.وقتي که گروه پروسه مشخص شد اين گروه مشخص مي کند که پروسه به چه چيزهايي دسترسي داشته باشد و به چه چيزهايي دسترسي نداشته باشد.چه عملياتي را انجام دهد و چه عملياتي را انجام ندهد.

2) اولويت پروسه( Priority ) :

مفهوم ان به غير از حق تقدم است.

3) وضعيت پروسه (وضعيت سخت افزاري) :

وقتي که پروسه اي در حال اجرا است و سيستم عامل يا کاربر بنا به دلايلي اين پروسه را تعليق مي کند،به هنگامي که مشکل تعليق برطرف شد و خواست با CPU کار کند بايد بتواند به وضعيت قبلي برگردد.مثلا بايد مشخص شود که اين پروسه از کدام Register استفاده مي کرده است.

4) امار و اطلاعات و زمانبندي براي استفاده منابع :

اين مشخص مي کند از کدام منبع چند بار استفاده شده است يا CPU چند بار به پروسه اختصاص داده شده است و پروسه چقدر براي به دست اوردن منابع انتظار کشيده است.

5) مديريت و وضعيت حافظه :

مشخص مي کند با استفاده از ساختار مديريت حافظه اين پروسه در کجاي حافظه قرار دارد.ادرس دستيابي به پروسه در اينجا مشخص مي شود.

6) وضعيت ورودي و خروجي :

کدام دستگاه مورد استفاده پروسه قرار گرفته است .پروسه از کدام پورت ورودي و خروجي استفاده کرده است.

7) اطلاعات مربوط به مديريت حافظه و فايل:

پروسه اي که در حالت اجرا قرار گرفته است،به کدام فايل دسترسي دارد و چند بار از اين فايل در پردازش خود استفاده کرده است.

8) اطلاعات مربوط به حسابداري و حسابرسي :

مشخص مي کند پروسه از کدام منبع به چه ميزان استفاده کرده است وچه ميزان نياز به منابع براي اجرا دارد.

جلسه سوم:

زمانبندي :

زمانبندي به مجموعه اي از مکانيزم ها و سياست ها گفته مي شود که يک سيستم عامل براي اجراي فرايندها به کار مي برد.
زمانبند ماجولي از سيستم عامل است که انتخاب مي کند کدام فرايند اجرا شود.
سه نوع زمانبند داريم:
1) Long Term Schduling
2) Medium Term Schduling
3) Short Term Schduling
پروسه هاي Bach به پروسه هايي گفته مي شود که با کنترل و Data همراه هستند . اين پروسه ها عموما منابع سيستم را اشغال مي کنند.

زمانبند بلند مدت:

براي انتخاب پروسه هاي Bach از صف پروسه هاي Bach به حالت Ready توسط سيستم عامل استفاده مي شود.

زمانبند ميان مدت:

براي انتخاب پروسه هايي که Suspend شده اند و هم چنين از حافظه هم خارج شده اند . براي برگشت اين پروسه هايي که تعليق شده اند به حالت Ready بايد تمهيداتي توسط سيستم عامل انجام گيرد.

زمانبند کوتاه مدت:

زمانبندي است که پروسه هايي که در صف Ready هستند را براي اجرا انتخاب مي کند.اين پروسه ها شامل پروسه هاي Bach ،پروسه هاي تعاملي و پروسه هايي که از سطح Suspend وارد Ready شده اند هستند.
Suspend Queue :پروسه هايي که در صف Suspend Queue هستند پروسه هايي هستند که سيستم عامل براي انجام رويدادي خاص انها را تعليق کرده است و اين پروسه ها منتظر اجازه ي سيستم عامل براي اينکه از حالت تعليق بيرون بيايند هستند.اين پروسه ها از حافظه خارج نمي شوند.
پروسه هاي Interactive همان پروسه هايي هستند که ما انتظار داريم بعد از دادن Comment به سيستم، بلافاصله پاسخ ان را در Terminal مشاهده کنيم.

معيار هاي کمي زمانبندي:

1) ميزان بکارگيري پردازنده( Processor Utilization )
2) توان عملياتي( Trough put )
3) زمان انتظار( Waiting Time )
4) زمان پاسخگويي( Response Time )
5) Turn Over Time

ميزان بکارگيري پردازنده:

يعني به چه اندازه از پردازنده استفاده شود.هر چقدر اين استفاده بيشتر باشد بهتر است . به شرطي که در اين زماني که CPU در حال اجرا کردن است فقط سرويس دهي کند . نبايد محاسبات اماري را انجام داد،يعني فقط پردازش کند.

Trough put :

تعداد Job هاي تکميل شده در واحد زمان را توان عملياتي مي گويند.در اين عمل اگر Job کوچکتر باشد ،توان عملياتي بالا مي رود.در Trough put نتيجه اين است که به پروسه هاي کوچکتر زودتر سرويس دهي شود.اين معيار بايد در يک بازه ي زماني مناسب اندازه گيري شود.اين بازه ي زماني اگر بيشتر باشد، توان عملياتي به دست امده دقيقتر است.

Turn Over Time :

از لحظه اي که يک پروسه به سيستم مي پيوندد و خلق مي شود تا زماني که اين پروسه تکميل مي شود يا به انجام مي رسد و از حافظه خارج مي شود مي گويند.بهترين زمان اين است که پروسه به حالت اجرا نزديک باشد.

Waiting Time :

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

Response Time :

زماني است که اخرين کليد را در صفحه کليد فشار مي دهيم تا نتيجه را در صفحه نمايش مشاهده کنيم يا اينکه از لحظه اي که يک پروسه يا فرايند درخواستي را براي اجرا مي دهد تا لحظه اي که به درخواست پروسه توسط سيستم عامل توجه مي شود.

معيارهاي کيفي زمانبندي:

1) Fairness (منصفانه) :

ايا الگوريتم ما منصفانه است يا خير ؟
پروسه توسط الگوريتم به صورت منصفانه انتخاب مي شود ؟

2) قابليت پيش بيني :

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

3) قابليت تکرار :

وقتي پروسه اي در حال اجرا است ايا دفعه ي بعدي قابليت اجرا دارد يا نه؟تعيين مي کند که اگر پروسه اي در حال اجرا باشد و اجرايش تمام شود ،ايا اين امکان وجود دارد که اين پروسه براي بار بعد فراخواني شود.در شرايطي مانند اينکه جدول PCB اماده نباشد ،نمي تواند دوباره فراخواني شود.

الگوريتم هاي زمانبندي :

1) First Come First Serviced :

يعني پروسه اي که اول وارد صف مي شود تا انتها اجرا شود و وقتي که اجرايش تمام شد پروسه ي بعدي اجرا شود. يک الگوريتم انحصاري است.يعني پروسه اي که وارد CPU مي شود بايد اجرا شود.( Non Primitive )
زمان پاسخگويي اين الگوريتم مناسب نيست.البته براي اولين پروسه خوب است و براي پروسه هاي بعدي خوب نيست.زمان انتظار زياد است.الگوريتم FCFS براي پروسه هاي Bach بهتر است.

2) الگوريتم Priority :

الگوريتمي که مبتني بر اولويت است.اين الگوريتم انحصاري نيست.يعني Primitive است.اولويت بالاتر باشد اجرا مي شود.

3) Shortest Remaining Time Next :

وقتي پروسه اي وارد صف مي شود ،اگر اين پروسه از باقي مانده ي زمان پروسه اي که در حال اجرا است کمتر باشد اين الگوريتم به اين پروسه خدمات مي دهد.

4) Shortest Job First :

هر پروسه اي کوچکتر باشد خدمات بگيرد . در اين حالت Trough put بالا مي رود . چون همه پروسه هاي کوچک اجرا مي شود.
هم چنين ممکن است پروسه هاي بزرگتر اصلا اجرا نشوند،زيرا پروسه هاي کوچکتر همواره اجرا مي شوند.
ادامه دارد ......
ارسال مقاله توسط عضو محترم سايت با نام کاربري : PSTdinco
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image