مقاله درباره یونیكس

مقاله درباره یونیكس
رشته تحصیلی : پژوهش های دانشگاهی

فرمت فایل : doc

تعداد صفحات : 52

حجم فایل (به کیلوبایت) : 21

فرمت دانلود : رار/ زیپ

مبلغ : 5000 تومان

خرید و دانلود

مقاله درباره یونیكس

مقدمه

كوچك زیباست . این اساس یونیكس است. برای درك مفهوم این جمله باید سیستم عاملهای نسل سوم را ( كه یونیكس نیز از آنهاست) به یاد آورید . سیستم های دایناسورواری بودند كه برای انجام همه كار طراحی شده بودند . سیستم عامل ماشینهای IBM 360 نمونه خوبی در این مقوله است. سیستم عاملی كه توان شبیه سازی تقریبا تمامی سیستم های عرضه شده تا قبل از خود را داشت و فهرست اشكالات آن یك دفتر به قطر دفتر راهنمای تلفن را تشكیل می داد! ساختارهای اطلاعاتی غول آسا سیستم های ذخیره سازی پرونده بسیار پیچیده زبانهای برنامه نویسیی چون پی ال وان و كوبول كه كاربران را تنها در یك سو جهت می داد و در كل دیكتارتوری IBM كه هر استفاده كننده ای را در شبكه ایغول آسا اسیر می كرد. تیم های برنامه نوسی IBM  كه چون خدایان غیر قابل دسترسی بودند و همه جا با احترام درباره آنها صحبت می شد. چیزی كه هیچ كس حتی جرات فكر كردن درباره آن را نمی كرد اصلاح در كاری بود كه IBM و دیگر پیروان آن عرضه می كردند. دورانی كه یك برنامه نوسی حرفه ای سیستم، مدت زمان درازی را فقط برای یادگیری سیستم عامل صرف می كرد و با احساس شرم اشكالات سیستم عامل را اگر از كم هوشی خود نمی دانست به IBM اطلاع می داد. چه بسیار برنامه های بزرگ تجاری كه دوباره نویسی می شدند، زیرا سیست معامل امكان اتصال برنامههای دیگر را به آنها نمی داد.

برای به دست آوردن دیدی كلی از یونیكس، شناخت عوامل زیر ضروری است:

1- پیكر بندی سیستم عامل: هسته مركزی سیستم  عامل یونیكس جز كوچكی از آن را تشكیل می دهد ولی ای جز از اهمیت اساسی برخوردار استكه رابط كاربر و سیستم  عامل می باشد و در شكل 1 مشهود است.

این ساختار كلی شبیه به ساختار PC-DOS است. Kernal یا هسته مركزی در آنجا از دو پرونده IBMBIO.sys و IBMDOS.sys تشكیل می شود و پیوست پرونده ای به نام command.com است. تفاوت در ویژگیهای هسته مركزی و قدرت بسیار بیشتر پوسته های یونیكس است. اولا هر سیستم  یونیكس دارای چند پوسته است كه كاربر می تواند هر كدام را كه بخواهد انتخاب كند. (پوسته استاندارد، پوسته محدود، پوسته تصویری، پوسته C، پوسته UUCP) هر كدام از این پوسته ها قابلیت های متفاوتی دارند.

یونیكس ار روش انتقال به دورن، و انتقال به بیرون نیز استفاده می كند. در این روش اگر حجم پرونده در حال اجرا بیش از ظرفیت حافظه ماشین باشد . مقداری از محتویات حافظه به دیسك سخت منتقل می شود و حافظه را در اختیار پرونده درحال اجرا قرار می دهد . پس از اتمام پرونده یا پایان نوبت آن محتویات منتقل شده دوباره به حافظه باز می گردند. این روش به یونیكس اجازه می دهد پرونده هایی بزرگتر از حجم حافظه اصلی سیستم  را در آن واحد اجراركند.

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

مدیریت حافظه در UNIX و SOLARIS

از آنجا كه قرار است یونیكس مستقل از ماشین باشد، طرح مدیریت حافظه از سیستمی به سیستم  دیگر فرق می كند. گونه های اولیه یونیكس به طور ساده از بخش بندی پویا و بدون هیچ طرح حافظه مجازی استفاده می كردند. پیاده سازیهای كنونی، از جمله SVR4 و solaris 2x از حافظه مجازی صفحه بندی شده سود می برند.

سیستم  صفحه بندی

ساختمان داده ها

برای حافظه  مجازی صفحه بندی شده یونیكس از تعدادی ساختمان داده سود می برد، كه با مختصر تغییری، مستقل از ماشین هستند.

-  جدول صفحه : نوعا برای هر فرایند یك جدول صفحه وجود دارد كه برای هر صفحه آن فرایند در حافظه  مجازی یك مدخل در نظر گرتفه می شود.

-  توصیفگر بلوك دیسك: برای هر صفحه فرایند یك مدخل در این جدول وجود دارد، كه نسخه دیسك از آن صفحه مجازی را توصیف می كند.

-  جدول داد های قاب صفحه : قابهای حافظه اصلی را توصیف می كند و شاخص آن شماره قاب است.

شرح فرایند

در یونیكس هر فرایند مجموعه پیچیده ای از ساختمان داده هایی است كه تمام اطلاعات لازم برای مدیریت و توزیع وقت پردازنده به فرایند ها را در اختیار سیستم  عامل قرار می دهد.

جدول؟ عناصر تصویر فرایند را كه در سه بخش متن سطح كاربر متن ثابت و متن سطح سیستم  سازماندهی شده خلاصه كرده است.

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

كنترل فرایند

ایجاد فرایند در یونیكس به وسیله FORK( ) كه یك فراخوانی هسته سیستم  است، صورت می گیرد. وقتی فرایند در خواست FORK می كند، سیستم  عامل اعمال زیر را انجام می دهد:

1- برای فرایند جدید عنصری در جدول فرایند تخصیص می دهد

2- یک شناسه یکتا برای این فرایند فرزند در نظر می گیرد.

3- یک کپی از تصویر فرایند پدر (به استثنای حافظه های مشترک) ایجاد می کند.

4- شمارنده های پرونده هایی که متعلق به پدر بود را افزایش می دهد (مبنی بر اینکه آن پرونده ها متعلق به یک فرایند دیگر هم هستند).

5- فرایند فرزند را در حالت آماده اجرا قرار می دهد.

6- شماره شناسنامه فرزند را به فرایند پدر و مقدار صفر را به فرایند فرزند برمی گرداند.