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

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

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

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

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

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

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

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

مازیار نون | چهارشنبه, ۱۱ تیر ۱۳۹۳، ۰۹:۱۱ ب.ظ

سلام

در بخش چهارم از انتخاب روش های مدیریت حافظه به صفحه بندی با حافظه مجازی خواهم پرداخت.

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

صفحه بندی ساده یکی از مشکلات اساسی آن بارگذاری تمام برنامه به داخل حافظه بود حتی اگر قسمت هایی از برنامه احتمال دسترسی به آن در آینده کمتر بود.در این صورت اگر فرآیند دیگری به حافظه احتیاج داشت حافظه توسط یک برنامه اشغال شده بود.و یک مشکل دیگر صفحه بندی ساده این بود که در انتهای حافظه یک حفره بوجود می آمد که قابل استفاده نبود و این کمی برای صفحه بندی ساده تکه تکه شدن داخلی را به همراه داشت.


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

مدل حالت فرآیند چرخه حیات فرآیندها را به تصویر می کشد. این چرخه حیات از زمان بوجود آمدن فرآیند تا زمان پایان فرآیند را دنبال می کند این دنبال کردن به سیستم عامل به عنوان مدیر ، اجازه می دهد تا در مورد سیستم تصمیم گیری کند.این تصمیم گیری در تمام جنبه های سیستم از زمانبندی تا مدیریت سیستم فایل ضروری است.چرخه حیات فرآیند از یک سیستم عامل به سیستم عامل دیگری فرق می کند زیرا تا حدودی وابسته به مدل هسته است. به همین دلیل دنبال کردن رفتار فرآیند در سیستم می تواند به ما در تجزیه و تحلیل قسمت های مختلف سیستم عامل کمک کند.حالت فرآیند نشان دهنده رفتار فرآیند است و آن را مدل می کند این مدل تشکیل یک چرخه حیات را می دهد.در این مدل انواع حالت ها به عنوان رفتار فرآیند وجود دارد هر حالت ممکن است وظیفه فرآیند را در عملیاتی که در حال انجام آن است تغییر دهد به عنوان مثال در زمانیکه فرآیند نیازمند یک خروجی از فرآیند دیگری است لازم نیست فرآیند همچنان انحصاراً پردازنده را در اختیار بگیرد می توان با تعیین تدابیری این فرآیند را از پردازنده گرفت و با context swtich آن ، فرآیند را به صف مسدود مربوطه فرستاد.اما همچنان که فرآیند یا نخ در صف مسدود قرار دارند آنها در حافظه اصلی هستند و اگر فرآیندی بخواهد برای اعلام آمادگی برای اجرا وارد حافظه شود جا برای آن فرآیند نیست.به همین جهت رویکردی تحت عنوان جابجایی مطرح شد به طوریکه فرآیندهای مسدود (در حال انتظار) به دیسک منتقل شوند و حافظه بتواند پذیرای فرآیند جدید باشد.با انتقال فرآیند به دیسک ، به محض آنکه در حال نزدیک شدن به اجرای درخواست فرآیند مسدود شده هستیم فرآیند را می توان از دیسک به حافظه آورد (البته بستگی به مدل حالت فرآیند دارد و معمولاً در بسیاری از سیستم ها متفاوت است).


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

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

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

شناخت رفتار صفحه بندی و حافظه مجازی می تواند در تجزیه و تحلیل مراجعات به حافظه به ما کمک کند به عنوان مثال اگر به صفحه ای مراجعه شود که در حافظه اصلی نیست آنگاه باید یک روش مبادله صفحه به داخل حافظه را بکار گرفت که این کار بر عهده پردازنده است اما آیا وقت پردازنده باید به این مسئله صرف شود؟ این مسئله مبادله می تواند منجر به کوبیدگی شود یعنی اینکه پردازنده به جای اجرای دستورالعمل ها مدام و مکرراً باید صفحاتی را از دیسک به حافظه اصلی و بلعکس منتقل کند.اما برای این مسئله چه باید کرد؟ طراحان سیستم عامل باید دقت داشته باشند که در اینجا مسائل احتمال و پیش بینی را باید برای طراحی در نظر بگیرند به این صورت که باید احتمال مراجعه نزدیک به صفحه مورد نظر را تخمین بزنند با این تخمین می توان به این موضوع رسید که این مبادلات را به حداکثر رساند.

خوشبختانه با حافظه مجازی می توانیم این مسائل را حل کنیم ولی دو موضوع را باید در نظر بگیریم: پشتیبانی سخت افزاری ، نیاز به نرم افزار برای مبادله صفحات.

در بخش بعدی به ادامه بحث صفحه بندی با حافظه مجازی خواهم پرداخت...

با تشکر

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


  • مازیار نون

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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