۱.۴ سیستم عاملهای مهم
۱.۴.۱ ویندوز و OS X¶
وقتی در مورد سیستم عاملهای کامپیوتر صحبت میکنیم اکثر مردم به Microsoft Windows فکر میکنند. این برداشت ناشی از این است که امروزه بیشتر رایانههایشخصی با سیستم عامل Windows از پیش نصب شده به فروش میرسند که این به خودی خود بد نیست چرا که خریداران میتوانند بدون دردسر نصب سیستم عامل شروع به کار با کامپیوتر کنند اما از طرف دیگر این یک مشکل محسوب میشود چرا که زندگی را برای سیستم عاملهای دیگر مانند لینوکس سخت میکند.
در واقع تهیهی یک کامپیوتر بدون یک نسخهی از پیش نصب شده ی Windows اصلا کار آسانی نیست- چون مثلا می خواهید فقط از لینوکس بر روی آن استفاده کنید- مگر زمانی که خودتان یک کامپیوتر را اسمبل کنید. از لحاظ تئوری شما باید بتوانید مبلغ بازپرداخت نسخه ی از پیش نصب شده و استفاده نشده ویندوز را از تولید کننده دریافت کنید اما ما کسی را نمیشناسیم که مبلغی دریافت کرده باشد.
ویندوزهای امروزی از نسل Windows NT هستند که حرکتی از سوی Microsoft برای ایجاد یک سیستم عامل با استانداردهای دههی ۱۹۹۰ بود (نسخههای قبلی مانند Windows۹۵ نسخههای گرافیکی گسترش یافتهی سیستم عامل رایج Microsoft در آن زمان، MS-DOC بودند و با وجود استانداردهای آن زمان نسبتا ابتدایی بودند.) نجابت ما را از تعریف و تمجید زیاد از Windows باز میدارد؛ همین گفته کفایت میکند که آنچه از یک سیستم عامل انتظار میرود را برآورده میکند، یک رابط کاربری گرافیکی و پشتیبانی از اکثر دستگاههای جانبی (پشتیبانی بیشتر توسط تولیدکنندهی هر دستگاه به صورت منحصر به فرد ارائه شده است).
تولید Macintosh شرکت Apple از سال ۱۹۸۴ آغاز شده و از آن زمان تا کنون از سیستم عاملی با نام “Mac OS” استفاده میکند. در این سالها Apple تغییرات مختلفی را بر روی پلتفورم (امروزه مکینتاش از لحاظ فنی با ویندوز کامپیوترهای شخصی برابری میکند) و سیستم عامل خود اعمال کرده است که بعضا کاملا افراطی میباشند. تا نسخه ۹ و خود نسخهی ۹ سیستم عامل Mac یک محصول تقریبا ناکارآمد و سست بود که برای مثال تنها پشتیبانی ناقصی را برای اجرای برنامههای مختلف به صورت همزمان فراهم میکرد. سیستم عامل Mac OS X فعلی (X معادل با ۱۰ در اعداد یونانی است نه کاراکتر X ) بر اساس زیر ساختی مرتبط با BSD Unix طراحی شده است و از بسیاری جهات با Linux تفاوتی ندارد.
از فوریه ۲۰۱۲ نام رسمی سیستم عامل Macintosh از "Mac OS X" به "OS X" تغییر کرد. پس اگر گاهی اوقات ما سهوا از نام "Mac OS X" استفاده کردیم، شما منظور ما را متوجه میشوید.
تفاوت شاخص بین Windows و OS X این است که OS X به طور انحصاری با کامپیوترهای Apple فروخته میشود و بر روی کامپیوترهای «معمولی» اجرا نمیشود. این مسئله فراهم کردن سیستمی را که هماهنگی آن بسیار مشهود است برای Apple خیلی آسان میکند. از طرف دیگر Windows باید روی همهی انواع رایانههای شخصی اجرا شود و از مجموعهای بسیار وسیعتر از اجزای سختافزاری پشتیبانی کند که میتوانند به اشکال پیشبینی نشدهای با هم ترکیب شوند. از اینرو کاربران Windows باید با بسیاری از ناسازگاریهایی دست وپنجه نرم کنند که گاهی اوقات رفع آنها مشکل وحتی غیرممکن است. از طرف دیگر شما حق انتخاب وسیعتری برای سختافزار در کامپیوترهای تحت Windows دارید، و در کل قیمتها کمتر گزاف و غیرمنطقیاند.
ویندوز و OS X از اینجهت شباهت دارند که هر دوی آنها نرم افزارهای «مالکانه» هستند: کاربران مجبوراند آنچه را که Microsoft یا Apple در اختیار آنها قرار میدهد را بپذیرند به این معنی که حتی نمیتوانند جزئیات پیادهسازی سیستم را بیازمایند، چه برسد به اینکه در آن تغییراتی ایجاد کنند. آنها مقید به برنامهی زمانبندی به روز رسانی سیستم هستند و اگر تولید کننده چیزی را حذف کند یا با چیز دیگری جایگزین کند، مجبور به پذیرش آن هستند.
با این وجود در اینجا تفاوتی وجود دارد: Apple در اصل یک تولیدکنندهی سختافزار است و فقط به این منظور OS X را فراهم میکند که مردم را به خریدن Mac تشویق کند (به همین دلیل است که OS X برای سیستمهای غیر از Mac قابل استفاده نیست). از طرف دیگر Microsoft، کامپیوتر تولید نمیکند بلکه از طریق فروش نرمافزارهایی مانند Windows که بر روی سیستمهای مختلف اجرا میشوند کسب درآمد میکند. بنابراین سیستم عاملی مانند Linux بیشتر از اینکه برای Apple یک تهدید باشد، برای Microsft یک تهدید است، چرا که بیشتر کسانی که کامپیوترهای Apple را میخرند به این دلیل این کار را میکنند که یک کامپیوتر Apple (مجموعهای کامل شامل سختافزار و نرمافزار) را میخواهند، نه فقط به خاطر اینکه به OS X علاقهی خاصی دارند. اما خود کامپیوترهای شخصی به عنوان یک پلتفورم، در حال رقابت با تبلتها و انواع نوظهور دیگری از کامپیوترها هستند که از Windows به عنوان سیستمعامل استفاده نمیکنند، و این به نوبهی خود Microsoft را به شدت تحت فشار قرار میدهد. Apple به راحتی میتواند فقط با فروش iPhone و iPod به جای Mac تحت این فشار دوام بیاورد در حالی که Microsoft ،با وجود مقادیر زیادی پول در حسابهای بانکیاش، بدون Windows طولی نخواهد کشید که ورشکست میشود.
۱.۴.۲ لینوکس¶
لینوکس سیستمعاملی است که ابتدا از روی کنجکاوی لینوس توروالدز به وجود آمد، اما بعد از آن نیز به زندگیاش ادامه داد. (اکنون، بسیاری از توسعه دهندگان نیز (نه تنها دانشجویان و کسانی که برای سرگرمی این کار را میکردند، بلکه متخصصان شرکتهایی مثل IBM ،Red Hat و Oracle) در حال توسعهی آن هستند). لینوکس از یونیکس الهام گرفته شد، سیستمعاملی که در دههی ۱۹۷۰ در آزمایشگاههای Bell از شرکت AT&T توسعه داده شد و سپس به سمت کامپیوترهای کوچک هدایت شد (در بالا میتوانید معنی «کوچک» را متوجه شوید). یونیکس به سرعت تبدیل به سیستم عاملی ارجح برای پژوهش و تکنولوژی شد. عموما لینوکس از همان راهکارها و ایدههای اساسی یونیکس بهره میبرد و بسیار آسان میتوان نرمافزارهای یونیکس را روی لینوکس اجرا کرد، اما خود لینوکس حاوی کدهای یونیکس نیست بلکه پروژهای مستقل است. برخلاف Windows و OS X لینوکس توسط یک شرکت اختصاصی پشتیبانی نمیشود و موفقیت اقتصادی آن شرکت منوط به موفقیت لینوکس نیست. لینوکس «به صورت آزاد در دسترس» است و میتواند توسط هر کسی استفاده شود- حتی برای مقاصد تجاری - به شرطی که وی به قواعد بازی پایبند باشد (که به طور خلاصه در فصل بعد به تفصیل در مورد آن پرداخته شده است). این مساله در کنار این واقعیت که امروزه لینوکس دیگر نه فقط بر روی کامپیوترها شخصی ، بلکه در شکلی اساسا یکسان روی انواع پلتفورمها، از تلفن های همراه گرفته (مشهورترین سیستمعامل گوشیهای هوشمند، اندروید که شاخهای از لینوکس است) تا بزرگترین کامپیوترها (سریع ترین ده کامپیوتر دنیا همگی از لینوکس به عنوان سیستم عامل استفاده میکنند)، اجرا میشود، لینوکس را به تطبیقپذیرترین سیستم عامل در تاریخ رایانش مدرن بدل میسازد.
لینوکس صرفاً یک هسته سیستم عامل است که کنترل تخصیص منابع به برنامهها و خدمات را بر عهده دارد. از آنجاییکه سیستم عامل بدون برنامههای کاربردی زیاد کاربردی ندارد است معمولاً یک توزیع از آن بر روی سیستم نصب میشود، که یعنی بستهای (package) شامل گزیدهای از برنامههای کاربردی ، خدمات، اسناد و سایر موارد مفید برای لینوکس که هماهنگ اند. نکتهی جالب این است که توزیعهای لینوکس مانند خود آن «آزادانه» و بنابراین به صورت رایگان یا با هزینه بسیار اندک در دسترس هستند. این مساله این امکان را فراهم میآورد که یک سیستم را به نرم افزارهایی مجهز کنیم که تهیه مشابه آنها در Windows و OS X هزاران دلار هزینه دربردارد و شما فقط به این دلیل که توزیع لینوکس خاصی را روی تمام کامپیوترهایتان به علاوهی کامپیوتر عمّه فردوس و دوستهایتان، بهراد و مائده نصب کرده اید متحمّل ریسک درگیر شدن با محدودیتهای مربوط به مجوزها نمیشوید. اطلاعات بیشتر در مورد لینوکس و توزیعهای آن در فصل ۲ وجود دارد.
۱.۴.۳ تفاوتها و شباهتها¶
در واقع سه سیستم عامل بزرگ- لینوکس، Windows و OS X تنها در جزئیات آنچه به کاربران ارائه میشود تفاوت دارند. هر سه آنها یک واسط گرافیکی کاربر (GUI) را ارائه میدهند که به کاربر اجازه میدهد که از طریق روشهای ساده مانند «کشیدن و رها کردن» فایلهای خود را مدیریت کند. بسیاری از برنامههای محبوب برای هر سه سیستم عامل دردسترس هستند، بنابراین این که شما از کدام یک از آنها استفاده میکنید در پایان روز بیاهمیت میشود تا زمانی که شما وقت زیادی را در مرورگر وب، بستهی Office یا برنامهی چک کردن صرف میکنید. این یک مزیت است زیرا مهاجرت تدریجی از یک سیسستم به سیستم دیگر را امکانپذیر میسازد. در هر سیستم عامل علاوه بر رابط گرافیکی کاربر، راهی برای استفاده از «خط فرمان» به منظور وارد کردن دستورات متنی ارائه میدهند. در Windows و OS X این ویژگی اغلب توسط مدیران سیستم استفاده میشود در حالی که کاربران عادی تمایل دارند از آن اجتناب میکنند- مسالهای که بستگی به فرهنگ آنها دارد. از طرف دیگر در لینوکس خط فرمان کمتر طرد شده، که این ممکن است با سبقهی آن که به فلسفه علمی/فنی یونیکس برمیگردد مرتبط باشد. در واقع، بسیاری از کارها توسط خط فرمان راحت تر و کارآمدتر انجام میشوند مخصوصاً با ابزارهای قدرتمندی که لینوکس (و واقعا همچنین OS X) فراهم میکند. به عنوان یک کاربر مبتدی لینوکس، بهتر است خط فرمان را باز کرده و نقاط ضعف و قدرت آن را پیدا کنید همان طور که باید نقاط ضعف و قدرت محیط گرافیکی را پیدا متوجه شوید. ترکیب کردن هر دو مورد به شما بیشترین مهارت را میدهد.