دانلود پروژه چند برنامگی

دانلود پروژه چند برنامگی

اندازه: 102

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

قابلیت چاپ: سیاه و سفید

کیفیت محصول: عالی

فایل مشابه: دارد

پشتیبانی محصول: دارد

مجوز انتشار: دارد

نوع فایل: ورد ،

سایز طراحی: A4 ،

دسته بندی:

قیمت: 3000 تومان

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

ارسال توسط:

تاریخ ارسال: ۸ مهر ۱۳۹۵

به روز رسانی در: ۸ مهر ۱۳۹۵

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

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

3000 تومان – خرید

دانلود پروژه چند برنامگی

مقدمه اي به سيستم هاي عامل
در پروژه بعدي شما پشتيباني مناسب براي چند برنامه نويسي را طراحي و اجرا خواهيد كرد. شما فرمان هاي سيستم را طوري توسعه خواهيد داد كه اصول ارتباط درون فرايندي و مديريت فرايند را انجام دهد. شما اين را به پروژه اول داراي كد مي افزاييد. اطمينان حاصل كه قبل از شروع پروژه دوم تمام نواقص در پروژه اول را اصلاح كرده ايد. اين راه حل براي پروژه يك به عنوان بخشي از جلسه هفته بعد مورد بررسي قرار خواهد گرفت.
ناكوس در حال حاضر يك محيط تك برنامه نويسي است. ما مجبوريم ناكوس را تغيير دهيم به طوري كه هر فرايند در مسير سيستم خود حفظ شوند. ما بايد تخصيص حافظه و واپس گيري آن توجه داشته باشيم. هم چنين تمام داده ها و وابستگي هاي همزمان سازي بين رشته ها را مد نظر قرار مي دهيم. شما ابتدا قبل از كد گذاري راه حل را طراحي مي‌كنيد جزئيات در زير آورد است:
۱- استثنائات كلي (استثنائات تماس غير سيستمي) براي به اتمام رساندن رشته به جاي متوقف كردن سيستم را تغيير دهيد. اين كار مهم خواهد بود زيرا يك استثناي زمان اجرا نبايد باعث شود كه سيستم عامل خاموش شود. قبل از تكميل پروژه احتمالاً‌مجبور خواهيد بود كه چندين بار به اين كد سر بزنيد. چند موضوع مربوط به همزمان سازي وجود دارد كه بايد در طي خروج از رشته به آن ها بپردازيد.
۲- چند برنامه نويسي را اجرا كنيد. كدي كه به شما داده ايم محدود به اجراي يك برنامه كاربرد در هر بار مي باشد. براي تغيير سيستم از تك برنامه نويسي به چند برنامه نويسي بايد چند تغيير در addrspace.h و addrspace.cc انجام دهيد. بايد كارهاي زير را انجام دهيد: الف) به شيوه اي براي تخصيص فريم هاي حافظه فيزيكي برسيد به طوري كه چندين برنامه را بتوان به يكباره در حافظه بارگذاري كرد.
ب) شيوه اي براي كپي كردن داده ها به هسته يا از هسته و از فضاي آدرس مجازي كاربر يا به آن فراهم كنيد.
ج) وقتي يك برنامه كاربر پايان مي‌يابد به طور مناسب‌آزادسازي فضاي آدرس انجام شود.
د) تغيير الگوريتم بارگذار برنامه كاربر به طوري كه فريم هاي اطلاعاتي را جابجا كند بسيار مهم است. در حال حاضر تخصيص فضاي حافظه با اين فرض است كه يك فرايند در يك بخش مجاور حافظه بارگذاري شده است. وقتي چند برنامه نويسي فعال شد، حافظه ديگر ماهيتاً مجاور محسوب نمي شود اگر برنامه را اصلاح نكنيد احتمال دارد كه بارگذاري ديگر برنامه كاربر سيستم عامل را خراب كند.
۳- فرمان سيستم space id exec (char*name) را اجرا كنيد. Exec يك برنامه كاربر جديد مشخص شده در نام پارامتر، اجرا شده در درون يك رشته سيستم جديد را شروع مي كند. شما بايد كاركرد start process در progtest.cc را بررسي كنيد تا دريابيد كه چگونه فضاي كاربر در درون يك رشته سيستم را ايجاد كنيد. Exec بايد در هنگام خطا ۱- را برگرداند در غير اين صورت بايد “process space id” برنامه سطح كاربري كه ايجاد كرده است را برگرداند (نكته: space id ها مي تواند به شيوه اي مشابه با open file id هاي پروژه ۱ شما پيگيري شود با اين استثنا كه ممكن است بخواهيد در خارج از رشته ان ها را دنبال كنيد).
۴- فرمان هاي سيستم int join (space ID id) و void exit (int exit code) را اجرا كنيد. Join آن طور كه در پارامتر آن ذكر شده است منتظر مانده و يك process space id را مسدود مي كند. exit يك خروج را بر هر كسي كه كار اتصال انجام مي دهد بر مي گرداند اگر يك برنامه به طور موفقيت آميزي تكميل شود كد خروج صفر است و اگر خطا وجود داشته باشد مقدار ديگري مي شود. پارامتر كد خروج از طريق پارامتر exit code تعيين مي شود. اگر اتصال با خطا مواجه شود join كد خروج براي فرايندي كه مسدود مي كند را ۱- تعيين مي كند. يك برنامه كاربر فقط مي تواند به فرايندهايي بپيوندند كه به طور مستقيم به وسيله فرمان

دانلود پروژه چند برنامگی

پاسخ دهید