1 / 27

Operating system سيستم عامل 3 واحد

پيرنيا. Operating system سيستم عامل 3 واحد. بارم بندی درس :. 3 نمره quiz 1 نمره تمرين 2 نمره تحقيق 1 نمره حضور 14 نمره پايان ترم. لیست مراجع درس OS . 1- Modern Operating Systems, 2001 by Tanenbaum, Prentice-Hall

allayna
Download Presentation

Operating system سيستم عامل 3 واحد

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. پيرنيا Operating systemسيستم عامل 3 واحد

  2. بارم بندی درس : 3 نمره quiz 1 نمره تمرين 2 نمره تحقيق 1 نمره حضور 14 نمره پايان ترم

  3. لیست مراجع درسOS 1- Modern Operating Systems, 2001 by Tanenbaum, Prentice-Hall 2- Operating Systems, Design And Implementation, second edition 1997, Andrew S. Tanenbaum,Woodhul 3- Operating Systems Internals 2002 , 4th Edition, William Stalling 4- Oparating System Concepts, 2003, Silberschats

  4. Operating systemسيستم عامل Shahriar Pirnia http://www.pirnia.net

  5. تعريف سيستم عامل: سيستم عامل مجموعهاي از برنامه هاست كه يا به صورت software يا به صورت firmware پياده سازيشده و سخت افزار را قابل استفاده مي سازد. سخت افزار “ قدرت پردازش خام “ رافراهم مي كند سيستم عامل اين قدرت را در دسترس كاربران قرار ميدهد . سيستم عامل همچنين سخت افزار را با دقت مديريت ميكند تا به كارايي (performance) خوب دست يابد.سيستم عامل اساسي ترين برنامه سيستمي است كه كنترل كليه منابع سيستم را بر عهده دارد و زمينه اي (بستري) را فراهم ميسازد كه برنامه هاي كاربران بر روي آن نوشته شود. وظايف اصلي سيستم عامل : 1-سيستم عامل به عنوان مدير منابع(مديريت منابع) resource management 2-سيستم عامل به عنوان يك ماشين توسعه يافته يا مجازيextended (virtual)machine

  6. دريك سيستم عامل چند كار بره ، مديريت و حفاظت حافظه ، دستگاههاي ورودي/ خروجي و ديگر منابع بسيار اهميت دارد ، زيرا در غير اينصورت كاربران ممكن است با يكديگر تداخل كاري پيدا كنند(به عنوان مثال سه كاربر كه در يك شبكه همزمان روي پرينتر خروجي مي فرستند.) شرح هر يك از وظايف: 1-سيستم عامل به عنوان مدير منابع تعريف منبع (( resource: (ـ) هر يك از قطعات سخت افزاري مانند پردازنده ها ، حافظه، زمان سنج،ديسكها ،ماوس، واسط شبكه(NIC)، چاپگر و... يك منبع (سخت افزاري)هستند. (ـ) فايلها ،ركوردهاي پايگاه داده ها هر كدام يك منبع (نرم افزاري) هستند. سخت افزاری لذا منبع (resource) به دو دسته تقسيم مي شود نرم افزاري

  7. نكته ديگر اينكه كاربران نه تنها نياز به اشتراك گذاشتن سخت افزاردارند ،بلكه نياز دارند اطلاعات (فايلها ، ركوردهاي پايگاه داده و ...) را نيزبه اشتراك گذارند . Print server user3 user2 user1 c3 c2 c1 ci printer switch شكل 1-1 يك شبكه (network) داراي يك printer و چند كاربر

  8. 2- سيستم عامل به عنوان يك ماشين بسط يافته يا ماشين مجازي واسطي كه (real machine)ماشين حقيقي براي برنامه نويس ارائه ميكند ، زبان ماشين (machine language) است كه از مجموعه اي ازدستورالعمل ها (instruction set) تشكيل مي شود .براي استفاده از اين دستورالعمل ها و درك هر يك از آنها نياز به دانستن معماري (architecture) (مجموعه دستورالعمل ها ، سازمان حافظه، I/Oو ساختار bus) داريم و بايستي به Manual خاص آن دستگاه مراجعه نمود. معماري اكثر كا مپيو ترها در سطح زبان ماشين براي برنامه نويس خام و پيچيده است. مثلا عمليات ورودي و خروجي در يك floppy disk را در نظر بگيريم .يكي ازكنترلرهايي كه در برخي از فلاپي ديسكها استفاده مي شود NEC PD765 controller مي باشد. NEC PD765 controller 16 command reading/writing data Initializing Resetting the controller حركت بازوي ديسك فرمت نمودن track ها

  9. دستورات read/write ،13 پارامتر دارند كه در 9 بايت جا مي گيرند. اين پارامترها شامل: آدرس بلاك ديسك كه بايد خوانده شود ، تعداد sector/track ، فضاي خالي (gap)ميان هر دو Sector،اينكه با يك علامت آدرس پاك شده چه بايد بكند و ... وقتي كه operation كامل شود،Controller بيست و سه(23) فيلد status, و error را در 7 بايت پر مي كند . روشن است كه يك برنامه نويس متوسط نمي خواهد خيلي درگير برنامه نويسي floppy disk يا Harddisk شود. آنچه كه programmer مي خواهد يك انتزاع سطح بالا high-level abstraction مي باشد تا با آن كار كند . در مورد ديسك يك انتزاع نمو نه مي تواند اين باشد: هر ديسك مجموعه اي از فايلهاي داراي نام مي با شد. هر فايلي براي خواندن و نوشتن مي تواند بازشود سپس مي تواند خوانده يا نوشته شود و نهايتاً بسته شود . اينكه موتور روشن است يا خاموش تعداد sectorها بر track چقدر است ،gap فضاييچه ميزان است در اين انتزاع ( واسط سطح بالا ) ظاهر نمي شود . برنامه اي كه حقيقت را درباره سخت افزار ازبرنامه نويس پنهان مي كند و يك ايده ساده شامل فايلهاي داراي نام كه مي توانند خوانده يا نوشته شوند را در اختيار مي گذارد سيستم عامل است . Azad University ,South Branch

  10. همچنين در ارتباط با timer ، مديريت حافظه ، اينتراپتها و بقيه ويژگيهاي low-level نيزسيستم عامل بسياري از امور غير دلپذير را پنهان مي كند . در تمام موارد فهم و درك و استفاده از انتزاعي يا واسطي (interface)كه سيستم عامل در اختيار مي گذارد ساده تر و قابل فهم تر است. user نيازمند ياد گيري: معماري Instructionset Memory organization Bus structure I/O مي باشد. زبان ماشين Real machine: hardware

  11. user User program OS shell OS system calls OS Extended machine hardware

  12. برنامه هاي كار بردي Application programs سيستم بانكي رزرو خطوط هوايي بازيها compilers editor Command interpreter برنامه هاي سيستمي System programs سيستم عامل(os) زبان ماشين Machine language firmware ريزبرنامه سازی microprogramming hardware دستگاههاي واقعي(سخت افزار )

  13. بر روي سيستم عامل بقيه نرم افزار هاي سيستمي (system software)قرار مي گيرد. برنامه هاي سيستمي مانندcommand interpreters ،editor, compilers و برنامه هاي مشابه مستقل از كاربرد مي باشند. يك نكته مهم اين است كه اينها جز سيستم عامل نيستند. سيستم عامل آن بخش از نرم افزار است كه در kernel mode (حالت هسته) يا supervisor mode انجاممي شود. سيستم عامل توسط سخت افزار از دخالت كار بر حفاظت مي شود(صرفنظر) از پردازنده هاي قديمي كه كلا حفاظت سخت افزاري ندارند.بقيه برنامه هاي سيستمي در usermode اجراء مي شوند. نهايتا بالاي برنامه هاي سيستمي برنامه هاي كار بردي (application programs) قرار مي گيرند . اين برنامه ها توسط برنامه نويسان يا کاربران جهت حل مسائل خاص آنان نوشته می شود. مثلا برنامه های محاسباتی مهندسی CAD، بازيها ، سيستم مديريت اطلاعات بانکی ، مجموعه برنامه هایرزرو خطوط هواپيمايي و ... تاريخچه سيستمهای عامل (os history) اولين digital / computer توسط (1792-1871) Charles Babbage طراحي شد. کامپيوتری که او ساخت موتور تحليلی (Analytical Engine) نام داشت . اگر چه بانج بيشتر عمر و ثروت خود را صرف ساختن موتور تحليلی کرد ولی به نتيجه دلخواه و مطلوب خود نرسيد زيرا او فقط از مکانيک محض استفاده می کرد . و فن آوری آن دوران امکان توليد چرخها و چرخ دنده هايي با دقت و ظرافت مورد نياز وي را نداشت .

  14. نسل اول _(55-1945) : لامپهای خلا و تخته مدارهای سوراخدار در دهه 40 کامپیوترهايی با استفاده از لامپهای خلا بوجود آمد. اندازه اين ماشينها بسيار بزرگ بود و به همراه دهها هزار لامپ خلا داخل اتاقها را پر مي کرد ، اما از ارزانترين کامپيوترهای شخصی امروزی کندتر کارمی کرد. - کليه عمليات به زبان ماشين بود( زبانهای برنامه سازی شناخته شده بود) - نسل بدون سيستم عامل ( هيچ کس نامی از سيستم عامل نشنيده بود) - برنامه نويس برای کار با ماشين ابتدا وقت رزرو ميکرد ، سپس سروقت معين به اتاق ماشين وارد می شد و تخته مدار سوراخدار خود را در ماشين قرار مي داد و ساعاتی را منتظر می ماند به اين اميد که هيچ يک از چند هزار (مثلا 2000 ) لامپ خلا در طی اجرای برنامه نسوزد. - برنامه ها برای محاسبات عددی معمولی مانند تهيه جداول - يک عده از مردم تمامی مراحل طراحی ساخت برنامه نويسی استفاده و نگهداری يک ماشين را بر عهده داشتند

  15. نسل دوم :( 65-1955) ترانزيستور و سیستمهای batch ظهور ترانزيستور در اواسط دهه 1950 يک انقلاب بنيادين بود حجم کامپیوترها کوچک شد و قابليت اطمينان آنها بالا رفت لذا سازندگان می توانستند کامپيوترها را توليد کرده و به مشتريها بفروشند.- متخصصين طراحی ساخت برنامه نويسی، تعمير و نگهداری و اپراتوری از يکديگر تفکيک شدند.- هزينه اين ماشينها حدود چند ميليون دلار بود.برای اجرای يک job(کار) ( مثلا يک برنامه يا يک مجموعه از برنامه ها ) يک برنامه نويس خود را برروی يک کاغذ می نوشت ( به زبان فرترن يا اسمبلی ) سپس آنرا بروی smart card ( کارتهای منگنه )punch می کرد و يک دسته کارت را به اتاق كامپيوتر می آورد و به يکی از اپراتورها تحويل می داد. وقتي کامپيوتر کار در حال اجرا را به اتمام می رساند يک اپراتور به سمت چاپگر می رفت و کاغذهای خروجی برنامه را جدا و به اتاق خروجی منتقل ميکرد تا بعدا برنامه نويس آنها را بردارد سپس او يکی ديگر از دسته کارتها را ا ز اتاق ورودی آورده و در دستگاه کارت خوان قرار می داد و در صورتي که برنامه به مترجمfortran نياز داشت وی دسته کارت مترجم فرترن را نيز داخل کمد فايلها برداشته و در دستگاه کارتخوان قرار می داد. هنگاميکه اپراتورها برای انجام اين کارها در اتاق ماشين راه می رفتند مدت زيادی از وقت کامپيوتر تلف مي شد.راه حلی که برای کاستن زمان تلف شده بوجود آمد: سيستمهای دسته ای (batch) بود. يک سبد پر از دسته کارتها در اتاق ورودی جمع آوری شود سپس کليه آنها به وسيله دستگاه کارتخوان ( يک کامپيوتر کوچک و نسبتا ارزان مانند IBM1401) خوانده شده و از طريق يک Tape drive برروی يک Magnetic tape ذخيره گردد. اين کامپيوترها به عنوان کامپيوترهای ورودی / خروجی استفاده می شدند يعنی برای خواندن کارتها کار باtapedrive ها و جاپ خروجی ها مناسب بودند اما برای محاسبات عددی مناسب نبودند يک کامپيوتر گرانقيمت مانند برای پردازش و محاسبات واقعی استفاده می شد .

  16. (ـ) كارت $job براي مشخص كردن حداكثر زمان اجرا به دقيقه ، شماره حساب براي حسابداري هزينه ها و نام برنامه نويس (ـ) $Fortranبه سيستم عامل اعلام مي كند مترجم فرترن را از روي load , system tapeنماييد. (ـ) كارتهاي برنامه به زبان فرترن كه بايد كا مپايل شود . (ـ) كارت $load به سيستم عامل مي گويد كه برنامه object را load نماييد. (ـ) كارت $load به سيستم عامل مي گويد كه اجراي برنامه را آغازكند . (ـ) كارت هاي داده (ـ) كارت هاي $end نشان دهنده پايان كار است. سيستمهاي عامل اين نسل معمولا IB sys,( Fortran MonitorSystem) FMS بودند .

  17. شكل صفحه 17 نسل سوم (80-1965)integnted circuits(ICS)and multi programming System /360 ,IBMرا ساخت كه خانوادهاي از ماشينها بود كه از نظر نرم افزاري با يگديگر سازگار بودند. طيف وسيعي از ماشينها ( از اندازه 1401 تا خيلي قويتر از 7094) را در خود داشت . تفاوت ماشين ها فقط در قيمت و كا رايي (حداكثر اندازه حافظه ،سرعت پر دازنده ،تعداد دستگاههاي ورودي / خروجي و نظاير آن) بود. همه انها معماري و مجموعه دستورالعملهاي يكساني داشتند ،لذا برنامه هاي نوشته شده در يكي از آنها در ساير ماشينها نيز قابل اجرا بود. ضمنا براي انجام محاسبات در دو زمينه علمي و تجاري ساخته شده بود. بدليل استفاده از مدارات مجتمع به جاي ترانزيستور ،حجم كوچكتر وreliability بالاتري نسبت به نسل دوم وجود داشت . و از نسبت price/performance بهتري برخوردار بودند. سيستم عامل بود IBM system/360os/360, كه رضايت مشتريها را در بر داشت. تكنيكهاي اساسي اين نسل شامل :- چند برنامگي multiprogramming Spooling - Time-sharing -

  18. I/O bound ( I/o limited ) برنامه ها به دو دسته تقسیم می شوند cpu – bound ( cpu limited ) در برنامه هاي cpu limited(مثل برنامه هاي محاسبات علمي سنگين) ، I/Oبندرت به كار مي رود . افزايش سرعت دستگاههاي ورودي و خروجي تا ثير چنداني در سرعت اجراي برنامه ندارد ولي افزايش سرعت CPU(مثلا استفاده از CPU اي با قدرت محاسباتي دو برابر )،در سرعت اجراي برنامه تاثير خيلي زيادي دارد (تقريبا دو برابر سرعت در اجراي برنامه) در برنامه هاي I/o limited(مثل برنامه هاي تجاري و بانكهاي اطلا عاتي)، حجم I/O خيلي زياد است اما معمولا از محاسبات پيچيده خبري نيست . لذا اغلب 80 تا 90 درصد كل زمان برنامه زمان انتظا ر I/O ميباشد. در اين سيستمها افزايش سرعت دستگاههاي ورودي و خروجي تاثير زيادي روي كل زمان اجراي يك برنامه دارد اما سرعت CPU اگر اضافه شود تا ثير چنداني نخواهد داشت. براي جلوگيري از بيكاري CPU هنگام اجراي يك برنامه كه اكنون منتظر كامل شدن عمل I./O است از تكنيك multiprogramming استفاده شد . شكل صفحه 18 ساختار يك (كارنوعي) در FMS

  19. MULTIPROGRAMMING در اين روش حافظه به چند تكه تقسيم مي شود و در هر تكه يك كا رمجزا قرار مي گيرد وقتي يك كار براي تكميل عمليات I/O منتظر مي ماندCPU به كار ديگري داده مي شود . اگر تعداد كارهاي موجود در حافظه كا في با شد ، مي توان پردازنده را تقريبا در صد در صد زمانها مشغول نگه داشت. سيستمهاي نسل سوم ، سيستمهاي Batch بودند . زمان بين تحويل برنامه به اتاق ورودي و دريافت خروجي اغلب چندين ساعت به طول مي انجامد . بنابراين تنها جابجايي يك كاما مي توانست منجر به خطاي ترجمه شده و وقت برنامه نويس را نيم روز ديگر تلف كند. job3 job2 Memory partitions job1 Operating system

  20. سيستمهاي اشتراك ز ماني time sharing)( اين سيستمها داراي تكنيك multi programming هستند ولي مي توانند به كاربران online پاسخ دهند هر كاربر يك ترمينال بر خط (online) در اختيار دارد . در اين سيستمها ،كامپيوتر قادر است كه به تعدادي از كاربران online در كنار يكديگر سرويس دهد وقتي در مواقعي كهcpu بيكار مي ماند ، كارهاي دسته اي بزرگ را در background به اجرا در آورد. CTSS اولين سيستم اشتراك زماني بود كه دانشگاه M . I. Tآنرا بوجود آورد . (ـ) Multics محصولي از دانشگاه General E lectric Bell Labs , MIT مخفف MULTIPLEXED INFORMATION AND COMPUTING SERVICE (ـ) UNIX توسط KEN THEMPSON بر روي يك كامپيوتر كوچك PDP-7بوجود امد. (ـ) POSIX (استاندارد IEEE براي UNIX) حداقل واسط فراخوان سيستمي كه سيستمهاي UNIX بايد آنرا پشتيباني نمايند.

  21. نسل چهارم ( 1980 تا كنون ) كامپيوترهاي شخصي • تكنولوژي مدارات مجتمع با مقياس بزرگ (LIS) large – scale integreted circuits) • بوجود آمدن كامپيو ترهاي شخصي • مجموعه اي از كامپيوتر هاي شخصي • مجموعه اي از كامپيوتر هاي شخصي كه تو سط يك شبكه بهم مر بو طند . در دانشگاهها و شركتها مورد استفاده هستند . • صنعت نرم افزار كامپيو ترهاي شخصي پا به عرصه وجود گذاشت . سيستم عاملهاي كامپيوترهاي شخصي windows98, windows95 , MS-DOS windowsnt, UNIX به عنوان سرور شبكه

  22. تفاوتهاي سيستم عامل شبكهاي و سيستم عامل توزيع شده : DISTRIBUTED VERSUSNETWORK OS در يك سيستم عامل شبكه ، كاربران از وجود ماشينهاي مختلف در شبكه آگا هند و مي توانند به يك يا چند REMOTE COMPUTER وصل نما ييد و فايلهاي يك ماشين را روي ماشين ديگر كپي كنند هر ماشين سيستم عامل Local خودش را اجراء مي كند . يك سيستم عامل شبكه ، ساختاري مانند يك سيستم عامل تك كاربره را دارد كه بخش مربوط به راهبري NIC و برنامه هاي ورود به سيستم از راه دور و دسترسيRemote به فايلها به ان اضافه شده است . اما در سيستم عامل توزيع شده : كاربران از اين امر اگاه نيستند كه در برنامه شان در كجا به اجراء در مي آيد (در كامپيوتر local يا يك يا چند كامپيوتر remote ) و يا فايلهاي انها در كجا قرار دارند كه خاصيت transparency نام دارد 0 هر چيزي را با نام آن مشخص ميكنيم ونياز به دانستن اينكه كجا قرار دارد نداريم . اغلب سيستمهاي توزيع شده به برنامه هاي كاربردي اجازه ميدهند كه در يك زمان بر روي چندين پردازنده (بطور موازي) به اجراء در آيد. مثالهايي از D-OSES : AMOEBA .

  23. براي يافتن اطلاعات بيشتر در مورد سيستمهاي توزيع شده ميتوانيد به كتاب MODERN OPERATING SYSTEMS(1992) ازآقاي TANANBAM رجوع نماييد DISTRIBUTED SYSTEMS :PRINCIPLES AND PARADIGMS BY ANDREW S. TANEABAUN AND MAARTEN VAN STEEN. PRENCICE-HALL , 1SL EDITION (JANUARY 15,2002) ISBN :0130888931 PRICE: $ 83.00

  24. The Operating System Zoo Mainframe operating systems Server operating systems Multiprocessor operating systems Personal computer operating systems Real-time operating systems Embedded operating systems Smart card operating systems

  25. Mainframe operating systems - ظرفیت : I/O1000 دیسک و هزاران gigabyte داده غیر معمول نیست - به عنوان Web Server های دارای کاربران همزمان خیلی زیاد - به عنوان Server های سایتهای بزرگ تجارت الکترونیکی electronic commerce)) Business-to-Business transactions هایی برای server- Job های زیادی را بطور همزمان انجام می دهند batch transaction processing سه نوع خدمت : timesharing مثالهایی از Mainframe operating systems : MVS , OS/360 , OS/390

  26. Server operating systems • بر روی یک شبکه service می دهند و به کاربران امکان می دهند منابع سخت افزاری • و نرم افزاری را به اشتراک بگذارند - مثالهایی از خدمات : print service , file service , web service - ISP ها سرور های متعددی دارند . مثالهایی از Server operating systems : UNIX , WINDOWS 2000 , WINDOWS 2003 , LINUX

  27. Multiprocessor operating systems multiprocessors Hardware : multicomputers

More Related