انواع سیستم های عامل

نمونه ای از سیستم های عامل توزیع شدهسلام و صد سلام! امیدوارم صحیح و سلامت باشین. امروز میخوام درمورد انواع سیستم های عامل باهاتون صحبت کنم. همونطور که توو پست قبلی گفتم، سیستم عاملا جوری پیشرفت کردن که تونستن کامپیوترای شخصی رو ساپورت کنن ولی، این تازه اول ماجراس. سیستم عاملا الان همه جا تقریبا حضور دارن:) میگی خب کجا؟ الان میگم خدمتون. سیستم های بلادرنگ و تعبیه شدهسیستم های عاملی که تو صنایع مختلف، توو محیط های نظامی، تجهیزات پزشکی، فضایی و ربات ها یه مدل خاصین که شامل دو گروه میشن: سیستم های بلادرنگ و تعبیه شده( توکار )سیستم های بلادرنگ برای هر فرایند یک ددلاین مخصوصی رو درنظر میگیره که حتما حتما باید اون فرایند تو این تایم کاراش رو انجام بده وگرنه ممکنه فاجعه پیش بیاد! افرادی که این سیستم ها رو میسازن باید تضمین کنند که مدت زمان تمامی فرایند ها چقدره؟ ایا بموقع است؟ آیا تو این مهلت تعیین شده نیاز ما رو جواب میده و.. که خب این سوالات خیلی تو سیستم های اشتراک زمانی مطرح نمیشن. واقعیتش برای ما کاربرهای بی قرار کامپیوتر های شخصی، مهلت زمانی اونقد مهم نیس که واسه یه مریضی که زیر نظر یه ربات جراح هست، مهمه. سیستم های بلادرنگ خودشون به دو قسمت تقسیم میشن: بلادرنگ سخت ‌و بلادرنگ نرم. بلادرنگ سخت مثل همون ربات جراح که امکان خطاش باید 0 باشه و بلادرنگ نرم مثل سیستم های چند رسانه ایی، که اینجام اولویت های بالا داریم ولی امکان خطا وجود داره. چون دیسک ها کند هستن، خیلی از این سیستم ها استفاده نمیشه، همچنین رفتار سیستم ۱۰۰ درصد قطعیه و از حافظه های مجازی استفاده نمیشه (ایشالله میگم واستون حافظه مجازی چیه)سیستم های تعبیه شده یا embedded systems فوق العاده این روزا همه گیر شدن. مثلا همین ماشین لباسشویی خونتون یه سیستم عامل کوچیک داره که موجب میشه لباسا شسته بشن. اکثر وسایل خانگی سیستم های تعبیه شده دارن که سخت افزارشون یه بورد یا یه تراشه ریز هست. تو این سیستم ها مُد کاربر و مُد هسته نداریم و سریع کار موردنظر انجام میشه و این مراحلو نیاز نیس پیش بریم.سیستم های چند پردازنده و چند کامپیوتریاین سیستم ها که خودشون جزو سیستم های مشهور( Multiple Instructions Multiple Data) یا MIMD حساب میشن که یعنی سیستم هایی با چندین پردازنده هرکدوم یه دسته کارها رو روی دیتاهای مجزا و متفاوت انجام میدن. این سیستم ها با باس ها و ارتباطات محکم به یک حافظه ی اشتراکی وصل میشن و کاراشونو انجام میدن. اگه این حافظه ها هم مجزا باشن، سیستم ها چند کامپیوتری میشن. توان عملیاتی این سیستم ها بالاست و طبیعتا تعداد کارهای بیشتری رو تو واحد زمان میتونن انجام بدن، قابلیت اطمینان سیستم ها بالاست و از لحاظ اقتصادی هم به صرفه اس. (چون منابع رو به اشتراک میزارن) از مشکلاتشون هم میتونیم به پیچیدگی زیادشون تو همگام سازی فرایندهای هرپردازنده و مشکلات مدیریت حافظه اشاره کنیم.سیستم عامل های شبکه ایاین سیستم عامل ها خیلی جالبن، یعنی میان یه سرور میزارن تو یه شبکه ی lan، بعد همه کامپیوترا رو به هم وصل میکنن و دیگه نیاز نیس مثلا یه نوع فایل روی همه دستگاه ها باشه و فقط رو سرور بزاریمش کافیه. اینجا کاربر ها میدونن چه کامپیوتر هایی تو شبکه وجود داره. البته سیستم عامل ها، اینجا، فرقی با سیستم عامل کامیپوترهای تک پردازنده نداره و کافیه یه سری برنامه واسه ارتباط کامپیوترها باهم داشته باشیم. البته اینقد هم گل و بلبل نیستن،ممکنه به کلی مشکلات امنیتی و حفاظتی بربخورن که برقراری چنین حفاظت هایی سخت و هزینه بر هست.سیستم عامل های توزیع شدهاین سیستم عاملا از سیستم عامل های شبکه ای به وجود اومدن ولی فرقشون چیه؟ اینکه اینجا کاربرا اصلا از دست های پشت پرده با خبر نیستن، یعنی نمیفهمن فایلا از کدوم سیستم دارن به دست من میرسن، چی شد اصلا فایل به دست من رسید. کلا خیلی سعی شده کاربر احساس راحتی داشته باشه:)) اینجاها بود که میان افزار ها به وجود اومدن که بحثش طولانیه ولی بخوام یک مثال از میان افزار بزنم، وب یه نوع میان افزاره..مشکلات distributed system ها زیاده ماشالله، اولا خیلی ساخت چنین سیستم هایی پیچیده اس، از لحاظ امنیتی هم ممکنه به دردسر بیفتیم. ولی خب یه سری خوبیاش میچربه به سختیاش، اینکه میتونیم هرچقدر بخوایم بزرگ کنیم سیستم رو( scalable) و توو حوزه ی بیگ دیتا فوق العاده پرکاربرده.. همه ی شبکه های اجتماعی باید چنین زیرساخت سیستم عاملی رو برا خودشون ایجاد کنن تا مخاطباشونو کنترل کنن و خب..:) فهمیدین فک کنم چقد مهمه.مرسی وقت گذاشتین خوندین.تا دیدار بعد، بدرود.