سیستم عامل سه

سیستم عامل سه

در دهه ۱۹۹۰ تا ۲۰۰۰، با رواج کامپیوترها و معرفی آنها به محیط‌های خانگی و اداری، رابط‌های کاربری گرافیکی و سیستم‌های عامل مانند ویندوز ۹۵ (Coleman, ۱۹۹۵)، سیستم عامل Mac (Hertzfeld, ۲۰۰۴) و توزیع‌های مختلف لینوکس ظاهر شدند (Torvalds & Diamond, ۲۰۰۱).

 

در حال حاضر در دهه ۲۰۱۰-۲۰۲۰، با رواج دستگاه های تلفن همراه هوشمند و افزایش قدرت محاسباتی، سیستم عامل های تلفن همراه مانند BlackberryOS (McFadden 2013) iOS (Levy، 2014) یا Android (Choffnes، 2020) همراه با سیستم عامل های دسکتاپ بعدی مانند Windows ۱۰، macOS Big Sur یا Android ۱۱ ظاهر شدند که ویژگی هایی را معرفی کردند.
مانند دستیارهای مجازی، واقعیت افزوده و یادگیری ماشینی.
در بخش‌های بعدی، عملکردهای اساسی یک سیستم‌عامل توضیح داده شده است.


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

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


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


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


Blocked هنگامی که فرآیندی در انتظار رخ دادن یک رویداد است، مانند تکمیل یک عملیات I/O، در حالت Blocked قرار دارد. فرآیند برای اجرا واجد شرایط نیست (به عنوان مثال، وضعیت قبلی) تا زمانی که رویداد معلق رخ دهد و حل شود. پس از حل شدن، فرآیند به حالت آماده برمی گردد.
Terminated هنگامی که اجرای یک فرآیند به پایان می رسد، در حالت پایان یافته است.