سيستم عامل هاي WIN NT وXINU و MINIX و UNIX

در این پست قصد معرفی فایل سيستم عامل هاي WIN NT وXINU و MINIX و UNIX را داریم با ما همراه باشید.
سيستم عامل هاي WIN NT وXINU و MINIX و UNIX|50472846|qyx|

مقدمه....................................................................................................... 6


1- آدرس‌دهي 32 بيتي.................................................................................. 6


دو طريق آدرس‌دهي حافظه:............................................................................ 7


مزيت هاي آدرس دهي 32 بيتي :..................................................................... 8


عيوب استفاده ازRAM :.................................................................................. 9


Mass STORAGE :HARD DISK............................................................ 10


SWAP FILE............................................................................................ 12


3-PREEMPTIVE MULTITASKING............................................................... 13


THREAD................................................................................................ 14


nonpreemptive :................................................................................ 15


Preemptive multitasking :.............................................................. 15


مقايسه nonpreemptive و Preemptive :.................................................. 15


4-symmetric multipocess.................................................................. 16


LOAD BALANCING :............................................................................... 17


MULTIPROCESSING متقارن و نا متقارن......................................................... 18


مزيتهاو عيوب سيستمها ي چند پرداشي نا متقارن :.............................................. 18


معايب سيستم هاي متقارن :........................................................................... 19


مزاياي سيستمهاي متقارن :........................................................................... 19


THRAD................................................................................................. 19


CUENT/SERVER در ويندور NT.................................................................. 22


خصوصيت كنترل دستيابي........................................................................... 24


مقدمه..................................................................................................... 25


:System _ Calls.................................................................................... 25


ساختار سيستم عامل :xinu........................................................................... 26


زمانبندي و سوئيچ كردن:(Scheduling & Context Switching)..................... 26


فرآيند پوچ :(Null Process)...................................................................... 27


‍‍Process Suspension& Resumption...................................................... 27


Interprocess Communication............................................................ 29


مديريت حافظه : (Memory Management).................................................. 29


Interrupt Processing :....................................................................... 30


:Input Output Management............................................................... 31


:Booting XINU...................................................................................... 32


:File System........................................................................................ 32


سيستم عامل MINIX.................................................................................... 34


تاريخچه MINIX........................................................................................ 34


1-1نگاهي به مراحل پردازش در minix......................................................... 35


2-2 ساختمان داخلي minix......................................................................... 35


3-2 مراحل مديريت فرآيند ها در minix.......................................................... 37


فلاپي و ديسك........................................................................................... 37


4-2 مراحل جدول بندي شده در minix............................................................ 38


1-1نگاهي به سيستم ورودي / خروجي در minix............................................... 38


2-3 برنامه مديريت وقفه در سيستم minix....................................................... 39


نرم افزار راه اندازي در سيستم unix............................................................... 39


3-3 نرم افزار ورودي /خروجي غير وابسته به وسايل سخت افزاري در minix........... 41


4-3 مديريت وقفه در سيستم minix (Dead Lock)....................................... 41


5-3 ديسك گردان RAM............................................................................... 42


6-3 نگاهي به ديسك گردان فلاپي در سيستم minix............................................ 44


7-3 نگاهي به نرم افزار ساعت در minix........................................................ 45


9-3 نگاهي به نرم افزار پايانه در minix......................................................... 46


سيستم خروجي پايانه................................................................................... 46


1-4مديريت حافظه در minix....................................................................... 47


2-4 شماي حافظه...................................................................................... 47


نتيجه گيري.............................................................................................. 49


سيستم عامل UNIX..................................................................................... 50


مقدمه..................................................................................................... 50


ساختار داخلي UNIX :................................................................................. 52


ورود به UNIX :........................................................................................ 52


فايلها و دايركتريهاي در UNIX :..................................................................... 53


UNIX Implementation (اجراي UNIX ):.................................................... 55


پردازشها در UNIX :................................................................................... 56








مروري بر سيستم عامل هاي


WIN NT وXINU و MINIX و UNIX



استاد راهنما:





مقدمه

ويندوز NT نسبت به سيستمهاي عامل OS/2 و UNIX و ويندوز 16 بيتي ،داراي برتري‌هايي است، كه اين خصوصيات و امكاناتي كه ويندوز NT دارد، با يك سيستم عامل يا بيشتر نيز قابل دسترسي است. ولي هيچ‌كدام از سيتم عاملها قابليتهاي ويندوز NT را ندارد. در اين قسمت مهمترين خصوصيات NT را معرفي مي‌كنيم و يكسري خصوصيات كليدي NT را شرح مي‌دهيم.


1- آدرس‌دهي 32 بيتي

در انيجا لازم است توضيحي در مورد اينكه آدرس چيست و نحوة آدرس‌دهي كه ميكروسافت DOS چگونه است بدهيم. آدرس كلاً محل يك بايت از اطلاعات در حافظه كامپيوتر يا Mass storage مي‌گويند. آدرس بر دو نوع است. آدرس مي‌تواند فيزيكي و يا مي‌تواند مجازي باشد.


1-1- آدرس‌دهي فيزيكي: به بايت دادة معين در محل فيزيكي معيني از حافظه يا ديسك اشاره مي‌كنند.


2-1- آدرس‌دهي مجازي: به آدرس منطقي (نرم‌افزاري) اشاره مي‌كند كه سيستم عامل به آدرس فيزيكي معيني اشاره مي‌كند.


مطلب قابل توجه در انيجا اين است كه ويندوزNT از بين دو آدرس‌دهي، از آدرس‌دهي مجازي استفاده مي‌كند كه براي هر درخواست اصولاً چهار گيگابايت اختصاص داده مي‌شود كه البته 2 گيگابايت آن براي سيستم عامل منظور مي‌شود.


به دنبال پيشرفت مايكروسافت DOS به دليل محدوديتهاي حافظه، ميكروپروسسورهايي از قبيل 8086 و 8088 شانزده بيتي كه يك فضاي آدرس‌دهي بيست بيتي را عرضه مي‌داشتند طراحي كردند. يعني در واقع اين ميكروپروسسورهاي مي‌توانستند يك مگابايت از حافظه را به طور فيزيكي آدرس‌دهي كنند. با توجه به اين كه بيست بيت به خوبي در كلمه (word) شانزده بيتي جاي نمي‌گرفت مهندسين INTEL براي دستيابي به هر آدرس، طرحي به نام تقسيم حافظه ارائه دادند.


در اين نوع آدرس‌دهي آمدند يك مگابايت را به 16 قسمت تقسيم كردند كه هر قسمت 64 كيلوبايتي با ghunk بود. اين كار بدين دليل بود كه برنامه‌نويسان اصولاً در پردازنده‌هاي 8 بيتي قديمي مانند INTEL 8085 و ZILOG Z80 با آدرس‌دهي 64 kdyte آشنايي داشتند.


براي اينكه برنام‌نويسان بتوانند به هر آدرسي در داخل فضاي آدرس يك مگابايتي دست پيدا كنند آدرس حافظه فيزيكي محاسبه شد. (قسمت در 16 ضرب كرده و سپس يك offset به آن اضافه مي‌شود. نتيجه به بايت مورد نظر اشاره مي‌كند.) بقية پردازنده‌هاي 6 بيت مانند 68000 Motorola از آدرس‌دهي خطي استفاده مي‌كردند كه هربيت از حافظه مستقيماً و بدون استفاده از offset & segment آدرس‌دهي مي‌كرد. و علاوه بر تسهيلاتي مانند MS-DOS 5.0 و windows 3.1، طراحان زيادي طرحهاي خود را براي آدرس‌دهي و بيش از 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 با تمام محدوديتهاي آدرس‌دهي عمل مي‌كنند.


دو طريق آدرس‌دهي حافظه:

Real Mode : يك طريقة آدرس‌دهي حافظه است كه از آدرس‌دهي نوع تقسيم‌بندي حافظه يعني همان segment & offset استفاده مي‌كنند. ماننده پردازندة INTEL 8086.


‍‍‍‍‍Protected Mode : يك طريقة ديگر آدرس‌دهي حافظه كه براي دستيابي به بايت حافظه به جاي segment & offset از آدرس‌دهي خطي استفاده مي‌كند. اين نوع آدرس‌دهي مشخصات حفاظت سخت‌افزاري كه windows و windows NT آن را به كار گرفته‌اند، فعال مي‌كند.


windows NT براي تهيه آدرس‌دهي 32 بيتي واقعي Trune 32-bit addressing از آدرس‌دهي خطي 386 و 186 و پنتوم (INTELS586) و همچنين پردازنده pisk همچنون Mips و DigtalAlpha استفاده مي كند. قابل ذكر است كه ديگر NT از سازگار بودن با DOS و windos 16بيتي صرفنظر مي كند و داراي طرحي است بنام (viriul dos machine) كه در اين صورت اين امكان را به ويندوز NT مي دهد كه بتواند در خواستهاي Dos و windows16 بيتي را اجرا كند (بعدا در مورد VDM صحبت خواهيم كرد ) .


مزيت هاي آدرس دهي 32 بيتي :

1-توسعه نرم افزار با حذف قسمت بندي حافظ آسانتر و سريع تر مي شود.


2- برنامه نويسان ديگر لآزم نيست حافظه مورد در خواستهايشان آشنا باشد .


3-كارسيستم باحذف سربارپردازشي كه موردلزوم مديريت حافظه است بهبود مي يابد.يعني درهيچ گونه نيازي به حافظه ثالثي ندارد.رهايي از مديريت حافظه سازگاريهاي NT واقع ويندوز مختلف سخت افزار ونرم افزار را نيزحذفمي كنديعني وضعيت استقرارنرم افزار مي تواند ساده و 16 بيتي باشد WindowsياDos ابتدايي تر از


4- ميزان برنامه قابل دسترسي و اندازه داده در آدرس دهي 32 بيتي زياد مي شود.


ويندوز NT از تركيب برنامه و سيستم با اندازه چهار گيگا با يت كه صدها برابر بزرگتر از حدودقابل اجرا روي بر نامه هاي DOS و ويندوز 16 بيتي تشكيل شده است . فايلهاي بزرگ كه توسط ويندوز NT قابل پردازش مي باشد غير ممكن است كه توسط DOS وياwindos16 بيتي پردازش شوددر خواست كننده هاي (در خواستهاي ) پيچيده كه فايلهاي بزرگ را پردازش ميكنند فقط با ويندوز NT عمل مي كندو آن هم فقط به دليل آدرس دهي 32 بيتي است . در خواستهاي پيچيده همچون رزرواسيون، مبادله دارايي وسيستمهاي پردازش طلبهاي بيمه است


از ديگر خصوصيات كليدي ويندوز NT ،حافظه مجازي و يا VM است كه در زير توضيح مي دهيم .


2-VIRTUAL MEMORY (حافظه مجازي)


هر در خواست در ويندوز NT ميتواند به 4 گيگا بايت حافظه دست پيدا كند (به خاطر فضاي 32 بيتي )


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


RAM :RAM يا حافظه تصادفي (حافظه دسترسي تصادفي ) از نوع ديگر سريعتر است . مزيتهاي آن به شرح زير است :


1-PC براي اينكه بتوانند يك بايت داده را در 70 بيليونيم ثانيه دريافت و بعد ذخيره كننداز RAM استفاده مي كنند


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


عيوب استفاده ازRAM :

1 -در هنگام قطع برق تمام اطلاعات ذخيره شده در RAMاز بين مي رود.اين نوع حافظه را VOLATLSTORAGE ناميده ميشود . در اين جا قابل ذكر است كه در بسياري از كامپيوتر هايي كه قابل حمل هستند


هنگامي كه كامپيوتر خاموش است مقداري برق به حافظه RAM كامپيوترمي رسدكه باعث مي شود داده هاي ذخيره شده در آن از بين نرود و در هنگام تمام شدن باطري آن اطلاعات در آن با تمام شدن باطري از بين مي رود.


2-عيب ديگر RAM ها در قيمت آن مشاهده مي شودوآن نيزگران بودن قيمت RAMها است در واقع هر مگا بايت از RAM ها براي pc ها حدود 35 دلار فروخته مي شود . از روي اين قيمت مي تواند تعداد RAMهايي كه در يك pc مي توان نصب كردرا حدس زد .اصولا به pc هاي kigh-end 8 مگا بايت RAM وصل مي شود و اين مقدار را خيلي ها مي توانند تا 20 مگابايت افزايش دهند و بعضي نيز اين مقدار را به 64 مگابايت ميرسانند .براي اين امر به RAM با چگالي بالا تري نياز است كه قيمت آن به ازاي هر مگابايت افزايش مي يابد ولي فضاي فيزيكي كمتري را اشغال ميكند نوع ديگر حافظه اصلي در كامپيوتر hard disk است كه در زير شرح داده شده است :(نوع ديگر حافظه Mass storage ها هستند كه روي hard disk سواري مي شوند.


Mass STORAGE :HARD DISK

همان طور كه در بالا گرفته شده نوع ديگر حافظه اصلي Mass storage ها هستند كه بر رويhard disk سوار مي شوندhard disk ها به مراتب كند تر از RAM ها هستند .


از نظر قابليت ذخيره سازي hard disk ها از 40 مگا بايت تا حدود 2 گيگا بايت قابليت ذخيره سازي دارند .


از نظر قيمت هم يك pc hard 200 مگابايتي تقريبا 400 دلار ويا به عبارتي دو دلار به ازاي هر مگا بايت مي باشد كه در مقايسه با قيمت RAM كه در حدود قيمت يك مگا بايت RAM است . در هنگام قطع برق محتويات hard ها از بين نمي رود به اين گونه حافظه Nonvolatile storage مي شود .


استفاده از هر دو نوع حافظه براي pc ضروري به نظر مي رسد.از RAM براي برنامه هاي اجرايي و ذخيره.


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


در اين جا يك سئوالي كه پيش مي آيد اين است كه اگر به بيش از RAM قابل ذسترسي نياز پيدا كرديم چه مي كنيم؟مثلآ فرض كنيد كه يك برنامهspreed sheet به دو مگا بايت وRAM ويك فايل spreed sheetكه به دو مگا بايت احتياج دارد داشته باشيم . اين سئوال پيش مي آيد كه آيا فقط به همين 4 مگابايت نياز داريم ؟ خود سيستم عامل به مقداري زياد RAM احتاج دارد . پس ما ميزان لازم RAM براي سيستم عامل و پردازنش speed sheet به طور همزمان در دست نداريم .


در DOS براي فراخواني برنامه و داده اگر RAM به مقداركافي نداشتيم مجبوربوديم يك RAM اضافه ديگر خريداري مي كرديم وبه PC نصب مي كرديم. ولي در ويندوز NT ما راه چاره اي داريم وآن اين است كه امكان تبديل قسمتي از hard به فضاي RAM وجود دارد.به طوري كه در خواستهايي بزرگتر از آن هستند كه در حافظه RAM جاي بگيرند ، مي توانيم اجرا كنيم . اين خصوصيت ويندوزNT را viriual Memory نامگذاري كردند . بعدا به طرز كار VM تحت ويندوز NT وتوضيح وشرح آن خواهيم پرداخت .


در هنگام نصب ويندوز NT (براي اولين )كاربران و يا مديرسيستم موظف است كه برنامه راه اندازNT را چك كند تا به فضاي قابل دسترسي پذيرRAM وHARDدر سيستم عالملي پي ببرد.برپايه فضاي دسترسي پذير ديسك RAM يك swap file ايجاد ميكنند كه اندازه آن حداكثر مي تواند به اندازه RAM موجود در سيستم باشد . در هنگام نصب ويندوز NT كاربر ميتواند اندازهswap file را تغيير بدهد . رابطه swap file با حافظه مجازي از نظر اندازه مستقيم است . يعني هر چه اندازه swap file بزرگ باشد ، حافظه مجازي نيز بزرگ ميباشد. ولي قابل ذكر است كه بزرگي آن تا اندازه فضاي ذخيره سازي فايل ثابت، اذامه خواهد داشت .


اندازه نهايي swap file را جابجايي وظرفيت كل ديسك مشخص مي كند.در زير توضيحي در مورد swap fileو اين كه swap file چيست مي دهيم .




SWAP FILE

swap file قسمتي از حافظه سخت است كه توسط مديريت حافظه مجازي بكار مي رود كه كارش در واقع نگهداري موقت بخشي از محتويات RAM است تا اينكه به سيستم اين امكان داده شود كه برنامه هلآيي كه از نظر اندازه از RAM قابل دسترسي بزرگترند ،را بتواند اجرا كند.


دنباله بحث :بعد از نصب ويندوز NT و اجراي آن swap file به عنوان يك انباره موقت براي محتويات RAM بكار برده مي شود. در زير دو وظيفه مهم مدير حافظه مجازي را بررسي مي كنيم:


1-مديريت داده ذخيره شده بر روي ديسك وانتقال آدرس داده هاي روي پايه ديسك به فضاي آدرس دهي 32 بيتي ويندوز NT .در خواست ميتواند عملياتي را بر روي داده انجام دهد بدون اينكه توجه به اين داشته باشد كه داده از نظر فيزيكي دركجا قرارگرفته است.يعني ميتواند عملآياتي را برروي داده درفضاي حافظه مجازي انجام دهد


2-در ويندوز NT هنگامي كه بخواهند از RAM بيشتر از آنچه كه در دسترس است استفاده كنند اين مديريت حافظه مجازي است كه قسمتي ازRAM رابه swap file منتقل مي كندتا اينكه فضايي براي داده هاي لازم باز كند و در زمان لازم دوباره بهRAM بازگردانده مي شود .براي جلوگيري از هدر رفتن زمان ،به جاي اينكه داده ها بايت به بايت از RAM به ذيسك ويا از ديسك به RAM منتقل شوند ،اين انتقال به اين صورت است كه داده هاي به صورت4kilopages منتقل مي شوند نه بايت به بايت.برنامه درخواستي لزومي نداردكه چيزي در مورد پردازش swaping بداند swaping تكرار شونده روي پاسخ خرابي سيستم وهمچنين روي فعاليتهاي سنگين ديسك تاثير گذار است .


برنامه اي كه يك فايل راروي فضاي آدرس دهي مجازي ويندوزطNT مورد پردازش قرار مي دهد(روي هارد )از نظر سرعت خيلي كند تر از برنامه اي است كه از دادها در داخل RAM استفاده ميكند .يعني برنامه اولي از برنامه دومي كندتر اجرا مي شود .مديريت حافظه مجازي براي اين طرحي كه در فايلهاي داده اي خيلي بزرگتر و سيستمهاي چند برنامه اي از به وجود آمدنswaping ها خيلي ضروري جلو گيري كند ولي در واقع ميزان كار به مقدار RAM قابل دسترس بستگي دارد يعني هر چه مقدار RAM قابل دسترس بيشترباشد كار كلي بيشتراست ويندوز 16 بيتي هم نيز از حافظه مجازي استفاده مي كند ولي در طرز كار آن در ويندوز NT پيچيده تر است .اندازه فضاي swap حافظه مجازي در ويندوز 16 بيتي وابسته به مقدار RAMقابل دسترس است وتا تقريبا اندازه 30 مگا بايت مجاز است .اين نكته قابل ذكر است كه اگر كارتصميم به حذف swap file ها با خاموش كردن حافظه مجازي بگيرد،و به اين ترتيب در خواستهاي بزرگتري را انجام دهد ،بهswap file اين نياز نيست .


اين حدود اندازه swap file در ويندوز 16 بيتي برايtop disk desk ها (desk top pc ) ها مناسب ميباشد .اگر مقدار ram دسترس پذير شما در حدود 32 مگا بايت يا بيشتر باشد ،كمترين مقدارswap فضاي يكdiskرا اشغال ميكنددرحالي كه30مگابايت از فضايseap براي بسياري تزدز خواستهايRAMبسيار كم است .ولي ويندوز NT اين خصوصيت را دارد كه شما هر مقدار swap (زياد وكم )كه نيازدارد ،اختصاص دهيد . ولي اين موضوع هم هست كه حافظه مجازي نمي تواند جوابگوي تمام مشكلات با شد .اين امكان را مي دهد (حافظه مجازي )كه با مقداريRAM محدود برنامه هاي بزرگ را پردازش كنيم ولي بدون توجه به سرعت پردازش آن يعني ممكن است سرعت پردازش خيلي كم باشد .در هنگام كار با ويندوز NTهنگامي كه حافظه مجازي مشغول مبادلهdata بهhard ازRAM بهhard ويا بالعكس است.توجه داشته باشيدكه به محض پايين آمدن كارايي سيستم ،به RAM اضافه كنيم.البته ممكن است كه با اضافه كردن hard سريعتر به اصلاحاتي دست يابيم ولي مزاياي بالا بردن مقدار ديسك سريعتر قابل مقايسه با اضافه كردن RAM نمي باشد .از ديگر خصوصيات (خصوصيت سوم) در زير توضيح داده مي شود .


3-PREEMPTIVE MULTITASKING

اين خصوصيت به معنا ي چند كاره بودن يعني قابليت چند كاره بودن كامپيوتر براي انجام يك سري عمليات در واحد زمان است.اين عمليات،اجراي برنامه ويا پردازش يك برنامه و يا به تمام رساندن يك كار ، مي تواند باشد .درNT برنامه وپردازش ها از اجرايي به نامthread تشكيل شده اند كه بعد در مورد آنها بحث مي شود .




THREAD
معمولا قسمتي از پردازش به عهده سيستم عامل است كه سيستم عامل آن را اجرا مي كند كه به آن قسمت thrad گفته مي شود . يك thred نمي تواند متعلق به چند پردازش باشد ولي يك پردازش مي تواند چند thread داشته باشد و مي توانند به وسيله طرحي چند thread را به طور همزمان اجرا كند.
حال مي خواهيم ببينيم مفهومmultiasking يعني چه و براي چه كاري است؟براي اينكه به اين مفهوم بيشتر آشنا بشوم قبل از هر توضيحي اشاره به مثالي مي كنيم .مي دانيم كه نوشتن يك document كارراحتي است.هنگامي كه داريم باDOS كارمي كنيم وبخواهيم ازنوشته پرينت تهيه كنيم قبل ازانجام هر كاري بايست فرمها،نوع قلم،كدهاي خاص را به كدها يي قابل فهم براي .چابگرتبديل كنيم سپس سيستم را اندازه فايل را كه مي داند چاپگر توانايي تحمل آن را دارد به چابگر مي فرستد. چاپگر و سيستم عامل انقدر به تبادل اطلاعات ادامه مي دهندكه تمام فايل به چاپگرفرستاده شود .در حين تبادل اطلاعات بين چابگر و سيستم عامل ،ديگر ما به عنوان يك كاربر هيچ كار ديگري نمي توانيم با كامپيوترانجام دهيم .وجود يك سيستم multitasking است كه در اينجا لازم ديده مي شود در واقعmultitasking اين اجازه را به كاربرمي دهدكه همزمان با ارسال اطلاعات به چابگر ،بتواند عمليات ديگري بر روي كامپيوتر انجام دهد

همانطور كه ميدانيم پردازنده در هر زمان فقط يك كار را انجام مي دهد ولي اين كارها سريع تغييروضعيت مي دهد كه به نظرمي آيد در هرزمان بيش ازيك كارانجام مي شود.مثل ديگري كه براي فهم بهتر multitasking مي شود زد ،در مورد فيلم است .اگر ما يك حلقه فيلم را جلوي نور بگيريم مي بينم از تعدادي تصوير و عكس ثابت تشكيل شده است ولي آن را با يك پروژكتور به صورت 24 تصوير در ثانيه نمايش دهند ما همان تصويرهاي ثابت رابه صورت يك فيلم متحرك مي بينيم و براي ما غير باور است كه فكر كنيم آن همان عكسهاي ثابت است كه به صورت فيلم درآمده است .يك multitasking انعطاف پذير خوب همانند اين فيلم دنباله دار ومتحرك به نظر مي آيد .


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


دو نوع multitasking وجود دارد كه اول آنها را نام برده سپس شرحمي دهيم .


1-preemptive


2- nonpreemptive


nonpreemptive :
دراين نوع multitasking ، قبل از جايگزين يك thread در حال اجرا با thread ديگر thread مشخص مي كند كه چه مدت زمان كار دارد .
Preemptive multitasking :

هر thread برايش مقدار ثابتي زمان مشخص مي شود تا در اين زمان ثابت كار خود را انجام دهند كه به اين زمانtimeslice گفته مي شود.وقتي كه يكthread زمانtime slic اش تمام شد موظف است كه به خارج انتقال يابد.مسئله ديگري هم كه است مسئله حق تقدم است يعني يك thread با اولويت بالا ميتواند جلوي اجراي thread با اولويت پايين تر را بگيرد.در عوض ويندوزNT كه ازpreemptive استفاده مي كند ويندوز 16 بيتي از multitasking از نوع nonpreemptiveاستفاده مي كنيم .


مقايسه nonpreemptive و Preemptive :

در nonpreemptive هر در خواست براي اجراي در خواستهاي ديگر ناچاربه رها كردن كنترل پردازنده است كه البته در مدل Preemptive ديگر به اين صورت نيست بلكه سيستم عامل خود به طور اتوماتيك موقتا كنار كذاشته ودر خواستهاي مورد لزوم براي كار،سرويس داده مي شود .همان طور كه در بالا گفته شدويندوز 16بيتي ازnonpreemptive استفاده مي كند به نام cooperative.دراين سيستمcooperative هردرخواستي براي اجراي درخواست ديگر كنترل پردازنده را رها مي كند.


در يك سيستم nonpreemptive ،در حالي كه يك thread خودش دارد اجرا مي شود هيچ thread ديگري نمي تواند كامپيوتر را در اختيار گيرد. ولي در Preemptive اگر مدت زمان لازم براي هر threadX باشد براي دو thread دو برابر اين مقدار ،براي سه thread سه برابر اين مقدار و …مي باشد . به علاوه threadهاي با اولويت بالاتر مي توانند بر thread ها با اولويت پايين تر تقدم يابند . براي فهميدن بهتر مفهوم Preemptive و nonpreemptive به مثالي جوع مي كنيم :


در اين مدلها multitasking مي توانيم پردازنده را مانند يك راهداري در جاده در نظر بگيريم .در يك سيستم Preemptive ، هر ماشيني زماني كه صرف ورود به راهدار وپول دادن و خروج مي كند،براي هر ماشين يكسان است . مثال آ يك ماشين ،كه حدودا دهمين ماشين است ميتواند تخمين بزند كه چه زمان ديگر نوبت او مي رسد .(مثل سيستم عامل ويندوز (NT ولي در سيستم nonpreemptive ديگر اين طور نيست يعني فقط هر ماشين با ورود به راهداري مي تواند تخمين بزند كه چه مقدار كار دارد ديگر ماشيني كه در صف ماشين هاي است نمي تواند تخمين بزند كه كي و چه زماني نوبت او فرا مي رسد. حال براي اينكه بفهميم كه سيستم nonpreemptive سست است مثالي ميزنيم :


در ويندوز 16بيتي مديريت چاپ براي مسير دهي ducument ها به چاپگر استفاده مي شود . به اين ترتيب كه مديريت چاپ همواره با چاپگر دررابطه است كه در صورت بيكاربودنducumentهارا منتقل كنددر غير اين صورت روي فضاي hard ذخيره كند.در طي اين اعمال كنترل به كاربر اين قدر سريع انجام ميشود كه كارديگري نمي تواند انجام دهد.ولي به صورت تئوري كارانتقال كنترل به كاربراين قدرسريع انجام مي شود كه كاربر به نظر مي رسدكه دفعتآ كار كنترل را به عهده مي تواند بگيرد. ولي در واقعيت حدود چند ثانيه اي طول مي كشد.


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


حال مي پردازيم به خصوصيات ذيگر سيستم عامل ويندوز NT بنام symmetric multipocess (چند پردازشگر متقارن )




4-symmetric multipocess

تمام كامپيوتر هاي desk top ، داراي يك پردازنده يا CPU هستند .مي توانيم از CPU ها ،از INTEL 80386 وهمينطور از MIPS4000 نام برد . يك CPU مي تواند در زمان يك thread را اجرا نمايد و اين قدر بين آنها تغيير وضعيت مي دهد كه كار بر احساس مي كندچند thread رااجرا مي كند . جاييجايي بين threadها خود پردازشي است در پردازنده كه احتاج به زمان دارد .هرچه threadهاي بيشتري براي زمان پردازنده رقابت كنند ، منابع پردازنده درگير در جابجايي بين thread ها قسمت بزرگتري از زمان قابل دسترس را مصرف ميكنند و يا پردازنده دريافت thread هاي جديد را متوقف مي كند ويا به هر يك از thread ها آن چنان زمان كمي مي رسد كه همه چيز در يك halt از بين مي رود. در اواخر دهة هفتاد ،طراحان نعداد پردازنده سه برابر در خواستها زياد افزايش دادند (muliprocceing).با دو پردازنده ،دو برابر در خواستهاوبا سه پردازنده سه برابر در خواستها را مي توانيد انجام دهيد وبه … همچنين يك كامپيوتر كه بيش از يك پردازنده داشته باشدمي تئاندد يك زمان چندthreadرابدون جابجايي كارها اجرا كند .هميشه ميزان زيادي از نيروي پردازش صرف مديريت فعاليتهاي پردازنده هاي چند گانه مي شود .


.




به صورت 57صفحه استاندارد در قالب ورد است امیدوارم این تحقیق مورد استفاده تون قرار بگیره،



مطالب دیگر:
📎10 راز مهم جوان ماندن📎مجموعه اشعار و ترانه های مریم حیدرزاده📎مجموعه کامل رباعیات خیام📎غزلیات حافظ شیرازی بهمراه بازگردانی به انگلیسی📎بهترین پکیج برنامه ساز اندروید نسخه 2020📎دیوان کامل اشعار پروین اعتصامی📎مجموعه ای از اشعار شاعران معاصر📎مجموعه اشعار سیمین بهبهانی📎مجموعه 12 فیلمنامه در یک پک📎کتاب کامل خسرو و شیرین نظامی📎آموزش خود هیپنوتیزم ساده📎2 نرم افزار ارسال ایمیل انبوه📎جزوه درس کارگاه ایستگاه کاری📎تحلیل خطر زلزله📎کتاب لیلی و مجنون نظامی📎آموزش کامل تمامی زبانهای برنامه نویسی📎بیش از 200 کلید میانبر در کامپیوتر📎آموزش کامل ویژوال بیسیک (توابع ریاضی)📎کتاب پیشگوییهای زرتشت📎آموزش جامع Excel📎آموزش کامل شبکه📎پک کامل آموزش PHP📎کتاب زندگی نامه بیل گیتس بزرگ📎آموزش جامع اکسس📎آموزش کامل اتوکد 2014