فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

دانلود مقاله مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX

اختصاصی از فایلکو دانلود مقاله مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX دانلود با لینک مستقیم و پر سرعت .

دانلود مقاله مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX


دانلود مقاله مروری بر سیستم عامل های  WIN NT  وXINU و MINIX و UNIX

 

مشخصات این فایل
عنوان: مروری بر سیستم عامل های WIN NT  وXINU و MINIX و UNIX
فرمت فایل : word( قابل ویرایش)
تعداد صفحات: 73

این مقاله درمورد مروری بر سیستم عامل های WIN NT  وXINU و MINIX و UNIX می باشد.

خلاصه آنچه در مقاله مروری بر سیستم عامل های WIN NT  وXINU و MINIX و UNIX می خوانید :

سیستم عامل UNIX
مقدمه
ویرایش نخستین UNIX توسط keu thempson نوشته شد و بعدها به Dennis Ritchie پیوست. در Bell Babs در اواخر 1960 ، UNIX یک سیستم تک کاربر بر روی کامپیوترهای PDP-7 بود که به زبان اسمبلی نوشته شده بود بعد از یک بازنویسی مجدد به زبان C نوشته شد که قابل اتصال به خانواده کامپیوترهای PDP-11 بود و بعد از آن UNIX برای استفاده کننده های خارج از کمپانی AT&T قابل دسترس شد. دستمزدهای مساعد licening اجازة حق کپی کم برای مؤسسات آموزشی زمینه اقتباس (استفاده ) UNIX در بسیاری از دانشگاهها بود. هم اکنون UNIX به صورت تجاری از AT&T قابل دسترس است. به همراه انواع مختلف سیستم که توسط فروشنده های دیگر عرضه می شود به کار برده می شود. ویرایش های تخصصی متعددی از یونیکس موجود است مانند (Programmer work bench) PWB و (witten work bench ) / WWB و …
بعضی از خصوصایت UNIX که در اینجا مطرح می شود عبارتند از:
قابلیت حمل و نقل                             1- Portability
عملکرد چند کاربرده                        2- Multy user operation
 مستقل بودن از وسایل                                    3- Device independence
نرم افزارهای ابزارسازی و ابزار               4- Tools & - bulting utilities

همانطور که اشاره شد UNIX قابل انتقال و قابل دسترس از سخت افزارهای مختلف است. چیزی که عجیب است این است که قابلیت انتقال از اهداف طراحی UNIX نبوده است. بلکه این امر ناشی از کد کردن سیستم با یک زبان سطح بالا می شود. در حین تشخیص اهمیت نقل و انتقال طراحان UNIX کدهای مربوط به سخت افزار را به واحدهای کنترلی به منظور انتقال آسانتر محدود کرده اند. UNIX استفاده کننده های متعددی را با اتصال شایسته ای و مناسبی با سخت افزار مدیریت حافظه و اختصاص دادن وسایل جانبی ارتباطی حمایت می کند.
یک سیستم UNIX را می توان به صورت یک هرم نمایش داد. در پایین ترین قسمت این هرم سخت افزار شامل پردازشگر CPU و دیسکهای (disks) و ترمینالها، و غیره قرار گرفته اند.
سیستم عامل UNIX که مستقیماً روی سخت افزار عمل می کند در سطح بعدی قرار گرفته است و وظیفه اش کنترل کردن سخت افزار و برقرار کردن ارتباط سیستم برای برنامه ها است. این system call امکان ایجاد و مدیریت پراسه ها و فایلها و غیره را برای برنامه های کاربران ایجاد می کند.
برنامه ها برای ایجاد system call ها مقادیر مربوطه را در رجیسترها قرار می دهند و به این ترتیب از قسمت usermode به kerne mode منتقل می کنند و از آ“جایی که در زبان C دستور یا راهی برای اجرای این دستورالعملها نیست یک کتابخانه library تهیه شده است که در آن به ازای هر system call یک procedure که به زبان اسمبلی نوشته شده است وجود دارد که این procedure ها اگر چه به زبان C نوشته نشده اند ولی می توانند فراخوانده شوند بنابراین برای اجرای دستور read برنامه C می تواند procedure خواندن را از library فرا بخواند. بنابراین در حقیقت اینها system call نیستند بلکه libraty call هستند و سیستم عامل مشخص می کند .که کدام procedure باید فراخوانده شود و پارامترهای آن چیست؟ کارش چیست؟ و چه نتایجی را باید برگرداند؟
به غیر از سیستم عامل و کتابخانه سیستم call ها همه نسخه های UNIX تعداد زیادی برنامه های standard نیز دارند که برخی از آنها بین تمام نسخه ها یکسان هستند و برخی دیگر از نسخه ای به نسخه دیگر فرق می کنند. این برنامه ها شامل پوسته یا shell و کامپایلرها و editor ها و برنامه های پردازشگر متن text processing programs و برنامه های ایجاد فایل هستند و کاربر با این برنامه سر و کار دارد.
بنابراین ما می توانیم از سه interface مختلف در UNIX صحبت کنیم:
1- ارتباط حقیقی بین سیستم call ها
2- ارتباط کتابخانه ای
3- ارتباط ایجاد شده از طریق برنامه های استاندارد کمکی
بنابراین قسمتی که کاربر فکر می کند که سیستم عامل است در حقیقت برنامه های استاندارد کمکی هستند و هیچ ارتباطی با سیستم عامل ندارند و به راحتی قابل جایگزینی با برنامه های دیگر هستند.
به عنوان مثال بسیاری از نسخه های UNIX به جای ارتباط از طریق صفحه کلید ، ارتباط با ماوس را جایگزین کرده اند و این کار بدون ایجاد هیچگونه تغییری در سیستم عامل انجام گرفته است.
این قابلیت انعطاف پذیری در سطح کاربر یکی از دلایل رواج UNIX است که آن را قابل استفاده به شکل دلخواه بدون تغییر در اساس کار می کند.

ساختار داخلی UNIX :
ساختار داخلی UNIX به صورت لایه ای و خادم و مخدوم می باشد.
فایل ها سیستم مراتبی و به صورت درختی می باشند. نام یک فایل حداقل 14 حرف و حداکثر 256 حرف است. Special فایلها در ریشه dev قرار دارند. Kernel روی سخت افزار سوار است و shell روی kernel در UNIX بیش از system call 80 روی PC ها و main ها یکجور هستند. و در روی سیستمهای مختلف یکسان است.
ورود به UNIX :
برای استفاده از UNIX اول باید وارد آن بشوید، ورود به UNIX بوسیله تایپ کردن اسم و رمز ورود ،‌Pasword انجام می شود. برنامه ای به نام login این اسم و رمز ورود را می خواند و چک می کند تا از امنیت داده ها مطمئن باشد و هر کاربری از فایلهای مربوط به خود استفاده کند. اگر چه این روش برای سیستمهای timesharing روش استاندارد و معمولی است ولی سیستم عاملهایی مانند DOS اصلا به این موضوع محافظت اهمیت نمی دهند و هر کاربری که با سیستم عامل DOS کار می کند می تواند هر فایل و داده ای را که در ماشین ذخیره شده را مورد ارزیابی قرار دهد و بوجود آورنده آن فایل اهمیت ندارد و همه می توانند از آن استفاده کنند.
بیشتر سیستمهای اشتراک زمانی timesharing تمام اسامی کاربران و رمزهای آنان را در یک فایل مخفی secre file ذخیره می کنند ولی سیستم عامل UNIX از روش بهتری استفاده می کند.
فایل رمزها شامل یک خط برای هر کاربر است که در آن اسم ورود کاربر user login name و شماره کاربر numerical user id و رمز کاربر password و دایرکتوری مربوطه home directory و سایر اطلاعات نگهداری می شود. وقتی کاربری قصد ورود به سیستم را داشته باشد برنامه ای به نام login از ترمینال مربوطه رمز داده شده توسط کاربر را می خواند و با ستون رمزهای فایل مقایسه می کند اگر رمز نوشته شده با رمز درون فایل مطابقت کند اجازه ورود صادر می شود.

فایلها و دایرکتریهای در UNIX :
یک فایل در سیستم UNIX می تواند شامل صفر یا بیشتر بایت از اطلاعات اختیاری باشد در این سیستم هیچ تفاوتی بین فایلهای اسکی و باینری و یا هر نوع دیگری وجود ندارد و معنای بیتها در هر فایلی فقط به صاحب یا بوجود آورندة فایل بستگی دارد و سیستم اهمیتی به معنا و محتوای بیتها یک فایل نمی دهد.
اسم فایل می تواند معمولا تا 14 بیت کاراکتر اختیاری باشد که در نسخة Berkely تا 256 کاراکتر نیز مجاز است.
بسیاری از برنامه ها انتظار دارند که اسم فایل شامل یک اسم اصلی و یک پسوند باشد که این دو یک کارکتر محسوب می شوند. مثلاً prog.c بیانگر یک برنامه C است و prog.p بیانگر برنامه ای به زبان پاسکال است هر چند که این شیوه اسم گذاری برای فایلها از طرف سیستم عامل اجباری و تعیین شده نیست و کاربر برای انتخاب نام فایلها آزاد است.
برای حافظت از فایلها 9 بیت به هر فایلی اختصاص داده می شود. این 9 بیت به نام high bits شناخته می شوند.
هر 3 بیت وضعیتهای خواندن ،‌نوشتن و اجرای یک فایل را روشن می کند مثلا کد640 اکتال بیانگر این است که صاحب فایل می تواند فایل را بخواند و در آن بنویسد. اعضای گروه صاحب فایل فقط اجازه خواندن آن را دارند و ناشناسان هیچ حقی برای دسترسی به آن ندارند. کد 100 (اکتال) به صاحب فایل اجازة اجرای آن را می دهد ولی بقیه هیچ حقی در دسترسی به فایل ندارند و حتی صاحب فایل حق خواندن فایل را ندارد اگر چه صاحب فایل این کد را می تواند تغییر دهد روی صفحه این دو مثال به شکل
… x…., 1w-r…
نمایش داده می شوند، کدی که به همة افراد اجازه هر نوع دسترسی به فایل را می دهد که 777 اکتال است که شکل 1wx1wx1wx نمایش داده می شود.
تجمع فایلها تشکیل دایرکتوری ها را می دهد. دایرکتوری ها نیز مانند فایلها ذخیره می شوند و می توان با آنها مانند فایلها در سطحی وسیعتر برخورد نمود. دایرکتوری ها نیز مانند فایلها دارای 9 بیت برای حفاظت می باشند بااین تفاوت که جای بیت سوم در هر سه بیت که اجازة اجرای فایل را می داد در دایرکتوری اجازة جستجو در آن را صادر می کند.
دایرکتوری ها می توانند طبق سیستم سلسله مراتبی شامل زیردایرکتور نهایی باشند دایرکتوری ریشه با کارکتر / قابل دسترسی است و برای جداکردن اسامی دایرکتوری ها به کار می رود. بنابراین ust/ast/x نمایانگر فایل x است که در دایرکتوری ast قرار دارد که خود دایرکتوری ast در دایرکتوری UST قرار دارد.
 
UNIX Implementation (اجرای UNIX ):
در این بخش بعضی از جنبه های عملکرد اجرای UNIX را تشریح می نمائیم:
برای تشریح منظور خود ابتدا با مدیریت پروسه آغاز می کنیم سپس با مدیریت حفاظه در UNIX ادامه می دهیم و این قسمت را با توضیح در مورد سیستم مدیریت فایل به پایان می رسانیم.
Kernel ، یونیکس ذاتا یک مونیتور یکپارچه با اندازه متوسط است ،‌و سیستم کال ها به صورت مجموعه ای از Coroutine ها (هم روال ها ) کامل شده اند. یک coroutine کرنل با برچسب درخواستی (user) سنکرون است.
مفهوم resident : به قسمتهایی از سیستم عامل ها به کرات نیاز داریم ما آنها را مقید می کنیم در حافظه تا موقعی که سیستم خاموش شود. در بعضی از سیستم ها که خیلی سرعت بالایی دارند ما این قسمت ها را در rom قرار می دهیم تا نیازی به load و unload کردن نداشته باشیم. بعضی از اطلاعات نگهداری شده در قسمت مقیم دائمی ، بلوک کنترل فرآیند، نام فرآیند، پوینترهایی به شکل حافظه ای آن و اطلاعات جدول بندی شده را در بر دارد.
قسمت قابل تبادل بلوک کنترل فرآیند شامل موارد زیر است: به همراه سایر چیزها، رجیسترهای ذخیره شده CPU ، لیست فایلهایی که توسط فرآیند باز شده اند و اطلاعات ارتباطات اشاره گرهای مقیم مربوط به بلوک های کنترل فرآیند بطور دائم در جدول فرآیند نگهداری می شوند.
به منظور تقسیم بندی به هر فرآیند یک اولویت واگذار شده است. سطح اولویت یک فرآیند سیستم معمولا به اهمیت نسبی رویداری که فرآیند با آن سر و کار دارد وابسته است. برای مثال رویدادهای دیسک دارای اولویت بالا و رویدادهای پایانه دارای اولویت پایینتری هستند مقام فرآیندهای سیستم دارای اولویت بیشتری نسبت به فرآیندهای user دارد. اولویت فرآیندهای کاربر به صورت ابتدایی تغییر می کند و به مقدار زمانی که فرآیند از CPU استفاده کرده است. بستگی دارد.

پردازشها در UNIX :
تنها موجودیتهای فعال در UNIX پراسه ها هستند. در سیستم عامل یونیکس هر پراسه ای یک برنامه را راه اندازی می کند و راه کنترل مخصوصی دارد به عبارت دیگر یک شمارنده برنامه (PC) برای هر دستور العمل وجود دارد که دستورالعمل بعدی قابل اجرا را نشان می دهد.
UNIX یک سیستم عامل چند برنامه ای Multi programming است بنابراین پراسه های مستقل می توانند به صورت همزمان اجرا شوند هر کاربری ممکن است برنامه های فعالی در آن واحد داشته باشد بنابراین در یک سیستم بزرگ در یک لحظه ممکن است صدها یا هزاران پراسه در حال اجرا باشند. در حقیقت در بیشتر سیستم های تک کاربره حتی وقتی که کاربر غایب است نیز کارهای زیادی در حال اجرا وجود دارد که آنها را با نام daemons می شناسیم. این پراسه ها همراه با boot شدن سیستم بطور اتوماتیک شروع به فعالیت می کنند. یکی از این برنامه ها cron daemon است این برنامه یکبار در هر دقیقه فعال می شود تا ببیند کاری برای انجام وجود دارد یا نه؟ اگر کاری باشد انجام می دهد و اگر نباشد دوباره به حالت خواب می رود تا در دقیقه بعد دوباره فعال  شود. این برنام در UNIX کاربرد زیادی دارد زیرا برنامه ریزی آینده برنامه ها بوسیله این برنامه ممکن می شود برای مثال تصور کنید یک کاربر ساعت 3 وقت دندانپزشک داشته باشد. این کاربر می تواند یک موجودیت تازه در بانک اطلاعاتی اش برنامه بوجود آورد که به برنامه می گوید که سر ساعت 30: 2 بوق برند وقتی که روز و ساعت برنامه ریزی شده فرا برسد برنامه می بیند که کاری برای انجام دادن هست و برنامه تولید صدا را بکار می اندازد.
این برنامه (cron daemon) برای راه اندازی برنامه های هر روزه نیز بکار می رود مانند ایجاد کردن دیسک پشتوانه (Backup) هر روز در ساعت 4 بعدازظهر یا کارهایی نظیر این.
Daemon های دیگر هماهنگ کننده های رسیده یا ارسالی هستند و می توانند صف پرینترها را مرتب کنند یا مقدار حافظه را چک کنند و …
Daemon ها در سیستم عامل UNIX می توانند همزمان اجرا شوند زیرا برنامه های مستقل از هم هستند و به پراسه های دیگر ربطی ندارند.
این حقیقت که حافظه اختصاصی و متغیرها و رجیسترها و همه چیز دیگر برای پراسه های فرزند و پدر مستقل و منحصر به فرد هستند باعث ایجاد مشکلاتی می شود یکی از این مشکلات این است که پراسه ها از کجا باید بدانند که باید code مربوط به پراسه فرزند را اجرا کنند یا کد مربوط به پراسه پدر را ؟ رمز این کار این است که مقدار برگشتی return value سیستم Fork call برای پراسه فرزند و برای پراسه پدر غیر صفر خواهد بود این مقدار برگشتی بنام pid که مخفف process identification است و به معنای شناسه پراسه شناخته می شود هر دو پراسه فرزند و پدر با کنترل مقدار برگشتی pid عمل خود را انجام می دهند.
پراسه ها با pid ها یشان شناخته می شوند. همانطور که دیدیم وقتی پراسه ای ایجاد می شود Pid پراسه فرزند به پراسه پدر داده می شود اگر پراسه فرزند بخواهد pid مخصوص به خود را داشته باشد system call ای وجود دارد بنام GET PID که این کار را انجام می دهد. Pids راههای استفاده زیادی دارند به عنوان مثال اگر پراسه فرزندی terminate شود pid پراسه فرزندی که اخیراً تمام شده به پراسه پدر داده می شود این امر به دلیل اینکه پراسه پدر ممکن است دارای پراسه فرزندهای متعددی باشد مهم است و از آنجایی که هر پراسة فرزند ممکن است پراسه های فرزند مخصوص به خود را داشته باشد یک درخت پراسه های فرزند برای هر پراسه پدر به وجود می آید .
امکان ایجاد درخت پراسه ها کلید اصلی کارکردن سیستم عامل به صورت تقسیم زمانی است وقتی سیستم شروع به کار می کند ) boot می شود ) یک پراسه به نام init بوسیله لایه kernel اجرا می شود این پراسه فایلی بنام /etc/hys را می خواند این فایل به سیستم عامل می گوید که چند ترمینال وجود دارد و مشخصات برای توصیف هر ترمینال را تهیه می کند. برنامه init سپس برنامةFork را برای یک پراسه فرزند برای هر ترمینال اجرا می کند و به حالت خواب یا استراحت می رود تا پراسه فرزند خاتمه یابد.

هر پراسه فرزند برنامه ورود را با تایپ کردن :‌login روی صفحه ترمینال آغاز می کند و سعی می کند نام کاربر را بخواند وقتی شخصی پشت ترمینال قرار می گیرد و اسم را وارد می کند برنامه login رمز ورود را می پرسد و اگر رمز درست بود برنامه login در حالت غیر فعال موقتی تا دریافت دستور یا command بعدی باقی می ماند ولی اگر رمز اشتباه بود در فایل رمزها وجود نداشت برنامه login رمز دیگری را خواهد داشت.
این مکانیزم در شکلی نشان داده شده است این سیستم دارای سه ترمینال است برنامه login که در ترمینال اجرا می شود هنوز منتظر اسم است برنامه login در ترمینال 1 با موفقیت اجرا شده و در حال حاضر در حال اجرا کردن shell است که منتظر یک دستور العمل است. یک ورود موفق در ترمینال 2 نیز انجام شده است و فقط در اینجا کاربر برنامة CP را آغاز کرده است که بصورت پراسه فرزند shell در حال اجرا می باشد و shell در حالت غیر فعال منتظر به پایان رسیدن برنامه فرزند می باشد که در این زمان shell یک پیغام آمادگی (prompt) را برای خواندن دستور بعدی keyboard اعلام خواهد کرد. اگر کاربر در ترمینال 2 به جای CP برنامه CC که ccempiler است را اجرا می کرد کامپایلر C نیز برنامه های دیگری را فرا می خواند و درخت بزرگتر می‌شد.

بخشی از فهرست مطالب مقاله مروری بر سیستم عامل های WIN NT  وXINU و MINIX و UNIX

مقدمه ۱
۱- آدرس‌دهی ۳۲ بیتی ۱
مزیت های آدرس دهی ۳۲ بیتی : ۴
۲-VIRTUAL MEMORY (حافظه مجازی) ۵
عیوب استفاده ازRAM : 6
Mass STORAGE :HARD DISK 7
SWAP FILE 9
3-PREEMPTIVE MULTITASKING 11
THREAD 12
nonpreemptive : 13
Preemptive multitasking : 13
مقایسه nonpreemptive و Preemptive : 14
4- symmetric multipocess 16
MULTIPROCESSING* 16
MULTIPROCESSING متقارن و نا متقارن ۱۸
مزیتهاو عیوب سیستمها ی چند پرداشی نا متقارن : ۱۸
معایب سیستم های متقارن : ۱۹
THRAD 20
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
Interrupt Processing : 35
:Input Output Management 36
:Booting XINU 37
:File System 38
سیستم عامل MINIX 40
تاریخچه MINIX 40
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
5-3 دیسک گردان RAM 52
6-3 نگاهی به دیسک گردان فلاپی در سیستم minix 53
9-3 نگاهی به نرم افزار پایانه در minix 56
سیستم خروجی پایانه ۵۷
۱-۴مدیریت حافظه در minix 57
2-4 شمای حافظه ۵۸
نتیجه گیری ۶۱
سیستم عامل UNIX 62
مقدمه ۶۲
ساختار داخلی UNIX : 65
ورود به UNIX : 65
فایلها و دایرکتریهای در UNIX : 66
UNIX Implementation (اجرای UNIX ): 68
پردازشها در UNIX : 69

 

 

 


دانلود با لینک مستقیم


دانلود مقاله مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد