سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل کوثر یک سیستم عامل فارسی بر پایه معماری X86 می باشد. هدف این سیستم عامل تا اطلاع ثانوی آزمایشی / آموزشی می باشد. این سیستم عامل بر پایه هیچ سیستم عامل دیگری مانند لینوکس و ... نمی باشد و از ابتدا توسط توسعه دهندگان آن نوشته شده است.
ما از علاقمندان به برنامه نویسی و طراحی سیستم در همکاری و توسعه این سیستم عامل استقبال می کنیم. نیازی نیست که شما برنامه نویسی و یا ... خبره باشید. حتی با دانش کم هم می توان به ما کمک کرد.
امید است بعد از مراحل آموزشی به مرحله بهره برداری از یک سیستم عامل کاملا بومی برسیم.
emadrezvani@chmail.ir

آخرین نظرات
نویسندگان

انتخاب روش های مدیریت حافظه - بخش پنجم

مازیار نون | پنجشنبه, ۱۲ تیر ۱۳۹۳، ۱۲:۱۸ ب.ظ

سلام

در مطالب در مورد مدیریت حافظه وارد بحث صفحه بندی با حافظه مجازی شدیم در ادامه مطالب وضعیت صفحه بندی با حافظه مجازی را بررسی می کنیم.

وضعیت صفحه بندی با حافظه مجازی متفاوت با صفحه بندی ساده است.در واقع حافظه مجازی برای صفحه بندی توصیف شد و به عنوان یک ابزار مهم و کاربردی در سطح مدیریت حافظه محسوب می شود.

ما در صفحه بندی ساده یک جدول صفحه داشتیم که برای دسترسی به قاب های حافظه که صفحات در آن قرار داشتند به آن مراجعه می کردیم  این جدول شامل آدرس قاب مورد نظر بود که با اندیس این جدول که نشان دهنده شماره صفحه بود ما به قاب مورد نظر دسترسی داشتیم.اما در صفحه بندی با حافظه مجازی ما بجای مفهوم آدرس منطقی با آدرس مجازی سروکار داریم چرا؟ چون که آدرس منطقی آدرسی از حافظه ثانویه نبود در حالیکه آدرس مجازی آدرسی از حافظه ثانویه است که شبیه آدرس واقعی (آدرس فیزیکی) حافظه اصلی است.آدرس مجازی زمانیکه فقط از صفحه بندی استفاده می شود مانند آدرس منطقی شامل انحراف و شماره صفحه است اما یک تفاوت وجود دارد آن هم در جدول صفحه است در جدول صفحه هر خانه جدول (سطر جدول) شامل 4 بخش مجزاست : شماره قاب ، بیت های کنترل کننده ، M  و P.

شماره قاب که مانند جدول صفحه در صفحه بندی ساده است.

بیت های کنترل کننده برای اشتراک گذاری صفحه ها بین فرآیندها ، ایمنی در برابر دخالت های فرآیندها و ... است.برای هرکدام از آنها شما باید یک بیت تخصیص دهید.

بیت P که نشان دهنده حضور صفحه مورد نظر در حافظه اصلی است.

بیت M که نشان دهنده تغییر یا عدم تغییر صفحه است.

در مورد بیت P به این صورت است که به جدول صفحه مراجعه می شود با بررسی این بیت حضور و عدم حضور صفحه در حافظه اصلی مشخص می شود.

در مورد بیت M هنگامیکه صفحه به داخل حافظه اصلی بارگذاری می شود احتمال دارد که تغییر کند با این بیت می توان بررسی کرد که اگر صفحه تغییر کرده است ، صفحه روی حافظه ثانویه بازنویسی شود یا خیر.

برای ترجمه آدرس شما نیاز به یک سخت افزار ترجمه دارید. در این سال ها تحقیقات بسیاری انجام شد که هرکدام رویکردهای مختلفی را برای ترجمه ارائه دادند.

در ترجمه آدرس شما باید آدرس مجازی را که تشکیل شده از انحراف و شماره صفحه را بخوانید و سپس آن را به یک آدرس واقعی (فیزیکی) که تشکیل شده از انحراف و شماره قاب تبدیل نمایید.

اما جدول صفحه خود در کجا نگه داری می شود؟ جدول صفحه را می توان در حافظه اصلی نگه داری کرد.

مراحل ترجمه آدرس به این صورت است که شما یک ثبات دارید که به ابتدای جدول صفحه (آفست جدول صفحه) اشاره می کند.این ثبات وقتیکه فرآیند در زمان اجرا (حالت اجرا) است آدرس ابتدای جدول صفحه را نگه داری می کند اما چرا؟ چون که جدول صفحه پویا است و در طرح حافظه مجازی گاهی کوچک و گاهی بزرگ می شود در این صورت اگر شما آدرس ابتدای جدول صفحه را نداشته باشید با مراجعه به جدول صفحه با شماره صفحه ، اندیس جدول جابجا شده (مثلاً جدول کوچک یا بزرگ شده است) و به طور کلی اندیس تغییر کرده است و شماره صفحه مورد نظر شما بدست نمی آید پس من باید آدرس ابتدای جدول صفحه را داشته باشم شماره صفحه را به آن بدهم سپس شماره صفحه با آدرس جمع شده و در نهایت میزان انحراف (فاصله از ابتدا تا اندیس مورد نظر) بدست می آید.بعد از آن شما باید بیت P را بررسی کرده اگر صفحه وجود دارد (در صورت نیاز سایر بیت ها نیز بررسی گردد) بعد از آن شما شماره قاب را می خوانید و با انحراف در آدرس مجازی ترکیب کرده و با شرط اینکه بخش شماره صفحه از بخش شماره قاب بزرگتر باشد یعنی n>m و در این صورت آدرس واقعی بدست می آید.

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

با تشکر

تیم سیستم عامل کوثر

  • مازیار نون

نظرات  (۲)

  • مازیار نظریان
  • بله در کافیه در گوگل MEMORY MANAGEMENT یا هر چیز دیگری تایپ شود.

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی