Tag Archives: سیستم عامل اولیه

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

اولین کامپیوتر رقمی واقعی توسط یک ریا ضیدان انگلیسی به نام چارلز بابیج ( charles babbage ) 1871-1792 طراحی شده است با بیج بیشتر عمر و ثروت خود را برای ساختن موتور تحلیلی صرف کرد ولی به علت اینکه فقط از مکانیک محض استفاده کرد به نتیجه دلخواه خود نرسید. موتور تحلیلی وی سیستم عامل نداشت بابیج فهمیده بود که موتور تحلیلی اش به نرم افزار نیاز دارد بنابر این ار خانم جوانی را به نام () استخدام نمود . او دختر شاعر مشهور انگلیسی لرد بایرون بود که به عنوان اولین برنامه نویس جهان شناخته شد.{تننباوم} 1- نسل اول (1955-1945) :لامپ خلا و تخته های مدار های سوراخ دار انداز ه ماشین ها بسیار بزرگ بود و به همراه دهها هزار لامپ خلا داخل اتاق ها را پر می کرد کلیه برنامه به طور مطلق به زبان ماشین نوشته می شد. و اغلب به وسیله سیم بندی تخته مدار های سوراخ دار و به منظور کنترل عملیات باید ماشین پایه ای ماشین انجام می شد. زبانهای برنامه نویسی شناخته نشده بود ( حتی زبان اسمبلی ) و هیچ کس نامی از سیستم عامل نشنیده بود . اکثر برنامه ها مثل تهیه جداول سینوس و کسینوس بود. تننباوم} برنامه ساز مستقیما با سخت افزار در تراکنش بود ، سیستم عاملی در کار نبود. 2- نسل دوم (1965-1955): ترانزیستو ر و سیستم های دسته ای ظهور ترانزستور در اواسط دهه 1950 یک انقلاب بنیادی بود . این ماشین ها در اتاق های مخصوص کامپیوتر با تهویه مطبوع مستقر می شود و گروهی از اپراتو رها ی حرفهای راهبری آن را بر عهده می گرفتند. برای اجرای یک کار(job) ، یک برنامه نوییس برنامه (به زبان فرترن یا اسمبلی )خود را بر روی کاغذ می نوشت سپس آنر بر روی کارت ها منگنه می کرد و یک دسته کارت را به اتاق کامپیوتر می آورد و به یکی از اپراتورها تحویل میداد. در صورتیکه برنامه به مترجم فرترن نیاز داشت وی دسته کارت مترجم فرترن را نیز از داخل کمد فایل ها بر داشته و در دستگاه کارتخوان قرار می داد . هنگامیکه اپراتورها برای انجام این کار ها در اتاق ماشین را ه می رفتند ، مدت زمان زیادی از وقت کامپیوتر تلف می شد. را ه حلی که به طور کلی پذیرفته شد ، سیستم های دسته ای ( Batch system ) بود. ایده این روش این بو د که یک سبد پر از دسته کارتها در اتاق ورودی جمع آوری شود سپس کلیه آنها به وسیله دستگاه کارتخوان یک کامپیوتر کوچک و ارزان قیمت ها IBM 1401 خوانده شده و از طریق یک نوار گردان بر روی نوار مغناطیس ذخیره گردد .این IBM 1401 برای محاسبات مناسب نبودند و از یک ماشین گران قیمت IBM 7094 کامپیوتر ها برای پردازش و محاسبات واقعی استفاده می شد. پس از حدود یک ساعت که برای جمع آوری یک دسته از کارها برای نوار صرف می شد ، یک اپراتور نوار را از اتاق کامپیوتر می آورد و یکی از اپراتور ها تحویل می داد. در صورتیکه برنامه به مترجم فرترن نیاز داشت . وی دسته کارت مترجم فرترن رانیز از داخل کمد فایل ها برداشته و در دستگاه کارتخوان قرار می داد . هنگامیکه اپراتور ها برای انجام این کارها در اتاق ماشین راه می رفتند ، مدت زمان زیادی از وقت کامپیوتر تلف می شد. راه حلی که به طور کلی پذیرفته شد ، سیستم های دسته ای () بود. ایده این روش این بود که یک سبد پر از دسته کارتها در اتاق ورودی جمع آوری شود ، سپس کلیه آنها به وسیله دستگاه کارتخوان یک کامپیوتر کوچک و ارزان قیمت IBM 1401 خوانده شده و از طریق یک نوار گردان بر روی نوار مغناطیسی ذخیره گردد. این کامپیوتر ها () رای محاسبات مناسب نبودند و از یک ماشین گران قیمت (7094) برای پردازش و محاسبات واقعی استفاده می شود. حدود یک ساعت طول مکیشد که یک دسته از کارها بر روی نوار ضبط شود پس از یک ساعت یک اپراتور نوار را از اتاق برداشته و به اتاق ماشین منتقل می کرد و درآنجا در یک نوار گردان قرار می داد. سپس یک برنامه مخصوص (سیستم عامل ) را بار می کرد تا اولین کار از روی نوار بخواند و اجرا نماید. خروجی به جای چاپگر بر روی یک نوار دیگر نوشته می شد. پس از اتمام هر کار ، سیستم عامل به صورت خودکار ، کار بعدی را از نوار می خواند و شروع به اجرای آن می کرد . وقتی که تمامی دسته کار ها اجرا می شد ، اپراتور نوار های ورودی و خروجی را بر می داشت ، نوار ورودی را با دسته بعدی جایگزین کرده ، نوار خروجی را به ماشین 1401 منتقل میکرد تا عملیات چاپ به صورت OFF Line (به کامپیوتر اصلی متصل نیست ) انجام شو د.{تننباوم } سیستم عامل در این گونه کامپیوتر ها بسیار ساده بود . کار اصلی آن ، انتقال از یک کار به کار دیگر بود. سیستم عامل همیشه در حافظه قرار داشت. {سیلبر شاتس} ویژگی های سیستم عامل دسته ای :{ سیلبر شاتس } 1- کاربر با کار ی که در حال اجرا بود تعاملی نداشت. 2- درچنین محیطی CPU اغلب بیکار است چون سرعت دستگاه های I/O مکانیکی کمتر از سرعت دستگاه های الکترونیکی مثل CPU است. مثلا CPU در یک ثانیه هزاران دستورالعمل انجام می دهد. در حالکه دستگاه کارت خوان سریع در یک دقیق 1200 کارت را می خواند.در نتیجه تفاوت سرعت بین CPU و دستگاه های I/O بسیار زیاد است. 3 – تخصیص CPU در چند برنامه ای انحصاری (Non Preemptive ) است . استفاده از فناوی دیسک ، موجب افزایش سرعت دستگاه های I/o شده است . به جای اینکه کارت ها از طریق کارت خوان به حافظه خوانده شوند . سپس کاربر پردازش شود کارت ها مستقیماً به دیسک خوانده میشوند .{سیلبر شاتس } Job چیست؟ مجوعه ای از یک 1- برنامه ( program ) 2- داده ورودی (input data ) 3- دستوارت سیستم عامل(O.S Command ) JCL( Job Control Language ) یک زبان کنترل است. ساختار یک کار نوعی در FSM 1-این ساختار بایک کارت $JOB شروع می شود. که مشخص کننده حداکثر زمان اجرا به دقیقه ، شماره حساب برای حسابداری هزینه ها و نام برنامه نویس می باشد. $JOB , 10, 6610802, MARVIN TANENBAUM 2-سپس یک کارت$FORTRAN قرار دارد که به سیستم عامل اعلام می کند که کترجم فرترن را از روی نوار سیستم بار نماید. 3- سپس کارتهای برنامه ای که باید ترجمه شود قرار دارد و کارت$LOAD به دنبال آن قرار گرفته است.این کارت سیستم عامل را ودار میکند که برنامه OBJECT (مستقیماً ترجمه شده ) را بار نماید -4سپس نوبت به کارت $RUN می رسد که به سیستم عامل می گوید اجرای برنامه ها را به همراه داده هایش که در کارتهای بعدی قرار دارد، آغاز نماید. -5در انتها کارت $End قرار گرفته است که نشان دهنده پایان کار است. کامپیوتر های بزرگ نسل دوم بیشتر برای محاسبت مهندسی و علمی بکار می رفت . برنامه آنها بیشتر به زبان فرترن و اسمبلی نوشته می شد. و معمولا از سیستم عامل FSM ( Fortran Monitor System ) و IBSYS (سیستم عامل IBM برای 7094) استفاده می شد. 3- نسل سو م (1980-1965):مدارات مجتمع و چند برنامگی IBM سری 360 اولین خط تولید کامپیوتر های بزرگ بود که از مدارات مجتمع با مقیاس کوچک استفاده کرد بنابراین نسبت به کامپیوتر های نسل دوم که از ترانزیستور ها ی جداگانه ساخته می شود نسبت به کارایی از هزینه بالاتری برخوردار بود. IBM یک سیستم عامل عظیم الجثه و بسیار پیچیده بود که این سیستم عامل از میلیون ها خط اسمبلی که توسط هزاران برنامه نویس نوشته شده است . سیستم عامل OS/360 چندین تکنیک کلیدی جدید که در سیستم عامل های نسل دوم وجود نداشت متداول نمود. شاید مهمترین این تکنیک ها ، چند برنامگی ( Multi Programming ) بود. در محاسبات علمی سنگین تنگنای محاسباتی CPU_BOUND (Multi Limited) ، I/O به ندرت به کار می رود. اما در پردازش داده های تجارتی ، زمان انتظار I/O اغلب 80 تا 90 درصد کل زمان را به خود اختصاص می دهد. و CPU بیشتر بیکار است. برای حل مشکل ، حافظه را به چند تکه تقسیم بندی نماییم. اگر چه سیستم های نسل سوم برای محاسبات علمی بزرگ و پردازش داده های تجازی مناسب بود ، ولی هنوز سیستم های دسته ای بودند. ویژگی سیستم عامل نسل سوم : 1- بلا فاصله پس از ورود کارها به اتاق کامپیوتر ، می توانند کارتها را خوانده و به دیسک منتقل نمایند. 2- بنابراین هرگاه یک کار ، در حال اجرا به پایان می رسد ، سیستم عامل می تواند یک کار جدید را از روی دیسک برداشته و در یک بخش خالی شده از حافظه بار نماید و سپس آنرا ، به اجرا در آورد . این تکنیک که Spooling نامیده می شود. 3- برای خروجی نیز ، به کار گرفته شده با SPOOLING دیگر نیازی به 1401 و نوار گردان های اضافی و حمل نوارها نبود.{ تننباوم }  

Read More »