تالار گفتگوی میکرو رایانه
http://www.microrayaneh.com/forum/

طراحی سیستم عامل
http://www.microrayaneh.com/forum/viewtopic.php?f=95&t=55
صفحه 3 از 8

نویسنده:  shokri [ چهارشنبه 19 دسامبر, 2007 11:04 am ]
موضوع پست:  تطابق تکنیکهای سیستم عامل با نسل های کامپیوتر

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

آنها برنامه‌های خود را توسط تخته مدار سوراخدار (و بعدها توسط کارتهای پانچ ) و به زبان ماشین به کامپیوتر می‌دادند. اکثر برنامه ها محاسبات عددی معمولی مانند جداول سینوس و کسینوس بود.

- Batch system سیستم های دسته ای

Multi programming- سیستم های چند برنامه ای

Spooling- سیستم

Time sharing- سیستم اشتراک زمانی

-سیستم عاملهای کامپیوترهای شخصی و شبکه

Distributed system- سیستم های توزیع شده

Multi tasking- سیستم های چند وظیفه ای

Multi processing- سیستم های چند پردازنده ای

Real Time- سیستم های بلادرنگ

نویسنده:  shokri [ چهارشنبه 19 دسامبر, 2007 11:07 am ]
موضوع پست:  سیستم های دسته ای

در نسل دوم , کامپیوترها (65-1955) از ترانزیستور ساخته شدند. طریقه کار با این کامپیوترهای نسل دوم از طریق یک کنسول (Console) بود که تنها اپراتور مخصوص کامپیوتر با آن کار می‌کرد و کاربران به طور مستقیم با این کامپیوترها محاوره (interaction) نداشتند. کاربر ابتدا برنامه خود را به زبان فرترن یا اسمبلی بر روی کاغذ می‌نوشت سپس توسط دستگاه card punch برنامه را ,روی کارت های سوراخدار منتقل ساخت.

بعد این دسته کارت تهیه شده که شامل برنامه, داده‌ها و کارتهای کنترل بود به صورت کار (Job) تحویل اپراتور داده می شد . اپراتور بعد از اتمام کار قبلی , دسته کارت جدید را به کامپیوتر می‌داد تا برنامه را اجراء کند در انتها خروجی برنامه (که غالباً چاپی بود) را به کاربر تحویل می‌داد سیستم عامل در این کامپیوترهای اولیه ساده بود و وظیفه اصلی آن انتقال کنترل اتوماتیک از یک کار به کار دیگری بود . سیستم عامل همواره مقیم در حافظه بود و در هر لحظه فقط یک برنامه اجراء می‌شد.

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

یکی از معایب روش offline- spooling زیاد بودن زمان برگشت( گردش ) ,(turnaround time)است یعنی تأخیر زمانی مابین تحویل کار و تکمیل کار. همچنین در این سیستم اولویت بندی به معنای واقعی وجود ندارد.

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

نویسنده:  shokri [ چهارشنبه 26 دسامبر, 2007 12:14 pm ]
موضوع پست:  سیستم های چند برنامه ای

در نسل سوم کامپیوترها (80-1965) از مدارات مجتمع (Integrated Circuit=IC ) برای ساخت کامپیوترها استفاده شد.

به طور کلی برنامه‌ها را می‌توان به دو دسته تقسیم کرد:
یکی برنامه ها با تنگنای محاسبات CPU bound یا CPU Limiter مانند محاسبات علمی سنگین که بیشتر زمان کامپیوتر صرف محاسبات cpu می‌شود و دیگری برنامه های تنگنای (I/O Limited I/O) مانند برنامه‌های تجاری که بیشتر زمان کامپیوتر صرف ورود داده‌ها و خروج اطلاعات می‌شود.
یک اشکال مهم سیستم های دسته ای این است که وقتی کار جاری برای تکمیل یک عملیات I/O مثلاً بر روی نوار گردان به اتمام نرسیده ، cpu مجبور است صبر کند تا عملیات cpu نوار گردان تمام شود. در این مدت cpu بیکار می ماند (مجبور است صبر کند تا عملیات I/O به اتمام برسد.) در برنامه های CPU Limited این اتلاف وقت اندک است ولی در برنامه های I/O Limited ممکن است حدود 80تا90 درصد وقت CPU به هدر برود.

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

البته نگهداری همزمان چند برنامه در حافظه نیاز به مدیریت خاص حافظه دارد تا برنامه‌ها بر همدیگر اثر سوء نداشته باشند . لذا مدیریت حافظه بحث مهمی در سیستم عامل می‌باشد.

نویسنده:  shokri [ چهارشنبه 26 دسامبر, 2007 12:18 pm ]
موضوع پست:  spooling سیستم

یکی دیگر از ویژگیهای سیستم عامل نسل سوم Spooling(یاOn Line Spooling) است که معمولاً همراه چند برنامگی استفاده می‌شود. این کلمه مخفف عبارت (Simultaneous Peripheral OperationonLine) می‌باشد.

ضمیمه:
89in6tg.gif

نویسنده:  shokri [ چهارشنبه 26 دسامبر, 2007 12:19 pm ]
موضوع پست:  spooling سیستم

در این سیستم به جای آنکه کارتها از دستگاه کارت خوان مستقیماً وارد حافظه گردند و توسط CPUپردازش شوند ابتدا کاراکتر به کاراکتر در بافری در حافظه قرار گرفته و سپس به صورت بلوکی بر روی دیسک نوشته می‌شود .

وقتیکه برنامه کاربر اجراء می‌شود و از سیستم عامل تقاضای ورودی می‌کند, اطلاعات ورودی به صورت بلوکی و با سرعت زیاد از دیسک خوانده می‌شوند. به طور مشابه هنگامی که برنامه برای خروجی چاپگر را احضار می‌کند, خط خروجی در یک بافر کپی شده و سپس در دیسک نوشته می‌شود. پس اطلاعات خروجی از دیسک بر اساس ترتیب و اولویت در چاپگر چاپ می‌شوند.
در واقع اسپولینگ عمل I\O یک کار را با عمل محاسباتی کار دیگر روی هم می‌اندازد . (overlap) در سیستم اسپولینگ در حالیکه ورودی یک کار از دستگاه ورودی خوانده می‌شود,کار دیگری در حال چاپ شدن است , در همین بین حتی کار دیگری می‌تواند در حال پردازش و اجراء باشد . در اسپولینگ برنامه عملیات ورودی و خروجی اش را متناسب با سرعت دیسک (که سریع است) انجام می‌دهد و نه متناسب با سرعت کارتخوان یا چاپگر (که خیلی کند هستند).

بنابراین سیستم مذکور باعث استفاده بهینه از I\O و cpu می‌شود و سرعت عمل را بالا می‌برد. در این سیستم دیگر نیازی به کامپیوترهای 1401,نوار گردانهای اضافی و حمل نوارها (مانند سیستم‌های دسته‌ای ) نداریم.

صفحه 3 از 8 همه زمانها به صورت UTC + 3:30 hours تنظیم شده.
طراحی سایت از میکرو رایانه