تحقیق مقاله سیستم عامل

تعداد صفحات: 238 فرمت فایل: word کد فایل: 13471
سال: مشخص نشده مقطع: مشخص نشده دسته بندی: مهندسی فناوری اطلاعات IT
قیمت قدیم:۲۹,۵۰۰ تومان
قیمت: ۲۴,۰۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه تحقیق مقاله سیستم عامل

    اجزای مختلف کامپیوتر

    نرم افزار

    سخت افزار

    برنامه های سیستمی

    همانطور که می دانید کامپیوتر از دو بخش کلی سخت افزار و نرم افزار تشکیل شده است. به طور دقیق تر می توان یک سیستم کامپیوتری را به صورت زیر ترسیم کرد:

    برنامه های کاربردی(حسابداری، مرورگر وب و...)

    مفسر فرمان، مترجم ها، ادیتورها

    سیستم عامل

    زبان ماشین

    ریز برنامه نویسی

    دستگاه های فیزیکی

     

    در بسیاری از سیستم ها هنگام اجرا دستورات ماشین، ابتدا این دستورات توسط یک ROM به یک سری دستورالعمل های ایتدایی تر به نام ریز دستور یا میکرو کد تبدیل شده و سپس توسط سخت افزار اجرا می گردند که به این ماشین ها CISC(Complex Instruction Set Computer) گفته می شود. در بعشی از کامپیوترها به نام RISC(Reduced Instruction Set Computer) این سطح ریز برنامه نویسی وجود نداشته و دستورات زبان ماشین مستقیما توسط سخت افزار اجرا می گردند. تعداد دستورات ماشین های RISC کمتر از کامپیوترهای CISC می باشد.

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

    به طور کلی نرم افزارهای کامپیوتر به دو گروه تقسیم می شوند: یکی برنامه های سیستمی که عملیات کامپیوتر را مدیریت می کنند و دیگری برنامه های کاربردی. سیستم عامل(Operation System= OS) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل می کند.

    سیستم عامل دو دظیفه(یا هدف) اصلی دارد:

    الف) سیستم عامل استفاده از کامپیوتر را ساده می سازد. این بدان معناست که مثلا کاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسکها به راحتی فایلی را بر روی دیسک ذخیره و حذف کند. این کار در واقع با به کار بردن دستورات ساده ای که فراخوان های سیستمی(System Calls) را صدا می زنند انجام می پذیرد. در صورت عدم وجود سیستم عامل کاربر و یا برنامه نویس می بایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر(مثل مونیتور، فلاپی، کی بورد و غیره) داشته باشد و روتین هائی برای خواندن و یا نوشتن آنها به زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته(Extended machine) یا ماشین مجازی(Virtual machine) یاد می شود که واقعیت سخت افزار را از دید برنامه نویسان مخفی می سازد.

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

    به بیانی می توان گفت هدف سیستم عامل استفاده بهینه و حداکثر از ماشین و وظیفه سیستم عامل کنترل تمامی منابع و به تعادل رساندن درخواستها و منابع موجود است.

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

    سیستم عامل معمولا اولین برنامه ای است که پس از بوت شدن در حافظه بار می شود. پس از بار شدن، قسمتی از سیستم عامل بطور دائم در حافظه باقی(Resident) می ماند. قسمتهای دیگر با توجه به کاربرد کامپیوتر توسط کاربر از دیسک به حافظه آورده می شود.

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

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

    سیستم های دسته ای Batch Systems

    در نسل دوم، کامپیوترها(65-1955) از ترانزیستور ساخته شدند.

    طریقه کار با این کامپیوترهای نسل دوم از طریق یک کنسول(Console) بود که تنها اپراتور مخصوص کامپیوتر با آن کار می کرد و کاربران به طور مستقیم با این کامپیوترها محاوره(interaction) نداشتند. کاربر ابتدا برنامه خود را به زبان فرترن یا اسمبلی بر روی کاغذ می نوشت سپس توسط دستگاه Card punch، برنامه را روی کارت های سورخدار منتقل می ساخت. بعد این دسته کارت تهیه شده که شامل برنامه، داده ها و کارتهای کنترل بود به صورت یک کار(Job) تحویل اپراتور داده می شد. اپراتور بعد از اتمام کار قبلی، دسته کارت جدید را به کامپیوتر می داد تا برنامه را اجراء کند در انتهل خروجی برنامه(که غالبا چاپی بود) را به کاربر تحویل می داد. سیستم عامل در این کامپیوترهای اولیه ساده بود و وظیفه اصلی آن انتقال کنترل اتوماتیک از یک کار به کار دیگری بود. سیستم عامل همواره مقیم در حافظه بود و در هر لحظه فقط یک برنامه اجراء می شد. هنگامی که اپراتور مشغول گذاشتن نوارها یا برداشتن کاغذهای چاپ شده بود وقت زیادی از این کامپیوترهای گران قیمت به هدر می رفت.

    برای رفع مشکل فوق سیستم های دسته ای(Batch System) ابداع شد. یعنی ابتدا یک سبد پر از دسته کارتها در اتاق ورودی جمع آوری می شد، سپس کلیه آنها به وسیله دستگاه کارتخوان یک کامپیوتر کوچک و نسبتا ارزان(مثل IBM 1401) خوانده شده و بر روی یک نوار ذخیره می گردید. سپس اپراتور نوار را برداشته بر روی کامپیوتر اصلی و گران قیمت که محاسبات را انجام می داد(مثل IBM 7094) نصب می کرد. بعد از آن برنامه ای را اجراء می کرد(یعنی سیستم عامل) تا اولین کار را از روی نوار برداشته و اجرا کند، خروجی بر روی نوار دیگری نوشته می شد. پس از اتمام هر کار سیستم عامل به صورت خودکار کار بعدی را از نوار می خواند. پس از اجراء همه برنامه ها، اپراتور نوار خروجی را برداشته و دوباره روی کامپیوتر IBM 1401 منتقل می ساخت تا عملیات چاپ خروجی ها به صورت off line  انجام شود. به این روش کار offline spooling نیز گفته می شود. بیشتر برنامه های نسل دوم به زبان فرترن و اسمبلی برای محاسبات مهندسی و علمی مثل مشتقات جزئی به کار می رفت.

    یکی از معایب روش offline- spooling زیاد بودن زمان برگشت(گردش) (turnaround time) است، یعنی تاخیر مابین تحویل کار و تکمیل کار. همچنین در این سیستم اولویت بندی به معنای واقعی وجود ندارد. تنها روش بدست آوردن اولویت این بود که نوار کارهای مهم را ابتدا مهم را ابتدا در ماشین اصلی قرار دهند. حتی در اینصورت هم باید چندین ساعت صبر می کردند تا خروجی ها ظاهر شوند. همچنین نیاز به سخت افزار اضافی(مثل کامپیوترهای 1401) از دیگر معایب این روش بود.

    پس از معایب این روش عبارت است از: 1- گردش طولانی تر کار      2- عدم وجود اولویت             3- نیاز به سخت افزار اضافی.

    از مزایای سیستم offline spooling نسبت به سیستم های قبل از آن می توان موارد زیر را ذکر کرد:

    1- راندمان بهتر            2- عملیات ساده تر      3- سهولت برای استفاده از راه دور

    تذکر: در سیستم های اولیه CPU گرانترین جزء کامپیوتر بود و بدین جهت نیاز به بالا بردن درصد استفاده از CPU فاکتور اصلی در طراحی سیستم عاملها بود.

    سیستم های چند برنامگی Multiprogramming

    در نسل سوم کامپیوترها(80-1965) از مدارات مجتمع(Integrated Circuit= IC) برای ساخت کامپیوترها استفاده شد. به طور کلی برنامه ها را می توان به دو دسته تقسیم کرد: یکی برنامه ها با تنگنای محاسباتی(CPU bound یا CPU Limited) مانند محاسبات علمی سنگین که بیشتر زمان کامپیوتر صرف محاسبات CPU می شود و دیگری برنامه ها با تنگنای I/O(I/O Limited) مانند برنامه های تجاری که بیشتر زمان کامپیوتر صرف ورود داده ها و خروج اطلاعات می شود.

    یک اشکال مهم سیستم های دسته ای این است که وقتی کار جاری برای تکمیل یک عملیات I/O مثلا بر روی نوار گردان منتظر می شود، در این حال CPU بیکار می ماند و مجبور است صبر کند تا عملیات I/O به اتمام برسد. در برنامه های CPU Limited این اتلاف وقت اندک است ولی در برنامه های I/O Limited ممکن است حدود 80 تا 90 درصد وقت CPU به هدر برود.

    برای رفع این مشکل از تکنیک multiprogramming استفاده می شود. بدین ترتیب که حافظه به چند قسمت تقسیم شده و در هر قسمت یک برنامه مجزا قرار داده می شود. وقتی که یک کار برای تکمیل عملیات I/O منتظر می ماند، پردازنده به کار دیگری داده می شود. اگر تعداد کارهای موجود در حافظه کافی باشد می توان CPU را تقریبا صد در صد مشغول نگه داشت. البته نگهداری همزمان چند برنامه در حافظه نیاز به مدیریت خاص حافظه دارد تا برنامه ها بر همدیگر اثر سوء نداشته باشند. لذا مدیریت حافظه بحث مهمی در سیستم عامل می باشد

    سیستم عامل

    CPU

     

    پس سیستم های چند برنامگی فقط یک پردازنده دارند و به کمک مکانیزم وقفه بین کارهای CPU- limited و I/O Limited سوئیچ می شود و به ظاهر اجرای این برنامه ها به صورت موازی و همزمان صورت می گیرد و بدین ترتیب بهره وری از سیستم افزایش می یابد.

    یک شیوه برای بالا بردن راندمان CPU آن است که تعدادی کار CPU- Limited را با I/O- Limited مخلوط کنیم. ولی در عمل امکان تقسیم بندی کارها قبل از اجراء شدنشان وجود ندارد. از طرف دیگر برنامه های ممکن است در ابتدا CPU-Limited باشد ولی در حین اجراء تبدیل به I/O-Limited گردد.

    سیستم های Spooling

    یکی دیگر از ویژگیهای سیستم عاملهای نسل سوم Spooling(On Line Spooling) است که معمولا همراه چند برنامگی استفاده می شود. این کلمه مخفف عبارات(Simultaneous Peripheral Operation) می باشد. در این سیستم به جای آنکه کارتها از دستگاه کارت خوان مستقیما وارد حافظه گردند و توسط CPU پردازش شوند ابتدا کاراکتر به کاراکتر در بافری در حافظه قرار گرفته و سپس به صورت بلوکی بر روی دیسک نوشته می شوند. وقتیکه برنامه کاربر اجراء می شود و از سیستم عامل تقاضای ورودی می کند، اطلاعات ورودی به صورت بلوکی و با سرعت زیاد از دیسک خوانده می شوند. به طور مشابه هنگامی که برنامه برای خروجی چاپگر را احضار می کند، خط خروجی در یک بافر کپی شده و سپس در دیسک نوشته می شود. پس اطلاعات خروجی از دیسک براساس ترتیب و اولویت در چاپگر چاپ می شوند. در واقع اسپولینگ عمل I/O یک کار را با عمل محاسباتی کار دیگر روی هم می اندازد(overlap). در سیستم اسپولینگ در حالیکه ورودی یک کار از دستگاه ورودی خوانده می شود، کار دیگری در حال چاپ شدن است، در همین بین حتی کار دیگری می تواند در حال پردازش و اجراء باشد. در اسپولینگ برنامه عملیات ورودی و خروجی اش را متناسب با سرعت دیسک(که سریع است) انجام می دهد و نه متناسب با سرعت کارتخوان یا چاپگر( که خیلی کند هستند).

  • فهرست و منابع تحقیق مقاله سیستم عامل

    فهرست:

    ندارد
     

    منبع:

    ندارد

تحقیق در مورد تحقیق مقاله سیستم عامل, مقاله در مورد تحقیق مقاله سیستم عامل, تحقیق دانشجویی در مورد تحقیق مقاله سیستم عامل, مقاله دانشجویی در مورد تحقیق مقاله سیستم عامل, تحقیق درباره تحقیق مقاله سیستم عامل, مقاله درباره تحقیق مقاله سیستم عامل, تحقیقات دانش آموزی در مورد تحقیق مقاله سیستم عامل, مقالات دانش آموزی در مورد تحقیق مقاله سیستم عامل ، موضوع انشا در مورد تحقیق مقاله سیستم عامل
ثبت سفارش
عنوان محصول
قیمت