پیدایش قابلیت اجرای Ubuntu 22.04 LTS بر روی Raspberry Pi 4

پیدایش قابلیت اجرای Ubuntu 22.04 LTS بر روی Raspberry Pi 4

پیدایش قابلیت اجرای Ubuntu 22.04 LTS بر روی Raspberry Pi 4
پیدایش قابلیت اجرای Ubuntu 22.04 LTS بر روی Raspberry Pi 4

در نسخه‌های قبلی Ubuntu، مقدار رم توصیه شده توسط شرکت Canonical برای اجرای روان، حداقل 4GB بود. اما در نسخه Ubuntu ۲۲.۰۴ LTS، با استفاده از zswap به‌صورت پیش‌فرض، اجرای بهتر سیستم‌عامل روی دستگاه‌های با حافظه کمتر امکان‌پذیر شده است. در توضیح این امر، شرکت Canonical می‌گوید که zswap اساساً یک ابزار فشرده‌سازی است.

برای نگاه دقیق‌تر به این موضوع با سیسوگ همراه باشید.

 

در زمان انتقال پروسه به فایل جایگزینی (swap file)، ابزار zswap مداخله می‌کند و پس از فشرده‌سازی آن، می‌سنجد که آیا با این اندازه جدید و کوچک‌تر، هنوز نیاز به انتقال وجود دارد یا اینکه می‌تواند در RAM باقی بماند. نکته‌ای که در اینجا وجود دارد این است که غیر فشرده‌سازی یک صفحه فشرده شده توسط zswap، بسیار سریع‌تر از دسترسی به فایل جایگزینی انجام می‌شود. بنابراین بدین طریق امکان بهره‌بردن بسیار بهتر از سیستم‌های با حافظه رم محدود به وجود می‌آید.

 

خبر خوب اینکه حتی نیازی نیست برای انتشار Ubuntu ۲۲.۰۴ LTS صبر کنیم. برای بهتر بردن از این قابلیت می‌توانیم به‌صورت دستی آن را در Raspberry Pi ۴ فعال کنیم؛

همچنین یک راه دیگر برای این کار، ویرایش فایل /boot/firmware/cmdline. txt و اضافه‌کردن رشته زیر به دستور موجود در آن است:

بعد از یک ریبوت، بهبود عملکرد محسوسی در بوردهای Raspberry Pi ۴ با ۴ یا ۸ گیگابایت رم اتفاق می‌افتد، اما برای مدل ۲ گیگابایتی چند مرحله دیگر برای فعال‌سازی تخصیص‌دهنده z3fold و فشرده‌سازی lz4 نیاز است. دستورات موردنیاز برای این منظور به‌صورت کامل در بلاگ Ubuntu شرح داده شده است. در نتیجه اجرای این دستورات و پس از بارگیری چند ماژول، فایل cmdline. txt ما، سهَ پارامتر اضافه خواهد داشت:

 

همان‌طور که گفته شد در نسخه Ubuntu ۲۲.۰۴ LTS نیاز به انجام این کارها نیست و همه آن‌ها به‌صورت پیش‌فرض تنظیم شده‌اند.

در ادامه می‌خواهیم تفاوت دقیق میان zswap و zram (که برای بهبود عملکرد و اطمینان‌پذیری سیستم‌های کم حافظه کاربرد دارد) در Ubuntu را بررسی کنیم. می‌دانیم که zram همانند یک جایگزینی فشرده شده است که در RAM قرار دارد، درحالی‌که zswap هم از RAM و هم از حافظه ذخیره‌سازی (storage) استفاده می‌کند. کاربرد حافظه ذخیره‌سازی برای ذخیره اطلاعات فشرده شده در فایل جایگزینی روی حافظه، در صورت نبود فضای رم کافی برای نگه‌داشتن اطلاعات، است.

این موضوع قبلاً در Stackoverflow پرسیده و پاسخ داده شده است که در اینجا به‌صورت خلاصه‌تر بررسی می‌شود؛

Zram

وضعیت: از Linux 3.14 یعنی مارچ 2014 در دسترس است.

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

کاربرد: تنظیم وسیله بلاک zram به‌عنوان یک دستگاه جایگزینی، برای رفع نیاز به فایل یا دستگاه جایگزینی.

مزایا:

رفع نیاز به‌وسیله جایگزینی فیزیکی.

یک وسیله بلاک zram را می‌توان برای کاربردهایی غیر از جایگزینی نیز استفاده کرد. هر کاربردی که نیاز به یک وسیله بلاک داشته باشد.

معایب:

هنگامی که یک صفحه در zram ذخیره می‌شود، در آن باقی خواهد ماند تا زمانی که Page in یا غیرمعتبر شود. به بیان دیگر zram امکان تخلیه صفحه‌ها به دیسک فیزیکی را ندارد.

 

Zswap

وضعیت: از Linux ۳.۱۱ یعنی سپتامبر ۲۰۱۳ در دسترس است.
پیاده‌سازی: کش in-kernel فشرده شده برای جایگزینی صفحه‌ها. کش in-kernel فشرده شده است و الگوریتم فشرده‌سازی توسط CryptoAPI قابل به‌کارگیری است. همچنین فضای ذخیره‌سازی صفحه‌ها به‌صورت پویا انجام می‌شود. صفحه‌های قدیمی‌تر را می‌توان به دیسک تخلیه کرد. در نتیجه می‌توان گفت که این کش، نوعی کش write-behind است.
کاربرد: نگهداری صفحه‌های جایگزینی که مقصد آن‌ها وسایل معمول جایگزینی یا فایل‌های جایگزینی است.

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

معایب:
نیاز به دستگاه جایگزینی فیزیکی (فایل جایگزینی).

منبع

 

 

 

 

 

0 نفر

پــــســنــدیـده انـد

توجه

سیاوش
سیاوش

کارشناس ارشد الکترونیک دیجیتال، علاقه‌مند به یادگیری

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

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

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 1 سال پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک