سیستم عامل

دانلود pdf سیستم های عامل کمیاب و عالی

سیستم های عامل هسته اصلی هر سیستم کامپیوتری مدرن را تشکیل می‌دهند که مدیریت منابع سخت‌افزاری و نرم‌افزاری را بر عهده دارند. تعریف این سیستم‌ها فراتر از یک نرم‌افزار صرف است؛ آن‌ها واسطی میان کاربر و سخت‌افزارند و وظایف حیاتی متعددی از جمله مدیریت عملیات ورودی/خروجی (I/O) را انجام می‌دهند.

شماره فایل : 1316639229
 سیستم های عامل

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

دانلود pdf سیستم های عامل کمیاب و عالی

تاریخچه سیستم‌های عامل، از نسل اول کامپیوترها که با مشکلات جدی در هدر رفتن منابع مواجه بودند، آغاز می‌شود. با ظهور نسل دوم، روش‌های جدیدی برای حل این مشکلات مانند اسپولینگ (Spooling) معرفی شد که ضمن افزایش بهره‌وری، مزایا و معایب خاص خود را به همراه داشت.

با گذر به نسل سوم کامپیوترها، مفهوم موازی‌سازی (Parallel) و سازماندهی پیچیده‌تر، از جمله چندبرنامگی دسته‌ای (Batch Multiprogramming) و رویکردهای غیرپیشگیرانه (Non Preemptive) پدیدار گشت. این نسل گام‌های بزرگی در بهبود استفاده از منابع برداشت.

نوع فایل: پی دی اف – 212 صفحه

فهرست مطالب:

  • تعریف سیستم عامل
  • وظایف سیستم عامل
  • واسط کاربر ومنابع
  • توضیح درباره جنبه واسط بودن سیستم عامل
  • نگاهی اجمالی به عملیات I\O
  • مراحل باز کردن یک فایل ونوشتن در آن
  • بررسی سیستم عامل به عنوان Resource management
  • انواع منبع
  • وظایف سیستم عامل در حوزه مدیریت منابع
  • انواع مدها
  • تاریخچه سیستم های عامل
  • نسل اول کامپیوترها
  • ابراد سیستم عامل های نسل اول
  • نسل دوم کامپیوترها
  • حل مشکل هدر رفتن منابع در نسل اول
  • تعریف Spool
  • مزایای Spooling
  • معایب Spooling
  • تعریف Parallel
  • نسل سوم کامپیوترها
  • سازمان کامپیوترهای این نسل
  • چگونگی اطلاع یافتن از وضعیت بافر
  • تفاوت busy waiting Pooling
  • مراحل وقفه
  • پیدایش وساخت Terminal ها
  • نسل چهارم کامپیوترها
  • سیستم عامل های توزیع شده
  • تفاوت های سیستم های Nos و Dos
  • شفافیت Transparency
  • آشنایی با چند نوع سیستم عامل خاص
  • MultiProcessing System
  • Embedded operating systems
  • سیستم عامل های بلادرنگ
  • وقفه های سیستمی
  • انواع وقفه ها
  • تفاوت اصلی وقفه های سخت افزاری ونرم افزاری
  • انواع وقفه های سخت افزاری
  • انواع وقفه های نرم افزاری
  • تفاوت exeption Systemcall
  • روند تبدیل job به فرایند
  • توضیحاتی در مورد یونیکس
  • فایل ها
  • فراخوان سیستمی برای مدیریت فرایند
  • ساختارسیستم عامل
  • ساختار Monolithic
  • ساختارهای لایه ای
  • ماشین مجازی
  • مدل مشتری خدمتگزار
  • چهار وظیفه هسته
  • فصل دوم
  • فرآیندها
  • ایجاد فرایند
  • اتمام فرایند
  • وضعیت های مختلف فرایندها
  • مراحل تعویض متن
  • وظایف OS در قبال عملیات Switch
  • نخ ها
  • فواید چند نخی
  • ایجاد – حذف واداره نخ ها برعهده کیست
  • مزایای نخ های سطح کاربر
  • معایب نخ های سطح کاربر
  • مزایای نخ های سطح هسته
  • معایب نخ های سطح هسته
  • نخ های سطح کاربر وهسته
  • ارتباط بین فرایند ها با ارتباط بین نخ ها
  • همگام سازی
  • همگام سازی Critical Section
  • شرایط رقابتی
  • انحصارمتقابل، دونه دو ناسازگاری، مانعه الجمعی
  • راه حل ها
  • از کارانداختن وقفه ها
  • متغیر قفل
  • تناوب قطعی
  • راه حل پترسون
  • راه حل TSL
  • ایرادات این روش
  • مشکل Busy waiting
  • اولویت معکوس چیست
  • خوابیدن و بیدار کردن
  • مسئله تولید کننده و مصرف کننده
  • سمافورها
  • عملکرد سیگنال Wake up
  • تفاوت سمافور با سیگنال های wakeup sleep
  • حل مسئله تولیدکننده – مصرف کننده با استفاده از سمافور
  • مانیتور
  • تفاوت سمافور با wait signal مانیتور
  • تبادل پیام
  • دیدگاه اول Blocking
  • دیدگاه دوم Buffering
  • دیدگاه سوم ، قرار ملاقات
  • حل مسئله تولیدکننده – مصرف کننده با استفاده از پیام
  • زمانبندی
  • گروه بندی الگوریتم های زمانبندی
  • معیار های زمانبندی
  • معیار های عمومی
  • معیار های کمی
  • سیستم های تعاملی
  • الگوریتم های سیستم های دسته ای
  • زمانبندی First come First set FCFS
  • خصوصیات این زمانبندی
  • الگوریتم Shortest Job First SJF
  • مشکلات این الگوریتم
  • مزیت این الگوریتم
  • Shortest Remaining Time
  • الگوریتم HRN highest Response Ratio Next
  • زمانبندی سیستم های تعاملی
  • زمانبندی نوبت گردشی Round Robin
  • خصوصیات این الگوریتم
  • الگوریتم های اولویت
  • انواع مکانیزم ها
  • صف های چند گانه
  • اهداف الگوریتم
  • الگوریتم زمانبندی تضمین شده
  • الگوریتم های بخت آزمایی Lottery
  • مزیت های این الگوریتم
  • زمانبندی سوم عادلانه
  • زمانبندی بلادرنگ
  • کارهای بلادرنگ
  • دسته بندی دیگر
  • سیستم های متناوب
  • الگوریتم نرخ یکنواخت Rate Mono Tonic Algorithm
  • الگوریتم ابتدا زود ترین مهلت EDF
  • الگوریتم کمترین سستی Least Laxity
  • زمانبندی نخ
  • فصل سوم
  • انواع روش های محاسبه Seek Time
  • محاسبه Rotational Latency
  • محاسبه transfer time
  • آرایه افزونه ای از دیسک های مستقل
  • شبیه سازی دیسک روی رم
  • الگوریتم های زمانبندی بازوی دیسک
  • مزایای الگوریتم آسانسور
  • چسبندگی
  • راه حل های پیشنهادی برای حل مشکل چسبندگی
  • بن بست یا Dead Lock
  • انواع منابع
  • شرایط بن بست
  • چهار شرط زیر برای وقوع بن بست منابع لازم و کافی است
  • گراف تخصیص منابع
  • استراتژی برخورد با بن بست
  • بررسی بیشتر الگوریتم کشف و ترمیم
  • پیشگیری از بن بست
  • روش های پیشگیری بن بست
  • شرط اول – انحصار متقابل
  • شرط دوم – نگهداری و انتظار
  • شرط سوم – انحصاری
  • شرط چهارم – انتظار چرخشی
  • اجتناب از بن بست
  • الگوریتم بنکر برای یک منبع منفرد
  • پارامترها و تعاریف
  • الگوریتم بنکداری منابع چند گانه
  • محاسبه تعداد مسیر های امن
  • فصل چهارم
  • مدیریت حافظه
  • هدف از مدیریت حافظه
  • انواع سیستم های مدیریت حافظه
  • سیستم های مدیریت حافظه – دسته اول – تک برنامه ای
  • سیستم های مدیریت حافظه – دسته اول – چند برنامه ای با پارتیشن های ثابت
  • تکه تکه شدن Fragmentation
  • معایب چند برنامه ای با پارتیشن های ثابت
  • روش های قراردادن فرایند در حافظه
  • مشکل جابجایی
  • مشکل حفاظت
  • روش حل مشکل جابجایی
  • پیشنهاد IBM برای حل مشکل حفاظت
  • روش رجیسترهای حد و پایه
  • وظایف CPU
  • سیستم های مدیریت حافظه – دسته اول – روش Swapping – مبادله – پارتیشن بندی پویا با پارتیشن
  • بندی متغیر
  • معایب Swapping
  • تکنیک های مدیریت حافظه
  • تکنیک ها با الگوریتم های تخصیص حافظه
  • مقایسه الگوریتم های تخصیص حافظه
  • صفحه بندی
  • تفاوت page segment
  • تعاریف همسان
  • جداول صفحه
  • ساختار درایو جداول صفحه
  • مشکلات Paging
  • جمع بندی مشکلات Paging
  • چگونه این مشکلات را حل کنیم
  • برای کوچک کردن اندازه جدول صفحه دو راه پیشنهاد شده است
  • برای افزایش سرعت ترجمه آدرس پیشنهاد زیر داده شده است
  • جداول دو سطحی
  • مدیریت نرم افزاری TLB
  • جداول وارونه
  • خصوصیات
  • الگوریتم های جایگزینی صفحه
  • پیاده سازی LRU با Link List
  • مشکل
  • پیاده سازی LRU بوسیله time
  • پیاده سازی LRU با 64Bit Counter
  • مشکلات
  • روش کنکوری الگوریتم های قبل
  • نکات طراحی سیستم های صفحه بندی
  • سیاست های تخصیص
  • دو تعریف مهم
  • الگوریتمهای پشته
  • قطعه بندی Segmentation
  • ایرادهای صفحه بندی
  • مزایای این روش
  • چهار خاصیت قطعه بندی
  • ایرادات قطعه بندی
  • قطعه بندی به روایت دکتر حقیقت
  • ترکیب صفحه بندی با قطعه بندی
  • آدرس مجازی در ترکیب قطعه بندی و صفحه بندی
  • ترکیب قطعه بندی و صفحه بندی با جداول دو سطحی
  • چند قانون
  • محاسبه زمان های دسترسی به حافظه

قیمت: 125/500 تومان

پشتیبانی : 09307490566

در این دوران، چگونگی اطلاع از وضعیت بافر، تفاوت انتظار فعال (Busy Waiting) با نظرسنجی (Polling)، و مراحل دقیق وقفه‌ها اهمیت یافت. پیدایش پایانه‌ها (Terminals)، مدیریت زمان پاسخ (Response Time)، هم‌رسانی زمان (Time sharing) و استفاده از تایمرها، از نوآوری‌های کلیدی این نسل بود.

نسل چهارم سیستم‌های عامل با توسعه سیستم‌عامل‌های توزیع شده، رویکردی نوین در معماری محاسباتی ارائه کرد. تفاوت‌های اساسی بین سیستم‌های شبکه (NOS) و سیستم‌های عامل توزیع شده (DOS)، به همراه مفهوم شفافیت (Transparency)، از ویژگی‌های بارز این دوره است؛ سیستم های عامل در این نسل، انواع خاصی نظیر سیستم‌های چندپردازشی، نهفته (Embedded) و بلادرنگ (Real-time) را نیز شامل شدند.

وقفه‌های سیستمی، به عنوان یک مکانیزم حیاتی، در انواع سخت‌افزاری و نرم‌افزاری دسته‌بندی می‌شوند که تفاوت‌های بنیادینی دارند. در کنار آن، استثنائات (Exception) و فراخوان‌های سیستمی (System Call) نقش مهمی در ارتباط برنامه‌ها با هسته سیستم عامل ایفا می‌کنند و روند تبدیل شغل (Job) به فرایند را تسهیل می‌بخشند.

یونیکس به عنوان یک سیستم عامل تأثیرگذار، مفهوم فایل‌ها و فراخوان‌های سیستمی برای مدیریت فرایند را توسعه داد. ساختار سیستم عامل‌ها در این مرحله شامل رویکردهای یکپارچه (Monolithic)، لایه‌ای، ماشین مجازی، اگزوکرنل (Exokernel) و مدل مشتری-خدمتگزار شد که هر یک چهار وظیفه اصلی هسته را به نحوی متفاوت سازماندهی می‌کنند و در توسعه سیستم های عامل نقش کلیدی داشتند.

فرایندها به عنوان واحدهای اجرایی اصلی در سیستم عامل، چرخه‌ای از ایجاد و اتمام دارند؛ در این میان، فرایندهای یتیم (Orphan Process) وضعیت‌های خاصی را تجربه می‌کنند. مدیریت وضعیت‌های مختلف فرایندها و مراحل تعویض متن (Context Switching) به همراه وظایف سیستم عامل در قبال این عملیات، کارایی سیستم را تضمین می‌کند.

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

همگام‌سازی اجزای مختلف سیستم از اهمیت ویژه‌ای برخوردار است، به ویژه در بخش‌های بحرانی (Critical Section) که شرایط رقابتی (Race Condition) و انحصار متقابل ممکن است رخ دهد. راه‌حل‌های متعددی نظیر از کار انداختن وقفه‌ها، متغیر قفل، تناوب قطعی، راه‌حل پترسون و TSL برای رفع این مشکلات پیشنهاد شده‌اند؛ این راهکارها به همراه مفهوم انتظار فعال (Busy Waiting) و اولویت معکوس، همچنین مکانیزم‌های خوابیدن و بیدار کردن، به حل مسئله تولیدکننده و مصرف‌کننده کمک می‌کنند.

سمافورها، به عنوان ابزاری قدرتمند برای همگام‌سازی، با عملکرد سیگنال بیدارباش (Wake up)، تفاوت‌هایی اساسی با سیگنال‌های خواب و بیدارباش مانیتورها دارند. استفاده از سمافورها و مانیتورها، و نیز تبادل پیام با دیدگاه‌های مسدودسازی (Blocking)، بافرینگ (Buffering) و قرار ملاقات، راهکارهای مؤثری برای حل مسئله تولیدکننده و مصرف‌کننده ارائه می‌دهند.

زمان‌بندی فرایندها، که الگوریتم‌های آن به دسته‌های مختلفی گروه‌بندی می‌شوند، بر اساس معیارهای عمومی و کمی سنجیده می‌شود. در سیستم‌های دسته‌ای، الگوریتم‌هایی نظیر اولین وارد، اولین خدمت (FCFS)، کوتاه‌ترین شغل اول (SJF)، کوتاه‌ترین زمان باقی‌مانده (SRT) و بالاترین نسبت پاسخ بعدی (HRN) با خصوصیات و مشکلات خاص خود به کار گرفته می‌شوند.

در سیستم‌های تعاملی، زمان‌بندی نوبت گردشی (Round Robin)، الگوریتم‌های اولویت‌محور و صف‌های چندگانه برای بهینه‌سازی پاسخ‌دهی استفاده می‌شوند. زمان‌بندی تضمین‌شده، بخت‌آزمایی (Lottery) و سهم عادلانه، رویکردهای نوینی برای تقسیم عادلانه منابع ارائه می‌دهند.

همچنین زمان‌بندی بلادرنگ با کارهای بلادرنگ متناوب، الگوریتم‌های نرخ یکنواخت (Rate Monotonic)، ابتدا زودترین مهلت (EDF) و کمترین سستی (Least Laxity) را در بر می‌گیرد، و در نهایت زمان‌بندی نخ‌ها تکمیل‌کننده این مباحث است.

مدیریت دیسک شامل روش‌های محاسبه زمان جستجو (Seek Time)، تأخیر چرخشی (Rotational Latency) و زمان انتقال (Transfer Time) است که برای بهبود عملکرد دیسک حیاتی هستند.

آرایه‌های افزونه‌ای از دیسک‌های مستقل (مانند RAID) و شبیه‌سازی دیسک روی رم (RAM Disk)، همراه با الگوریتم‌های زمان‌بندی بازوی دیسک نظیر آسانسور (Elevator Algorithm)، تلاش می‌کنند تا مشکلات چسبندگی را حل کنند؛ همچنین مفهوم بن‌بست (Deadlock) و شرایط وقوع آن، به همراه گراف تخصیص منابع، یکی از چالش‌های مهم در طراحی و عملکرد سیستم های عامل است.

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

مدیریت حافظه با هدف بهینه‌سازی استفاده از حافظه اصلی، انواع سیستم‌های تک‌برنامه‌ای و چندبرنامه‌ای با پارتیشن‌های ثابت را در بر می‌گیرد که هر یک با مشکلاتی نظیر تکه‌تکه شدن (Fragmentation)، جابجایی (Relocation) و حفاظت (Protection) مواجه‌اند.

روش‌هایی مانند مبادله (Swapping) و الگوریتم‌های تخصیص حافظه (First Fit, Best Fit, Worst Fit) و همچنین صفحه‌بندی (Paging) با جداول صفحه، مشکلات و راهکارهای متعددی دارند.

الگوریتم‌های جایگزینی صفحه مانند (Optimal, NRU, FIFO, LRU) و مفهوم تراشینگ (Thrashing)، به همراه قطعه‌بندی (Segmentation) و ترکیب صفحه‌بندی با قطعه‌بندی، برای بهبود دسترسی و حفاظت حافظه طراحی شده‌اند؛ محاسبه زمان‌های دسترسی به حافظه، ارزیابی این رویکردها را تکمیل می‌کند که همگی از اجزای کلیدی در طراحی سیستم های عامل هستند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *