دانلود تحقیق چند برنامگی

دانلود تحقیق چند برنامگی

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

حجم فایل: 46کیلوبایت

فرمت فایل: ورد

دسته بندی:

قیمت: 17,000 ریال

تعداد نمایش: 117 نمایش

ارسال توسط:

تاریخ ارسال: 1 آگوست 2017

به روز رسانی در: 1 آگوست 2017

خرید این محصول:

پس از پرداخت لینک دانلود برای شما نمایش داده می شود.

17,000 ریال – خرید

چند برنامگی

مقدمه اي به سيستم هاي عامل

    در پروژه بعدي شما پشتيباني مناسب براي چند برنامه نويسي را طراحي و اجرا خواهيد كرد. شما فرمان هاي سيستم را طوري توسعه خواهيد داد كه اصول ارتباط درون فرايندي و مديريت فرايند را انجام دهد. شما اين را به پروژه اول داراي كد مي افزاييد. اطمينان حاصل كه قبل از شروع پروژه دوم تمام نواقص در پروژه اول را اصلاح كرده ايد. اين راه حل براي پروژه يك به عنوان بخشي از جلسه هفته بعد مورد بررسي قرار خواهد گرفت.

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

1- استثنائات كلي (استثنائات تماس غير سيستمي) براي به اتمام رساندن رشته به جاي متوقف كردن سيستم را تغيير دهيد. اين كار مهم خواهد بود زيرا يك استثناي زمان اجرا نبايد باعث شود كه سيستم عامل خاموش شود. قبل از تكميل پروژه احتمالاً‌مجبور خواهيد بود كه چندين بار به اين كد سر بزنيد. چند موضوع مربوط به همزمان سازي وجود دارد كه بايد در طي خروج از رشته به آن ها بپردازيد.

2- چند برنامه نويسي را اجرا كنيد. كدي كه به شما داده ايم محدود به اجراي يك برنامه كاربرد در هر بار مي باشد. براي تغيير سيستم از تك برنامه نويسي به چند برنامه نويسي بايد چند تغيير در addrspace.h و addrspace.cc انجام دهيد. بايد كارهاي زير را انجام دهيد: الف) به شيوه اي براي تخصيص فريم هاي حافظه فيزيكي برسيد به طوري كه چندين برنامه را بتوان به يكباره در حافظه بارگذاري كرد.

ب) شيوه اي براي كپي كردن داده ها به هسته يا از هسته و از فضاي آدرس مجازي كاربر يا به آن فراهم كنيد.

ج) وقتي يك برنامه كاربر پايان مي‌يابد به طور مناسب‌آزادسازي فضاي آدرس انجام شود.

د) تغيير الگوريتم بارگذار برنامه كاربر به طوري كه فريم هاي اطلاعاتي را جابجا كند بسيار مهم است. در حال حاضر تخصيص فضاي حافظه با اين فرض است كه يك فرايند در يك بخش مجاور حافظه بارگذاري شده است. وقتي چند برنامه نويسي فعال شد، حافظه ديگر ماهيتاً مجاور محسوب نمي شود اگر برنامه را اصلاح نكنيد احتمال دارد كه بارگذاري ديگر برنامه كاربر سيستم عامل را خراب كند.

3- فرمان سيستم space id exec (char*name) را اجرا كنيد. Exec يك برنامه كاربر جديد مشخص شده در نام پارامتر، اجرا شده در درون يك رشته سيستم جديد را شروع مي كند. شما بايد كاركرد start process در progtest.cc را بررسي كنيد تا دريابيد كه چگونه فضاي كاربر در درون يك رشته سيستم را ايجاد كنيد. Exec بايد در هنگام خطا 1- را برگرداند در غير اين صورت بايد “process space id” برنامه سطح كاربري كه ايجاد كرده است را برگرداند (نكته: space id ها مي تواند به شيوه اي مشابه با open file id  هاي پروژه 1 شما پيگيري شود با اين استثنا كه ممكن است بخواهيد در خارج از رشته ان ها را دنبال كنيد).

پاسخ دهید