موضوع : تحقیق مروری بر سیستم عامل های win NT و XINU و MINIX و UNIX
به دنبال پيشرفت مايكروسافت DOS به دليل محدوديتهاي حافظه ميكروپروسسورهايي از قبيل 8086 و 8088 شانزده بيتي كه يك فضاي آدرسدهي بيست بيتي را عرضه ميداشتند طراحي كردند يعني در واقع اين ميكروپروسسورهاي ميتوانستند يك مگابايت از حافظه را به طور فيزيكي آدرسدهي كنند با توجه به اين كه بيست بيت به خوبي در كلمه word شانزده بيتي جاي نميگرفت مهندسين INTEL براي دستيابي به هر آدرس طرحي به نام تقسيم حافظه ارائه دادند
در اين نوع آدرسدهي آمدند يك مگابايت را به 16 قسمت تقسيم كردند كه هر قسمت 64 كيلوبايتي با ghunk بود اين كار بدين دليل بود كه برنامهنويسان اصولاً در پردازندههاي 8 بيتي قديمي مانند INTEL 8085 و ZILOG Z80 با آدرسدهي 64 kdyte آشنايي داشتند
براي اينكه برنامنويسان بتوانند به هر آدرسي در داخل فضاي آدرس يك مگابايتي دست پيدا كنند آدرس حافظه فيزيكي محاسبه شد قسمت در 16 ضرب كرده و سپس يك offset به آن اضافه ميشود نتيجه به بايت مورد نظر اشاره ميكند بقية پردازندههاي 6 بيت مانند 68000 Motorola از آدرسدهي خطي استفاده ميكردند كه هربيت از حافظه مستقيماً و بدون استفاده از offset & segment آدرسدهي ميكرد و علاوه بر تسهيلاتي مانند MS-DOS 50 و windows 31 طراحان زيادي طرحهاي خود را براي آدرسدهي و بيش از 640 كيلوبايت حافظه پيشنهاد كردند ميتوان از معروفترين نمونههاQEMM QUALAS’ 386 MA و QUARTERDECK’S را نام برد
كل اين و طرحها حافظة مورد استفاده را بيش از حد 640 كيلوبايتي بسط داند ولي مجبور كردن آنها به كار با يك موقعيت خاص PC و دنبالة درخواستها و تسهيلات نرمافزاري معمولاً يك هدر كردن زمان پردازش خنثيكننده است هميشه اينطور به نظر ميرسد كه حداقل يك درخواست مهم با يكي از تسهيلات با مديريت حافظة شما سازگار نيست
اولين پردازنده كه فضاي آدرسدهي خطي را به كار برد و نيز با DOS سازگاري داشت INTEL 386 بودكه ميبايست تقسيمبندي حافظه در كنار آن احتياج به مديريت شخص ثالث را حذف كرد كه در واقع فضاي آدرسدهي 32 بيتي INTEL 386 با برنامهها نوشته شده براي پردازندههاي INTEL قبلي سازگاري نداشت
اين برنامههاي ناسازگار DOS و تمام برنامههاي اجرا شده تحت DOS بودند برايايجاد سازگاري با DOS و درخواستهاي آن INTEL يك طريقة ديگر آدرسدهي را طرح كرد بنام Real Mode
اين نوع آدرسدهي با ساير نرمافزارهاي قبل سازگاري داشت ولي متذسفانه در هنگام كار با اين نوع آدرسدهي يعني Real moed 386 و 486 بيش از يك 8086 خيلي سريع عمل نميكند DOS كه در مقابل محدوديتهاي 8086 و 8088 نوشته شده بود هنوز بسيار شبيه نسخه سريع حد خود در سال 1981 با تمام محدوديتهاي آدرسدهي عمل ميكنند
در ويندوز NT يك پردازش شامل دستور العمل ها فضاي آدرس دهي مجازي كه براي نگهداري برنامه لازم است داده و منابع سيستم عامل كه توسط برنامه هاي در حال اجرا به كار رفته اند مي باشد در هر پردازش حداقل يك thread وجود دارد و قسمتي است كه معمولآ ويندوز NT براي اجرا زمانبندي مي كند هر پردازش يك thread نيازمند است چرا كه بدون thread هيچ ازرشي ندارد در هنگام اجراي thread است كه پردازش هم صورت مي گيرداگر چه در ويندوز NTدر يك زمان مي شودچند برنامه را با هم انجام شوند و اين بدين معني است كه هر پردازش بيش از يك thread دارد
برنامه پايگاه اطلاعاتي را براي آ ژانس هاي مسافرتي در نظر مي گيريم اين برنامه آثار ركوردهاي سرويس گيرندة آژانس را روي يك كامپيوتر محلي حفظميكند وبراي به دست آوردن اطلاعات پرواز براي سرويس گيرنده به يك سيستم رزرواسيون از طريق شبكه يا مودم وصل شود يك شركت مسافرتي مي تواند براي سرويس گيرنده در خواست اطلاعات بكند و فايل مسافرتي سرويس گيرنده را صدا زند اتصال شبكه اي به سيستم رزرواسيون براي ايجاد و تكميل زمان بيشتري لازم دارد تا دريافت فايل از هاردديسك اصلي اگر اين درخواست به صورت يك thread نوشته شود شركت بايد قبل از دستيابي به فايل مسافرتي انقدر صبر كند تا اتصال رزرواسيون انجام شود و اطلاعات مورد در خواست انتقا ل داده شود گر چه براي يك درخواست چند threadبرنامه مي تواند دست يابي به يروفايل سرويس گيرنده را هر زمان كه شركت مسافرتي اتصال شبكه اي بهسيستم رزرواسيون برقرار كرد آغاز كند در حالي كه يك thread منتظر پاسخ رزرواسيون است thread ديگر پروفايل سرويس گيرنده دريافت و نمايش مي دهد
ويندوز NT هم مي تواند اين thread هاي مجزا را انجام دهد وهم مي تواند thread را به پردازنده هاي گوناگون در سيستمهاي چند پردازنده اي بفرستد اين threadهاي چندگانه به طورهمزمان با هم اجرا مي شوند
يك برنامه با يد نوشته شو دتا اين thread هاي چند گانه را باهم ادغام كند اكثر برنامه ها كه در سيستم چند پردازنده اي قابل اجرا هستند ويك thread دارند بسياري از امكانات اجرايي نهفته و پنهان سيستم را از بين ميبرند در بعضي از جاها يك پردازش با يك thread مي توانند سرعت پردازنده هاي ديگر را پايين بياورداين مسئله معمولآ در سيستم هاي شبكه اي كه پردازش هاي اجرا شونده روي پردازنده هاي يك منبع مشترك مانند مديريت شبكه را بكارمي برندواقعيت دارد اگر مديريت شبكه چند thread باشد بازيابي مي تواند بينthread هايي كه روي چند پردازنده اجرا مي شوند مانند تقاضا براي افزايش منابع مديريتتقسيم شود اگر يك طرح تك thread بكار رود مديريت شبكه مي تواند تنها روي يك پردازنده كار كند با افزايش تقاضا پردازنده تضعيف مي شودوبراي سيستم موجود اشكالاتي پيدا مي شوند
حالا نوبت آن رسيده است كه از خصوصيت ديگر ويندوز NT خصوصيت پنجم نام ببريد و آن client/serverاست كه در صفحة بعد توضيحات آن داده خواهد شد
خيلي ها اصطلاح client/server را با شبكه هاي محلي و يا lanبكار مي برند ما در اول شرح اصطلاحمي پردازيم سپس در مورد چگونگي كار ويندوزNT كه چگونه طرح client/server را از شبكه به سيستم عامل منتقل مي كند
براي درك بهتر متوسل به مثالي مي شويم
فرض كنيد شما در شركتي كه كار مي كنيد در اتاق خود يك PC كه در آن يك ديسك قرار دارد و يك چاپگر كه متصل به كامپيوتر است و همچنين مودم داريد اين PC براي شما يك نفر در هر زمان بخوبي كار نخواهد كرد اگر شركت افراد استخدام شده خود را افزايش داد به هر نفر يك PC تعلق مي گيرد حال بايد تصميم بگيريم كه ايا شما مي توانيد به هر كدام اين افراد جداگانه يك چاپگر و يك مودم بدهيد
مسلم است كه اين كار پر هزينه استو بعلاوه چاپگر شما كه اغلب بلا استفاده است چه لزومي دارد كه براي هر نفر هم يك چاپگر خريداري شود
سؤال ديگر كه پيش مي آيد اين است كه ممكن است افراد ديگري هم در شركت به فايلهايي كه در هارد PC شما است احتياج داشته باشد يكي از راهها اين است كه اين فايلها روي فلاپي ديسك Save شود
مروري بر سيستمهاي عامل UNIX MINIX XINU WIN NT
مزیت های آدرس دهی ۳۲ بیتی ۴
۲-VIRTUAL MEMORY حافظه مجازی ۵
3-PREEMPTIVE MULTITASKING 11
Preemptive multitasking 13
مقایسه nonpreemptive و Preemptive 14
4- symmetric multipocess 16
MULTIPROCESSING متقارن و نا متقارن ۱۸
مزیتهاو عیوب سیستمها ی چند پرداشی نا متقارن ۱۸
معایب سیستم های متقارن ۱۹
5- ساختارCLIENT/SERVER 22
CUENT/SERVER در ویندور NT 24
ساختار سیستم عامل xinu 29
زمانبندی و سوئیچ کردنScheduling & Context Switching 30
فرآیند پوچ Null Process 31
هماهنگی فرآیند ها Process Coordination 32
Interprocess Communication 33
مدیریت حافظه Memory Management 34
Input Output Management 36
1-1نگاهی به مراحل پردازش در minix 42
2-2 ساختمان داخلی minix 42
3-2 مراحل مدیریت فرآیند ها در minix 44
۴-۲ مراحل جدول بندی شده در minix 46
1-1نگاهی به سیستم ورودی / خروجی در minix 47
2-3 برنامه مدیریت وقفه در سیستم minix 47
نرم افزار راه اندازی در سیستم unix 47
3-3 نرم افزار ورودی /خروجی غیر وابسته به وسایل سخت افزاری در minix 50
4-3 مدیریت وقفه در سیستم minix Dead Lock 51
6-3 نگاهی به دیسک گردان فلاپی در سیستم minix 53
9-3 نگاهی به نرم افزار پایانه در minix 56
۱-۴مدیریت حافظه در minix 57
فایلها و دایرکتریهای در UNIX 66
UNIX Implementation اجرای UNIX 68