تور لحظه آخری
امروز : یکشنبه ، 9 اردیبهشت 1403    احادیث و روایات:  امام علی (ع):سه چیز از نشانه های یقین هستند: کوتاهی آرزو، اخلاص در عمل، بی رغبتی به دنیا
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

قیمت فرش

خرید سی پی ارزان

 






آمار وبسایت

 تعداد کل بازدیدها : 1798497772




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مفاهیم سیستم عامل (3)


واضح آرشیو وب فارسی:راسخون:
مفاهیم سیستم عامل (3)
مفاهیم سیستم عامل (3) جلسه هشتم: پارتیشن بندی پویا ( Dynamic Partition ) :در این پارتیشن بندی اساس کار به این ترتیب است که در ابتدا فرض می کنیم هیچ پارتیشنی وجود ندارد.وقتی که پروسه درخواست ورود به حافظه را می کند یک پارتیشن به اندازه ی خود پروسه ساخته می شود و در اختیار پروسه قرار می گیرد.در این حالت پارتیشن اختصاص یافته Fit پروسه است و Fragmentation داخلی نداریم. Partition Description Table : اطلاعات پارتیشن ها را که به پروسه تخصیص داده شده است ،نمایش می دهد.دیگرین امکانی که در پارتیشن بندی پویا وجود دارد، Free List است. Free List یک لیست پیوندی است که نشان می دهد کجاهای حافظه فضای خالی وجود دارد.

همان طوری که در شکل مشاهده می شود،هر سطر جدول PDT نشان دهنده ی شروع پارتیشن،اندازه پارتیشن و اختصاص داده شدن ان مشاهده می شود. سطرهایی که خالی هستند نشان دهنده ی فضاهای ازادی هستند که اختصاص نیافته اند و یا اینکه اختصاص یافته اند ،هم اکنون پروسه انجا را ترک کرده است و یک امکانی که وجود دارد، Free List شامل Node شروع که نشان دهنده ی ادرس فضای ازاد بعدی و حجم اندازه ی فضای ازاد اول است. Sharing در مدل پویا :در اشتراک گذاری پارتیشن بندی پویا بین دو پروسه که پشت سر هم در حافظه قرار دارد حافظه به اشتراک گذارده می شود.به این ترتیب که قسمتی از پروسه ی بالایی و قسمتی از پروسه ی پایینی که به هم متصل هستند بین دو پروسه به اشتراک گذارده می شود.

Relocation (جابه جایی) :یک پروسه دارای دستورالعمل هایی است که این دستورالعمل ها با ادرس نسبی کار می کنند که در حافظه این ادرس نسبی باید به ادرس فیزیکی تبدیل شود.وقتی پروسه ای بارها اجرا می شود،سیستم عامل باید بتواند فضای ازادی را در هر صورت به پروسه اختصاص دهد.مثلا وقتی پروسه ای پی در پی درخواست فضایی را بکند که این فضا در اختیار پروسه های دیگر است،سیستم عامل باید بتواند ادرس پروسه را به فضای ازاد حافظه انتقال دهد. تبدیل ادرس مجازی به فیزیکی به دو روش صورت می گیرد: 1) Static Relocation (تبدیل ادرس به صورت ایستا) :در روش ایستا کل پروسه کدگشایی می شود.یعنی اینکه ادرس های مجازی دستورالعمل های پروسه تبدیل به ادرس های فیزیکی در حافظه می شود.سرعت اجرای پروسه در این حالت زیاد است. 2) Dynamic Relocation (تبدیل ادرس به صورت پویا) :در هنگام اجرا دستورالعمل هایی که به CPU داده شده است ،ادرس های مجازی انها به ادرس فیزیکی تبدیل می شود. مقایسه دو روش:اگر از روش ایستا استفاده شود و پروسه هزار خط دستورالعمل داشته باشد،تمام این دستورالعمل ها تبدیل به ادرس می شود.وقتی که پروسه شروع به اجرا می کند ممکن است در خط مثلا سوم یک Jamp به خط هزارم وجود داشته باشد و پروسه اجرایش به اتمام برسد.دستورالعمل هایی که مابین این Jamp و این خط هزارم وجود دارد بی دلیل ادرس مجازی انها تبدیل به ادرس فیزیکی می شود. در روش پویا هر دستورالعمل هنگام ورود به CPU کدگشایی می شود.یعنی ادرس مجازی انها به ادرس فیزیکی تبدیل می شود.اگر پروسه 5 خط دستورالعمل داشته باشد که چهار خط اول ابتدا وارد CPU شده و تبدیل ادرس شوند ، بعد خط پنجم وارد شود و در خط پنجم یک Jamp به خط اول وجود داشته باشد، در این حالت ادرس های پروسه دوباره تبدیل به ادرس فیزیکی می شود و ممکن است این عمل هزار بار بخواهد انجام شود. Defragmentation و Compaction : با امد و شد پروسه ها به حافظه در روش پویا ممکن است فضاهای بین پروسه ها بیش از اندازه تکه تکه شود و دیگر پروسه ای نتواند در این فضاها جای بگیرد.به این حالت می گویند External Fragmentation . دو مدل Defragmentation وجود دارد: Global Move و Selection . در روش Global Move همه ی پروسه ها به ابتدای حافظه انتقال داده می شود.در این روش سرعت بالا می رود. در روش Selection باید محاسبات مفصلی صورت بگیرد که کدام پروسه را به چه صورت جا به جا کنیم تا فضای ازادی را که بین پروسه ها است از بین برود.در شرایطی که رفت و امد پروسه ها به حافظه زیاد می شود ،این روش تبدیل می شود به روش Global . جلسه نهم: Segmentation (قطعه بندی) :یک شمای دیگری از مدیریت حافظه است که مبنی بر تخصیص حافظه ی فیزیکی به صورت قطعه قطعه به پروسه هایی که درخواست قطعه کرده اند و برنامه نویس این قطعه ها را مشخص کرده است و تحویل سیستم عامل داده است.هر قطعه شامل قسمتی از پروسه است. انواع قطعه: Data Segment ، Code Segment ، Stack Segment ، Extra Segment . در پارتیشن بندی پویا ،حافظه به علت رفت و امد زیاد پروسه ها تکه تکه می شد .در قطعه بندی این تکه تکه شدن خارجی وجود دارد.ولی اینکه مقدار ان کمتر از مقداری است که در پارتیشن بندی پویا وجود دارد. در قطعه بندی به علت اندازه های مختلف Segment ها ،رابطه ی ساده ای بین ادرس های منطقی و ادرس های فیزیکی وجود ندارد. در پارتیشن بندی پویا تبدیل ادرس منطقی به ادرس فیزیکی به سادگی صورت می گیرد.ولی در Segmentation به دلیل وجود Segment به اندازه های مختلف این ادرس دهی کمی پیچیده تر است. Segment Descriptor Table (جدول تخصیص Segment ) :این جدول مشخص می کند کدام قطعه از کجای حافظه شروع شده است و هم چنین از دو بخش تشکیل شده است: 1) Base (شروع Segment ) 2) Size (اندازه ی Segment )

ادرس منطقی پروسه از دو قسمت شماره Segment و Offset ای که پروسه از ان به بعد باید در Segment جای بگیرد ،تشکیل شده است.در شکل بالا پروسه می خواهد وارد Segment شود که شماره ی ان 3 است و می خواهد از Offset 100 Segment بارگذاری شود. Segment شماره ی 3 مربوط به Shared می باشد.پروسه وارد Segment Shared از Offset 100 Segment می شود.اگر Offset درخواستی پروسه بیشتر از حجم اندازه ی Segment باشد ،برنامه یا پروسه با خطا روبرو می شود. Sharing در Segmentation :در اشتراک گذاری Segmentation ،پروسه Base ، Segment را که می خواهد به اشتراک گذارد ،برای استفاده ی پروسه های دیگر مشخص می کند .در این حالت پروسه کل Segment مشخص خود را به اشتراک می گذارد. جلسه دهم: Paging : شمای مدیریت حافظه است که در ان حافظه به Frame های مساوی تقسیم می شود و پروسه به صفحات و Page های مساوی با فریم های ایجاد شده تقسیم می شود.وظیفه ی سیستم عامل این است که حافظه ای که به این فریم تقسیم شده است به پروسه اختصاص دهد.اندازه ی فریم ها هم ثابت است. Page Map Table : مشخص می کند کدام صفحه از پروسه در کدام فریم از حافظه قرار گرفته است.تعداد سطرهای جدول PMT به اندازه ی تعداد صفحات پروسه است. Memory Map Table : مشخص می کند کدام فریم از حافظه تخصیص یافته و کدام فریم ازاد می باشد.تعداد سطرهای MMT به اندازه ی تعداد فریم ها است.

پروسه تبدیل می شود به صفحاتی که برابر با فریم های حافظه است.هر دستورالعمل پروسه که اجرا می شود حاوی 24 بیت ادرس است. 12 بیت سمت چپ ادرس ،شماره ی صفحه را در جدول PMT نشان می دهد و 12 بیت سمت راست ادرس ، Offset صفحه ای را از حافظه نشان می دهد که دستورالعمل باید از انجا باز شود.

در این ساختار دو رجیستر وجود دارد.یکی از انها ،ادرس شروع جدول PMT و دیگری ادرس انتهایی ترین صفحه در جدول PMT است.این دو رجیستر ابتدایی ترین صفحه و انتهایی ترین صفحه را در جدول PMT مشخص می کند. Page In cash :یعنی این صفحه در حافظه ی ما قرار دارد یا نه؟ جدول TLB :این جدول شامل ادرس و نام صفحه است.برای اینکه دستورالعملی ازپروسه اجرا شود،شماره ی صفحه و Offset ان در قسمت Virtual Address قرار می گیرد. Page In cash چک می کند که این صفحه قبلا در حافظه قرار گرفته است یا نه. اگر قرار گرفته است،در جدول TLB چک می کند و ان صفحه را پیدا می کند و ادرس ان صفحه با Offset مورد نظر جمع می شود و ادرس فیزیکی پیدا می شود. اگر این شماره ی صفحه در جدول TLB وجود نداشت،این شماره ی صفحه را با انتهایی ترین صفحه در جدول PMT مقایسه می کند.اگر صفحه ی درخواست شده خارج از تعداد صفحات پروسه نبود با Base جدول PMT جمع می شود و سطر مورد نظر در جدول PMT پیدا می شود.ادرس موجود در ان با Offset دستورالعمل Concat می شود.در نهایت در ان ادرس فیزیکی قرار گرفته و اجرا می شود. اتلاف حافظه در Paging : به خاطر ایجاد جداول PMT و MMT مقداری از حافظه به هدر می رود.به طور کلی اتلاف حافظه در Paging به اندازه ی نصف انتهایی ترین صفحه است.اگر پروسه ای داشته باشیم که 100 صفحه داشته باشد،به اندازه ی نصف اخرین صفحه اتلاف حافظه داریم. اگر کل حافظه را با M و اندازه ی هر فریم را با P مشخص کنیم ،تعداد صفحاتی که در حافظه می تواند ایجاد شود M/P است. اگر S اندازه ی یک پروسه باشد و اندازه ی هر فریم P باشد،تعداد Page های لازم برای هر پروسه S/P می شود. ادامه دارد ......* ارسال مقاله توسط عضو محترم سایت با نام کاربری : PSTdinco/خ





این صفحه را در گوگل محبوب کنید

[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 1604]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن