موضوع :
سیستم عامل های مکینتاش و مایکروسافت
استاد مربوطه :
جناب آقای ابراهیمی
گردآورنده :
الهام جلیلیان
آموزشکده دختران فنی سنندج
سیستم عامل های مایکروسافت و مکینتاش
سیستمعامل های مایکروسافت
سیستمعامل یا سامانه عامل[۱] نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم میسازد که نرمافزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستمعامل خدماتی به برنامههای کاربردی و کاربر ارائه میدهد. برنامههای کاربردی یا از طریق واسطهای برنامه نویسی کاربردی (Application User Interface-APIs) و یا از طرق فراخوانیهای سیستم (system call) به این خدمات دسترسی دارند. با فراخوانی این واسطها، برنامههای کاربردی میتوانند سرویسی را از سیستمعامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرمافزار مثل واسط خط فرمان (Command Line Interface-CLI) یا یک واسط گرافیکی کاربر (Graphical User Interface-GUI) با سیستمعامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستمعامل در نظر گرفته میشود. در سیستمهای بزرگ و چند کاربره مثل یونیکس و سیستمهای شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستمعامل اجرا میشود پیاده سازی میشود.
دلایل ایجاد سیستمعامل
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسکها، چاپگرها، صفحهکلید، صفحهنمایش، واسطهای شبکهای و دیگر دستگاههای ورودی و خروجی تشکیل شدهاست. اگر سیستم یکپارچهای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستمعامل یک لایه نرمافزاری فراهم میکند که وظیفه مدیریت منابع سیستم را از دوش برنامههای کاربردی رهانیده و کار برنامهنویسی را سادهتر مینماید. که با توجه به نسخههای جدید سیستم عاملها که به دلیل بهره مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نمودهاست. در حقیقت سیستمعامل واسط بین سختافزار رایانه و کاربر میباشد.
وظایف سیستمعامل
سیستمعامل دو کار عمده انجام میدهد: در نگرش پایین به بالا، منابع منطقی (مانند فایلها) و منابع فیزیکی (مانند دستگاههای سختافزاری) رایانه را مدیریت و کنترل میکند.
در نگرش بالا به پایین، وظیفه سیستمعامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگیهای سختافزاری رایانه نشوند.
به طور کلی، وظایف سیستمعامل شامل موارد زیر است:
استفاده بهینه تر از منابع و جلوگیری از به هدر رفتن آنها
تخصیص و آزاد سازی منابع
اداره صفها و زمان بندی استفاده از منابع
حساب داری میزان استفاده از منابع
ایجاد امنیت
ایجاد، حذف و اداره فرایندها
ایجاد مکانیسمهای ارتباط بین فرایندها و همگام سازی آنها
مدیریت حافظههای اصلی و جانبی
برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایندها
به اشتراک گذاری منابع (Resource Sharing)
تعیین راهکارهایی برای اداره بن بست (deadlock)ها
جلوگیری از شرایط رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایندها
جلوگیری از گرسنگی (Starvation)
سیستمعاملهای فعلی
در سالهای اخیر رقابت بشتر بین سیستمعاملهای مایکروسافت ویندوز، اپل مک اواس و لینوکس جریان دارد که آماری که در ماه اوت ۲۰۱۰ توسط وبگاه W3Schools به ثبت رسیده حاکی از آن است که هم اکنون ۸۷٫۶ درصد کاربران رایانههای شخصی از سیستمعامل ویندوز استفاده میکنند.
آمار موجود که مربوط به اوت ۲۰۱۰ میباشد به شرح زیر است:
ویندوز ۷ : ۲۲٫۳٪
ویندوز ویستا : ۱۰٫۵٪
ویندوز اکس پی : ۵۳٫۱٪
ویندوز سرور ۲۰۰۳ : ۱٫۳٪
ویندوز ۲۰۰۰ : ۰٫۴٪
مک اواس : ۶٫۷٪
لینوکس : ۴٫۹٪
از سیستمعاملهای مشهور کامپیوترهای شخصی میتوان به اسامی زیر اشاره کرد:
همچنین از سیستمعاملهای موجود روی گوشیهای تلفن همراه نسل جدید میتوان به اسامی زیر اشاره کرد:
تاریخچه
در آغاز
اولین کامپیوترها فاقد سیستمعامل بودند. در اوایل سال ۱۹۶۴ فروشندگان کامپیوترهای تجاری ابزار کاملا گستردهای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دستهای فراهم میکردند. برای مثال کامپیوتر تولید شده توسط UNIVAC.
در ابتدا سیستمعامل روی مین فریمها مستقر میشد و کمی بعد سیستمعامل میکروکامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی میکردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت. چند وظیفهای (اشتراک زمانی) اولین بار در مین فریمها و در ۱۹۶۰ عرضه شد. ابتدا کامپیوترها به اندازه یک زمین فوتبال بودند اما امروزه در کف یک دست جا میگیرند.
مین فریمها
میکرو کامپیوترها
میکروکامپیوترهای اولیه نیاز یا ظرفیت داشتن یک سیستمعامل پیچیده که روی مین فریمها توسعه یافته بود نداشتند.
انواع سیستمعامل
سیستمعامل تک پردازنده
این نوع سیستمعاملها، سیستمعاملهای نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا میشوند.از قبیل XP,Vista,۹۸,Me که بیشتر محصول شرکت مایکرو سافت میباشند.
سیستمعامل شبکهای
این نوع سیستمعاملها، از کنترل کنندههای واسط شبکه و نرمافزارهای سطح پایین به عنوان گرداننده استفاده میکنند و برنامههایی برای ورود به سیستمهای راه دور و دسترسی به فایل از راه دور در آنها به کار گرفته میشود.
سیستمعامل توزیع شده
این سیستمعاملها خود را مانند سیستمعاملهای تک پردازنده به کاربر معرفی میکنند، اما در عمل از چندین پردازنده استفاده میکنند. این نوع سیستمعامل در یک محیط شبکهای اجرا میشود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر بر میگردد سرعت پردازش در این نوع سیستم بسیار بالاست.
سیستمعامل بیدرنگ
از این نوع سیستمهای عامل برای کنترل ماشین آلات صنعتی، تجهیزات علمی و سیستمهای صنعتی استفاده میگردد. یک سیستمعامل بیدرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامههای کاربردی مختص کاربران هستند. یکی از بخشهای مهم این نوع سیستمهای عامل، مدیریت منابع موجود کامپیوتری بگونهای است که یک عملیات خاص در زمانی که میبایست، اجراء خواهند شد , مهمتر اینکه مدیریت منابع بگونه ایست که این عمل در هر بار وقوع, مقدار زمان یکسانی بگیرد.
ویژگیها
اجرای برنامه
وقفهها
دستهبندی وقفهها
برنامه وقفههایی که به دلیل بعضی شرایظ حاصل از یک دستورالعمل بروز میکند. شامل سریز شدن محاسباتی، تقسیم بر صفر، تلاش برای اجرای یک دستورالعمل ماشین غیر مجاز و مراجعه به آدرسی خارج از فضای مجاز کاربر.
زمانسنج وقفهای که توسط زمانسنج داخلی تولید میشود. این وقفه به سیستمعامل اجازه میدهد، بعضی اعمال را به طور مرتب انجام دهد.
ورودی/خروجیوقفههایی که به وسیله کنترل کننده ورودی/خروجی تولید میشود، تا کامل شدن طبیعی یک عمل یا شرایط خطا را اعلام نماید.
نقص سختافزار وقفههایی که با نقص سختافزاری تولید میشود، مثل نقص برق یا خطای توازن حافظه.
حالت حفاظت شده و ناظر
مدیریت حافظه
حافظه مجازی
چند وظیفهای
دسترسی به دیسک و سیستم فایل
راه اندازهای دستگاهها
شبکه
امنیت
مکینتاش (Macintosh) یا مک (Mac) ساخته شرکت رایانهای اپل است که مکینتاش اولیه در تاریخ ۲۴ ژانویه ۱۹۸۴ تولید شدهاست و اولین رایانه شخصی برای Graphical user interface (GUI) بود و در عوض استفاده از موشی با Command line interface کار میکند. در حال حاضر میزان تنوع مکینتاش اپل از مک کوچک (Mac mini) هست تا قویترین Serverها مثل Xserve که همگی ساخته شرکت اپل میباشد. مکینتاش اولیه از موتورولا ۶۸k که از خانواده ریزپردازندهها هستند استفاده میکردند که بعداً تغییر کرد به موتورولا و آیبیام پاور پیسی (Power PC). با حروف اختصاری Mac، محدودهای از کامپیوترهای شخصی که توسط شرکت رایانهای اپل در سال ۱۹۸۴ معرفی گردید. مکینتاش بر روی یک واسط گرافیکی کاربر معروف با استفاده آسان تأکید دارد که کامپیوترهای مبتنی بر مجموعه ریزپردازندههای ۶۸۰۰۰ موتورولا است.
تاریخچه
پروژه مکینتاش از اوایل سال ۱۹۷۹ به وسیله جف راسکین (Jef Raskin) یک کارمند اپل آغاز شد. در سبتامبر ۱۹۷۹ راسکین مجاز شد تا روی پروژه کار کند و در آغاز به دنبال یک مهندس کامپیوتر رفت که بتواند یک شکل اولیه داشته باشند و بعد از چند سال راسکین توانست یک تیم برای ساخت اولین مکینتاش درست کنند که از
تیم
تشکیل شده بودند.
Mac OS که مخفف Macintosh Operating System است، نام تجاری یک سری از سیستمعاملهای دارای واسط گرافیکی کاربر است که توسط شرکت Apple برای کامپیوترهای مکینتاش توسعه داده شدهاند. سیستمعامل Mac عموماً به خاطر رابط گرافیکی خوب خود مشهور شدهاست. این سیستمعامل برای نخستین بار در سال ۱۹۸۴ با کامپیوتر Macintosh ۱۲۸K عرضه شد. نسخههای اولیه Mac OS تنها با کامپیوترهای مکینتاش که بر مبنای Motorola ۶۸۰۰۰ ساخته شده بودند، سازگار بودند در حالیکه نسخههای جدیدتر با کامپیوترهای PowerPC نیز سازگار شدند. اخیراً نیز سیستمعامل Mac OS X با کامپیوترهای Intel x۸۶ سازگار شدهاست. نسخههای مختلف Mac OS نخستین سیستمعامل مکینتاش شامل دو بخش نرمافزاری بود که با نامهای "System"و "Finder" شناخته میشدند که هرکدام از این دو بخش دارای نسخه مخصوص به خود بودند. System ۷٫۵.۱ نخستین نسخهای بود که در آن آرم Mac OS یک قیافه خندان استفاده شده است؛ و نام Mac OS نیز برای اولین بار با Mac OS ۷٫۶ معرفی شد. سیستمعامل Mac OS را میتوان به دو خانواده مختلف سیستمهای عامل تقسیم کرد “Classic” Mac OS که شامل سیستمعامل عرضه شده در سال ۱۹۸۴ و نسخههای بعدی آن تا نسخه Mac OS ۹ میشود.Mac OS X (که حرف "X" معرف عدد رومی ۱۰ است) از اجزای Open Step (توابع API تعریف شده برای یک سیستمعامل شی گرا که هر سیستمعامل مدرنی آن را به عنوان بخشی از هسته خود دارد استفاده میکند. "Classic” Mac OSبا این ویژگی که در آن از خط فرمان استفاده نمیشود شناخته میشود. این سیستمعاملِ کاملاً گرافیکی بسیار مشابه سیستمعامل Commodore GEOS است. با وجود راحتی استفاده از آن، این سیستمعامل دارای کمبودها و نقایصی نیز بود.
کمبودها و نقایص این سیستمعامل
حالت تک پردازشی (البته در نسخههای اولیه این سیستمعامل) یا چند پردازشی اشتراکی (در نسخههای بعدی)، امکان مدیریت حافظه با مقدار محدود، عدم استفاده از حافظه حفاظت شده، و احتمال تداخل با نسخههای جدیدتر سیستمهای عامل دیگری که قابلیتهای جدیدی (نظیر استفاده از شبکه) را فراهم میکنند، از جمله کاستیهای این سیستمعامل به حساب میآیند. نخستین سیستم فایل استفاده شده در Mac OS سیستم فایل مکینتاش (Macintosh File System (MFS)) بود که تنها امکان استفاده از یک سطح پوشه را فراهم میکرد. این سیستم فایل در نسخههای بعدی، با سیستم فایل Hierarchical File System (HFS) سیستم فایل سلسله مراتبی) که دارای ساختار درختی مدیریت فایل بود، جایگزین شد. در رابطه با سیستم فایل سیستمعامل مکینتاش باید به نکته مهمی اشاره کرد که آن را از سیستمهای فایل دیگر سیستمعاملها متمایز میکند. اکثر سیستمهای فایل که توسط DOS، Unix یا دیگر سیستمعاملها استفاده میشوند، به سادگی فایل را بصورت یک سری از بایتهای پیوسته در نظر میگیرند بطوریکه هر فایل نیاز به برنامهای دارد که تشخیص دهد آن فایل حاوی چه اطلاعاتی است. برخلاف این قاعده، MFS و HFS فایل را بصورت دو بخش مجزا (بخش داده و بخش منابع) در نظر میگیرند. بخش «داده» (Data) حاوی اطلاعات مشابه با سیستمعاملهای دیگر است (مثلاً بخش داده میتواند حاوی متن یک سند یا اطلاعات یک فایل تصویری باشد). بخش «منابع»(Resource) شامل دیگر اطلاعات ساختاری مربوط به فایل (مانند تعاریف منوها، گرافیک، صدا، یا کدهای اجرایی) است. یک فایل ممکن است تنها شامل بخش منابع باشد (در حالی که بخش داده آن خالی است)، یا تنها شامل بخش داده باشد (در حالی که بخش منابع آن خالی است) و یا شامل هر دو بخش داده و منابع باشد. یک فایل متنی میتواند متن را در بخش داده فایل و اطلاعات مربوط به نوع فرمت و قالب بندی متن را در بخش منابع فایل ذخیره کند. این کار به این منظور انجام میشود که مثلاً اگر برنامهای با فرمت قالب بندی متن آشنا نبود، حداقل قادر به خواندن خود متن باشد. از طرف دیگر، این تقسیم بندی باعث ناهماهنگی و عدم سازگاری با دیگر سیستمهای عامل میشود؛ با کپی کردن یک فایل از سیستم فایل Mac به سیستم فایلی غیر از Mac بخش منابع فایل از دست میرود. در Mac OS X از ساختار مدیریت حافظه و چند پردازشی کنترل شده مشابه سیستمعامل Unix استفاده شدهاست. این سیستمعامل بر مبنای هسته Mach (Mach kernel) یک هسته کوچک سیستمعامل که در دانشگاه Carnegie Mellon در ایالت پنسیلوانیای آمریکا طی یک پروژه تحقیقاتی درباره محاسبات موازی و توزیع شده ایجاد شدهاست و نسخه BSD سیستمعامل Unix یک سیستمعامل شیءگرا که توسط Steve Jobs در شرکت NeXT ایجاد و توسعه داده شدهاست. سیستم مدیریت حافظه جدید اجازه اجرای برنامههای بیشتری را بطور همزمان میدهد و از بسته شدن برنامههای دیگر در حال اجرا به علت crash کردن یک برنامه جلوگیری میکند. همچنین این سیستمعامل دومین سیستمعامل مکینتاش است که در آن خط فرمان نیز گنجانده شدهاست، هرچند که برای استفاده از این خط فرمان میبایست Terminal Emulator توسط کاربر اجرا شود سیستمعامل Mac OS دارای خط فرمان نبود و نخستین سیستمعامل مکینتاش که دارای خط فرمان بود، سیستمعامل A/UX است که توسعه آن متوقف شدهاست).مشکلات مختلفی باعث شدهاست که Mac OS X نسبت به Mac OS کمتر کاربرپسند باشد و کار با آن مشکل تر باشد. از جمله این عوامل نیاز به سختافزار قوی تر برای اجرای سیستمعامل، عدم ارائه برخی قابلیتهای سیستمعامل که در نسخههای قبلی وجود داشت، و برخی ناسازگاریهای جدی با نسخه قبلی (زیرا درایورهای نوشته شده برای Mac OS سازگار با Mac OS X نیستند) است.