سيستم عامل:
كنترل كننده منابع مختلف سيستم كامپيوتر مي باشد و زير بناي طراحي نرم افزارهاي كاربردي و سطح بالا را به وجود مي آورد.
از ديد ما سيستم عامل مدير منابع سيستم مي باشد.

منابع عبارتند از :
۱- حافظه اصلي ۲-پردازنده ها
۳-دستگاه ها ۴-اطلاعات

بدون سيستم عامل برنامه ريز يا كاربر بايد كنترل منابع سيستم را خود بر عهده بگيرد و آنها را مستقيمأ كنترل نمايد. براي اجتناب از اين مشكلات طراحان و مهندسان سيستم هاي كامپيوتري به فكر راه حلي كه در نهايت به يك پوسته نرم افزاري بر روي سخت افزار انجاميد افتادند تا كسيكه قسمتهاي مختلف سيستم را مديريت مي كند به صورت يك ماشين مجازي كه بسيار ساده تر از ماشين حقيقي (سخت افزار محض) است. اين پوسته نرم افزاري (سيستم عامل) نام دارد.

لفظ سيستم عامل به مجموعه ماجول هايي گفته مي شود كه در يك سيستم كامپيوتري كنترل منابعي مانند:پردازنده ،حافظه ها ،دستگاه هايI/o و پرونده ها ( File ) را بر عهده دارد.

تفاوت O/s با ساير نرم افزارها:
تفاوت مهمي كه O/s با ساير نرم افزارها دارد دراين است كه O/s در مد محافظت شده يا حالت ناظر پردازنده كار مي كند ولي ساير نرم افزارها در مد كاربر يا مد حقيقي اجرا ميشوند.
براي درك مطالب فوق به نكته زير توجه مي كنيم:
نكته: ويژگي كه در اكثر كامپيوترهاي معاصر يافت مي شود وجود سخت افزار و دستورات خاصي است كه فقط O/s آنها را به كار مي گيرد اين دستورات معمولا در اختيار كاربر قرار داده مي شود كه به آنها دستورات ممتاز گفته مي شود.
نكته: در زير رابطه سيستم عامل با سخت افزار نشان داده شده است.
كاربران (users)
برنامه هاي سودمند برنامه هاي كاربردي
ويرايشگر متن پردازنده مركزي ابزار اشكال زدايي
بار كننده ها اسمبلر كامپايلر
سيستم عامل

مديريت اطلاعات مديريت دستگاه مديريت پردازنده مديريت حافظه
سخت افزار + برنامه ها

وظايف اصلي سيستم عامل:
۱-مديريت حافظه (Memory Management )
2-مديريت پردازنده ( Process Management)
3-مديريت دستگاه ( Device Management)
4-مديريت اطلاعات (File Management)
چند اصطلاح سخت افزار:
۱-حافظه اصلي:
داده ها و برنامه ها را ذخيره مي كند ،نا پايدار است و به آن حافظه حقيقي و يا اوليه گفته مي شود.
۲-پردازنده:
عمليات كامپيوتر را كنترل مي كند و اعمال پردازش داده ها را انجام مي دهد.
۳-مؤلفه هاي ورودي و خروجي:

داده ها را بين كامپيوتر و محيط خارج آن منتقل مي كند . محيط خارج شامل :انواع دستگاه ها از جمله حافظه ها و … مي باشد .
۴-اتصالات داخلي سيستم:
ساختار ها و راه كارهايي كه ارتباط بين پردازنده ها ،حافظه اصلي ومؤلفه هاي ورودي و خروجي را فراهم مي كند.
نحوه ذخيره و بازيابي اطلاعات بر اساس Fat :

۳
۲ ۱ شيار سكتور
۱
۲
Ali.txt 3

براي مقايسه دو ديسكت پس از فرمان ديسك كپي:
Disk comp A: A:

ديسك هاي سيستمي:
طريقه ساخت ديسك هاي سيستمي به شرح زير است:
۱-Format A: /s
2-Sys C: A:
3-Sys C: A:
نكته:فايلهايي كه باعث بازگرداني اطلاعات ديسك مي شوند :
۱-Image.dat
2-Mirror.fil
دستورات ايجاد فايل هاي حفاظت اطلاعات:
۱-Image
2-Mirror
نكته:سويچ /B باعث مي شود در هنگام Format فضايي براي ريختن فايل هاي سيستم رزرو شود
نكته:سويچ /C باعث بررسي نواحي خراب ديسك شده و نواقص ترميم شود.
براي اطلاع از پارتيشن موجود روي هاردFdisk /Status براي از بين بردن ويروسي كه در (Partison Table) وجود دارد. Fdisk.Mbr ثبات ها:
نكته:بالاترين سرعت را كش دارد.
حافظه جانبي _____Ram _____ ثبات _____ كش
نكته:براي بالا بردن حافظه Ram از ثبات ها استفاده مي شود.
ثبات كنترل وضعيت:
براي اجراي فرامين سطح بالا توسط سيستم عامل استفاده مي شود و براي كنترل محتواي پردازنده نيز استفاده مي شود.
نكته:كار پردازنده اجراي دستورالعمل است.
نكته:فرايند پردازش يك دستورالعمل را سيكل اجرايي دستورالعمل مي نامند.
ثبات هاي پردازنده:
در داخل پردازنده مجموعه اي از ثبات ها وجود دارد كه اين ثباته ها سطحي از حافظه كه سريع تر و كوچكتر از حافظه اصلي است را فراهم مي كند. ثبات هاي داخل پردازنده وظايف زير را انجام مي _ دهند:
۱-ثبات هاي قابل رؤيت براي كاربر ۲-ثبات هاي كنترل وضعيت
۱: ثباتي است كه برنامه ساز به وسيله دستورالعملهاي ماشين مي تواند به آنها مراجعه نمايد.اين ثباتها به برنامه ساز ماسين يا اسمبلي اجازه مي دهند كه با استفاده بهينه از آنها مراجعه به حافظه اصلي را به حد اقل مي رسانند.

از جمله ثبات هاي قابل روئيت براي كاربر ثبات هاي :آدرس ،داده و اشاره گر كشته مي باشد.
۲: نوع ديگري از ثبات هاي پردازنده كه براي كنترل عمل پردازنده به كار مي روند كه از اين ثبات ها براي كنترل عمل پردازش و همچنين رويه هاي ممتاز سيستم عامل براي اجرا و كنترل برنامه ها استفاده مي كنند. ثبات هاي زير از اين نوع مي باشند.
۱-ثبات هاي شمارنده برنامه (Pc )

۲-ثبات دستورالعمل (Ir )
1: Pc شامل آدرس دستورالعملي است كه بايد واكشي شود.
۲: Ir حاوي آخرين دستورالعملي است كه واكشي شده است.
واحد كنترل:

تغريبأ هر دستگاهي كه قابل تصور باشد ممكن است به عنوان دستگاه I/o به كار رود.بسياري از دستگاه ها به مدار كنترلي نياز دارند كه قابل به كار گيري براي دستگاه هاي ديگر نيز باشد.اين سخت افزار مشترك به دلايل اقتصادي به صورت يك دستگاه مجزا به نام واحد كنترل ساخته مي شود.
اجراي دستورالعمل:

عمل اصلي كامپيوتر اجراي برنامه است. برنامه أي كه قرار است اجرا شود شامل مجموعه أي از دستورالعمل ها مي باشدكه در حافظه سيستم ذخيره شده است.پردازنده كار واقعي را با اجراي دستورالعمل هاي مشخص شده در برنامه انجا مي دهد در ساده ترين حالت پردازش را در دو گام مي توان نوشت:
۱-پردازنده يك دستورالعمل را از حافظه مي خواند ( واكش مي كند )
۲- پردازنده دستورالعمل واكش شده را اجرا مي كند.

اجراي برنامه شامل تكرار فرايند واكشي و اجراي دستورالعمل هاست.اجراي دستورالعمل ممكن است شامل چندين عمل باشد و بستگي به طبيعت دستورالعمل دارد.

فرايندي كه براي اجراي دستورالعمل لازم است ،چرخه دستورالعمل نام دارد. با استفاده از شرح دو مرحله اي كه در بالا ذكر شد چرخه دستورالعمل در شكل زير نمايش داده شدهاست.اين دو گام تحت چرخه واكنش و چرخه اجرا عنوان مي شود

اين چرخه موقعي متوقف مي شود كه دستور توقف ،دستگاه خاموش ياخطا رخ دهد.

چند دستور: ۱-پاك كردن حافظه Dos Key = Alt + F7
2-ديسك را چك كرده و ايراد هاي سخت افزاري را نشان مي دهد Chkdsk
3-ويروس كش موجود در حافظه Msav
4-گاردي براي محافظت حافظه در برابر ويروس Vsafe
5-كسب اطلاعات در مورد دستورات Help
6-نمايش صفحه به صفحه خروجي دستورات More
7-خروجي فرمان را عوض مي كند >

۸-ورودي استاندارد مانيتور است كه به فايل تغيير مي كند <
9-نمايش فايل ها با صفت Read only Dir / Ar
10-نمايش فايل ها با صفت Hidden Dir / Ar

۱۱-گزارشي از وضعيت سيستم را در فايلي ذخيره ي كند f Msd / 12-خروجي روي فايل بازنويس مي شود Dir > T.txt
13-خروجي به انتهاي فايل اضافه مي شود Dir >> T.txt
14-از فايل ها با تمام خصوصيات آنها ليست مي گيرد Attrib *.*
15-خروجي را به چاپگر مي فرستد Tree > Prn

پنج دستاورد ايجاد و توسعه سيستم هاي كامپيوتري:
۱-فرايند ها ۲-مديريت حافظه
۳-حفاظت اطلاعات و ايمني ۴-زمان بندي و مديريت منبع
۵-ساختار سيستم

۱-فرايند:تعاريف زيادي براي فرايند وجود دارد از جمله:
نكته:چند برنامگي براي مشغول نگه داشتن پردازنده و دستگاه هاي ورودي و خروجي از جمله حافظه جانبي براي دسترسي به حد اكثر كارايي اجرا مي شد.
۲-مديريت حافظه:جزء پارامتر هاي اصلي مي باشد.
فايل Himem.Sys امكان استفاده از حافظه افزوده را فراهم مي كند.

نكته:حافظه افزوده فضاي زيادي از Ram را اشغال كرده است.
اشتراك زماني:استفاده مشترك چند كاربر از يك Server در شبكه را گويند.
نكته:سيستم هاي بلادرنگ توانايي سرويس به چند كاربر را براي انجام يك كار را دارند.

نكته:سيستم هاي بلادرنگ:قدرت بالا-هوشمند-سرعت زياد.

نكته:در سيستم هاي اشتراك زماني هدف اصلي كه سيستم آماده واكنش و پاسخ گويي به نياز هاي هر يك از كاربران بوده و همچنين به دلايل اقتصادي بتواند همزمان از كاربران بيشتري حمايت كند.
نكته:در سيستم هاي بلادرنگ تعدادي از كاربران در حال وارد كردن خواسته ها و يا تغييرات خود روي يك بانك اطلاعاتي هستند مثل سيستم ذخيره جا در خطوط هواپيمايي.
نكته:تفاوت كليدي بين دو سيستم بالا در اين است كه اولي محدود به يك يا دو يا سه كاربرد است. در حالي كه كاربران سيستم هاي اشتراك زماني مي توانند مشغول ايجاد برنامه و استفاده از كاربردهاي مختلف سيستم باشند.
در هر دو حالت زمان پاسخگويي سيستم حرف اول را مي زند.
فايل هاي دسته اي:
با فرمان Copycon و Edit مي توان فايل دسته اي ايجاد كرد.
Autoexec.Bat : فايل هايي كه لازم است در ابتداي راه اندازي ويندوز اجرا شوند در اين فايل قرار دارند.
Gemouse :اگر فهرستGmouse در درايو C وجود داشته باشد در محيط Text مي توان از Mouse استفاده كرد .
نكته:اگر در فايل Autoexec.bat بخواهيم يك فرمان را غير فعال كنيم از دستور Rem قبل از فرمان مورد نظر استفاده مي كنيم.
نكته:براي غير فعال كردن گاردهاي ويروس در ويندوز به فايل Ms command مراجعه شود.
تعريف حافظه افزوده:
Device =C:\Windows\Himem.sys

بار كردن Dos در ناحيه بالايي:
Dos=High
بار كردن Dos در ناحيه پائين:
Dos=Low
تعريف و مديريت حافظه گسترده:
Device=C:\Windows\Emm386.exe
درايو مجازي به حجم Mg 1 تعريف مي كند ( در حافظه گسترده )
Device High=C:\Windows\Ramdrive.sys 1024 /e

نكته:سويچ /A در فرمان بالا درايو را در حافظه افزوده مي سازد.
براي داشتن فونت رنگي در محيط Text
Device=C:\Dos\Ansi.sys
عدم اجراي فرمان Rem echo hello

همگام سازي:
در طراحي يك سيستم نرم افزاري ممكن است خطا هايي رخ دهد.
۱-همگام سازي نامناسب:
مفهوم همگام سازي نامناسب اين است كه اغلب يك روال بايد براي بروز حادپه أي در جاي ديگري از سيستم معوق مانده و صبر كند. مثلأ برنامه أي كه عمل خواندن را آغاز مي كند بايد تا آماده شدن داده ها در ميانگير صبر كنددر چنين مواقعي علامتي از يك روال ديگر لازم است تا اين كار انجام شود .طراحي نامناسب راهكار علامت دهي مي تواند موجب از دست رفتن علامت يا علامت هاي تكراري گردد.
۲-شكست در انحصار متقابل:
اغلب بشي از يك كاربر در تلاش براي استفاده همزمان از يك منبع مشترك هستند . مثلأ در يك سيستمذخيره جا در خطوط هواپيمايي ،ممكن است دو كاربر همزمان تلاش كنند بانك اطلاعاتي را خوانده و در صورت بودن جا بانك اطلاعاتي را تغيير دهند. نوعي راهكار انحصار زمان بايد وجود داشته باشد تا در يك زمان يك روال با آن بخش از داده ها تراكنش داشته باشد.
۳-عملكرد غير قطعي برنامه:

در حالت عادي خروجي يك برنامه بايد به ورودي آن بستگي داشته باشد.وقتي برنامه ها از حافظه به صورت اشتراكي استفاده مي كننددر اين صورت ممكن است به طور غير قابل پيشبيني در كار يكديگر دخالت كنند.
۴-بنبست ها:

ممكن است دو يا چند برنامه به خاطر يكديگر معلق باشند. فرض كنيد دو برنامه هر يك به دو دستگاه I/o احتياج داشته باشند يكي از برنامه ها كنترل يكي از دستگاه ها و برنامه ديگر كنترل دستگاه ديگر را در اختيار گرفته است وهر يك از اين دو برنامه منتظرند تا برنامه ديگر منبع مورد نظرش را رها كند.
مديريت حافظه:

براي پاسخ گويي به نياز سيستم ،سيستم عامل پنج وظيفه زير را بر عهده دارد:
۱-جداسازي فرايند ها:عدم تداخل فرايند ها در داده ها و حافظه يكديگر
۲-تخصيص و مديريت خودكار:تخصيص پويايي حافظه به برنامه ها به طوري كه اين تخصيص از ديد برنامه ساز پوشيده باشدو نيازمند توجه به محدوديت هاي حافظه ننمايد.

۳-حمايت از برنامه سازي مؤلفه اي: برنامه سازان بايد قادر باشند مؤلفه ها و پارمتر ها ي حافظه اي را در برنامه هاي خود تعريف كنند.

۴-حفاظت و كنترل دسترسي:اشتراك حافظه اين توان را به وحود مي آورد تا برنامه أي حافظه برنامه ديگر را آدرس دهي كند و اين جامعيت برنامه ها را تجديد مي كند.سيستم عامل بايد اين اجازه را بدهد تا بخش هايي از حافظه توسط كاربران مختلف به صورتهاي مختلف قابل دسترسي باشد.
۵-حافظه دراز مدت:بسياري از كاربران و كاربردها نيازمندوسيله اي هستند تا اطلاعات را براي دوره هاي طولاني ذخيره كنند.
مفهوم نخ:

يك واحد كاري است كه مي توان پردازنده را به آن توضيع كرد و به صورت رديفي اجرا مي شود و مي تواند مورد وقفه واقع شود و در نتيجه پردازنده به نخ ديگري بپردازد.
فرايند:
مجموعه يك يا چند نخ و منابع سيستمي تخصيص داده شده مثل حافظه ،مي باشد .اين مفهوممشابه يك برنامه در حال اجراست.
تنظيمات پيشرفته Dos :
اين فايل در ريشه درايو C قرار دارد Msdos.sys رابط گرافيكي كاربر Boot Gui
اگر يك باشد موجب نمايش منوي هفت گانه اول راه اندازي سيستم مي شود Boot Menu براي تعيين مدت زمان صبر بر روي گزينه ها Boot Menu Delay تعيين گزينه پيش فرض بين يك تا پنج (منوي هفت گانه ) Boot Menu Defult در حالتي كه ويندوز به طور نرمال خاموش نشود Auto scan
اگر يك باشد امكان رفتن به Dos وجو دارد. Boot Multy
اگر يك باشد امكان رفتن به Dos وجود دارد Run/Msconfig/Advanced/Enable start menu
Msdos.sys : Bootup ويندوز در اين فايل قرار دارد و فايلي سيستمي متني است.
خصوصيات فايل Msdos.sys:
1- Hidden 2-Read only
3-System 4-Text
ثفاوت Dos و Windows :
ويندوز داراي رابط گافيكي كاربر است ( Gui ) .
سيستم هاي بزرگ:
سيستم هاي كامپيوتري بزرگ اولين كامپيوتر هايي بودند كه در بسياري از امور اقتصادي و علمي به كار گرفته شدند در اين قسمت رشد سيستم هاي بزرگ را از سيستم هاي دسته أي تا سيستم هاي بلادرنگ بررسي مي كنيم:

۱-سيستم هاي دسته اي :
كامپيوتر هاي اوليه از نظر فيزيكي بسيار بزرگ بودند.كه از طريق يك كنسول كار مي كردند ،كاربران مستلزمأ با سيستم تعامل نداشتند. در اين گونه از سيستم ها براي افزايش سرعت پردازش كارهايي كه نياز مشابه داشتند به صورت يك دسته در مي آمدند و به طور گروهي روي كامپيوتر اجرا مي شدند برنامه نويسان بايد برنامه هاي خود را به اپراتور تحويل دهند تا آنها را بر اساس نيازمندي هايي كه دارنددسته بندي كنند و كامپيوتر آنها را اجرا نمايد.

از ميژگي هاي سيستم دسته أي اين بود كه كاربر با كاري كه در حال اجرا بود تعامل نداشت ،زماني كه كار تحويل سيستم مي شدتا زمان توليد خروجي ( زمان برگشت ) به ميزان محاسبات يا تأخير در اجراي كار توسط سيستم عامل بستگي داشت.در چنين محيطي Cpu اغلب بي كار است. علت بي كاري Cpu اين است كه سرعت دستگاه هاي I/O مكانيكي كمتر از دستگاه هاي الكترونيكي مثل Cpu است.حتي يك Cpu كند كه در حدود ميكرو ثانيه كار مي كند هزاران دستور را در دقيقه اجرا مي كند ،يك كارت خوان سريع ممكن است ۱۲۰۰ كارت را در دقيقه بخواند.

استفاده از فناوري ديسك موجب افزايش سرعت دستگاه هاي I/O شده است.به جاي اينكه كارت ها از طريق كارت خوان به حافظه خوانده شوند و سپس كار مورد نظر پردازش گردد كارت ها مستقيمأ به ديسك خوانده مي شوند. با دستيابي مستقيم به چندين كارت سيستم عامل بايد زمان بندي كارها را انجام دهد و وظيفه ها به طور كارآمد انجام گيرند.
۲-سيستم هاي چند برنامه اي:

ايده چند برنامه أي به اين صورت است كه سيستم عامل چندين كار را به طور همزمان در خود نگه مي دارد .سيستم عامل يكي از كار ها را انتخاب و در حافظه قرار مي دهدسرانجام كار ممكن است منتظر بماند تا وظيفه أي مثل عمليات I/O كامل شود .در سيستم غير چند برنامه اي پردازنده بي كار خواهد ماند. ولي در سيستم چند برنامه اي سيستم عامل به كار ديگري مي پردازد.تا زماني كه انتظار كار اول به پايان برسد،پردازنده را در اختيار ميگيرد.تا زماني كه حد اقل يك كار در صف اجرا وجود دارد پردازنده بي كار نخواهد ماند
زمان بندي كار:

اگر چندين كار آماده ورود به حافظه باشند و حافظه براي همه آنها وجود نداشته باشد سيستم بايد از بين آنها كاري را انتخاب كند اين انتخاب را زمان بندي كار گويند.
زمان بندي پردازنده:
اگر چندين كار به طور همزمان آماده اجرا باشند سيستم بايد از بين آنها انتخاب كند.اين تصميم گيري را زمان بندي پردازنده گويند.

دستور Scheduled Task :
براي زمان بندي اجراي برنامه ها است.
سيستم هاي روميزي:
كامپيوتر هاي روميزي در دهه ۱۹۷۰ به وجود آمدند سيستم عامل هاي Pc نه چند كاربره بودند و نه چند وظيفه اي اما اهداف اين سيستم هاي عامل با گذشت زمان تغيير كرد به جاي پيشينه كردن آسايش و تفاهم با كاربران پرداختند اين سيستم ها شامل Pc هايي هستند كه ويندوز و اپل مكينتاش را اجرا مي كنند.
مايكرو سافت ويندوز را جانشين سيستم عامل Ms Dos كرد و IBM سيستم چند وظيفه اي Os/2 را جانشين Pc Dos نمود. .سيستم عامل اپل مكينتاش به سخت افزار پيشرفته اي نياز دارد و ويژگي هايي مثل چند وظيفه اي و حافظه مجازي دارد.
سيستم هاي چند پردازنده اي:
اغلب سيستم هاي امروزي تك پردازنده اي اند. يعني فقط يك Cpu دارند. اما سيستم هاي چند پردازنده اي كه سيستم هاي موازي يا اتصال قوي نيز ناميده مي شوند ،در حال رشد مي باشند. اين سيستم ها داراي چندين Cpu هستند كه ارتباط نزديكي با هم برقرار مي كنند.و از حافظه و ساعت و… به طور اشتراكي استفاده مي كنند.
اين سيستم ها سه امتياز عمده دارند:
۱- توان عملياتي بالا:
با افزايش تعداد پردازنده ها كار يبشتري در حداقل زمان انجام مي گيرد.
۲-صرفه جويي اقتصادي:
سيستم هاي چند پردازنده اي نسبت به سيستم هاي تك پردازنده اي مقروم به صرفه ترندزيرا مي توانند از دستگاه هاي جانبي _ حافظه ثانويه و نيروي برق مشتركي استفاده كنند.اگر چندين برنامه بر روي يك دسته از داده ها عمل نمايند بهتر است آن داده ها روي ديسك ذخيره سازي شوند و پردازنده ها به طور اشتراكي از آنها استفاده كنند.
۲- قابليت اعتماد:

اگر وظايف بين چند پردازنده توضيع شود خرابي يك پردازنده كل سيستم را از كار نمي اندازد بلكه سرعت آن را كند مي كند. اگر ۱۰ پردازنده داشته باشيم كه يكي از آنها خراب شود هر يك از ۹ پردازنده باقي مانده بايد كار آن پردازنده خراب را انجام دهند لذا كل سيستم ۱۰ درصد كند تر كار مي كند اين توانايي ادامه كار براي ارائه خدمات متناسب با سطح بقاء سخت افزار را تنزل مطبوع نامند.

متداول ترين سيستم هاي چند پردازنده اي:
از مدل چند پردازنده أي متقارن ( Smp ) استفاده مي كنند كه در آنها هر پردازنده از كپي يكساني از سيستم عامل استفاده مي كند و اين كپي ها در صورت لزوم با هم ارتباط برقرار مي كنند.

بعضي از سيستم ها از روش چند پردازنده اي نا متقارن استفاده مي كنند. كه در آن هر پردازنده وظيفه مشخصي دارد .يك پردازنده به عنوان پردازنده مركزي سيستم را كنترل مي كند و بقيه پردازنده ها از پردازنده اصلي دستور مي گيرند.و يا يك وظيفه مشخصي دارنداين طرح رابطه رئيس و مرئوس را تعريف مي كند.
پردازنده اصلي عمل زمان بندي را انجام مي دهد و كار را به پردازنده هاي ديگر تخصيص مي دهد.
معناي Smp :

اين است كه تمام پردازنده ها همتا و نظير هم هستند. يعني رابطه رئيس و مرئوس بين آنها وجود ندارد هر پردازنده به طور همزمان يك كپي از سيستم عامل را اجرا مي كند.شكل زير معماري Smp را نشان مي دهد.

از نظر مجازي تمام سيستم عامل هاي جديد مثل ويندوز Nt ، Solarise ،Digitl Unix ، Os/2 و Linux از Smp پشتيباني مي كنند .
تفاوت بين چند پردازشي متقارن و نا متقارن:

به سخت افزار يا نرم افزار بر مي گردد سخت افزار خاص مي تواند پردازنده هاي چندگانه را به شيوه هاي گوناگون پيكر بندي كند يا نرم افزار مي تواند طوري نوشته شود كه اجازه دهد يكي از پردازنده ها به عنوان پدرازنده رئيس و بقيه مرئوس باشند.
به عنوان مثال سيستم عامل SunOs ( نسخه ۴ ) از چند پردازشي نامتقارن و نسخه پنج (Solarise )
در همان سخت افزار از چند پردازشي متقارن پيروي مي كند.
سيستم هاي توضيعي:
سيستم هاي توضيعي براي انجام وظايف خود از شبكه بندي استفاده مي كنند.سيستم هاي توضيعي از طريق برقراري ارتباطات مي توانند در وظايف محاسباتي شريك باشند.و ويژگي هاي قدرتمندي براي كاربران فراهم كنندشبكه ها بر اساس توپولوژي هايي كه در آنها به كبر گرفته شده با هم فرق مي كنند .مثل فاصله بين گره ها و رسانه انتقالي .

متداول ترين پروتكل شبكه Tcp/Ip است ولي Atm و ساير پروتكل ها نيز كاربرد گسترده أي دارند. .سيستم هاي عامل نيز پروتكل هاي مختلفي را پشتيباني مي كنند.
اغلب سيستم هاي عامل از Tcp/Ip پشتيباني مي كنند.مثل ويندوز و Unix .شبكه ها بر اساس فاصله بين گره ها دسته بندي مي شوند.
شبكه هاي محلي ( Lan ) در داخل يك اتاق ،يا ساختمان قرار داردو شبكه هاي گسترده ( Wan ) بين ساختمان ها و شهر ها و كشور ها قرار دارد.
انواع سيستم هاي توضيعي:
۱- سيستم هاي مشتري كارگزار:
بهبود سرعت و قيمت Pc ها باعث شد معماري متمركز و پايانه أي متصل به كامپيوتر كنار رفته و Pc ها جاي آن را بگيرند. در نتيجه باعث شده امروزه سيستم هاي متمركز به صورت سيستم هاي كارگزار ( Server System ) عمل كنند. تا به درخواست هاي سيستم هاي مشتري پاسخ دهند ساختار كلي يك سيستم مشتري به صورت زير است.

سيستم هاي كارگزار را مي توانبه دو دسته تقسيم كرد:
الف: سيستم هاي كارگزار محاسباتي:
واسطي را فراهم مي كند كه مشتريان از طريق مي توانند انجام فعاليتي را در خواست كنند.
اين سيستم آن در خواست را اجرا كرده و نتيجه را برمي گرداند.
ب: سيستم هاي كارگزار فايل:
واسط سيستم فايل را فراهم مي كندكه مشتريان مي توانند فايل هايي را در آن ايجاد يا حذف كنند.،بخوانند يا نوسازي كنند.
۲- سيستم هاي نظير به نظير ( Peer To Peer ) :
رشد شبكه هاي كامپيوتري به خصوص اينترنت و وب جهاني ( WWW ) تأثير بسزايي در سيستم هاي عامل داشته است.بر خلاف سيستم هاي اتصال قوي شبكه هاي كامپيوتري كه در اين كاربردها به كار گرفته مي شوندمتشكل از مجموعه اي از پردازنده ها هستند كه حافظه و ساعت مشترك دارند.
پردازنده ها از طريق خطوط ارتباطي مختلف مثل گذرگاه هاي سري يا خطوط تلفن با يكديگر ارتباط
برقرار مي كنند اين سيستم ها را سيستم هاي اتصال ضعيف يا توضيعي مي نامند.

كليد هاي ميان بر ويندوز:
باز شدن منوي Start Ctrl + Esc بستن پنجره هاي باز Alt + F4 مرور پنجره هاي باز Alt + Tab
باز شدن منوي مربوطه Alt + Hot Key Windows Key + E Windows Explorer
حذف دائم Shift + Del Shift + Enter open with راست كليك Shift + F10 1- منوي خصوصيات ۲- Full Screen Dos Alt + Enter Alt + Duble Click Propertice F2 Rename
Find F3
Ctrl + P Print
Ctrl + Z Undo Ctrl + C Copy
Ctrl + V Paste
Ctrl + y Redo
راه اندازي مجدد ويندوز Restart + Shift + Enter
بالا بردن سرعت ويندوز
برداشتن چك مارك Task هاي غير ضروري Run —— Msconfig —— Start up
Run —— Scandisk
Run —— Defrage
سيستم هاي خوشه اي:
همانند طرح توازي سيستم هاي خوشه أي از چند پردازنده براي انجام كارهاي محاسباتي استفاده مي كنند.
تفاوت سيستم هاي خوشه اي و موازي در اين است كه سيستم هاي خوشه اي از دو يا چند سيستم مجزا تشكيل شده اند كه به هم متصلند .واژه خوشه اي دقيق نيست .تعريف پذيرفته شده در مورد سيستم هاي خوشه اي اين است كه كامپيوتر هاي خوشه اي حافظه ذخيره سازي مشتركي دارند و از طريق شبكه محلي به طور ضعيف با هم ارتباط دارند.
سيستم هاي بي درنگ:
سيستم بي درنگ وقتي مورد استفاده قرار مي گيرد كه براي عملكرد يك پردازنده يا جريان داده ها نياز به زمان دقيقي باشد. بنا بر اين براي كنترل دستگاه ها در كاربرد هاي اختصاصي به كار گرفته مي شود .سيستم هايي كه آزمايشات علمي را كنترل مي كنند ،سيستم هاي كنترل صنعتي ،نظامي

كنترل پرواز و رزرو جا از جمله سيستم هاي بي درنگ هستند..
اين سيستم ها محدوديت زماني دقيقي دارند و پردازش بايد در محدوديت زماني خاص انجام شود وگرنه سيستم از كار مي افتد.
انواع سيستم هاي بي درنگ:
دو نوع سيستم عامل بي درنگ وجود دارد:
۱- نرم ۲- سخت
عملكرد سيستم كامپيوتر ( وقفه ):
يك سيگنال در خواست توجه كه به وسيله سخت افزارها يا نرم افزار ها به ريزپردازنده كامپيوتر صادر مي شود .وقفه باعث مي شود كه ريز پردازنده كار فعلي خود را معوق كند و فورأ به محلي مي رود كه آن محل حاوي آدرس روال پاسخ گويي به وقفه است . روال پاسخ گويي به وقفه اجرا مي شود و Cpu كار خود را از سر مي گيرد.
انواع مختلفي از رويداد ها وجود دارند كه موجب صدور وقفه مي شوند مثل:
۱- كامل شدن I/o
2- تقسيم بر صفر
۳- دستيابي نا معتبر به حافظه
رويداد ها معمولأ با وقوع وقفه يا تله ( Trap ) رخ مي دهند .تله يك وقفه نرم افزاري است كه در اثر خطا مثلأ ( تقسيم بر صفر ) زخ مي دهد.
ساختار سيستم عامل :
۱- مديريت فرايند:
فرايند را مي توان مانند يك برنامه قابل اجرا در نظر گرفت وجود برنامه يك فرايند نيست بلكه يك موجوديت غير فعال است. مانند محتويات فايلي كه روي ديسك ذخيره شده است .در حالي كه فرايند يك موجوديت فعال است .و داراي شمارنده برنامه اي است. و دستوري كه بايد اجرا شود را مشخص مي كند.
موجوديتي كه مي تواند به يك پردازنده نسبت داده شود و روي پردازنده اجرا شود سيستم مجموعه اي از فرايند هاست كه بعضي از آنها فرايندهاي سيستم عامل و بقيه فرايند هاي كاربر هستند .
فرايند هاي سيستم عامل آنهايي هستند كه سيستم را اجرا مي كنند و فرايند هاي كاربر آنهايي هستند كه برنامه كاربر را اجرا مي كنند .تمام اين فرايند ها توانايي اجراي همزمان را دارند .براي اين منظور
Cpu بايد بين آنها تسهيم شود.

سيستم عامل در رابطه با كنترل فرايند مسئول اعمال زير است:
۱- ايجاد و جذف فرايند هاي كاربر
۲- تعويق و از سر گيري فرايند ها
۳- فراهم كردن راه كارهايي براي هماهنگي فرايند ها
۴- فراهم كردن راه كارهايي براي ارتباط فرايند ها
۵- فراهم كردن راه كارهايي براي پردازش بنبست
۲- مديريت حافظه اصلي:
حافظه اصلي تنها دستگاه بزرگي است كه Cpu به آن مستقيمأ آدرس دهي و دسترسي دارد .براي بهبود بهره وري Cpu و سرعت پاسخ گويي كامپيوتر به كاربران بايد چندين برنامه در حافظه وجود داشته باشد.
الگو هاي زيادي براي مديريت حافظه وجود دارنداين الگو ها روش هاي متعددي را براي مديريت حافظه ارائه مي كنند .انتخاب يك الگوي مديريت حافظه براي يك سيستم خاص به عوامل زيادي به خصوص به طراحي سخت افزار سيستم بستگي دارد .هر الگريتمي نيازمند پشتيباني سخت افزاري خاصي است. در رابطه با مديريت حافظه سيستم عامل مسئول اعمال زير است:
۱- تعيين اينكه چه بخش هايي از حافظه در استفاده اند و چه كساني از آن استفاده مي كنند.
۲- وقتي فضاي حافظه آماده باشد چه فرايند هايي بايد به آن بار شود
۳- تخصيص و آزاد سازي فضاي حافظه در صورت لزوم
۳- مديريت فايل:
مديريت فايل يكي از اجزاي سيستم عامل است كه بيشتر از اجزاي ديگر در معرض ديد قرار دارد براي سهولت استفاده از كامپيوتر سيستم عامل يك ديدگاه منطقي يكنواختي از ذخيره سازي اطلاعات فراهم مي كند .سيستم عامل خواص فيزيكي دستگاه هاي ذخيره سازي را انتزاعي نموده و يك واحد ذخيره سازي منطقي يعني فايل را تعريف مي كند.
فايل مجموعه اي از اطلاعات مرتبط به هم است كه توسط كسي كه آن را ايجاد مي كندتعريف مي شود .وقتي چندين كاربر به فايل ها دسترسي دارند مطلوب است كه تعيين شود كه فايل ها توسط چه كسي و به چه روشهايي مورد استفاده قرار گيرند .در رابطه با مديريت فايل سيستم عامل مسئول اعمال زير است:
۱- ايجاد و حذف فايل ها ۳- پشتيباني از اعمال اوليه
۲- ايجاد و حذف دايركتوري ها ۴- نگاشت فايل ها در حافظه پنهان
۵ – پشتيبان گيري از فايل ها در رسانه

۴-مديريت حافظه پنهان:
چون ظرفيت حافظه اصلي آنقدر نيست كه بتواند تمام داده ها و برنامه ها را ذخيره كند و با قطع جريان برق نيز محتويات آن را از بين مي رود لذا سيستم كامپيوتر بايد از حافظه ثانويه براي ذخيره پايدار اطلاعات استفاده كند .در رابطه با حافظه ثانويه سيستم عامل مسئول اعمال زير است:
۱- مديريت فضاي آزاد
۲- تخصيص حافظه
۳- زمان بندي ديسك
مفسر زمان فرمان:

يكي از مهم ترين برنامه ها در سيستم عامل زمان فرمان است كه رابط بين كاربر و سيستم عامل است .بعضي از سيستم هاي عامل مفسر فرمان را در هسته قرار مي دهند .بسياري از فرمان ها از طريق دستورات كنترلي به سيستم عامل داده مي شوند .وقتي يك سيستم دسته اي كار جديدي شروع شود يا كاربر وارد سيستم اشتراك زماني شود برنامه اي به طور خودكار اجرا مي شود كه دستورات كنترلي را مي خواند و تفسير مي كنداين برنامه را مفسر كارت كنترلي يا مفسر خط فرمان گويند ولي معمولأ به نام پوسته معروف است .كار پوسته دريافت فرمان بعدي و اجراي آن است .
فراخواني سيستم:

ارتباط بين سيستم عامل و برنامه هاي كاربر به وسيله دستورالعمل هايي از O/s انجام مي گيرد به اين دستورالعمل ها فراخواني سيستم گويند.
فراخواني هاي سيستم واسطي بين فرايند و سيستم عامل فراهم مي كند.اين فراخواني ها به صورت دستورات اسمبلي هستند.
فراخواني هاي سيستم را مي توان به پنج دسته تقسيم كرد:

۱- كنترل فرايند
۲- دستكاري فايل
۳- دستكاري دستگاه
۴- دستكاري اطلاعات
۵- ارتباطات
۱- كنترل فرايند:

برنامه در حال اجرا بايد به طور عادي خاتمه يابد يا در حين اجرا با مشكل خاتمه يابد( Abort ) اگر فراخواني سيستم براي اجراي غير عادي برنامه اجرا شود يا در حين اجرا با مشكل مواجه شود و منجر به تله استثناء شود از حافظه روبرداري شده و يك پيغام خطا صادر مي گردد .اين روبرداري روي ديسك نوشته مي شود و توسط يك خطاياب بررسي مي شود.

فراخواني كنترل فرايند شامل موارد زير مي شود:
۱- پايان عادي ۲- غير عادي
۳- بار كردن ۴- اجرا كردن
۵- دريافت ثبات و مقدار دهي به آن ( اولويت براي حد اكثر زمان مجاز براي اجرا و … )
۲- دستكاري فايل :

بايد بتوان فايل ها را پس از ايجاد ، حذف يا باز كرد ، خواند يا در آن نوشت و تغيير مكان در فايل ( re position ) را انجام داد . به هر نقطه از فايل بتوان رفت و پس از كار كردن با فايل آن را بست و همچنين به وسيله فراخواني سيستم هاي بالا را تغيير داد .
منظور از process يك برنامه در حال اجراست و شامل كد برنامه هاي اجرايي داده هاي برنامه پشته ( stack ) ، اشاره گر پشته ( stack pointer ) ، شمارنده برنامه ( pc counter ) و ساير ثبات ها و اطلاعاتي كه مورد نياز است مي باشند .
۳- مديريت دستگاه :

برنامه در حال اجرا ممكن است نياز به منابع اضافي داشته باشد ، منابع اضافي ممكن است شامل حافظه بيشتر ، گرداننده ها ي نوار ، دستيابي فايل ها و … باشد.
۴- نگهداري اطلاعات :
بسياري از فراخواني هاي سيستم براي انتقال اطلاعات بين برنامه كاربر و سيستم عامل به كار مي روند ، مثل تعداد كاربران فعلي نسخه سيستم عامل ، ميزان فضاي خالي روي ديسك و …
۵- ارتباطات :

دو مدل ارتباطي وجود دارد:
۱- ارسال پيام ۲- استفاده مشترك

۱- در اين مدل اطلاعات از طريق امكانات ارتباطي بين فرايند ها كه توسط سيستم عامل فراهم شده است مبادله مي گردد.
هر كامپيوتر در شبكه داراي نام ميزباني است كه با آن شناخته مي شود و به همين ترتيب كه هر فرايند داراي نامي است كه به شناسه اي ترجمه مي شوند. كه سيستم عامل مي تواند از طريق شناسه به آن مراجعه كند.

فراخواني هاي سيستم get hostid و get processid اين ترجمه را انجام مي دهند .
اين شناسه ها بسته به مدل ارتباطي به فراخواني هاي سيستمي همه منظوره ( open وclose )منتقل مي شوند كه توسط سيستم عامل فراهم شده است يا به فراخواني هاي سيستمي مانند open conection و close conection ازسال مي شوند.

فرايند گيرنده بايد از طريق فراخواني سيستمي accept conection اجازه برقراري ارتباط را بدهد اغلب فرايند هايي كه گيرنده اتصال هستند دمون هايي با اهداف خاص مي باشند. .دمون ها فراخوان
wait for conection را اجرا مي كنند و با برقراري ارتباط فعال مي شوند.
منبع ارتباطي كه مشتري يا ( client ) ناميده مي شوند. و دمون گيرنده كه كارگذار( server ) ناميده مي شود. پيام ها را به وسيله فراخوان هاي سيستمي read message و write message مبادله مي كنند ، فراخوان close conectionارتباط را قطع مي كند .
تعريف دمون ( deamon ) :
برنامه اي كه به همراه سيستم عامل است و بدون درخواست يا اطلاع كاربر اعمال كمكي را انجام مي دهد .
در مدل حافظه مشترك فرايند ها از فراخوان هاي سيستمي map memory براي دستيابي به ناحيه هايي از حافظه كه مربوط به فرايند هاي ديگر است استفاده مي كنند.
برنامه هاي سيستم :
۱- دستكاري فايل ( ايجاد ، حذف ، كپي )
۲- اطلاعات وضعيت ( تاريخ ، زمان ، ميزان حافظه آزاد )
۳- اصلاح فايل ( ويراستار هاي سيستمي )

۴- پشتيباني از زبان هاي برنامه سازي ( كامپايلر ها ، اسمبلر ها )
۵- باز كردن و اجراي برنامه ها ( پس از ترجمه برنامه بايد به حافظه بار شود )
۶- ارتباطات ( راهكار هايي براي اتصال مجازي بين كاربران و فرايند ها و سيستم هاي كامپيوتري )
طراحي و پياده سازي سيستم :
الف : تعيين اهداف طراحي :

اولين مسئله در طراحي يك سيستم تعيين اهداف و مشخصات سيستم است .
در بالاترين سطح طراحي سيستم تحت تأثير نوع سخت افزار سيستم قرار مي گيرد .مثل سيستم دسته اي ، اشتراك زماني ، تك كاربره ،چند كاربره ، توضيعي ، بيدرنگ و چند منظوره .
ب : تعيين راه كارها و سياست ها :

يك اصل مهم در طراحي سيستم تفكيك راه كار از سياست است ، راه كار تعيين مي كند كه كار ها چگونه انجام شوند ولي يساست تعيين مي كند كه چگونه كاري بايد انجام شود .به عنوان مثال استفاده از زمان بند يا ( timer ) راه كاري براي تعيين حفاظت از cpu است و تعيين اينكه زمان بند اجراي كار براي هر كاربر به چه مدتي تنظيم شود يك سياست است .

ج : پياده سازي سيستم :
وقتي سيستم عامل طراحي شد بايد پياده سازي شود . در گذشته سيستم هاي عامل به زبان اسمبلي

نوشته مي شدند .ولي امروزه مي توان آنها را به زبان هاي سطح بالا مثل c ، نوشت .

چند اصطلاح :
۱- remote login :
دسترسي به شبكه از راه دور نه به وسيله كابل يا يك وسيله ارتباطي ديگر ( اتصال به شبكه ) را remote login گويند .
۲- remote file access :
دسترسي به فايل هاي يك كامپيوتر به وسيله كابل يا يك وسيله ارتباطي ديگر را گويند .
تعريف job :
مقدار پردازش خاصي است كه به عنوان يك واحد توسط كامپيوتر صورت مي گيرد .اين اصطلاح از زمان بكارگيري كامپيوتر هاي بزرگ متداول گرديده كه اطلاعات روي دسته هايي از كارتهاي سوراخ دار براي پردازش برنامه هاي مختلف ارائه مي شوند . به اين ترتيب كار ها در عمليات جداگانه اي تقسيم و پردازش مي شوند .