دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 7 , از مجموع 7

موضوع: سیستم های عامل

  1. #1
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض سیستم های عامل

    فصل اول
    نگاه کلی به سخت افزار

    چهارعناصر اصلی سخت افزار:

    1- پردازنده (cpu): کنترل و پردازش داده ها .

    2- حافظه اصلی: ذخیره داده ها و برنامه ها و نا پایدار.

    3- مولفه های ورودی و خروجی: انتقال داده ها بین کامپیوتر و محیط خارجی .

    4- اتصالات داخلی سیستم: جهت ارتباط بین سه مولفه دیگر .


    واحد پردازش مرکزیprocessing unit control

    PC: حاوی دستورالعملی که باید واکشی شود .
    IR: ثبات دستور العمل حاوی آخرین دستور العمل واکشی شده .
    MIR: ثبات آدرس حافظه،محل خواندن و نوشتن را مشخص می کند .
    MBR: ثبات میانگیر حافظه،در برگیرنده داده ای است که قرار است خوانده یا نوشته شود.
    I/O AR: ثبات آدرس ورودی خروجی،مشخص کردن یک دستگاه ورودی یا خروجی خاص .
    I/O BR: ثبات میانگیر ورودی خروجی،برای تبادل داده بین پردازنده و مولفه ورودی خروجی .


    ثباتهای پردازنده
    حافظه سریعتر وکوچکتر از حافظه اصلی است که در داخل پردازنده قرار گرفته است.

    دو وظیفه آن:
    1- مراجعه به حافظه اصلی را به حداقل می رساند.
    (قابل روئیت هستند)
    2- کنترل عملیات پردازنده
    (ثبات کنترل و وضعیت ؛ اغلب قابل رویت نیستند)

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

    مولفه ای ورودی / خروجی
    داده ای میانگیر داخلی است.
    جهت نگهداری داده ها تا زمان انتقال

    ثبات قابل روئیت برای کاربرد
    ثباتی است که برنامه نویس می تواند به وسیله دستور العمل های ماشین به آنها مراجعه کند.

    1- ثباتهای داده : برنامه ساز می تواند به بعضی توابع نسبت دهد.

    2- ثباتهای آدرس : حاوی آدرس داده و دستورالعمل ها مي باشد.

    3- ثبات کد وضعیت : بیتهای هستند که به عنوان نتیجه عمل ها توسط سخت افزار مقدار گذاری می شود.
    (بخشهایی از آن برای کاربر قابل روئیت نیست)

    ثبات های آدرس
    1- ثبات شاخص ( X+ مقدار پا یه = آدرس موثر)

    2- ثبات اشاره گر قطعه: حافظه به قطعاتی تقسیم شده و یک ثبات برای نگهداری آدرس پایه (محل شروع) قطعه استفاده می شود.ممکن است چند ثبات آدرس پایه وجود داشته باشد.

    3- ثبات اشاره گر پشته: ثباتی خاص جهت اشاره به بالای پشته در حافظه اصلی.

    ثبات های کنترل وضعیت
    این ثبات قابل روئیت برای کاربر نیست.
    برای کنترل عمل پردازنده به کار می روند.

    - ثبات کلمه وضعیت (PSW) :حاوی اطلاعات وضعیت.
    علاوه بر کد وضعیت شامل اطلاعات ذيل مي باشد
    - بیت فعال و غیر فعال کردن وقفه.
    - بیت حالت کار بر/ سرپرست.

    تخصیص چند صد يا هزارکلمه ازابتداي حافظه برای مقاصد كنترلي متداول است

    چرخه دستورالعمل:
    1- چرخه واکشی: یک دستور را از حافظه می خواند

    2- چرخه دستورالعمل: اجراي دستورالعمل واكشي شده

    - ثبات pc آدرس حافظه که با بیتی واکشی شده را نشان می دهد.
    - واکشی دستورالعمل به ثبات
    IR .
    - معمولا پردازنده پس از واکشی دستورالعمل یک واحد به
    PCاضافه می کند.
    - ثبات
    :IRدارای 4 بیت که بیت اول عمل و سه بیت دیگر آدرس حافظه را مشخص می کند .
    - کد عمل : عملی را که با بیتی پردازنده انجام بدهد را نشان می دهد.


    وقفه
    راهکاری است که به وسیله آن دستور العملی توسط پردازنده و پس از انجام عمل دیگر به روند عادی خود باز گردد.

    رایجترین وقفه ها

    1- برنامه: وقفه ای است که در بعضی شرایط خاص یک دستورالعمل رخ می دهد مثل سر ریز، تقسیم بر صفر.
    2- زمان سنج: وقفه ای که توسط زمان سنج داخلی پردازنده تولید می شود.
    3- ورودی/خروجی: این وقفه به وسیله کنترل کننده ورودی وخروجی ایجاد می شود.
    4- نقص سخت افزار: این وقفه با سخت افزار تولید میشود.

    وقفه:



    اعمال ریز پردازنده در یکی از چهار کرده زیر قرار دارد:
    1- پردازنده – حافظه

    2- پردازنده – ورودی/خروجی

    3- پردازش داده ها (محاسباتی به منطقی)

    4- کنترل
    پردازش یک وقفه
    1- یک دستگاه یک علامت وقفه برای پردازنده می دهد.
    2- اجرای دستورالعمل جاری به پایان می رسد.
    3- پردازنده اعلام وصول وقفه می کند.
    4- محتوای ثبات (PSW) وpc در بالای پشته کنترل قرار می دهد.
    5- پردازنده بر اساس وقفه مقدار pc جدید را قرار می دهد.
    6-باقیمانده اطلاعات وضعیت فرایند را ذخیره می کند.
    7-وقفه را پردازش می کند.
    8-بازیابی اطلاعات ثباتهایی که قبلا ذخیره شده.
    9-pc و psw قدیمی را دوباره پردازش کن.

    وقفه های چند گانه:
    (همزماني چند وقفه)

    دارای دو رویکرد:

    1- پردازش ردیفی وقفه: در هنگام وقوع یک وقفه بقیه وقفه ها از کار بیفتند تا کار آن تمام شود.

    نکته منفی : اولویت نسبی به حساب نمی آید.

    وقفه ای چند گانه:
    2- پردازش وقفه تو در تو: در صورتی که وقفه دیگری رخ داد واولویت بالایی داشت به برنامه برگرداننده و وقفه اول متوقف می شود.

    چند برنامگی :
    چون پردازنده نسبت به قسمت های دیگر سریعتر است برای استفاده حداکثر از آن می توان در یک زمان چند برنامه از کاربر فعال باشد.
    چند برنامه برای اجرا نوبت بگیرند.

    ثباتها
    حافظه پنهان
    حافظه اصلی
    حافظه پنهان دیسک
    دیسک مغناطیس
    رسانه جابه جا پذیر
    سلسه مراتب حافظه









    توضیحات درباره نمودار فوق
    با حرکت به سطوح پایین تر این سلسله مراتب:

    الف: کاهش هزینه در هر بیت
    ب: افزایش ظرفیت
    ج: افزایش زمان دسترسی
    د: کاهش تعداد دفعات دسترسی پردازنده به حافظه

    ثباتها:سریعترین و گرانترین و کوچکترین و نا پایدارند.

    حافظه اصلی:دارای آدرس یکتا و نا پایدار هستند. با حافظه پنهان توسعه داده می شوند.

    حافظه پنهان: قابل روئیت برای کاربران نیست و ناپایدارند.

    حافظه پنهان :
    این حافظه به دو صورت کارایی را افزایش می دهند:

    1-نوشتن های روی دیسک دسته بندی می شوند.

    2-بعضی از داده ها قبل از نوشتن به وسیله برنامه هایی مورد مراجعه قرار می گیرند.


    نقش حافظه نهان
    - ارائه سریعترین حافظه موجوىحافظه ای بزرگ از انوع ارزان تر حافظه هاي نیمه هادی
    - حاوی بخشی از حافظه اصلی است.

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


    طراحی حافظه پنهان :
    نکات کلیدی:

    -اندازه حافظه پنهان:با وجود اندازه کوچک تاثیر زیاد.

    -اندازه بلوک:واحدي از داده ها كه بین حافظه اصلی و پنهان مبادله می شود.

    -تابع نگاشت:هنگام فراخوانی بلوک جدید پدید می آید.

    -الگوریتم تعویض: بلوكي كه بايد عوض شود را انتخاب مي كند (هنگام تعویض و باید دقت شود که کمترین استفاده در آینده را داشته باشد.)

    -سیاست نوشتن: زمان انجام عمل نوشتن را مشخص می کند.

    روشهای انتقال ورودی / خروجي
    سه روش زیر وجود دارد:

    1-ورودی/ خروجی برنامه سازی شده.

    2-ورودی/ خروجی مبتنی بر وقفه.

    3-دسترسی مستقیم به حافظه (DBA)

    ورودی/خروجی برنامه سازی شده:
    با مواجهه با دستور العمل ورودی / خروجی صادر می شود.
    عمل در خواست شده را انجام و بیت های مناسب از ثبات ذکر شده را مقدار گذاری می کند.
    مسئول استخراج داده ها از حافظه به دستگاه خروجی .
    مسئول ذخیره سازی داده ها در حافظه اصلی.

    گروههای دستورالعمل های ورودی /خروجی :
    1-کنترل: دستورالعمل ها برای فعال کردن دستگاه خارجي.

    2-آزمون: بررسی مولفه های ورودی و خروجی.

    3-خواندن/نوشتن: دستور العمل هایی برای انتقال داده ها بین ثباتهای پردازنده و دستگاههای خارجی.

    ورودی خروجی مبتنی بر مولفه:
    1-ابتدا یک READ به مولفه ورودی/خروجی می دهد.
    2-سپس متن مورد نظر را ذخیره می کند.
    3-پس از آماده شدن مولفه ورودی / خروجی به پردازنده وقفه می دهد.
    4-پس متنی که فرمان READ را صادر کرده بار گذاری شده و اجرا می شود.

    دسترسی مستقیم به حافظه
    1-دسترسی مستقیم به حافظه به وسیله مولفه دیگری روی گذرگاه سيستم انجام شود.
    2-دسترسی مستقیم بر حافظه به عهده یک مولفه ورودی/خروجی گذاشته شود.

    حافظه <=> DMA <=> مولفه ورودی/خروجی
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  2. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  3. #2
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

    فصل دوم
    نگاه کلی به سیستم عامل

    وظایف سیستم عامل
    اجرای برنامه های کاربردی را کنترل می کند.

    رابط کاربر و سخت افزار.

    سه هدف سیستم عامل

    1- سهولت: استفاده از کامپیوتر ساده شود

    2- کارآمدی: استفاده کارآمد از منابع

    3- قابلیت رشد: سبب توسعه و آزمایش سیستم می شود

    برنامه های سودمند
    مجموعه برنامه های سیستمی هستند.

    توابعی هستند که به دفعات استفاده می شوند و به ایجاد برنامه مدیریت پروژه و کنترل دستگاه های ورودی و خروجی کمک می کنند.

    سیستم عامل مهمترين برنامه سيستمي است.

    وظایف سیستم عامل
    ایجاد برنامه
    دسترسی به دستگاه های ورودی و خروجی
    کنترل دسترسی به پرونده ها
    دسترسی به سیستم عامل
    کشف و پاسخ به خطا
    حسابداری

    سیستم عامل به عنوان مدیر منابع
    سیستم عامل مسئول مديريت انتقال و ذخیره سازی و پردازش داده ها را دارد.

    سیستم عامل به عنوان راهکار کنترلی ازدو جهت غیر عادی است:
    1-سیستم عامل مانند نرم افزار عادی کار می کند.
    2-سیستم عامل مرتبا کنترل کردن را رها می کند.

    هسته سیستم عامل :
    بخشی که در حافظه اصلی است.
    بیشترین دفعات استفاده را دارد.
    تخصیص حافظه مشترکا توسط سیستم عامل و سخت افزار مدیریت حافظه در پردازنده کنترل می شود.
    در مورد زمان استفاده از I/O تصمیم می گیرد.
    میزان تخصیص پردازنده به یک کار را مشخص می کند.


    دلایل تغییر سیستم عامل
    1-ارتقاء و انواع جدید سخت افزار .
    این امکانات نیازمند حمایت پیچیده تری از طرف سیستم عامل است.
    2-خدمات جدید: برای پاسخگویی به نیازهای کاربران.
    3-رفع خطا: ساخت تیم مولفه ای است و رابط ها باید مشخص شود.

    تکامل تدریجی سیستم عامل
    1-پردازش ردیفی.

    2-سیتم های دسته ای ساده.

    3-سیستم های چند برنامه ای دسته ای.

    4-سیستم های اشتراک زمانی.

    پردازش ردیفی
    - به علت دسترسی به کامپیوتر به صورت ردیفی این نام را دارند.
    - در سال 1940-2950 به وجود آمد.
    - کاربر با سخت افزار در ارتباط بود.
    - سیتم عامل وجود نداشت.
    - دارای یک میز فرمان بود.
    - به زبان ماشین و به وسیله دستگاه ورودی با گذاری می شد.
    - خروجی در چاپگر ظاهر می شد.

    مسئله اصلی سیستم های اولیه
    1-زمانبندی :
    توسط برگهای نوبت گیر برای ماشین وقت می گرفتند و در زمان پیش بینی شده کارش تمام نمی شد.
    2-زمان نصب :
    اگر در زمان کار برای هر یک از کار ها مشکلی ایجاد شود باید از اول کارش را شروع کند.

    سیستم های دسته ای:

    اولین سیتم عامل دسته ای (1950) به وسیله
    General motorsو برای استفاده IBM 701 به وجود آمد.

    پردازش دسته ای ساده توسط نرم افزار ناظر.

    کاربر دسترسی مستقیم به ماشین ندارد.

    - کاربر کار را توسط نوار به متصدی کامپیوتر می دهد.

    - متصدی همه کارها را روی دستگاه ورودی گذاشته و وارد کامپیوتر می شود.

    - ناظر به طور خودکار بار کردن برنامه بعدی را به عهده دارد.


    ناظر
    - قسمت اعظم ناظر: در حافظه اصلی و آماده اجرا مي باشد
    (ناظر ماندگار)
    بقيه ناظر: برنامه سودمند و توابع عمومی و مشترک(زير برنامه)
    زمان تنظیم شرایط اولیه کارها را ناظر انجام میدهد.
    - JCL= دستورالعمل هایی از زبان کنترل کار.
    - این دستورالعمل ها با $ مشخص می شود.

    نحوه عملمکرد سیستم عامل دسته ای

    خواندن از حافظه جانبيبرنامه كاربردر حافظه جانبی
    ناظر => کارتFTN $ => بار کردن مترجم => کدمقصد => ذخیره

    بوسيله ناظر احضار
    کارت LOAD$ => خوانده => بارکننده => برنامه مقصد
    مترجم(در حافظه اصلی) => کنترل به مترجم مقصد.

    مزایای سیستم عامل دسته ای
    1-حفاظت حافظه اصلی.
    2-زمان سنج:
    جلوگیری از انحصار سیتسم توسط یک کاربر.
    3-دستورالعمل های متمایز:
    دستورالعمل هایی که توسط ناظر صادر می شود.
    4-وقفه ها:
    این خصوصیت به سیستم انعطاف می دهد.

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

    سیستم های اشتراک زمانی
    از چند برنامگی برای رسیدن به حالت محاوره ای استفاده می کند.
    پردازنده بین کاربران به اشتراک گذاشته می شود.
    داشتن کاربران متعددی که از طریق پایانه خود به طور هم زمان از سیستم عامل استفاده می کنند.
    اگر N کاربر داشته باشد هر كاربر 1/N از زمان مفید پردازنده استفاده می کنند.

    چند برنامگی دسته ای در مقابل اشتراک زمانی
    اشتراک زمانی
    چند برنام های دسته ای
    حداقل زمان پاسخ
    حداکثر استفاده از پردازنده
    هدف اصلی
    فرمان هایی که از پایانه وارد می شود
    دستورالعملهای زبان کنترل کار که همراه کار ارائه شده است
    منبع دستورات به سیستم عامل
    پنج دستاورد توسعه سیستم عامل:
    1- فرآیندها.
    2- مدیریت حافظه.
    3- حفاظت اطلاعات و ایمنی.
    4- زمانبندی و مدیریت منابع.
    5- ساختار سیستم.

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

    سه محور برای ایجاد وتوسعه سیستم کامپیوتر:
    1-چند برنامگی:
    برای مشغول نگهداشتن هم زمان پردازنده و خروجی.
    2-اشتراک زمانی:
    آماده پاسخگویی هم زمان به چند کاربر.
    3-سیستم های تراکنش بلا درنگ:
    تعدادی از کاربران در حال وارد کردن درخواستها یا تغییرات خود روی بانک اطلاعاتی باشند.

    علت بروز خطاها در سیستم نرم افزاری:
    1-همگام سازی نا مناسب:
    به سبب بروز یک حادثه یک کار عقب بیفتد.
    2-شکست در انحصار متقابل:
    استفاده بیش از دو کاربر از یک منبع به طور هم زمان.
    3-عملکرد غیر قطعی برنامه:
    ممکن است کاربرها در کار یک دیگر دخالت کنند.
    4-بن بستها:
    دو یا چند برنامه به خاطر هم معلق بمانند.

    اجزاء یک فرآیند:
    1-یک برنامه قابل اجرا.
    2-داده های مورد نیاز این برنامه.
    3-متن یا وضعیت اجرای آن برنامه.
    (اصلی است وشامل تمام اطلاعاتی است که یک سیستم عامل برای مدیریت فرآیندها احتیاج دارد.)

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


    ثبات های پایه وحد
    در ناحیه ای از حافظه قرار دارند.

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

    - از دخالت بین فرايندها جلوگیری می کنند.
    پنج مسئولیت اصلی در مدیریت حافظه:
    1-جداسازی فرآیندها: از دخالت فرآیندها جلوگیری می کند.
    2-تخصیص و مدیریت خودکار: باید به مدیریت ها جا دهد.
    3-حمایت از برنامه سازی مولفه ای: باید مولفه های برنامه را تعریف کند.
    4-حفاظت و کنترل دسترسی: باید به کاربر اجازه دهد تا به بخشهایی از حافظه دسترسی داشته باشند.
    5-حافظه دراز مدت: ذخیره اطلاعات برای مدت طولانی

    حفاظت از اطلاعات و ایمنی:
    به سه گروه زیر تقسیم می شود:
    1-کنترل دسترسی: تنظیم دسترسی کار به کل سیستم.
    2-کنترل جریان اطلاعات: تنظیم جریان اطلاعات در داخل سیستم و تحویل به کاربر.
    3-گواهی: به صحّت اطلاعات.

    زمانبندی و مدیریت اطلاعات:
    سه عامل زیر را در نظر می گیرند:
    1-انصاف: قرار دادن منابع به هر یک از پردازنده ها به طور عادلانه.
    2-حساسیت در مقابل تفاوت ها: باید به خواسته ها جوابگو باشد.
    3-کارایی: باید بکوشد تا توان عملیاتی را حداکثر زمان پاسخ را حداقل و در مورد سیستمهای اشتراکی زمانی از حداکثر تعدادکاربران حمایت کند.

    اندازه یک سیستم سه مولفه نا مطلوب را در بر دارد:
    1-سیستم عامل از نظر زمان تحویل تاخیر دارد.
    2-سیستم ها اشکالهای پنهانی دارند که در هنگام کار اشکال خود را نشان می دهند.
    3-کارایی آن از حد انتظار کم تر است.

    برای رفع مشکل:
    - سیستم های کوچک ساختار مولفه ای.
    - سیستم های بزرگ ساختار سلسله مراتبی.
    - ساختار سلسله مراتبی عملکرد سیستم را بر اساس پیچیدگی و ویژگی زمانی و سطح تجرید آنها تفکیک می کند.
    - دارای چند سطح است که سطوح به هم وابستگی دارند که اعمال ابتدایی را انجام و جزئیات را پنهان می کند.
    - سطوح پایین با اندازه کوتاه تر زمان سر کار دارد.
    - بعضی مستقیما با سخت افزار در تبادل اطلاعات هستند.

    سطوح سيستم عامل سلسله مراتبی:
    سطح 1:شامل مدارات الکتریکی.
    سطح 2:مجموعه دستورالعمل پردازنده.
    سطح 3:مفهوم رویه یا زیر برنامه.
    سطح4:وقفه ها.
    سطح 5:فرآیند (یک برنامه در حال اجرا)
    سطح 6:حافظه ثانویه کامپیوتر.
    سطح7:یک فضای آدرس منطقی برای فرآیند.
    سطح8:مبادله اطلاعات و پیامها بین فرآیند.
    سطح9:ذخیره سازی دراز مدت پرونده ها.
    سطح 10:دسترسی به دستگاه های خارجی.
    سطح 11:نگهداری رابط بین شناسه های خارجی و داخلی.
    سطح12:حمایت اطلاعات لازم برای مدیریت فرآیند ها.
    سطح 13:واسط کاربر و سیستم عامل .(پوسته)

    ویژگی های سیستم عامل های جدید:
    معماری ریز هسته.
    چند نخی.
    چند پردازشی متقارن.
    سیستم های عامل توزیعی.
    طراحی شیء گرا.

    معماری ریز هسته
    موارد واگذاری به هسته:
    1-دسترسی به فضای آدرس.
    2-ارتباط بین فرآیند ها.
    3-زمانبندی پایه ای.
    رویکرد ریز هسته:
    1-پیاده سازی را ساده می کند.
    2-موجب انعطاف می گردد.
    3-محیط توزیعی کاملا سازگار.

    چند نخی
    فرآیند ها به نخ هایی تقسیم می شوند که می توانند به طور هم زمان اجرا شوند
    در فرآیندهایی که چند وظیفه اصلی مستقل را انجام می دهند مفید است.
    فرايند : مجموعه يك يا جند نخ و منابع سيستمي تخصيص داده شده (مشابه يك برنامه حال اجرا)

    چند پردازشی متقارن
    1-پردازنده متعددی وجود دارد.
    2-از امکانات ورودي / خروجي و حافظه اصلی به طور مشترك استفاده می کنند.
    3-تمام پردازنده ها اعمال یکسانی را می توانند انجام دهند.

    امتیازات چند پردازشی متقارن نسبت به معماری تک پردازنده:
    کارایی:
    قرار دادن ترتیب کارها به نحوی که به موازات هم انجام شوند.

    دسترسی پذیری:
    از آنجا که تمام پردازنده ها یک عمل را انجام می دهد خرابی در یکی از آنها موجب توقف ماشین نمی شود.

    رشد:
    با اضافه کردن پردازنده.

    مقیاس پذیری:
    قیمت ها متناسب با تعداد پردازنده ها باشد.

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

    طراحی شیء گرا
    افزودن ملحقات مولفه ای به یک هسته كوچك.
    محیا ساختن ابزار های توزیعی و سیستم عامل های توزیعی را آماده میکند.

    نگاهی کلی بهWINDOWS NT
    سیستم عامل چند کاربره چند وظیفه ای.
    برای کامپیوتر شخصی طراحی شده.
    اساسا از صفر طراحی شده است.
    این سیستم عامل منسوب به MS-DOS یا PC XT است که توسط شرکت MIRCROSOFT برای اولین بار کامپیوتر IBM را ایجاد کرد.
    اين سيستم عامل از دیسک سخت حمایت می کرد.
    با بهره گیری از توان ریز پردازنده های جدید محیط تک کاربره و چند وظیفه ای کاملی به وجود آورد.
    اولین گونه در سال 1993 وبا همان واسط گرافیکی WINDOWS3.1 ارائه گردید.
    سپس گونه NT3.X و NT4.0 را ارائه کرد.(تغییر در مؤلفه های گرافیکی )
    و در نهایت NT 5.0 را بیرون دادند.(دارای ویژگی افزایش خدمات برای توزیعی است)

    معماری NT
    NT نرم افزار کاربردی را از نرم افزار سیستم عامل اجرا می کند.
    نرم افزار سیستم عامل که به ان مجری NT می گویند در حالت هسته اجرا می شوند.
    به داده های سیستم و به سخت افزار سیستم دسترسی دارد.
    نرم افزار باقیمانده که در حالت کاربر اجرا می شود به داده های سیستم دسترسی محدود دارد.
    مجری NT:
    یک معماری ریز هسته تغییر یافته است.
    دسترسی از طریف مولفه مسئول امکان دارد.
    دسترسی به داده های کلیدی از طریق توابع مناسب.
    می توان مولفه ها را تغیر داد یا باز نویسی مجددسیستم و...
    قابلیت حمل دارد.
    دید یکسان به سخت افزار مورد استفاده دارد.

    مولفه های خدمات سیستم:
    مدیر ورودی و خروجی:
    در خواستها را به ترتیب اولویت رسیدگی می کند.
    مدیر شیء:
    قواعدی را برای نگهداری و نام گذاری و.. شیءها اعمال می کند.
    ناظر ایمنی:
    مسئول اعمال قواعد اعتبار سنجی.
    مدیر فرآیند:
    ایجاد و حذف شی ء ها.
    امکان فراخوانی رویه ورودی:
    فراخوانی رویه از راه دور.
    مدیر حافظه مجازی:
    نگاشت بین آدرس های مجازی.
    مولفه های پنجره ها / گرافیک:
    ایجاد واسط پنجره در صفحه نمایش.

    مهمترین مفاهیم شیئ گرا که در NTبه کاررفته:
    در برگیری: هرشیء دارای یک یا چند فقره داده است که خصیصه نام دارد
    کلاس شیءو رویداد: الگویی که خدمات را فهرست می کند.
    وراثت: در داخل مجری حمایت شده است.
    چند شکلی: مجموعه مشترکی از توابع API برای پردازش و...

    سیستم UNIX
    یک سیستم چند کاربره
    برای کامپیوتر های کوچک به وجود آمد
    سخت افزار توسط نرم افزار کامپیوتر احاطه شده است
    این بخش را هسته گویند
    برای اجرای روی یک پردازنده واحد طراحی شده.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  4. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  5. #3
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

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

    سیستم عامل باید در بین اجرای فرآیند قرار گیرد.

    سیستم عامل باید با بهره گیری از یک سیاست خاص منابع در اختیار سیستم قرارداده واز وقوع بن بست جلوگیری کند.

    سیستم عامل بلید از ارتباط بین فرایند هاو ایجاد فذایندها توسط کاربر حمایت کند.
    حالات فرآیند:
    - اساسی ترین عمل پردازنده اجرای دستورالعمل های موجود در حافظه است.

    - اجرا شامل دنباله ای از دستورالعمل های همان برنامه است.
    به اجرای یک فرایند خاص فرایند یا وظیفه گویند.

    - رفتار یک فرآیند به خصوص را می توان با فهرست کردن دنباله دستورالعمل ها یی که برای آن فرآیند اجرا می شود مشخص نمود که به آن رد آن فرآیند گویند.
    - مسئولیت اصلی سیستم عامل کنترل یک فرآیند است.

    - یک فرآیند ممکن است در یکی از دو حالت اجرا وغیر اجرا باشد.

    - وقتی یک سیستم عامل فرآیندی را دریافت می کند آن را در حالت غیر اجرا قرار می دهد.

    - پس از رسیدن نوبت فرآیند فعلی را به حالت غیر اجرا برده و فرآیند را به حالت اجرا برده.

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

    ایجاد و پایان فرآیند:
    عمر یک فرآیند محدود به زمان ایجاد تا زمان خاتمه دادن به آن است.

    در هنگام ایجاد سیستم عامل ساختمان داده مربوط به آن فرآیند را ساخته و فضای آدرس مربوط به آن را تخصیص می دهد.

    معمولا چهار حادثه موجب به ایجاد فرآیند می گردد:
    1-در محیط دسته ای: یک فرآیند جدید در پاسخ به یک کار

    2-برقراری ارتباط محاورهای: کار از طریق پایانه با سیستم ارتباط برقرار کند

    3-ارائه یک خدمت به وسیله سیستم عامل: فرآیندی را برای خدمت ایجاد کند

    4-زایش توسط فرآیند موجود: برای بهره گیری از توازی یا تفکیک.

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

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

    فرزند:
    فرایند زاینده را پدر و فرایند ایجاد شده را فرزند گویند

    انواع خطا:
    خطای محاسباتی: محاسبات غیر مجاز

    گذشت زمان: بیش از حد برای بروز حادثه منتظر مانده

    خطای ورودی و خروجی
    و...
    پنج حالت ممکن برای فرآیند:
    اجرا : فرآیندی هم اکنون در حالت اجرا است.

    آماده : با گرفتن فرصت به اجرا درمی آیند.

    مسدود: با تمام شدن وقت و یا بروز حادثه اتفاق می افتد.

    جدید: فرآیندی که هم اکنون ایجاد شده.

    خروج: به علت دستور توقف یا به دلیلی قطع شده.

    مدل پنج حالته برای فرایند:


    انواع حوادثی که منجر به تغییر حالت شده:
    تهی آماده: فرایند جدیدی را برای اجرای یک برنامه ایجاد می کند.
    جدید آماده: آمادگی برای گرفتن یک برنامه.
    <آماده اجرا: زمان انتخاب یک فرآیند رسیده.
    اجرا خروج: فرآیند جاری اعلام می کند که تمام شده. اجرا آماده: اتمام زمان مجاز برای یک فرآیند .
    (متداولترین)
    اجرا مسدود:درخواست یکمنبع با انتظار.

    مسدود آماده:حادثه مورد نظر اتفاق افتاده.

    آماده خروج:با تصمیم پدر.

    مسدود خروج:توضیح تغییر حاتت قبل در اینجا نیز صادق است.

    در اکثر اوقات پردازنده بی کار می ماند برای این کار راه حل های زیر پیشنهاد می شود:

    1- حافظه اصلی را گسترش داد: كه دو عیب دارد:
    1-با افرایش هزینه همراه است.
    2-درخواست برای حافظه زیاد شده.

    2- مبادله: انتقال بخشی از یک فرآیند به دیسک.

    هنگامی که هیچ یک از فرآیند ها در صف آماده نيستند منع لازم را دریافت نکرده به حالت معلق می روند. و فرآیند ديكري ازحالت معلق به حات آماده برده و اجرا می شود.

    عیب:
    مبادله یک ورودی وخروجی است.

    امتیاز:
    ورودی و خروجی عموما سریعتر از سیستمی است و باعث افزایش کارایی می شود.


    فرآیند معلق:
    فورا آماده اجرا نیست.

    یک فرآیند ممکن است منتظر یک حادثه باشد یا نباشد.

    توسط عاملی در حالت معلق گذاشته شده تا از اجرای آن جلوگیری کند.

    منتظر فرمان باشد.


    دلایل تعلیق فرآیند:
    مبادله: سیستم عامل نیاز به حافظه کافی دارد.

    دلایل دیگر سیستم عامل: فرآیندی را که سودمند یا لازم و... است را معلق کند.

    درخواست کاربر محاورهای: کاربر به منظور استفاده از منبع برنامه را معلق کند.

    ترتیب زمانی: فرآیند به طور دوره ای اجرا شود.

    درخواست فرآیند پدر: فرآیند فرزند زا به تعلیق بیندازد.
    ساختارهای کنترلی سیستم عامل:
    برای کنترل فرآیندها باید اطلاعات مربوط به فرآیند در جدولی ذخیره شود.تمام سیستم عامل ها اطلاعات در جهار گروه ذخیره می کنند.

    از جداول حافظه برای دنبال کردن اطلاعات حافظه اصلی و ثانویه استفاده می کنند ، قسمتی برای سیستم عامل و یقیه برای فرآیند
    جداول حافظه بايد حاوی اطلاعات زیر باشد:

    1-تخصیص حافظه اصلی به فرآیند.

    2- تخصیص حافظه ثانویه به فرآیند.

    3-ویژگی های حفاظتی فرآیند.

    4-اطلاعات مورد نیاز برای مدیریت حافظه مجازی.

    انواع جداول:
    جداول ورودی / خروجی: برای نگهداری و مدیریت دستگاه های ورودی وخروجی و... استفاده می شود.

    جداول پرونده: اطلاعات مربوط به پرونده های موجود،محل آنها در حافظه ثانویه ،وضعیت جاری و...نگهداری کنند.

    جداول فرآیند: مدیریت فرآیندها استفاده می شود.
    ساختار کنترلی فرآیند:
    هر فرآیند دارای یک صفات است که معمولا همراه آن به سیستم عامل می آید که به مجموعه این صفات بلوک کنترل فرآیند می گویند.

    به مجموعه داده برنامه،داده ها ،پشته وصفت ،تصویر فرآیند می گویندو محل آن به مدیر حافظه بستگی داردو در حافظه ثانویه نگهداری می شود و برای اجرا باید به حافظه اصلی به رود.

    اجزای متداول تصویر یک فرآیند:
    داده های کاربر: بخش قابل تغییر فضای کاربر.

    برنامه کاربر: برنامه ای که قرار است اجرا شود.

    پشته سیستم: برای ذخیره پارامترها و آدرس و...

    بلوک کنترل فرآیند: اطلاعات لازم برای کنترل فرآیند.

    اطلاعات مربوط به یک بلوک فرآیند حاوی:
    1- شناسایی فرآیند

    2-اطلاعات وضعیت پردازنده

    3-اطلاعات کنترل فرآیند

    1-شناسایی فرآیند: یک شناسه عددی یکتا نسبت می دهند.
    مزایای شناسه:
    مراجعات به جداول تحت کنترل است.
    از طریق شناسه می توان پی به بر قراری ارتباط بین فرآیندها برد.
    به فرآیندی یک شناسه کاربر نسبت داد.
    2-اطلاعات وضعیت پردازنده:
    محتوی ثباتهای پردازنده می باشد.
    برای اطلاعات وضعیت می باشد.(PSW)
    حاوی کد شرایط و دیگر اطلاعات است.


    3-اطلاعات کنترل فرآیند:

    بلوک کنترل فرآیند گفته می شود.
    موجب ایجاد هماهنگی بین فرآیندهای فعال می شود.

    نقش بلوک کنترل فرآیند:
    بلوک کنترل فرآیند نقش مهم در ساختمان سیستم عامل دارد.
    وضعیت سیستم را تعریف می کند.
    از شناسه یکتای فرآیند به عنوان شاخص استفاده می کنند.

    مشكلات بلوك كنترل فرايند دارای برای حفاظت
    1- وجود اشکال در یک بلاک منجر به لطمه زدن به تمام بلاک ها می شود.

    2- تغییر در یک بلوک منجر به تغییر در بسیاری از مولفه ها می شود.

    کنترل فرآیند:
    حالت اجرا:

    - به سیستم عامل مربوط می شود.

    - بعضی از دستورات تنها در حالت ممتازتر قابل اجرا هستند.

    - به حالت کم امتیازتر حالت کاربر می گویند.
    به حالت متمایز،حالت سیستم ،حالت کنترل یا حالت هسته گویند که نرم افزار کنترل بردازنده ؛ دستورالعملها؛ ثباتها ؛ حافظه را دارد.

    در ثبات PSW یک بیت برای حالت اجرا وجود دارد که بیت حالت به بیت هسته واگذار می شود و دستورالعمل حالت را تغییر می دهد.

    ایجاد فرآیند:
    تخصیص شناسه یکتا به فرآیند.

    تخصیص فضا برای تمام اجزای تصویر فرآیند.

    بلوک کنترل فرآیند مقدار گذاری می شود.

    برقراری پیوندهای لازم.

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


    وقفه ورودی /خروجی: دادن ورودی /خروجی به یک فرایند.


    نقص حافظه: اشتباه بودن آدرس.


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

    مدیریت فرآیند در UNIX SVR4:
    بخش اعظم سیستم عامل ،در داخل محیط یک فرآیند کاربردی اجرا می شود.
    از دو گروه فرآیند سیستمی و کاربردی استفاده می کند.
    فرایند های سیستمی در کد هسته اجرا می شود.
    فرآیند های کاربر در حالت کاربر برای اجرای برنامه های کاربر.

    حالات فرآیند در UNIX:
    اجرای کاربر
    اجرای هسته
    آماده در حافظه(بعد از زمانبندی حافظه)
    خفته و در حافظه(تا بروز حادثه قابل اجرا نیست)
    آماده اجرا و مبادله شد(به حافظه اصلی منتقل می شود)
    قبضه شده(از هسته به کاربر می رود)
    ایجاد شده(برای اجرا آماده نیست)
    جادویی(فرآیندی دیگر وجود ندارد)

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

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


    مدخل جدول فرآیند در UNIX:
    اطلاعات کنترل فرآیند که همواره در دسترس هسته است را در بردارد.
    در حافظه اصلی قرار دارد.
    ناحیه کاربر(یا ناحیه U)حاوی اطلاعات اضافی کنترل است.
    این اطلاعات موقع صفحه بندی در حافظه اصلی قرار می گیرد.
    هسته UNIX همیشه در متن فرآیندی اجرا می گردد.
    جدول بعدی نمایشگر این اطلاعات خواهد بود.

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

    ناحیه Uدر UNIX:
    مبین مدخلی که به ناحیه U مربوط است
    شناسه واقعی کاربر
    زمان لازم برای اجرا
    عکس اتعمل های فرآیند را مشخص می کند
    مبین پایه برقراری ارتباط پایانه با کامپیوتر برای کاربر
    خطا ها زا ثبت می کند
    حاوی نتیجه فراخوانی
    مقدار داده که باید منتقل شو د و...
    جدول راهنمای جاری و...
    پرونده های باز شده را ثبت می کند
    اندازه پرونده و فرآیند را که می توانید بنویسید را محدود می کند
    حالت پرونده های ایجاد شده را تنظیم می کند
    اشاره گر جدول فرآیند
    شناسه های کاربر
    زمان سنج ها
    آرایه گرداننده فرآیند
    پایانه کنترل
    فیلد خطا
    مقدار بازگشت
    پارامتر های I/O
    پارامترهای پرونده
    جدول توصیفگر پرونده کاربر
    فیلد های حد
    فیلد های حالت مجاز

    کنترل فرآیند:
    ایجاد فرآیند توسط FORK( ) که یک فراخوان هسته سیستم است انجام می شود و اعمال زیر انجام می شود:

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

    6- شماره شناسه فرزند را پدر و مقدار صفر می دهد.

    تمام این اعمال در حات هسته فرآیند پدر انجام می شود.
    وموقع توزیع فرآیند یکی از اعمال زیر انجام می شود:

    1-ماندن در فرآیند پدر.
    2-انتقال کنترل به فرآیند فرزند.
    3-انتقال کنترل به فرآیند دیگر.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  6. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  7. #4
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

    فصل چهارم نخها، چندپردازشی متقارن و ریز هسته ها
    فرآیندها و نخ ها:
    فرآیند دو خصوصیت زیر را دارد:

    - تملک منبع: ( فرآیند یا وظیفه )
    به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.

    - توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )
    فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.

    چند نخی:
    به قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.

    تک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .

    مانند MS-DOS از فرآیند تک کاربره و از یک نخ حمایت می کند.

    UNIX از چند کاربر ولی تنها از یک نخ حمایت می کند.

    موتور زمان اجرا یjava نمونه سیستمی از یک فرآیند چند نخی است.
    در سيستمهاي عامل هاي زیرازسيستم جند نخي استفاده شده است
    Windows NT ; solaris ; Mach ; os/2
    موارد همراه فرآیند:
    فضای آدرس مجازی که تصویر فرآیند را در بر دارد.
    دسترسی حفاظت شده به فرآیند.
    حالت اجرای نخ.
    متن ذخیره شده.
    پشته اجرا.
    مقداری حافظه ایستا برای متغییرهای محلی هر نخ.
    دسترسی به منابع و حافظه فرآیند.
    مقاسیه فرآیند تک نخی و چند نخی:
    فرآیند چند نخی:
    یک بلوک کنترل فرآیند،فضای آدرس فرآیند،برای هر نخ پسته جدا گانه و بلوک کنترل جدا گانه و ... وجود دارد.
    تمام نخ های فرآیند ،در حالت و منابع آن فرآیند شریک هستند.
    در یک فضای آدرس هستندوبه داده های یکسانی دسترسی دارند.
    فرآیند تک نخی:
    شامل بلوک کنترل ،فضای آدرس فرآیند،فضای آدرس فرآیند،پشته کاربر،هسته یرای مدیریت و ... است.
    حالات نخ :
    ایجاد (زایش):
    با ایجاد یک فرآیند ،نخ هم ایجاد می شود.
    مسدود شدن:
    تا بروز حادثه نخ مسدود می شود.
    رفع مسدود بودن:
    اتفاق حادثه لازم.
    پایان:
    با تکمیل یک نخ ،متن ثبات و پشته هایش آزاد می شود.
    همگام سازی نخ ها
    تمام نخ ها یک فرآیند در فضای آدرس و در منابع دیگر شریک هستند به همین تغییر در هر یک از منابع توسط یک نخ در محیط سایرین تغییر ایجاد می کند لذا همگام سازی فرآیند ها ضروری است.

    به دو دلیل از نخ جداگانه برای رسم مجدد صفحه نمایش استفاده می کنند:

    1-page maker تعدادشیء هایی که در روی یک صفحه است را محدود نکند.

    2-استفاده از نخ جداگانه،امکان قطع کردن رسم را در اختیار می گذارد.

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

    کد مدیریت در ناحیه کاربرد وجود ندارد.

    یک نخ واسط برنامه سازی کاربردی به نخ هسته وجود دارد.
    امتیاز نخ سطح کاربر به سطح هسته:
    تعویض نخ به حالت ممتاز نیاز ندارد.

    کاربرد می تواند زمانبندی خاص داشته باشد

    نخ های سطح کاربر می توانند روی هر سیستم عامل اجرا گردند.

    اشکال نخ های سطح کاربر به سطح هسته:
    اکثر فراخوانی های سیستم مسدود کننده هستند.

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

    راه حل غلبه بر نخ های مسدود کننده : استفاده از روشی به نام جلد کردن که هدف آن تبدیل فراخوانی سیستم از مسدود کننده به غیر مسدود کننده.
    امتیاز نخ های سطح هسته:
    (تمام کارمدیریت نخ توسط هسته انجام می شود.)

    هسته می تواند به صورت هم زمان،نخ های چند گانه یک فرآند واحد را روی پردازنده های متعدد زمانبندی کند.

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

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

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

    رویکردهای ترکیبی:
    ترکیبی از امکانات نخ سطح کاربر و نخ سطح هسته را فراهم می کند. مانند solaris .
    ایجاد نخ به طور کامل در فضای کاربرد در داخل یک کاربرد صورت می گیرد.
    به تعداد (کمتر یا مساوی) از نخ های سطح هسته نگاشته می شود.
    نخ ها به موازات هم روی پردازنده های متعدد اجرا می شود.
    یک فراخوان مسدود کننده کل سیستم را مسدود نمی کند.
    رابط بین نخ ها و فرآیندها:
    نخها:فرآیندها شرح مثال سیستم های عامل
    یک به یک هر نخ اجرا یک فرآیند unix
    چند به یک یک فرآیند یک فضای آدرس Windows NT

    یک به چند یک نخ از یک محیط به دیگر رود )Ra(clouds
    چند به چند ترکیب چند به یک ویک به چند TRIX

    روش های پیاده سازی رابط چند به چند:
    تمام برنامه به صورت یک فرآیند واحد پیاده سازی شود.
    از نظر مدیریت حافظه اشکالاتی دارد.
    برنامه اصلی و زیر برنامه ورودی /خروجی به صورت دو فرآیند جداگانه پیاده سازی شوند. مستلزم سر بار اضافی است.
    برنامه اصلی و زیر برنامه ورودی / خروجی به عنوان یک فعالیت و به صورت یک نخ پیاده سازی شود. ولی یک فضای آدرس ویکی برای زیربرنامه ورودی/خروجی ایجاد گردد. (بهترین روش است.)
    معماری چند پردازشی متقارن:
    FLYNN گروههای زیر را پیشنهاد کرده است:

    جریان دستورالعمل واحد و داده های واحد: یک پردازنده دستورات واحدی را برای داده ها دریافت می کند.

    جریان دستورالعمل چند گانه و داده های واحد: اجرای هم زمان تعدادی از دستورات پردازشی.
    جریان دستورالعمل چند گانه و داده های چند گانه: اجرای هم زمان چنددستور بر روی چند داده.

    جریان دستورالعمل واحد و داده های چند گانه: اجرای هم زمان چنددستور بر روی داده.

    سازمان چند پردازنده متقارن:
    هر یک واحد کنترل ،واحد حساب و منطق و ثباتهای خاص خود را دارند.

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

    پردازنده ها از طریق حافظه با یکدیگر در ارتباط هستند.

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

    تغییر در یک حافظه پنهان سبب تغییر در حافظه پنهان دیگر می شود.(وابستگی حافظه پنهان)

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

    زمانبندی: توسط هر یک از پردازنده ها انجام شود .
    همگام سازی:: ابزاری است برای تنظیم انحصار متقابل و تنظیم حادثه ها.

    مدیریت حافظه: باید سخت افزار مناسب را بهره جوید.

    قابلیت اطمینان و تحمل خرابی: در برخورد با خرابی با ید اقدام کند.

    ریز هسته ها:
    ریز هسته سیستم عامل کوچکی است که بنیان لازم برای گسترشهای مولفه ای را به وجود می آورد.

    رویکرد ریز هسته با به کارگیری آن در سیستم عامل Mach مورد توجه عمومی قرار گرفت.

    سیستم عامل windows NT نیز داردای ریز هسته است که مدعی قابلیت حمل و مولفه ای بودن است.

    معماری ریز هسته:
    در این سیستم های عامل یکپارچه، مجازا هر رویه ای می توانست هر رویه دیگری را فراخوانی کنند.

    در سیستم عامل های لایه ای،عمل ها به صورت سلسله مراتبی طراحی شده است و تنها سطوح مجاوربا یکدیگر محاوره داشته باشند.

    فلسفه ریز هسته این است که تنها اعمال کاملا اصلی سیستم عامل باید در هسته باشد.

    کاربردها روی ریز هسته ساخته شده.

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

    ریز هسته به عنوان یک مبادله کننده پیام عمل می کند.
    مزایای ریز هسته:
    واسط یکنواخت. (برای درخواستهای فرآیند)

    قابلیت گسترش. (مجاز دانستن افزایش خدمات)

    قابلیت انعطاف. (به قابلیت گسترش مربوط است)

    قابلیت حمل. (تمام کد مربوط به ویژگی های خاص پردازنده در هسته وجود دارد)
    قابلیت اطمینان.

    حمایت سیستم توزیعی: (توسط سیستم عامل توزیعی)

    سیستم عامل شیء گرا.
    کارایی ریز هسته:
    ریز هسته خیلی کوچک سبب شده که کاهش کارایی را حذف و انعطاف و فابلیت اطمینان را بهتر کند.

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

    1- مدیریت حافظه اولیه.
    2- ارتباط بین فرآیندها.
    3- ورودی / خروجی.
    4- مدیریت وقفه.
    سه روش زیر برای حمایت مدیریت حافظه مجازی و صفحه بندی خارجی:
    اهدا: هر فرآیند می تواند تعدادی از صفحات خود را به دیگری دهد.
    نگاشت: یک فرآیند می تواند هر یک از صفحات خود را به فضای دیگری بنگارد.
    مطالبه: هر صفحه که قبلا استفاده شده را مطالبه کند.

    ارتباط داخلی فرآیند:
    پیام شکل اصلی ارتباط بین فرایندها یا نخهاست.

    1-سرآمد => فرآیندهای گیرنده –فرستنده
    را مشخص می کند.
    پیام=>
    2-بدنه => اشاره گری به بلوک داده ها
    یا بعضی اطلاعات کنترلی

    مدیریت ورودی و خروجی و وقفه ها:
    اداره وقفه های سخت افزاری به صورت پیام و درگاه های ورودی و خروجی در فضاهای آدرس میسر می شود.

    ریز هسته وقفه را تشخیص می دهد ولی آنها را اداره نمی کند.

    پیامی را برای فرآیند سطح کاربر مربوط به آن وقفه تولید می کند.

    مدیریت نخ و چند پر دازشی متقارن درWindows NT
    ویژگیهای فرآیندهای NT عبارتند از:

    فرآیند NT به صورت شیءپیاده سازی شده اند.

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

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

    به هر فرآیند یک نشانه امنیتی دست یابی نسبت داده می شود.

    فرآیند شامل یک جدول شیء هم هست که دستگیره های به دیگرشیءهای شناخته شده این فرایند دارد. برای هر یک از نخهای که در این شیء هست یک دستگیره وجود دارد.
    اگر فرآیندی برای باز کردن چنین دستگیرهای تلاش کند، سیستم امنیتی مجاز بودن آن ودر نتیجه امکان تغییر خصوصیا تش را تعیین می کند.

    فرآیند نمی تواند مستقیما ساختار ها را تغییر دهد.

    فرایند شامل یک جدول شیء است .

    خصوصیات شیء فرایند
    مقدار یکتای فرآیند
    توصیف چه کسی به این فرآیند....
    برای نخ های این فرآیند
    مجموعه پردازنده های پیش فرض
    حداکثر منابع
    مجموع زمان اجرا نخ
    متغییر و... ثبت شده توسط فرآیند
    تعداد و نوع عملیات انجام شده
    کانالهای ارتباطی بین فرایندها
    دلیل پایان یافتن یک فرآیند
    شناسه فرآیند
    توصیف امنیت
    اولویت پایه
    وابستگی فرآیند به پردازنده
    حداکثر سهم
    زمان اجرا
    شمارنده های I/O
    شمارنده عملیات حافظه مجازی
    درگاههای استثنا/اشکالزدایی
    وضعیت خروج

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

    حالت های نخ:
    آماده: برای اجرا زمانبندی گردیده.
    جانشین: برای هر پردازنده خاص ،یک نخ جانشین
    اجرا: با تعویض به مرحله اجرا می رود.
    انتظار: یک نخ موقعی به حالت اجرا می رود که:
    1- روی حادثه مسدود کردد.
    2- به منظور همگام سازی ،داوطلبانه منتظر شود.
    3- توسط یک زیر سیستم محیط وادار به تعلیق گردد.

    انتقال: منابع فراهم نیست.

    پایان: توسط خودش یا پدر.
    مدیریت نخ و جند پردازشی متقارن در Solaris
    فرآیند: همان فرآیند معمولی

    نخ های سطح کاربر: به وسیله کتابخانه ای ار نخها در فضای آدرس یک فرآیند پیاده سازی می شوند.

    فرآیند سبک وزن: نگاشتی بین نخ های سطح کاربر و نخ های هسته در نظر گرفت.

    نخ های هسته: موجودیتهای بنیادی.
    اجرای نخ:
    همگام سازی: جهت هما هنگ کردن فعالیت.
    تعلیق : معلق شدن و منتظر درخواست.
    قبضه : عملی که موجب به اجرا در آمدن فعالیت اولویت دار شود.
    واگذاری.
    راه حل solaris برای اداره وقفه
    برای اداره وقفه ها solaris مجموعه ای نخ های هسته را به کارگرفته است.

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


    اولویت وقفه ها ،از اولویت دیگر نخ های هسته بیشتر است.فصل چهارم
    نخها، چندپردازشی متقارن و ریز هسته ها
    فرآیندها و نخ ها:
    فرآیند دو خصوصیت زیر را دارد:

    - تملک منبع: ( فرآیند یا وظیفه )
    به هر فرآیند یک آدرس مجازی برای نگهداری تصویر فرآیند می دهد.

    - توزیع وقت فرآیند: ( نخ یا فرآیند سبک وزن )
    فرآیند مسیر اجرای یک یا چند برنامه است و توسط سیستم عامل مورد زمان بندی و توزیع قرار می گیرد.

    چند نخی:
    به قابلیتی از سیستم که امکان اجرای چند نخ را حمایت می کند.

    تک نخی: به رویکرد سنتی یک نخ اجرا در هر فرآیند .

    مانند MS-DOS از فرآیند تک کاربره و از یک نخ حمایت می کند.

    UNIX از چند کاربر ولی تنها از یک نخ حمایت می کند.

    موتور زمان اجرا یjava نمونه سیستمی از یک فرآیند چند نخی است.
    در سيستمهاي عامل هاي زیرازسيستم جند نخي استفاده شده است
    Windows NT ; solaris ; Mach ; os/2
    موارد همراه فرآیند:
    فضای آدرس مجازی که تصویر فرآیند را در بر دارد.
    دسترسی حفاظت شده به فرآیند.
    حالت اجرای نخ.
    متن ذخیره شده.
    پشته اجرا.
    مقداری حافظه ایستا برای متغییرهای محلی هر نخ.
    دسترسی به منابع و حافظه فرآیند.
    مقاسیه فرآیند تک نخی و چند نخی:
    فرآیند چند نخی:
    یک بلوک کنترل فرآیند،فضای آدرس فرآیند،برای هر نخ پسته جدا گانه و بلوک کنترل جدا گانه و ... وجود دارد.
    تمام نخ های فرآیند ،در حالت و منابع آن فرآیند شریک هستند.
    در یک فضای آدرس هستندوبه داده های یکسانی دسترسی دارند.
    فرآیند تک نخی:
    شامل بلوک کنترل ،فضای آدرس فرآیند،فضای آدرس فرآیند،پشته کاربر،هسته یرای مدیریت و ... است.
    حالات نخ :
    ایجاد (زایش):
    با ایجاد یک فرآیند ،نخ هم ایجاد می شود.
    مسدود شدن:
    تا بروز حادثه نخ مسدود می شود.
    رفع مسدود بودن:
    اتفاق حادثه لازم.
    پایان:
    با تکمیل یک نخ ،متن ثبات و پشته هایش آزاد می شود.
    همگام سازی نخ ها
    تمام نخ ها یک فرآیند در فضای آدرس و در منابع دیگر شریک هستند به همین تغییر در هر یک از منابع توسط یک نخ در محیط سایرین تغییر ایجاد می کند لذا همگام سازی فرآیند ها ضروری است.

    به دو دلیل از نخ جداگانه برای رسم مجدد صفحه نمایش استفاده می کنند:

    1-page maker تعدادشیء هایی که در روی یک صفحه است را محدود نکند.

    2-استفاده از نخ جداگانه،امکان قطع کردن رسم را در اختیار می گذارد.

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

    کد مدیریت در ناحیه کاربرد وجود ندارد.

    یک نخ واسط برنامه سازی کاربردی به نخ هسته وجود دارد.
    امتیاز نخ سطح کاربر به سطح هسته:
    تعویض نخ به حالت ممتاز نیاز ندارد.

    کاربرد می تواند زمانبندی خاص داشته باشد

    نخ های سطح کاربر می توانند روی هر سیستم عامل اجرا گردند.

    اشکال نخ های سطح کاربر به سطح هسته:
    اکثر فراخوانی های سیستم مسدود کننده هستند.

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

    راه حل غلبه بر نخ های مسدود کننده : استفاده از روشی به نام جلد کردن که هدف آن تبدیل فراخوانی سیستم از مسدود کننده به غیر مسدود کننده.
    امتیاز نخ های سطح هسته:
    (تمام کارمدیریت نخ توسط هسته انجام می شود.)

    هسته می تواند به صورت هم زمان،نخ های چند گانه یک فرآند واحد را روی پردازنده های متعدد زمانبندی کند.

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

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

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

    رویکردهای ترکیبی:
    ترکیبی از امکانات نخ سطح کاربر و نخ سطح هسته را فراهم می کند. مانند solaris .
    ایجاد نخ به طور کامل در فضای کاربرد در داخل یک کاربرد صورت می گیرد.
    به تعداد (کمتر یا مساوی) از نخ های سطح هسته نگاشته می شود.
    نخ ها به موازات هم روی پردازنده های متعدد اجرا می شود.
    یک فراخوان مسدود کننده کل سیستم را مسدود نمی کند.
    رابط بین نخ ها و فرآیندها:
    نخها:فرآیندها شرح مثال سیستم های عامل
    یک به یک هر نخ اجرا یک فرآیند unix
    چند به یک یک فرآیند یک فضای آدرس Windows NT

    یک به چند یک نخ از یک محیط به دیگر رود )Ra(clouds
    چند به چند ترکیب چند به یک ویک به چند TRIX

    روش های پیاده سازی رابط چند به چند:
    تمام برنامه به صورت یک فرآیند واحد پیاده سازی شود.
    از نظر مدیریت حافظه اشکالاتی دارد.
    برنامه اصلی و زیر برنامه ورودی /خروجی به صورت دو فرآیند جداگانه پیاده سازی شوند. مستلزم سر بار اضافی است.
    برنامه اصلی و زیر برنامه ورودی / خروجی به عنوان یک فعالیت و به صورت یک نخ پیاده سازی شود. ولی یک فضای آدرس ویکی برای زیربرنامه ورودی/خروجی ایجاد گردد. (بهترین روش است.)
    معماری چند پردازشی متقارن:
    FLYNN گروههای زیر را پیشنهاد کرده است:

    جریان دستورالعمل واحد و داده های واحد: یک پردازنده دستورات واحدی را برای داده ها دریافت می کند.

    جریان دستورالعمل چند گانه و داده های واحد: اجرای هم زمان تعدادی از دستورات پردازشی.
    جریان دستورالعمل چند گانه و داده های چند گانه: اجرای هم زمان چنددستور بر روی چند داده.

    جریان دستورالعمل واحد و داده های چند گانه: اجرای هم زمان چنددستور بر روی داده.

    سازمان چند پردازنده متقارن:
    هر یک واحد کنترل ،واحد حساب و منطق و ثباتهای خاص خود را دارند.

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

    پردازنده ها از طریق حافظه با یکدیگر در ارتباط هستند.

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

    تغییر در یک حافظه پنهان سبب تغییر در حافظه پنهان دیگر می شود.(وابستگی حافظه پنهان)

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

    زمانبندی: توسط هر یک از پردازنده ها انجام شود .
    همگام سازی:: ابزاری است برای تنظیم انحصار متقابل و تنظیم حادثه ها.

    مدیریت حافظه: باید سخت افزار مناسب را بهره جوید.

    قابلیت اطمینان و تحمل خرابی: در برخورد با خرابی با ید اقدام کند.

    ریز هسته ها:
    ریز هسته سیستم عامل کوچکی است که بنیان لازم برای گسترشهای مولفه ای را به وجود می آورد.

    رویکرد ریز هسته با به کارگیری آن در سیستم عامل Mach مورد توجه عمومی قرار گرفت.

    سیستم عامل windows NT نیز داردای ریز هسته است که مدعی قابلیت حمل و مولفه ای بودن است.

    معماری ریز هسته:
    در این سیستم های عامل یکپارچه، مجازا هر رویه ای می توانست هر رویه دیگری را فراخوانی کنند.

    در سیستم عامل های لایه ای،عمل ها به صورت سلسله مراتبی طراحی شده است و تنها سطوح مجاوربا یکدیگر محاوره داشته باشند.

    فلسفه ریز هسته این است که تنها اعمال کاملا اصلی سیستم عامل باید در هسته باشد.

    کاربردها روی ریز هسته ساخته شده.

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

    ریز هسته به عنوان یک مبادله کننده پیام عمل می کند.
    مزایای ریز هسته:
    واسط یکنواخت. (برای درخواستهای فرآیند)

    قابلیت گسترش. (مجاز دانستن افزایش خدمات)

    قابلیت انعطاف. (به قابلیت گسترش مربوط است)

    قابلیت حمل. (تمام کد مربوط به ویژگی های خاص پردازنده در هسته وجود دارد)
    قابلیت اطمینان.

    حمایت سیستم توزیعی: (توسط سیستم عامل توزیعی)

    سیستم عامل شیء گرا.
    کارایی ریز هسته:
    ریز هسته خیلی کوچک سبب شده که کاهش کارایی را حذف و انعطاف و فابلیت اطمینان را بهتر کند.

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

    1- مدیریت حافظه اولیه.
    2- ارتباط بین فرآیندها.
    3- ورودی / خروجی.
    4- مدیریت وقفه.
    سه روش زیر برای حمایت مدیریت حافظه مجازی و صفحه بندی خارجی:
    اهدا: هر فرآیند می تواند تعدادی از صفحات خود را به دیگری دهد.
    نگاشت: یک فرآیند می تواند هر یک از صفحات خود را به فضای دیگری بنگارد.
    مطالبه: هر صفحه که قبلا استفاده شده را مطالبه کند.

    ارتباط داخلی فرآیند:
    پیام شکل اصلی ارتباط بین فرایندها یا نخهاست.

    1-سرآمد => فرآیندهای گیرنده –فرستنده
    را مشخص می کند.
    پیام=>
    2-بدنه => اشاره گری به بلوک داده ها
    یا بعضی اطلاعات کنترلی

    مدیریت ورودی و خروجی و وقفه ها:
    اداره وقفه های سخت افزاری به صورت پیام و درگاه های ورودی و خروجی در فضاهای آدرس میسر می شود.

    ریز هسته وقفه را تشخیص می دهد ولی آنها را اداره نمی کند.

    پیامی را برای فرآیند سطح کاربر مربوط به آن وقفه تولید می کند.

    مدیریت نخ و چند پر دازشی متقارن درWindows NT
    ویژگیهای فرآیندهای NT عبارتند از:

    فرآیند NT به صورت شیءپیاده سازی شده اند.

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

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

    به هر فرآیند یک نشانه امنیتی دست یابی نسبت داده می شود.

    فرآیند شامل یک جدول شیء هم هست که دستگیره های به دیگرشیءهای شناخته شده این فرایند دارد. برای هر یک از نخهای که در این شیء هست یک دستگیره وجود دارد.
    اگر فرآیندی برای باز کردن چنین دستگیرهای تلاش کند، سیستم امنیتی مجاز بودن آن ودر نتیجه امکان تغییر خصوصیا تش را تعیین می کند.

    فرآیند نمی تواند مستقیما ساختار ها را تغییر دهد.

    فرایند شامل یک جدول شیء است .

    خصوصیات شیء فرایند
    مقدار یکتای فرآیند
    توصیف چه کسی به این فرآیند....
    برای نخ های این فرآیند
    مجموعه پردازنده های پیش فرض
    حداکثر منابع
    مجموع زمان اجرا نخ
    متغییر و... ثبت شده توسط فرآیند
    تعداد و نوع عملیات انجام شده
    کانالهای ارتباطی بین فرایندها
    دلیل پایان یافتن یک فرآیند
    شناسه فرآیند
    توصیف امنیت
    اولویت پایه
    وابستگی فرآیند به پردازنده
    حداکثر سهم
    زمان اجرا
    شمارنده های I/O
    شمارنده عملیات حافظه مجازی
    درگاههای استثنا/اشکالزدایی
    وضعیت خروج

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

    حالت های نخ:
    آماده: برای اجرا زمانبندی گردیده.
    جانشین: برای هر پردازنده خاص ،یک نخ جانشین
    اجرا: با تعویض به مرحله اجرا می رود.
    انتظار: یک نخ موقعی به حالت اجرا می رود که:
    1- روی حادثه مسدود کردد.
    2- به منظور همگام سازی ،داوطلبانه منتظر شود.
    3- توسط یک زیر سیستم محیط وادار به تعلیق گردد.

    انتقال: منابع فراهم نیست.

    پایان: توسط خودش یا پدر.
    مدیریت نخ و جند پردازشی متقارن در Solaris
    فرآیند: همان فرآیند معمولی

    نخ های سطح کاربر: به وسیله کتابخانه ای ار نخها در فضای آدرس یک فرآیند پیاده سازی می شوند.

    فرآیند سبک وزن: نگاشتی بین نخ های سطح کاربر و نخ های هسته در نظر گرفت.

    نخ های هسته: موجودیتهای بنیادی.
    اجرای نخ:
    همگام سازی: جهت هما هنگ کردن فعالیت.
    تعلیق : معلق شدن و منتظر درخواست.
    قبضه : عملی که موجب به اجرا در آمدن فعالیت اولویت دار شود.
    واگذاری.
    راه حل solaris برای اداره وقفه
    برای اداره وقفه ها solaris مجموعه ای نخ های هسته را به کارگرفته است.

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


    اولویت وقفه ها ،از اولویت دیگر نخ های هسته بیشتر است.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  8. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  9. #5
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

    فصل پنجم
    همزمانی:
    انحصار متقابل و همگام سازی
    همه موضات محوری در طراحی سیستم عامل به مدیریت فرایند ها و نخ ها مربوط است.

    چند برنامه ای : مدیریت فرایند فرایندهای متعدد در داخل یک کامپیوتر تک پردازنده ای.
    چند پردازشی: مدیریت فرایند فرایندهای متعدد در داخل یک کامپیوتر چند پردازنده ای.
    پردازش توزیعی: مدیریت فرایند فرایندهای متعدد در روی سیستم های کامپیوتری متعدد.
    برای هر سه زمینه فوق مسئله هم زمانی است.
    همزمانی در سه زمینه متفاوت طراحی می گردد:

    کاربردهای متعدد: زمان پردازش کامپیوتر به طور پویا بین تعدادی کار یا کاربرد بتواند تقسیم گردد.

    کاربرد ساختیافته: بعضی از کاربردها رابه صورت مجموعه ای از فرایندهای همزمان،به طورکارامد برنامه سازی کرد.

    ساختار سیستم عامل: همین امتیاز ساختاردهی ،برای برنامه ساز سیستم نیز قابل اعمال است.
    نیاز اصلی برای حمایت از فرآیند های همزمان، توان اعمال ا نحصار متقابل است.


    یعنی وقتی به یک فرآیند قدرت انجام عملی داده شد. بتوان تمام فرایندها دیگررا از این قدرت بازداشت.
    اصول همزمانی

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

    در این روش مشکلات زیر پیش می آید:

    1- اشتراک منابع سراسری پر مخاطره است.
    2- مدیریت تخصیص بهینه منابع برای سیستم عامل است
    3- تعیین محل خطای برنامه سازی مشکل می شود.

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

    (وقت پردازنده، حافظه، پرونده هاريا، دستگاههای ورودی و خروجی)

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

    محاوره فراینده ها:
    محاوره فرآیندها : ارتباطات بین فرآیندها و نخ ها

    بی اطلاعی فرایند ها از یکدیگر: فرایند ها مستقل هستند.

    اطلاع غیر مستقیم فرایندها از یکدیگر : دسترسی به بعضی از اشیاء یکدیگر.

    اطلاع ار یکدیگر :با نام ، با یکدیگر در ارتباط هستند.
    هنگامی که چند فرایند برای استفاده از یک منابع فعالیت می کنند درگیری دارند که
    شرایط اساسی در راه حل صحیح :

    انحصار متقابل در اجرای بخش بحرانی.

    فعالیت های محدوده زمانی در هر بخش.

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

    فرایند:حلقه همیشگی.

    در پایان بن بست به باقی فرایند ها پیامی ارسال می گردد.

    گرسنگی.

    همکاری فرایند ها توسط اشتراک:

    فرایندهایی را پوشش می دهند که با یکدیگر محاوره می کنند، بدون اینکه صراحتا از یکدیگر مطلع باشند.

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

    همکاری فرایند ها توسط ارتباط:

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

    ارتباط را با نوعی پیام مشخص می کنند.

    مسئله بن بست و گرسنگی وجود دارد.
    ملزومات انحصار متقابل:
    انحصار متقابل باید اعمال گردد:

    فرایندی که در بخش غیر بحرانی خود متوقف می شود ، باید طوری عمل کند که هیچ دخالتی در فرایند های دیگر نداشته باشد .

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

    هیچ فرضی در باره تعداد فرایند ها و یا سرعت آن داشت.

    هر فرایندی تنها برای زمان محدودی در ناحیه بحرانی قرار می گیرد.

    رویکرد نرم افزاری
    را میتوان برای فرایند های همزمانی که روی ماشینهای تک پردازنده ای یا چند پردازنده ای که از حافظه مشترک استفاده می کنند پیاده سازی کرد.

    الگوریتم DEKKER:

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

    الگوریتم Peterson :

    آرایه سراسری flag نمایانگر وضع هر فرایند نسبت به انحصار متقابل است و متغییر سراسری turn در گیریهای همزمانی را حل می کند.

    انحصار متقابل: حمایت سخت افزار
    از کار انداختن وقفه:

    در یک ماشین تک پردازنده ،هم زمان نمی شود فرایند ها وارد ناحیه بحرانی شوند.

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

    کارایی اجرایی به طور متقابل کم می شود.

    این روش در معماری چند پردازندهای کارایی ندارد.


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

    ساده است و لذا وارسی آن آسان می باشد.

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

    امکان گرسنگی وجود دارد.
    راهنماها:
    برای علامت دهی بین فرایند ها و اعمال یک نظام انحصار متقابل استفاده کرد.

    اصل اساسی این است که دو یا چند فرایند بتوانند به وسیله علائم سادهای با یکدیگر همکاری کنند.

    برای علامت دادن از متغییر ویژه ای به نام راهنما استفاده می کند.

    برای فرستادن علامت توسط راهنمای s،فرایند اولیه signal( s ) را اجرا می کند.

    ->برای دریافت علامت توسط یک راهنمای s ،فرایند اولیه wait(s) را اجرا می کند.

    اگر علامت مربوط ، هنوز فرستاده نشده باشد ،این فرایند تا زمان ان،معلق می ماند.

    ناظرها:
    ساختاری از زبان بزنامه سازی است که کار راهنما را انجام می دهد و کنترل آن هم ساده تر است.
    ساختار ناظر در تعدادی از زبانهای برنامه سازی ازmodulaو ... وبه صورت کتابخانه ای پیاده سازی می شود.
    این افراد اجازه می دهد تا قفل های ناظر در روی هر شئ
    بگذارد.
    در عمل مانند لیست پیوندی است.

    ناظر با علامت:
    مولفه ای نرم افزاری مشتمل بر یک یا چند رویه، دنباله ای از مقدار گذاری اولیه و داده های محلی است .

    دارای ویژگی های :

    • متغییرهای داده محلی ناظر تنها برای رویه های خود ناظر قابل دسترسی بوده و هیچ رویه دیگری به آنها دسترسی ندارد .



    • یک فرایند با احضار یکی از رویه های ناظر ،وارد ان می شود.



    • در هر زمان تنها یک فرایند می تواند در ناظر در حال اجرا باشد.

    دو تابعی که روی متغییر شرطی عمل می کند عبارتند از:

    Cwait(c) : اجرای یک فرایند صدا کننده را روی شرط c معلق می کند.

    Csignsl(c) : اجرای یک فرایندی که بعد از یک عمل cwait ، روی همان شرط معلق بوده است را از سر می گیرد.

    تبادل پیام:
    پیام ها برای انحصار متقابل مفید هستند.
    ابزاری موثری را برای ارتباط بین فرآیندها فراهم می کند.
    هنگامی که دو فرآیند با یکدیگر ارتباط برقرارمی کند ،دو نیاز بنیادی همگام سازی و ارتباط باید تامین می شود.
    فرایند ها نیاز به همگامسازی دارند تا انحصار متقابل تامین شوند.
    Send (destination,message)
    Receive(source,message)


    همگام سازی

    در هنگام تبادل پیام سه ترکیب زیر متداول است :
    مسدود شدن فرستنده ،مسدود شدن گیرنده:
    گاهی به این قرار ملاقات میگویند.همگام سازی بین فرایند ها را محکم می کند.
    مسدود نشدن فرستنده ،مسدود شدن گیرنده:
    گیرنده تا رمان ورود پیام مسدود است.
    مسدود نشدن فرستنده ، مسدود نشدن گیرنده .
    آدرس دهی:
    آدرس دهی مستقیم:

    • Send شامل شناسه آدرس فرایند مقصد.
    • receive یا صریح بیان می کند یا ضمنی.

    آدرس دهی غیر مستقیم:
    پیام ها مستقیما از فرستنده به گیرنده فرستاده نمی شوند بلکه به یک ساختمان داده مشترک ارسال می گردد.
    این ساختمان داده دارای صفهایی است که به آن ها صندوق پستی می گویند.
    انتساب پیام به صندوق پستی می تواند :پویا و ایستا باشد.

    ایستا:به یک فرایند نسبت داده می شود.

    پویا: هنگامی که فرستنده های زیادی وجود داشته باشد.


    ارتباط غیر مستقیم فرایندها:




    قالب پیام:
    قالب پیام شامل:

    • سرآمد:حاوی اطلاعات درباره پیام.
    • بدنه:حاوی خود پیام.



    نظام صف بندی
    FIFO ساده ترین نظام صف بندی

    اولیت پیام بر اساس نوع پیام

    اولیت پیام توسط فرستنده

    اولیت پیام توسط گیرنده (بازرسی صف پیامها و انتخاب پیام بعدی)
    وضعیت صفهای فرایندها :
    برقراری wsem
    بدون صف
    وجود فقط خوانندگان در سیستم
    برقراریwsem و rsem
    صف نویسندگان روی wsem
    وجود فقط نویسندگان در سیستم
    برقراری wsem به وسیله خواننده
    برقراری rsem به وسیله نویسنده
    صف تمام نویسندگان رویwsem
    صف تنها یک خواننده روی rsem
    صف خوانندگان دیگر رویz
    هم خوانندگان و هم نویسندگان با تقدم خواندن
    برقراری wsem به وسیله خواننده برقراری rsem به وسیله نویسنده
    صف تمام نویسندگان رویwsem
    صف تنها یک خواننده رویrsem
    صف خوانندگان دیگر روی z
    هم خوانندگان و هم نویسندگان با تقدم نوشتن:

    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  10. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  11. #6
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

    فصل ششم
    همزمانی: بن بست و گرسنگی
    اصول بن بست:
    - بن بست را به صورت مسدود بودن دائمی مجموعه ای از فرآیند ها که برای منابع سیستم رقابت می کنند یا با یکدیگر در ارتباط هستند .

    - راه حل کارامدی برای بن بست وجود ندارد.

    - تمام بن بستهابی نیاز های متضاد دو فرآیند یا بیشتر ،برای منابع هم راه هستند.

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

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

    شرایط بن بست:

    - انحصار متقابل: (شرط لازم)
    یک فرآیند از یک منبع.

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

    - انتظار مدور: (شرط لازم و کافی)
    چند فرآیند درخواست منبع هایی می کنند که در اختیار منبع دیگر است
    و به همین سبب در انتظار چرخشی قرار می گیرند.
    موجب کند کردن فرآیند ها و رد کردن غیز ضروری دسترسی منابع می شود

    سه رویکرد در برخورد با بن بست
    - پیشگیری

    - کشف

    - اجتناب
    پیشگیری از بن بست:
    - روش غیر مستقیم : پیشگیری از حالتهای 1و2و3 (انحصار متقابل، نگهداشتن و انتظار، قبضه نکردن)


    روش مستقیم : پیشگیری از بروز انتظار مدور
    مزایای پیشگیری از بن بست:

    - در مورد فرآیند هایی که فعالیت هایی زیادی انجام می دهند.
    - عدم نیاز به قبضه کردن.
    - معایب:
    - نا کارامدی.
    - تاخیر شروع فرآیند.

    کشف:
    - سیاست تخصیص منابع: بسیار زیاد ،در صورت امکان تخصیص داده می شود.

    - طرح های مختلف: احضار دورهای برای بررسی بن بست.

    - مزایای اصلی:

    - عدم تاخیر در آغاز فرآیند .

    - تسهیل پردازش در حین کار.

    - معایب اصلی:

    - ضرر های ذاتی قبضه.

    اجتناب:
    - سیاست تخصیص منابع: انتخاب راهی بین پیشگیری و کشف.

    - طرح های مختلف: دستکاری برای یافتن حداقل یک مسیر امن.
    - مزایای اصلی:

    - عدم نیاز به قبضه کردن.

    - معایب اصلی:

    - ضرورت اطلاع از منابع مورد نیاز آینده

    - امکان مسدود شدن طولانی فرآیند.



    دو رویکرد برای اجتناب از بن بست
    - عدم شروع فرایندی که ممکن است درخواستهایش به بن بست منتهی شود

    - عدم پاسخ به درخواستهای منبع اضافی از فرایندی که با این تخصیص ممکن است منجر به بن بست شود.
    عدم تخصیص:
    - الگوریتم بانکداران نیز می گویند.
    - حالت سیستم تخصیص منابع به فرآیند ها است.
    - دارای دو حالت :
    - حالت امن:
    حداقل یکی از فرآیند ها اجرا شود.
    2_حالت نا امن:
    حالتی است که امن نباشد.
    در این روش باید منابع با دقت به درخواست کننده ها ارائه شود که دچار کمبود منابع نشویم .

    امتیاز اجتناب از بن بست:
    - حداکثر منابع مورد نیاز هر فرآیند باید پیش بینی شود.

    - فرآیندهای مورد نیاز باید مستقل باشند.

    - تعداد منابع تخصص باید ثابت باشند.

    - فرآیندی که منبعی را در اختیار دارد نمی تواند خارج شود.

    ترمیم : (بعد از کشف بن بست)
    - قطع تمام فرآیندهای بن بست.

    - برگشت هر یک از فرآیندهای بن بست به نقطه قبل از آن.

    - قطع پی درپی بن بست تا جایی که بن بستی وجود نداشته باشد.

    - قبضه کردن منابع تا جایی که بن بستی وجود نداشته باشد.

    راهبرد مجتمع برای بن بست:
    - تقسیم بندی منابع در تعدادی از گروههای مختلف.

    - استفاده از راهبرد مرتب سازی خطی.

    - استفاده از مناسب ترین الگوریتم.
    به عنوان مثال استفاده از بهترین الگوریتم:

    - فضای قابل مبادله: بلوک هایی از حافظه ثانویه برای استفاده در مبادله فرآیند.

    - منابع فرآیند: دستگاههای قابل تخصیص.

    - حافظه اصلی: حافظه قابل تخصیص به فرآیندها.

    - منابع داخلی: مثل کانالهای ورودی و خروجی.

    مسئله تغذیه فیلسوفان:
    - هر فیلسوفی که می خواست غذا بخورد به جایی که در این میز منظور شده بود می رفت وبا استفاده از دو چنگال کنار بشقابش غذا می کشد مشکل این است که باید چاره ای برای رفع گرسنگی سایرین نیز داشته باشیم.

    - برای این مشکل هر فیلسوف ابتدا چنگال سمت چپ وسپس چنگال سمت راست خود را بردارد که باز هم در این روش مسئله بن بست پیش می آید.

    - مسائل اصلی بن بست گرسنگی را تشریح می کند.

    راهکارهای هم زمانی در unix :
    - لوله ها:
    - پیا م ها:
    - حافظه مشترک :
    - راهنماها:
    علائم
    - لوله ها:
    یکی از مهم ترین کمکهای unix به ایجاد و توسعه سیستم های عامل است.
    بر اساس مدل تولید کننده و مصزف کننده با هم ارتیاط برقرار می کند.
    صف خروجی به ترتیب ورودی است.دو نوع لوله بی نام و با نام وجود دارد.

    - پیا م ها:

    بلوکی از متن به همراه یک نوع است.از فراخوان سیستمی msgsnd و msgrcv برا ی فرآیندهای درگیر در تبادل پیام استفاده می کنند.

    - حافظه مشترک:

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

    - راهنماها:
    از اولیه های wait و signalاست.عملیات متعددی به صورت هم زمان اجرا می شود.یک راهنما شامل عناصر زیر است:
    1-مقدار جاری راهنما.
    2-شناسه.
    3-تعداد فرآیندهای منتظرمقدار راهنما از مقدار جاری انها بزرگتر باشد.
    4--تعداد فرآیندهای منتظرمقدار راهنما ی آنها صفر باشد...


    - علائم:

    یک راهکارنرم افزاری است که از بروز یک حادثه نا بهنگام خبر می دهد.


    اولیه های همگام سازی نخ در solaris:
    - قفل های انحصار متقابل:
    از پیش رفت یک نخ جلوگیری می کند.
    - راهنماها:
    راهنماهای شمارنده کلاسیک را ارائه می دهد.
    - قفل های چند خواننده و یک نویسنده:
    اجازه می دهد نخ های متعدد هم زمان به شیءکه تحت حفاظت است دسترسی فقط خواندنی داشته باشد.
    - متغییر های شرط:
    برا ی انتظار تا برقراری شرط خاصی.

    راهکارهای همزمانی در windows NT:
    - فرآیند: احضار یک برنامه .

    - نخ: موجودیت قابل اجرا .

    - پرونده: نمونه پرونده باز.

    - ورودی میز کار: یک میانگیر صفحه نمایش متنی.

    - اعلام تغییر پرونده: تغییر سیستم پرونده.

    Mutex - (انحصار متقابل).

    - راهنما: شمارنده تعدادنخ های برنامه را تنظیم می کند.

    - حادثه: یک حادثه سیستمی اتفاق افتاده است.

    - زمان سنج قابل انتظار: شمارنده برای ثبت گذشت زمان.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  12. 2 کاربر از پست مفید آبجی سپاس کرده اند .


  13. #7
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : سیستم های عامل

    فصل هفتم
    مدیریت حافظه

    نیازهای مدیریت حافظه:
    دارای پنج نیاز زیر است:

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

    - حفاظت: باید در مقابل تداخل های ناخواسته حفاظت شود خواه تصادفی باسد یا عمدی .

    - اشتراک: باید با داشتن حفاظت به گونه باشد تا دیگرا نیز به توانند به آن دستیابی داشته باشند .

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

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


    مزایای سازمان دهی منطقی:
    - هر مولفه را می توان به صورت مستقل نوشت و ترجمه کرد.

    - با یک سر بار اضافی مراتب مختلف حفاظتی را داریم.

    - امکان معرفی راهکارهایی برای اشتراک مولفه ها در بین فرآیند ها وجود دارد.


    علت نا کارآمدی سازمان دهی فیزیکی :
    - ممکن است حافظه موجود برای داده ها کافی نباشد.

    - در یک محیط چند برنامه،برنامه سازدر زمان نوشتن برنامه نمی داند چه مقدار حافظه در اختیار دارد و...

    روش های مدیریت حافظه:
    - بخش بندی ایستا: حافظه اصلی به تعدادی بخش ایستا ذر زمان ایجاد سیستم ایجاد می شود.فرآیند به داخل بخشی با اندازه برابر یا بزرگتر برود.

    - بخش بیدی پویا: بخشها به صورت پویا ایجاد می شود،هر فرآیند به داخل بخشی برابر با اندازه خودش می رود.

    - صفحه بندی ساده: حافظه به قاب هایی هم اندازه تقسیم می شودو فرآیند به صفحات هم اندازه با قاب ها تقسیم می شود.

    مزایا:
    - بخش بندی ایستا: سادگی پیاده سازی ،کمی سر بار سیستم.

    - بخش بیدی پویا: بدون تکه تکه شدن داخلی.

    - صفحه بندی ساده : بدون تکه تکه شدن خارجی.

    - قطعه بندی ساده: بدون تکه تکه شدن داخلی.

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

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

    معایب:
    - بخش بندی ایستا: استفاده غیر موثر از حافظه.

    - بخش بیدی پویا: استفاده غیر موثر از پردازنده.

    - صفحه بندی ساده: مقدار کمی تکه تکه شدن داخلی.

    - قطعه بندی ساده: گسترش به کار گیری حافظه و کاهش سربار نسبت به بخش بندی پویا.

    - صفحه بندی حافظه مجازی: سربار پیچیدگی مدیریت حافظه.

    - قطعه بندی حافظه مجازی: سربار پیچیدگی مدیریت حافظه.


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

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

    مراحل زیر برای ترجمه آدرس لازم است:
    - استخراج شماره صفحه به عنوان n بیت چپ آدرس منطقی.

    - به کارگیری شماره صفحه به عنوان شاخص به جدول صفحه برای یافتن شماره قاب .(k)

    - آدرس فیزیکی شروع قاب.

    قطعه بندی:
    - روش جایگزین برای تقسیم برنامه کاربر،قطه بندی است.

    - داده ها به تعدادی قطعه تقسیم می شود.

    - قطعه داردای اندازه یکسان می باشد .

    - مشابه بخش بندی پویا است.

    - قطعه بندی قابل روئیت است.

    - رابط ستدهای بین آدرس فیزیکی و منطقی وجود ندارد.

    مراحل ترجمه آدرس:
    - استخراج شماره قطعه از n بیت سمت چپ آدرس منطقی.

    - استفاده از شماره قطعه به عنوان شاخص.

    - مقایسه انحراف موجود در m بیت سمت راست.

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

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

    - تکه به صفحه یا قطعه اطلاق می شود.

    - به بخشی از فرآیند که مقیم در حافظه است را مجموعه مقیم گویند.

    - برای استفاده از این مجموعه از جدول صفحه استفاده می کنند.

    - اگر فرآیند به آدرس منطقی دسترسی نداشته باشد یک وقفه صادر می کند.

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

    دو پیامد این امر:
    - فرآیند بیشتری را می توان در داخل حافظه اصلی قرار دارد و استفاده بهتر از پردازنده می شود.

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

    - با وجود صفحه بندی و قطعه بندی این وظیفه به عهده سخت افزار و سیستم عامل است.

    حافظه حقیقی و مجازی
    حافظه حقیقی : به حافظه اصلی حافظه حقیقی می گویند.

    حافظه مجازی : حافظه بزرگتر و کارآمد تر که کاربر از آن استفاده می کند حافظه مجازی می گویند.


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

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

    اصل محلی بودن:
    - مراجعات به برنامه و داده ها در حافظه ،خوشه ای هستند.

    - تعداد محدودی از فرآیند ها در حافظه اجرا می شوند و باید حدس زد که کدام برنامه در آینده اجرا می شود.

    - به این ترتیب از کوبیدگی جلو گیری می کنند .

    - تاکید در کارآمدی فرآیندها در یک محیط حافظه مجازی است.

    برای کارآمدی حافظه مجازی:
    - باید حمایت سخت افزاری وجود داشته باشد.

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

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


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

    - در حافظه اصلی قرار می گیرد.

    - آدرس شروع در ثبات قرار می گیرد.

    - از شماره صفحه آدرس مجازی ،به عنوان شاخص برای شناسایی شماره قاب استفاده می کند.

    - برای به کارگیری جداول صفحه یک سطحی یا دو سطحی
    استفاده از ساختار جدول صفحه معکوس است.

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

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

    - یکی دیگر از راه حل ها به کار گیری اندازه صفحه بزرگ تر.

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

    - اندازه صفحه به اندازه فیزیکی صفحه بستگی دارد.

    - قطعه بندی این قایلیت را دارد که سیاست های اشتراکی وحفاظتی بر روی آن اجرا شوند.

    طراحی بخش مدیریت حافظه:
    بستگی به سه انتخاب زیر دارد:

    - اینکه از روش های حافظه مجازی استفاده شود یا خیر.

    - استفاده از صفحه بندی یا قطعه بندی یا هر دو.

    - الگوریتم های مورد استفاده برای جنبه های مختلف مدیریت حافظه.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  14. 2 کاربر از پست مفید آبجی سپاس کرده اند .


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مقاله: سیستم عامل ( مقاله )
    توسط Admin در انجمن بخش مقالات نرم افزار
    پاسخ ها: 9
    آخرين نوشته: 25th April 2013, 01:33 AM
  2. مقاله: تاریخچه ویندوز (مقاله کامل)
    توسط A.L.I در انجمن ویندوز
    پاسخ ها: 1
    آخرين نوشته: 20th February 2012, 10:48 PM
  3. مقاله: تفاوت سخت افزار و نرم افزار
    توسط آبجی در انجمن بخش مقالات سخت افزار
    پاسخ ها: 0
    آخرين نوشته: 22nd October 2009, 11:30 PM
  4. آموزشی: همه چيز در باره بايوس كامپيوترتان
    توسط matrix در انجمن آموزش سخت افزار
    پاسخ ها: 0
    آخرين نوشته: 1st October 2009, 09:02 AM
  5. پروژه ی کامپیوتر : شبکه های کامپیوتری
    توسط Admin در انجمن پروژه های سخت افزار
    پاسخ ها: 2
    آخرين نوشته: 7th October 2008, 04:57 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •