جمعه, ۲۸ اردیبهشت, ۱۴۰۳ / 17 May, 2024
مجله ویستا

حل مشکلات بزرگ با پروژه «یاکتو»


حل مشکلات بزرگ با پروژه «یاکتو»

ماه گذشته هفتمین نشست سالانه Collaboration برگزار شد و همان طور که انتظار می رفت, پروژه یاکتو Yocto توجه بسیاری را به خود جلب کرد

ماه گذشته هفتمین نشست سالانه Collaboration برگزار شد و همان‌طور که انتظار می‌رفت،‌ پروژه یاکتو (Yocto) توجه بسیاری را به‌خود جلب کرد.

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

رودلف استرایف، مدیر بخش راه‌حل‌های Embedded در بنیاد لینوکس با انتشار مطلبی با عنوان «چطور مهندسی می‌تواند برای حل مشکلات پیچیده از یاکتو استفاده کند» برخی از چالش‌های فعلی مواجهه با سیستم‌های Embedded را بررسی کرد.

او که بیش از ۲۰سال تجربه کار با چنین سیستم‌هایی را دارد، در این مطلب به سناریوهای خاصی توجه داشته که در میان تمام صنعت‌ها مشترک است و نشان می‌دهد که پروژه یاکتو برای حل چنین چالش‌هایی به‌وجود آمده است. برخی از این چالش‌ها به شرح زیر است:

‌ـ‌ کنترل پشته سیستم‌عامل لینوکس

‌ـ‌ نگهداری از توزیع‌ها

‌ـ‌ ایجاد و ابزارگذاری در سیستم

‌ـ‌ نیازمندی‌ها و مجوزهای منبع‌باز

‌ـ‌ پشتیبانی

‌ـ‌ بزرگ‌شدن سازمان

دو روش اصلی برای تولید یک پشته لینوکسی در یک محصول خاص وجود دارد که شیوه انجام آنها به شرح زیر است:

Top-Down‌‌ یا بالا به پایین، که در آن از یکی از توزیع‌های فعلی لینوکس استفاده کرده و آن را مطابق با محصول تغییر خواهیم داد.

Bottom-Up‌ یا روش پایین به بالا، که با نصب هسته لینوکس آغاز می‌شود و سپس بسته‌های مختلف را بسته به نیاز روی آن نصب خواهیم کرد.

هر دو این گزینه‌ها مزایا و چالش‌های خود را دارند که می‌توان به آنها پرداخت:

● معماری بالا به پایین

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

● معماری پایین به بالا

تولید توزیع سفارشی از کد صفر بیشترین کنترل را در مدیریت سیستم‌عامل به کاربر می‌دهد، این کنترل می‌تواند یک مرحله به جلوتر رفته و مدیریت هسته لینوکس برای پشتیبانی از چند معماری، درایورهای سخت‌افزاری و... را هم در بر داشته باشد. هر چند از آنجا که تولید سیستم‌عامل امر روزمره‌ای نیست، ابزارهایی که برای آن تولید شده‌اند سنتی بوده و محدودیت‌های زیادی دارند.

● ورود پروژه یاکتو

پروژه یاکتو از هر دوی این معماری‌ها استفاده کرده و مزایای آنها را با یکدیگر ادغام می‌کند. باید توجه کرد که پروژه یاکتو یک توزیع لینوکس نیست، بلکه آن توزیع را ایجاد می‌کند. پروژه یاکتو مجموعه‌ای از پیکربندی‌های معمول است که می‌توان از میان آنها یکی را برای محصول انتخاب کرد.

به این ترتیب، سیستمی مینیمال با لاگین تحت کنسول، سیستمی با رابط گرافیکی پایه برای دستگاه‌های موبایل و سیستمی همخوان با بیس استاندارد لینوکس (LSB) را می‌توان از این طریق به سرعت تولید کرد. بعد از انتخاب پیکربندی اولیه و سیستم مقصد، که می‌تواند محیطی شبیه‌سازی‌شده، یا سخت‌افزار واقعی باشد، پروژه یاکتو تمام کدها و مولفه‌های لازم برای تولید چنین سیستمی را دریافت و زنجیر ابزارهای خودش را نصب کرده، سپس از این زنجیر برای تولید نهایی مولفه‌های نرم‌افزاری استفاده می‌کند. در نتیجه با صرف زمان حدود چند ساعت، یاکتو بوت‌لودر، هسته و ایمیج سیستم فایل‌ها را بر اساس پیکربندی اولیه ساخته و می‌توان آن را از طریق محیط شبیه‌سازی شده، یا در سخت‌افزار واقعی اجرا و به تست گذاشت.

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

پروژه یاکتو، به روش‌های دیگری نیز می‌تواند برای تولید سیستم‌های Embedded استفاده شود. برای اطلاعات بیشتر به نشانی زیر بروید:

https:‌/‌‌/‌www.yoctoproject.org‌‌

● برنامه بعدی اوبونتو چیست؟

در همایش توسعه‌دهندگان اوبونتو ۰۵‌/‌۱۳ نسخه‌های اولیه سرور نمایش Mir معرفی شد و نسخه مبتنی بر Qt محیط دسکتاپ یونیتی برای تست در اختیار برنامه‌نویسان قرار داده شد. هر چند در پیکربندی پیش‌فرض، کماکان ساختار گرافیکی اوبونتو ۱۰/۱۲با سرور X۱۱ قرار دارند. کانونیکال تصمیم دارد تا سال ۲۰۱۴ کد نسخه‌های تبلت، موبایل و دسکتاپ اوبونتو را یکپارچه کرده و بر مبنای Mir و Unity Next قرار دهد.

ویدئوهایی که از سوی توسعه‌دهندگان اوبونتو منتشر شده است، خبر از ترکیب Mir و Unity۸ در دسکتاپ‌های فعلی می‌دهد.

گفتنی است قابلیت Smart Scope که قرار بود در نسخه ۰۴/۱۳ معرفی شود، به اوبونتو ۱۰/۱۳ انتقال یافته است. همچنین در Smart Scope قابلیت جدیدی تعبیه شده است که بتوان به‌طور دقیق تعیین کرد از چه منابعی از وب اطلاعات دریافت شود و حالت فعلی که در آن تنها دکمه خاموش و روشن وجود داشت، حذف خواهد شد.

شایان ذکر است منوی Dash علاوه بر یوتیوب و آمازون به جستجو از میان دیگر منابع آنلاین نیز خواهد پرداخت، اما توسعه‌دهندگان معتقدند تنها نتایج جستجوی مرتبط را نشان خواهد داد.

گزینه دیگری که قرار است در فهرست انجام کار توزیع ۱۰/۱۳ علامت بخورد، امکان خرید موسیقی به‌صورت مستقیم از منوی Dash است. توسعه‌دهندگان در نظر دارند قابلیت‌های Unity ۷ و Compiz را چنان گسترش دهند که از بازدهی دسکتاپ اوبونتو کاسته نشود.

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

بر اساس برنامه توسعه فعلی، قرار است اوبونتوی ۱۰/۱۳ در هفدهم اکتبر (نهم مهر امسال) عرضه شود. نسخه بتای۱۰/۱۳ شهریور آماده نصب و آزمایش خواهد بود. اگر تمایل دارید اطلاعات بیشتری در مورد قابلیت‌های نسخه بعدی اوبونتو کسب کنید، به نشانی زیر مراجعه کنید:

https:‌/‌‌/‌blueprints.launchpad.net‌/‌ubuntu‌/‌saucy‌/‌+specs

محمدرضا قربانی