دانلود با لینک مستقیم و پر سرعت .
تحقیق مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX در 70 صفحه با فرمت ورد بسیار جامع شامل بخش های زیر می باشد:
مقدمه
1- آدرسدهی 32 بیتی
دو طریق آدرسدهی حافظه
مزیت های آدرس دهی 32 بیتی
عیوب استفاده ازRAM
Mass STORAGE HARD DISK
SWAP FILE
3-PREEMPTIVE MULTITASKING
THREAD
Preemptive multitasking
مقایسه nonpreemptive و Preemptive
4- symmetric multipocess
MULTIPROCESSING*
MULTIPROCESSING متقارن و نا متقارن
مزیتهاو عیوب سیستمها ی چند پرداشی نا متقارن
معایب سیستم های متقارن
مزایای سیستمهای متقارن
THRAD
CUENT/SERVER در ویندور NT
خصوصیت کنترل دستیابی
مقدمه
System _ Calls
ساختار سیستم عامل xinu
زمانبندی و سوئیچ کردن:(Scheduling & Context Switching)
فرآیند پوچ :(Null Process)
Process Suspension& Resumption
هماهنگی فرآیند ها (Process Coordination)
Interprocess Communication
ارتباط بین فرآیند ها توسط ارسال پیغام :(message passing)
پیغام های بین فرآیندی : (process to process message passing)
مدیریت حافظه : (Memory Management)
Interrupt Processing :
Input Output Management
Booting XINU
File System
سیستم عامل MINIX
تاریخچه MINIX
نگاهی به مراحل پردازش در minix
ساختمان داخلی minix
مراحل مدیریت فرآیند ها در minix
فلاپی و دیسک
مراحل جدول بندی شده در minix
برنامه مدیریت وقفه در سیستم minix
نرم افزار راه اندازی در سیستم unix
نرم افزار ورودی /خروجی غیر وابسته به وسایل سخت افزاری در minix
مدیریت وقفه در سیستم minix (Dead Lock)
دیسک گردان RAM
نگاهی به دیسک گردان فلاپی در سیستم minix
نگاهی به نرم افزار ساعت در minix
سیستم خروجی پایانه
مدیریت حافظه در minix
شمای حافظه
نتیجه گیری
سیستم عامل UNIX
مقدمه
ساختار داخلی UNIX
ورود به UNIX
فایلها و دایرکتریهای در UNIX
UNIX Implementation (اجرای UNIX )
پردازشها در 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 با تمام محدودیتهای آدرسدهی عمل میکنند....
.
.
.
Interrupt Processing :
قبل از اجرای یک دستور العمل cpu خط Interrupt را چک میکند.اگر این خط فعال بود یک روالی برای کردن وقفه handle فراخوانی می شود و هنگامی که کار وقفه به پایان رسید ، کنترل به فرآیندی که در حال اجرابود (قبل از اینکه وقفه رخ دهد) برگردانده می شود و فرآیند بقیة کارش را ادامه می دهد.
همة وقفه ها به روتین هایی به نام interrupt dispatch انشعاب میکنند. Dispatcher ها اعمالی مانند ذخیره و بازیابی مقادیر ثبات ها ، تشخیص وقفه دستگاهها و عمل بازگشت از یک روتین وقفه ، هنگامی که رویتن وقفه کارش به پایان رسیده را، انجام می دهد. xinu ،شامل سه نوع مختلف از Interrupt Dispatcher می باشد. یکی برای handle کردن .clok Int و دیگری برای وقفه های دستگاههای ورودی Input)) و سوم برای دستگاههای خروجی output)) می باشد.
تمام دستگاههای ورودی به یک سری از dispatchroutine ها انشعاب کنند در این حالت ، dispatcher از کجا می فهمد که کدام روتین باید فراخوانی شود ؟ راه حل این مشکل به این شکل است که انتخاب یک Interrupt handتوسط و آدرس وسیلة درخواست کنندة وقفه مشخص میشود.
برای تشخیص اینکه کدام دستگاه درخواست وقفه کرده و حال باید کدام روتنی را اجرا کند، سیستم عامل xinu به این شکل عمل می کند که ، سیستم عامل کمله word)) دوم از .Int.Vector راکد برداری (Encode) می کند تامشخص شود که کدام وسیله و نوع وقفه چیست .
هنگامی که یک وقفه رخ می دهد cpu،ثباتهایPC وSP را از رویInt.Vector بار میکند و شروع میکند به اجرایInt.Voutine مورد نظر .
:Input Output Management
در xinu هر دستگاه جانبی با یک عدد صحیح که بعنوان Device Descriptor یا توصیف گر دستگاه است در هنگام راه اندازی اولیه دستگاه ، متناظر می شود. یعنی برای هر دستگاه جانبی سیستم عامل عدد صحیحی را به عنوان مشخص کنندة آن دستگاه انتخاب می کند.
در زمان اجرا (Runtime) برنامه ممکن است یک روتین I/Q را صدا بزند (مانند read یا putc ) در این موقع devicedesriptor به عنوان یک آرگومان برای قسمت I/Q routine فزستاده می شود. I/Q routine ها از این عدد صحیح (devicedesriptor) به عنوان اندیسی برای یک جدول بنام جدول انتخاب دستگاهها (device switch table) استفاده می کند. این جدول هر عدد صحیحی را به آدرس یک دستگاه واقعی (real device ) نگاشت (Map) می کند. یعنی با داشتن یک عدد می توان آدرس دستگاه خاص را در (device table ) devtab به دست آورد . هر عنصر جدول devtab متناظر با یک دستگاه است که شامل آدرس روتین devicedriver های مخصوص آن دستگاه خاص است و همچنین آدرس خود دستگاه و یکسری اطلاعات دیگر که برای driver ها لازم است .
تنها دانستن آدرس روتیثن device driver کافی نیست زیرا چند دستگاه جانبی می تواند مشترکاً از یک روتین استفاده کنند. بنابراین device table شامل فیلدهای برای آدرس دستگاه سخت افزاری (Hardware Device)، همچنین آدرس Int. Vector و روتین Int. Dispatchمی باشد.
:Booting XINU
سیستم عامل xinu یک سیستمی که بطور مستقل روی دیسک مقیم باشد، نیست در حقیقت این سیستم عامل می تواند روی ماشینی که دیسک ندارد اجرا شود، برای اینکه این سیستم عامل توسط یک کامپیوتر دیگر که اصطلاحاً کامپیوتر میزبان (Host) نامیده می شود ، روی دستگاه بار می شود. (Down Ioad) .
عمل boot شدن بطور کلی به این ترتیب است که : کامپیوتر میزبان یک Condition Break تولید می کند و cpu کامپیوتر 11/2 را به حالت (Halt)می برد. سپس کامپیوتر میزبان یک برنامة Initial Boot را روی آدرس صفر سیستم 11/2 بار می کند پس از آن سیستم 11/2 شروع به اجرای این برنامه که روی حافظه بار شده می کند. سپس کامپیوتر میزبان برنامه boot دوم را روی قسمت High حافظه بار می کند . سپسدوباره سیستم 11/2 این برنامه دوم را که در قسمت High حافظه نشسته اجرا می کند. در این قسمت سیستم عامل xinu شروع به اجرا شدن می کند که مکان شروع آن در بخش (01000 octal) می باشد.
:File System
در این سیستم عامل ، دیسک به سه قسمت : دایرکتری –اندیس –قسمت اطلاعات (Data) تقسیم میشود.
« فایل سیستم »زمانی که بخواهد یک فایل را در دیسک ذخیره کند یکسری از بلوکهایی را که استفاده نشده (unused) از Freelist بر میدارد و به فایل اختصاص می دهد و هنگامی که یک فایل پاک میشود ، فضای تخصیص داده شده به آن فایل به « لیست فضای آزاد Freelist)) » برگردانده میشود...