afshinnova 2 دیدگاه

لینوکس و برتری آن نسبت به ویندوز قسمت اول

 

زندگی امروزی متکی بر فناوری اطلاعات و دانش است که هر لحظه به خطر اوردن جریان اطلاعات و دانش منجر به بروز خسارت های تجازی جبران ناپذیری خواهد شد. امروزه همه به دنبال یک سکوی امن تر برای اجرای برنامه های کاربردی و سرویس دهنده ها هستند . لینوکس از نظر پایداری سرعت و امنیت حرفایی برای گفتن دارد همچنین قابلیت هایی که در ویندوز وجود ندارد و یا فقط با اضافه کردن نرم افزارهای اضافی قابل دسترسی می باشند.

از ابتدا لینوکس برای محیط های شبکه ای و چند کاربره طراحی شده است و همین باعث رعایت مسائل  امنیتی از آغاز در آن شده.درحالی که ویندوز اینگونه نبوده و در حال حاضر هم ویندوز دارای ضعف امنیتی فراوانی است.

بطور مثال اگر یک برنامه مخرب با استفاده از این ضعف های امنیتی می تواند کل سیستم عامل را نابود کند در حالی که در لینوکس مورد مشابهی پیش بیاید حداکثر به دایرکتوری خانگی کاربر آسیب می رساند.

  • یک مقدمه کوتاه

از مهم ترین زیر ساختهای توسعه در کشور های دنیا فناوری اطلاعات است . رشد روز افزون این فناوری باعث ایجاد یک شکاف در بین کشور های توسعه یافته و درحال توسعه می شود. مقوله  نرم افزار آزاد / متن باز تاثیر بسزای در رشد فناوری اطلاعات گذاشته است. این جنبش  پس از سال ها تلاش در راستای آزادی نرم افزار  در سراسر دنیا امروزه به رشد و بالندگی رسیده و باعث پیشرفت و تحولی عمیق در حوزه فناوری اطلاعات شده است.

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

  • نرم افزار آزاد و متن باز

FOSS مخفف عبارت Free Open Source Software است به معنی نرم افزار آزاد و متن باز به دلیل استفاده آزاد و رایگان و اشتراک گذاری آزاد و رایگان و با نرم افزارهای اختصاصی تفاوت دارد.

ریچارد استالمن  در سال ۱۹۸۳ با راه اندازی جنبش نرم افزار آزاد آن را شروع کرد و بعد در سال ۱۹۸۵ با تاسیس بنیادی با نام بنیاد نرم افزار آزاد هر برنامه برای اینکه آزاد شناخته شود باید چهار حق را برای دیگران قائل باشد.

  • آزادی اجرای برنامه برای هرکاری ( آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن ( پیش نیاز : سورس کد برنامه ) ( آزادی یکم)
  • آزادی تکثیر و کپی برنامه ( آزادی دوم)
  • آزادی در تقویت و بهتر کردن برنامه و توزیع آن برای همگان ( پیش نیاز : سورس کد برنامه ) (آزادی سوم)

برای مثال شخصی یک برنامه آزاد را دریافت کند و آن را تغییر بدهد و در اختیار دیگران قرار دهد این کار را باید به شکل آزاد انجام دهد. نرم افزار های بسته مانند ویندوز و فتوشاپ از قانون تولید کننده حمایت میکند. ولی اگر قرار باشد قانون همین حمایت را از نرم افزار های آزاد انجام دهد نیازمند متن قانونی به GPL است. GPL یا اجازه نامه عمومی  یک متن قانونی است که اگر نرم افزاری اشاره کند این برنامه بر اساس مجوز GPL منتشر شده موظف است حقوق مولف را در مورد آن تضمین کند.

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

 

 

  • سیستم عامل

سیستم عامل همانطور که می دانید برنامه ای است که با سخت افزار شما ارتباط مستقیم دارد و امکان اجرای برنامه های کاربردی بر بستر سخت افزار را ممکن میسازد. سیستم عامل های زیادی در دنیا طراحی و پیاده سازی شده اند که متداول ترین آنها

  1. ویندوز : این سیستم عامل توسط شرکت مایکروسافت ارائه شده و دارای یک رابط گرافیکی برای استفاده آسان کاربران از آن دارا است.
  2. Mac OS X : این سیستم عامل توسط شرکت اپل ارائه شده است و روی کامپیوتر های مکینتاش استفاده میگردد .

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

  • لینوکس

لینوکس تنها یک هسته ( Kernel) و با همان وظایف گفته شده است. بسیار کم پیش می آید در کاربرد روزانه ی خود با خود هسته لینوکس سر و کار داشته باشید. هسته نقش اصلی را در سیستم عامل برعهده دارد. در کار با کامپیوتر سیستم عامل اهمیت بالایی دارد از این رو استالمن تصمیم گرفت یک سیستم عامل آزاد بنویسد. سیستم عاملی که هر کس بتواند برای کاری که می خواهد از آن استفاده کند آن را بهبود بخشد و با دیگران به اشتراک بگذارد. نام این پروژه GNU گذاشتند.

بهترین معماری که در آن زمان بر روی کامپیوتر های بزرگ به شکل تجاری و بسته موجود بود UNIX نام داشت . استالمن شروع به نوشتن یک سیستم عامل کاملا آزاد بر اساس UNIX نمود. بر اساس این معماری لازم بود تا چهار جزء تکمیل شوند :

  1. کرنل که هسته اصلی سیستم عامل را تشکیل میداد انتظار میرفت با شناخت سخت افزار ها بتواند با آنها ارتباط برقرار کند.
  2. محیط توسعه نرم افزار; مانند کامپایلرها و کتابخانه های مختلفی که میبایست از آنها برای ساخت برنامه در این سیستم عامل جدید استفاده شود.
  3. دستورات عمومی مانند کپی فایل فرمت کردن دیسک برنامه هایی که برای کارهای گرافیکی و همچنین تعریف پوسته ای متنی برای صادر کردن این دستورات.
  4. مستندات راهنماهای سیستم عامل و توضیحات متنی پیرامون آن

سرعت پیشرفت GNU به حدی بالا بود که سه جزء اخر را با کیفیتی باورنکردنی تکمیل کرد.کیفیت نرم افزارهای آزاد تولیده برای سه بخش آخر در حدی بودند که بسیاری از سیستم عامل های دیگر ( به خصوص یونیکسی ها) شروع به استفاده از آن کردند.

 

محمد مهدی خلعت بری بدون دیدگاه

تولد ۲۵ سالگی لینوکس!

جشن تولد 

۴ شهریور سیستم عامل محبوب لینوکس ۲۵ ساله شد.
در سال ۱۹۹۱، لینوس بندیکت توروالدز (Linus Benedict Torvalds) ، دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی ۲۱ ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.
در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه ۷۰ آغاز نمود. تا اوایل دهه ۸۰، بیشتر برنامه نویسان نخبه آزمایشگاه های هوش مصنوعی MIT جذب شرکت های نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.
با اعلامیه معروف خود در سال ۱۹۸۳، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال ۱۹۸۴ وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو، موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.
تا سال ۱۹۹۱ پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.
این زمان برای توروالدز بیش از حد طولانی بود.

در ۲۵ آگوست ۱۹۹۱، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:
از : لینوس بندیکت توروالدز
به: گروه خبری MINIX
موضوع: بیشتر چه چیزی را میخواهید در MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من
با سلام به تمام استفاده کنندگان از MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای GNU برای دستگاه های ۳۸۶ و ۴۸۶ هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر… من اکنون bash نسخه ۱/۰۸ و GCC نسخه ۱/۴۰ را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیت هایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس
همانطور که در این نامه پیداست، خود توروالدز هم باور نمی کرد که مخلوقش آنقدر بزرگ شود که چنین تحولی در دنیا ایجاد کند. لینوکس نسخه ۰/۰۱ در اواسط سپتامبر ۱۹۹۱ منتشر شد و روی اینترنت قرار گرفت. شور و اشتیاقی فراوان حول مخلوق توروالدز شکل گرفت. کدها دانلود شده، آزمایش شدند و پس از بهینه سازی به توروالدز بازگردانده شدند.
حال، بنیاد لینوکس گزارشی منتشر کرده که در آن نگاهی به ۲۵ سال گذشته سیستم عامل لینوکس انداخته شده و به اتفاقات مهم نیز اشاره شده است. در گزارش آمده که ۱۳۵۰۰ توسعه دهنده از ۱۳۰۰ کمپانی از سال ۲۰۰۵ که پروژه آنها بر روی Git رفت، در بهینه کردن کرنل مشارکت داشته‌اند. اطلاعات جالب‌تری نیز وجود دارد که نگاهی به آنها خواهیم انداخت:
در دوره‌ بین عرضه نسخه‌های ۳.۱۹ و ۴.۷، انجمن کرنل توانست به متوسط تولید ۷.۸ پچ بر ساعت برسد که رشد قابل قبولی نسبت به تولید ۷.۷۱ پچ بر ساعت در گزارش قبلی بوده و این نشان دهنده برداشتن قدم‌های بیشتر و ادامه‌دار برای رسیدن به پچ‌های گسترده‌تر است.
این گزارش نشان می‌دهد که هسته یا کرنل لینوکس به صورت مداوم در حال پچ شدن و بروز شدن است که تمام این کارها توسط ارتشی از برنامه‌ نویسان داوطلب صورت می‌گیرد که هدفشان بهبود اینترنت و رشد دنیای کامپیوتر است.
محمد مهدی خلعتبری
@Geek_072