او دختر شاعر مشهور انگلیسی لرد بایرون بود که به عنوان اولین برنامه نویس جهان شناخته شد.{تننباوم}
-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- برنامه -2 ( program ) داده ورودی -3 (input data ) دستورات سیستم عامل(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 MonitorSystem ) و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 و نوار گردان های اضافی و حمل نوارها نبود.{ تننباوم }
نظرات شما عزیزان: