-
September 17th, 2012, 14:21
#1
عضو جدید
نگاهی به سیستم عامل و پلتفرم جهانی لینوکس
نکته: برای حفظ صداقت و امانت در ترجمه از بکار گیری کلمه گنو/لینوکس به جای لینوکس خودداری نمودهایم.
چکیده
لینوکس در همه جاست. اگر به تلفنهای هوشمند نگاه کنید، یا به ستون فقرات مجازی اینترنت، و یا به بزرگترین و قدرتمندترین supercomputer ها، لینوکس را میبینید. آنچه این پلتفرم در اختیار ما قرار میدهد تنها یک کارکرد ویژه نیست بلکه گسترهای از امکانات است که میتوان از چنین پلتفرمی انتظار داشت. لینوکس و خدمات پشتیبانی آن را میتوان در همه جا یافت.
مقدمه
لینوکس در طی سالها به تکامل رسیده. در سال ۲۰۱۲ بیست و یک سال داشت، سیستم عامل کاملی که طیفی از مدلهای استفاده را پشتیبانی میکرد . اما دشوار است که (گنو/)لینوکس را فقط یک سیستم عامل تصور کنیم زیرا بیشتر شبیه به یک آفتابپرست است. کرنل قابل انعطاف و ماژولار آن کارکردهای فراوانی به ارمغان آورده است (از بزرگترین ابر کامپیوترها تا کوچکترین ابزارهای تعبیه شده) به نحوی که دشوار است چنین کارکردی را چیزی جز فراهم کردن بستر فنآوری دانست. در حقیقت، لینوکس یک پلتفرم است. این یک تکنولوژی کلیدی است که امکان ایجاد محصولات جدید، که بعضی از آنها قبلا ناشناخته بودهاند را فراهم میکند.
اجازه بدهید که با یک توضیح سریع معماری اصلی آن و بعضی از مهمترین اصول کلیدیش شروع کنیم. سپس نگاهی به چگونگی اعمال این اصول به انواع مدلهای استفاده و این که چرا یک پلتفرم است و فقط یک سیستم عامل نیست بیاندازیم.
لینوکس چیست؟
در ابتدا، (گنو/)لینوکس یک سیستم عامل است. همان طور که در شکل ۱ نشان داده شده است، شامل کرنل (کد هسته که منابع سخت افزاری و نرم افزاری را مدیریت میکند) و مجموعهای از برنامههای کاربردی کاربر (مثل libraries ،window managers و application) است.

ین تصویر به شما چشمانداز سادهای از اصول کلیدی نشان میدهد. در پایین پشته لینوکس، مجموعهای از کدهای وابسته به معماری وجود دارد که آن را بر روی طیف گسترده از پلتفرمهای سخت افزاری (ARM ،PowerPC ،Tilera TILE و غیره) قابل اجرا می سازد. این مکانیزم، البته با کمک Gnu toolchain فراهم گردیده و آن را قابل حمل میکند.
لینوکس، از نظر توانایی «قابل انتقال بودن» استاندارد و کلاس خاص خودش را دارد. زیرسیستم درایور (که دارای تواناییهای زیادی میباشد) قادر است بدون کاهش کارآیی سیستم، ماژولها را به صورت پویا بارگذاری کند، به این ترتیب امکان ماژولار بودن فراهم میشود و پلتفرم پویاتر میگردد. همچنین امنیت در سطح هسته را ارائه میدهد که آن را به یکی از امنترین پلتفرمها تبدیل میکند. در موضوع فایلسیستمهای خارجی، لینوکس قادر به پشتیبانی از گستردهترین مجموعه فایلسیستمها در میان هر سیستم عامل دیگری است. این پلتفرم نمونهای از رسیدن به انعطافپذیری از طریق طراحی ماژولار است. لینوکس نهتنها ویژگی زمانبندی استاندارد، بلکه زمانبندی بلادرنگ (real-time) را هم (با تضمین عدم تاخیر در بروز وقفهها) ارائه میکند.
سرانجام، لینوکس باز است، بدین معنی که کدهای منبع آن را هر کسی میتواند ببیند و بهبود ببخشد. این باز بودن کد میتواند هر فرصتی برای اکسپلویت را کاهش دهد و پلتفرم ایمنتری را بوجود آورد. چندین شرکت با آن همکاری میکنند، به این ترتیب اطمینان حاصل میشود که ضمن تامین مدلهای استفاده جدیدتر، خصوصیات بنیادیش هم حفظ شود.
این هفت اصل کلیدی تنها ویژگیهایی که لینوکس ارائه میکند نیستند، بلکه اینها مواردی هستند که آن را پلتفرم جهانی با دامنهی کاربردی وسیع میسازند. علاوه بر این، در تمامی این مدلهای استفاده، ساختار یکسانی دارد، نه تنها از جهت اصول طراحی بلکه حتی در کدها. چنین موضوعی در مورد بقیه سیستمعاملها (مثل ویندوز سرور و یا نسخه رومیزی ویندوز و یا سیستمعامل تعبیه شده مک و یا اپل ای او اس) قابل بیان نیست، چرا که اینها نسخهای متفاوت برای پشتیبانی از دیگر مدلهای استفاده ارائه میکنند.
لینوکس کجاست؟
ممکن است جواب دادن به این سوال که «لینوکس کجا میتواند باشد؟» سختتر از جواب دادن به این سوال باشه که «لینوکس کجا نیست؟». به واسطهی توانایی تغییر چهره (morgh) و مقیاسپذیری (scale) میتوان آن را در تمام بخشهای کامپیوتری-محاسباتی (و حتی بخشهایی که هنوز به طور کامل تعریف نشدهاند) پیدا کرد. در این قسمت به بررسی بعضی از این بخشهای بزرگ کامپیوتری میپردازیم، که شامل کامپیوترهای نوتبوک و رومیزی، سرور، کلاستر (یا کامپیوترهای خوشهای)، کامپیوترهای بزرگ (mainframe)، ابرکامپیوترها (supercomputer)، کامپیوترهای دستی (handheld)، تبلتها، کامپیوترهای تعبیه شده، مجازیسازی و پلتفرمهای آزمایشی میباشد.

کامپیوترهای رومیزی و نوتبوک
کامپیوترهای رومیزی و نوتبوکها، جایی است که بسیاری از مردم از لینوکس استفاده میکنند، محدودهای که در آن با چالشهای زیادی رو به روست. دادههای مربوط به سهم سیستم عاملها در بازار کامپیوترهای رومیزی نشان دهنده این است که سهم لینوکس از این بازار چیزی حدود ۱٫۵٪ است ولی سهم آن از کامپیوترهای نوتبوک حدودا ۳۲% است. درست است که شاید این آمار، ارقام پایینی نمایش دهند ولی اکثر برنامهنویسها این سیستم عامل را ترجیح میدهند.
لینوکس به عنوان یک سیستم عامل آزمایشگاهی شروع به کار کرد. با ابداع XFree86 (اولین مدیر پنجره قابل اجرا بر روی آن) در سال ۱۹۹۴، نوید آمدن سیستم عاملی جدید و نوپا به بازار کامپیوترهای رومیزی به گوش میرسید. امروزه این سیستمعامل دارای چندین مدیر پنجره است (این موضوع مزیتها و معایب خودش را دارد) که به کاربران اجازه میدهد شخصیسازی را مطابق با نیازهایشان انجام دهند. بعلاوه، لینوکس خود را با قابلیتهای پردازشگر هماهنگ میکند و پردازشها را به صورت کارآمد و با تمرکز بر کارآئی بر روی پردازشگرها تقسیم میکند.
سرور
در بازار سرور لینوکس حکمرانی میکند. از وب سرورها و ایمیل سرورها گرفته تا کارگزاران دامنه و دیگر ادوات پشتیبانی شبکه در قلمرو آن زندگی میکنند. نتایج تحقیقات اخیر نشان می دهد که بیش از ۶۰% سرورها بر پایه یکی از توزیعهای بیشمار آن کار میکنند. به غیر از سرویسدهندههای مرسوم وب، قدرتش را در بسیاری از پدیدههای بارز اینترنت (مثل: Facebook ، Ebay ، Twitter و Amazon)، و گسترهای از مدلهای استفاده و نیازمندیها میتوان مشاهده کرد. فراتر از انتخابهای مرسوم (مثل وب یا ایمیل) طیف گستردهای از سرویسهای تحت وب (با کیفیت و ساز و کارهای متنوع هر سرویس) با لینوکس ارائه میشوند.
کلاستر و پردازشهای توزیع شده
نه تنها لینوکس یک جز اصلی در کلاسترها و مدلهای پردازش توزیع شده است بلکه نیرو محرکه و هسته بسیاری از مدلهای استفاده جدید نیز میباشد. دو مدل اصلی که امروزه رشد سریعی دارند پردازش ابری (رایانش ابری) و دادههای بزرگ است.
پردازش ابری سرویسی برای انتقال تکنولوژی اطلاعات میباشد که متکی بر کلاسترها و منابع به اشتراک گذارده شده به اندازهی نیاز میباشد. پردازشهای ابری نیز به منظور توانایی مدیریت اتوماتیک گرههای شبکه در یک زیرساخت حجیم متکی بر مجازیسازی میباشند. لینوکس در ۶۶ درصد محیطهای ابری پلتفرم اصلی میباشد.
لینوکس به تنهایی میتواند به عنوان پلتفرمی برای علم اطلاعات عمل نماید. اینترنت حجم اطلاعات قابل جمع آوری را بالا میبرد، اکنون مشکل دیگری خودنمایی میکند؛ پردازش این حجم اطلاعات و شناسایی الگوهای ارزشمند، در یک کلام استخراج علم از این اطلاعات. آنچه در حال حاضر دادههای بزرگ (Big Data) نامیده میشود روش مقیاسپذیر برای اداره کردن دادههاست که بروی لینوکس بیش از روشهای مرسوم قبلی توسعه داده شده است . هادوپ (Hadoop) و ا***یستم ان نتایج اشکاری از لینوکس هستند.
کامپیوترهای بزرگ
در سال۱۹۹۱ یک نویسندهی مشهور پیشبینی کرد که آخرین کامپیوتر بزرگ تا اوایل سال ۱۹۹۶ عملا بلا استفاده خواهد شد. اکنون پس از گذشت بیش از ۲۰ سال، کامپیوترهای بزرگ همچنان ساخته شده و به فروش میرسند، و تعداد زیادی از آنها با این سیستم عامل عرضه میشوند. ای بی ام (IBM) در سال ۲۰۰۰ شروع به پشتیبانی از لینوکس بر روی کامپیوترهای بزرگ خود (از جمله سیستم محبوب ®IBM® System z) کرد و این امکان را فراهم آورد که کاربرانش تجربهی مشابهی از کار با این کامپیوترها داشته باشند. مقاله اخیر Michael Vizard نشان میدهد که چیزی حدود ۲۵% وظایف سنگین کامپیوترهای بزرگ جدید متکی به لینوکس میباشد.
ابرکامپیوترها
ابرکامپیوترها برای کسب عنوان «سریعترین کامپیوتر» دائما در نبردی تنگاتنگ هستند، این عنوان از ابرکامپیوتر موسسه اواک ریج آزمایشگاه مرکزی جگوار در سال ۲۰۰۹ به ابرکامپیوتر تانهی-۱ چین در سال ۲۰۱۰ و پس از آن به ابرکامپیوتر ریکن کی ژاپن رسیده است (سال ۲۰۱۱). به زودی ابر کامپیوتر ای بی ام سکویا منتشر خواهد شد و انتظار می رود که عملکردی بیش از عملکرد ریکن با ضریب دو داشته باشد. عاملی که در تمام این ابر کامپیوترها مشترک است دایر بودن لینوکس بر روی آنهاست چرا که نه تنها کارآمد میباشد بلکه با انواع پلتفرمهای سختافزاری سازگار است و باعث بالا رفتن کارآیی آنها میشود.
دستگاههای قابل حمل و تبلتها
طیف محدودی از دستگاههای قابل حمل مثل تبلتها رشد قابل توجهای دارند. این دستگاهها هسته لینوکس را همراه با رابط کاربر گرافیکی ویژهای عرضه میکنند. یک مثال شاخص در این زمینه سیستم عامل اندروید گوگل میباشد که هم در تلفنهای هوشمند و هم در تبلتها استفاده میشود. امروزه بیش از ۲۵% تلفنهای هوشمند شکلی از لینوکس را استفاده میکنند، و تقریبا ۴۰% تبلتها از اندروید استفاده میکنند.
این دستگاهها برای بازدهی بیشتر و مصرف بهینهتر انرژی متکی بر پردازشگرهای مبتنی بر ARM هستند. صرفنظر از نوع پلتفرم، این ماشینها لینوکس هستند نه انشعابی از هسته و نرم افزارهای آن.
اخیرا مایکروسافت نسخهای از سیستم عامل ویندوز را برای تبلتهایی با پردازنده ARM ارائه کرده، که در آن تنها برنامههای کاربردی که برای این پلتفرم نوشته شده باشند قابل اجرا هستند. به بیان دیگر شما نمی توانید برنامههای قدیمی را به اجرا در آورید. این مسئله را با لینوکس مقایسه کنید، پشتیبانی از بسیاری از برنامههای قابل حمل در برابر ا***یستم بسته و انحصاری برنامهها.
کامپیوترهای تعبیه شده
در انتهای طیف دستگاههای مصرفی، دستگاههای تعبیه شده با محدودیتهای متفاوتی (محدودیت توان پردازنده، محدودیت منابع مثل حافظه و غیره) وجود دارد. در بیشتر موارد لینوکس پلتفرمی ایدهآل است. چرا که دارای قابلیت بهینه شدن است و در تمام پردازندههای تعبیه شده موجود در بازار میتوان از آن استفاده کرد. قابلیت انعطافپذیری آن باعث شده که پرکاربردترین پلتفرم در تلویزیونها، ادوات سرگرمی درون ماشینها، سیستمهای راهبری، و بسیاری دستگاههای دیگر باشد.
لینوکس قابلیت شخصیسازی بالایی دارد و همچنین توجه خاصی به مصرف بهینه انرژی. برای حصول اطمینان از توجه به انرژی، دست به ابتکاری برای کم کردن توان مصرفی کرنل زدند. این پروژه بر روی پلتفرم اینتل متمرکز است اما میتواند برای پردازندههای دیگر هم مفید واقع شود.
لینوکس استانداردهایی را برای دستگاههای تعبیه شده و بررسی تواناییهای آنها ارائه میدهد (برای حمایت سریع و توسعه آن دستگاهها). یکی از جالبترین این دستگاهها Raspberry Pi نامیده میشود، کامپیوتری که به اندازهی یک کارت اعتباری بوده و بر مبنای پردازنده ARM ساخته شده است. این کامپیوتری است که لینوکس را اجرا میکند و به عنوان یک دستگاه آموزش برنامهنویسی در نظر گرفته شده است. مبلغ این دستگاه ۳۵ دلار امریکا در نظر گرفته شده است، این دستگاه هم اکنون برای خرید موجود نمیباشد.
پلتفرمهای مجازی
یکی از زیباترین قسمتهایی که لینوکس در آن خلاقانه عمل کرده است، حیطه مجازیسازی میباشد. لینوکس به عنوان خانهای برای هر نوع از مدلهای مجازی سازی موجود، چه پلتفرم چه para-virtualization، چه سیستمعاملهای مجازی و یا ایدههای مجازیسازی مبهمی مثل cooperative، میباشد. لینوکس به عنوان یک سیستم عامل توانائی تبدیل شدن به یکhypervisor (همانند KVM ) و همچنین پذیرش نقش میزبان چند hypervisor تحقیقاتی را دارد. برای افزایش کارائی مجازیسازی، Kernel SamePage Merging را ارائه کرده است تا به طور موثری صفحههای حافظه را از وجود مقادیر تکراری پاک کند.
همچنین لینوکس حالتی از هنرفن را در پیشرفتهای جدید مجازیسازی رهبری میکند که مجازیسازی nested نامیده میشود. همان طور که از نامش پیداست، این مکانیزم به یک سرور hypervisor اجازه میدهد که یک hypervisor دیگر را میزبانی کند، که در این جا آن hypervisor خود میزبان چند ماشین مجازی دیگر باشد. با اینکه این به نظر نامتعارف است، مجازیسازی nested پردازشهای ابری را متحول خواهد کرد، و تنوع نرم افزارهایی که میتوانند نقش میزبان را داشته باشند بیشتر خواهد کرد. امروزه ماشینمجازی مبتنی بر هسته لینوکس (KVM) از مجازیسازی nested پشتیبانی میکند.
پلتفرمهای آزمایشی
آخرین و نه کم اهمیتترین ویژگی، ساختار خود لینوکس است که پلتفرمی تجربی است. به این ترتیب که ایدههای جدید میتوانند به راحتی در آن مطرح و بررسی شوند. لینوکس، ۲۰ سال بعد از اولین انتشار یونیکس در سال ۱۹۹۱ به عنوان سیستم عاملی برای سرگرمی منتشر شد. امروز به عنوان سیستمعاملی آزمایشگاهی برای تحقیقات در زمینههای مختلف همچون، فایلسیستمها، پردازشهای ابری و خوشهای، مباحث پیشرفته مجازیسازی است و به یمن توانایی عملکرد در مدلهای استفادهی مختلف و متفاوت محدودیتهایش را کاهش میدهد. لینوکس به عنوان یک پلتفرم قادر به سرعت بخشیدن تجربیات به واسطه استفاده از آن و طیف گستردهای از اجزاء کدباز است. نتیجه این گستردگی ساخت فناوریهای جذابی مثل HP webOS، Google Chrome OS و Android به واسطه لینوکس میباشد.
یکی از جالبترین تغییرهای که با لینوکس میسر شد افزایش عدم وابستگی به پلتفرمهای سخت افزاری است. صرف نظر از نوع معماری سخت افزاری، همان تجربهی استفاده را برای کاربران به ارمغان میآورد. بنابراین چه سیستم یک ابر با سروری با معماری AMD x86 باشد چه یک پردازندهیARM نرم افزاری که بر روی لینوکس به اجرا در میآید مجزا از سخت افزار قابل اجراست. این عملکرد مستقل به کاربران اجازه می دهد که بر اساس نیازهایشان تصمیم بگیرند نه براساس معماری پلتفرمشان. این یعنی انتخاب.
لینوکس دارای محیط های IDE، میزبانی وب، مجموعه کامپایلرهای گنو، مجموعهای از ابزارها، همچون دیباگرها ویرایشگرهای متن، ابزارهایی برای کنترل نسخههای سیستمی، ابزارهایی برای مدیریت فایلها، پوستهها و مفسرهایی برای مکانیزه کردن وظایف توسعه میباشد. لینوکس یک محیط ایدهآل برای توسعه و تحقیقات نرمافزاری میباشد.
تطبیقپذیری لینوکس
پشتیبانی از مدلهای استفاده مختلفی که در اینجا مطرح شد، به سادگی بستهبندی لینوکس برای آن کاربرد است. توزیعهای مختلف بازار کامپیوترهای سرور و رومیزی را هدف قرار میدهند، در حالیکه توزیعهای خاص کامپیوترهای تعبیه شده را مورد هدف خود قرار دادهاند. هر کسی میتواند کرنل لینوکس و مجوعهای از بستههای نرم افزاری را برای مدلهای استفاده متفاوتی بگیرد و از مزایای مختلف آن بهره ببرد. این یکی از دلایلی است که تلفنهای هوشمندی که به سرعت رشد میکنند از آن استفاده میکنند.
و در نهایت
اگر لینوکس را با یک پل مقایسه کنیم، آن پلی به سوی مهندسی جدید میباشد. مدل توزیع شده لینوکس وضعیت جدید را به چالش میکشد و نتیجه آن تولید نرم افزارهایی با بیشترین قابلیت انعطافپذیری است. لینوکس در برگیرنده انواع مدلهای استفاده، از دستگاه های کوچک تعبیه شده تا ابررایانههای عظیم است. لینوکس در شکل صنعت و در تحقیقات نوین پردازش خوشهای، فایل سیستمها، کلود و مجازیسازی تغییرات مهمی را به وجود آورده و همچنین نقش رهبر و راهنما را بازی میکند. لینوکس را میتوان در هر محیط پردازشیای که بتوان تصور کرد، یافت.
منبع
Look at Linux, the operating system and universal platform
+ فارسی پکــــــــ|فتوگالری جامع و بسته بندی های اختصاصی
والپیپر به همراه کاور مجزا
+ فارسی پکــــــــ|ارائه ی اختصاصی
موزیک ویدئوهای روسی ، امریکایی و بلغاری با برترین کیفیت
+ فارسی پکــــــــ|
انجمن مهندسی ایران |
جامعه مهندسان ایرانی |
فارسی پک روی فیس بوک
+ فارسی پکــــــــ|کیفیت را با ما تجربه کنید | farsipack [Gmail] com | info.farsipack [Yahoo] com | tell : 0937 621 8228
+ فارسی پکــــــــ|f a r s i p a c k [dot] org
-
تعداد تشکر ها از Hippo به دلیل پست مفید
-
September 17th, 2012 14:21
# ADS