لینوکس 7.1 منتشر شد؛ بازنویسی NTFS و پشتیبانی گسترده‌تر از ARM و RISC-V

لینوکس 7.1
80 بازدید
۱۴۰۵-۰۴-۰۲
7 دقیقه
  • نویسنده: آرویدتک
  • درباره نویسنده: www.arvidtek.com | گروه مهندسی آرویدتک | فعال حوزه الکترونیک و مخابرات | فروشگاه تخصصی قطعات الکترونیک

به گفته: CNX Software – Embedded Systems News

کرنل لینوکس ۷.۱ با تغییرات گسترده در زیرساخت‌های ARM و RISC-V منتشر شد که بازنویسی کامل درایور NTFS و بهبود عملکرد زمان‌بند سیستم در کنار پشتیبانی از تراشه‌های جدید کوالکام و Rockchip از مهم‌ترین ویژگی‌های آن است. این نسخه به‌ویژه برای توسعه‌دهندگان سیستم‌های امبدد، قابلیت‌های امنیتی جدید و پشتیبانی از سخت‌افزارهای متنوع‌تری را به همراه دارد

Linus Torvalds به‌تازگی لینوکس 7.1 را در LKML منتشر کرد:

در خانه هنوز صبح یکشنبه است، اما جایی که من هستم بعدازظهر یکشنبه است، بنابراین انتشار نسخه 7.1 را در زمان معمول انجام می‌دهم – فقط نه در منطقه زمانی معمول.

این طبیعتاً به این معنی است که پنجره ادغام (merge window) فردا باز می‌شود، اما من تا آن زمان در منطقه زمانی دیگری خواهم بود، بنابراین زمان‌بندی کمی نامنظم خواهد بود. معمولاً سعی می‌کنم فشار کاری پنجره ادغام را در ابتدا قرار دهم و در چند روز اول تا حد امکان کارها را پیش ببرم – این بار مطمئن نیستم که با لپ‌تاپم و چند پرواز طولانی بدون اینترنت چطور پیش برود، اما مطمئن شده‌ ام که درخواست‌های اولیه Pull Request را دریافت کرده‌ام (ممنون، خودتان می‌دانید چه کسانی هستید)، بنابراین می‌توانم بخشی از آن را به‌صورت آفلاین انجام دهم.
به هر حال، فارغ از وقفه‌های احتمالی جزئی در پنجره ادغام، خبر امروز نسخه 7.1 است. در ادامه لیست کوتاه تغییرات (shortlog) هفته گذشته آمده است – هیچ چیز خاص، جالب یا نگران‌کننده‌ای به چشم نمی‌خورد که البته باید هم همین‌طور باشد. بیشتر شامل به‌روزرسانی‌های مختلف و کوچک درایور (پردازنده گرافیکی، شبکه، صدا، متفرقه) به همراه برخی اصلاحات در ابزارهای شبکه و trace است. و همچنین تغییرات جزئی پراکنده در بخش‌های دیگر.
لطفاً با وجود انتشار نسخه جدید، به تست کردن ادامه دهید و پیشاپیش عذرخواهی می‌کنم اگر تأخیر پنجره ادغام من در چند روز آینده کمی نامنظم باشد. مدت کوتاهی به تمدید یک‌هفته‌ای انتشار فکر کردم، اما تصمیم گرفتم که واقعاً ارزشش را ندارد. شاید از این تصمیم پشیمان شوم.
لینوس

نسخه لینوکس 7.0 که حدود دو ماه پیش منتشر شد، مستندات دستیارهای کدنویسی هوش مصنوعی را معرفی کرد، یک API عمومی جدید برای گزارش خطای فایل IO پیاده‌سازی نمود، فاز دوم بهبود عملکرد جابه‌جایی با جداول swap را اجرا کرد و زبان Rust نیز به نوعی ارتقای رتبه یافت، زیرا دیگر آزمایشی محسوب نمی‌شود. اکنون که لینوکس 7.1 منتشر شده است، زمان آن رسیده که برخی از تغییرات خبرساز را فهرست کرده و جزئیات معماری‌های MIPS ،RISC-V و ARM با تمرکز بر سیستم‌های امبدد را بررسی کنیم.

تغییرات جالب در لینوکس 7.1

برخی از به‌روزرسانی‌های قابل‌توجه در لینوکس 7.1 عبارتند از:

  • نسخه جدید سیستم‌فایل NTFS: هنوز به یاد دارم که NTFS در اواسط دهه 2000 روی ARM دردسرساز بود، زیرا مجبور بودیم از یک نسخه مبتنی بر fuse (یعنی NTFS-3G) برای پشتیبانی از نوشتن استفاده کنیم که البته عملکرد محدودی داشت. از آن زمان اوضاع با پروژه‌هایی مثل NTFS3 بهبود یافت، اما ظاهراً کافی نبوده است، چرا که اکنون یک «نسخه کاملاً بازنویسی شده» با پشتیبانی کامل از نوشتن، تبدیل به استفاده داخلی از iomap و وعده نگهداری فعال‌تر ارائه شده است.
  • بهبودهای امنیتی: نسخه لینوکس 7.1 ماژول امنیتی Landlock را برای سوکت‌های دامنه Unix، بازنویسی‌های سخت‌گیرانه‌تر مجوزهای پیش‌فرض برای /proc/PID/mem، هوک‌های ماژول امنیتی برای سیستم‌فایل‌های overlay معرفی کرده و کتابخانه libcrypto نیز از طیف وسیعی از الگوریتم‌های جدید پشتیبانی می‌کند.
  • کرنل تایمر با رزولوشن بالا (high-resolution-timer) برای عملکرد بهتر بازنویسی شده است؛ در عمل، زمان‌بند (scheduler) اکنون می‌تواند بدون افت عملکرد نسبت به زمان‌بندهای استفاده‌کننده از تایمرهای درشت (coarse)، از تایمرهای با رزولوشن بالا استفاده کند.
  • حذف swap map پس از آنکه چندین نسخه کرنل بهبودهای مختلفی در جابه‌جایی (swap) پیاده‌سازی کردند. تنها تغییرات قابل مشاهده برای کاربر باید عملکرد بهتر و کاهش مصرف حافظه توسط زیرسیستم swap باشد. جزئیات را در LWN ببینید.
  • پشتیبانی از برخی زیرمعماری‌های قدیمی و بدون استفاده 486 (شامل M486، M486SX و ELAN) حذف شده است.

تغییرات ARM در لینوکس 7.1

طبق معمول، تغییرات زیادی در معماری ARM صورت گرفته است:

بخش توضیحات
ARM 9.6 LSUI ویژگی ARM 9.6 LSUI دستورالعمل‌هایی را اضافه می‌کند که به کرنل اجازه می‌دهد بدون غیرفعال کردن حالت privileged access never، به حافظه فضای کاربر دسترسی پیدا کند. لینوکس 7.1 از این دستورالعمل‌های جدید برای شتاب‌بخشی به عملیات فوتکس (futex) استفاده می‌کند.
MPAM پشتیبانی از ویژگی Memory Partitioning and Monitoring (MPAM) بهبود یافته و در دسترس فضای کاربر قرار گرفته است. برای اطلاعات بیشتر مستندات را بررسی کنید.
Allwinner – MTD پشتیبانی از درایور SunXi برای نسخه‌های جدید کنترلر NAND در تراشه‌های Allwinner اضافه شده است.
Allwinner – مدیریت توان پشتیبانی از دامنه توان (Power Domains) برای تراشه Allwinner A733 افزوده شده است.
Allwinner – درایور ساعت پشتیبانی از ساعت ماژول r-SPI در بلوک PRCM برای تراشه A523 اضافه شده است.

تغییرات Device Tree برای لینوکس 7.1

بخش توضیحات
Allwinner A523 در خانواده SoC مدل Allwinner A523، کنترلر LED فعال شده است.
Avaota A1 در برد مدل Avaota A1، قابلیت SPI NAND فعال شده است.
DMA و تایمر کانال‌های DMA برای UART در مدل‌های A64 و H6 اضافه شده‌اند.
تایمر MMIO با رزولوشن استاندارد برای H616 اضافه شده است. این تایمر می‌تواند به عنوان تایمر پخش (Broadcast Timer) برای بیدار شدن از حالت‌های بیکار (Idle States) استفاده شود.
دستگاه‌های جدید پشتیبانی از دستگاه TaiqiCat (TQC) A01 Set-top Box مبتنی بر SoC مدل Allwinner H6 اضافه شده است.

Rockchip

بخش توضیحات
Rockchip RV1103B پشتیبانی از پردازنده بینایی 32 بیتی تک‌هسته‌ای Rockchip RV1103B، شامل درایورهای ساعت (Clock)، کنترل پین‌ها (Pinctrl) و سایر بخش‌های پایه، اضافه شده است.
ساعت (Clock) نشتی گره OF (Open Firmware Device Tree Node) در درایور کلاک Rockchip rk808 برطرف شده است.
درایور کنترلر PCIe افزودن نقاط ردیابی (Tracepoints) برای انتقال‌های LTSSM کنترلر PCIe و تغییرات نرخ لینک (Link Rate)
پشتیبانی از ردیابی رخدادهای LTSSM جمع‌آوری‌شده توسط Debug FIFO در درایور dw-rockchip
دستگاه‌های جدید Khadas Edge 2L مبتنی بر RK3576
برد Rockchip RK3576 EVB2
OneThing Edge Cube (OEC) مبتنی بر RK3566

Amlogic

بخش توضیحات
Pinctrl بن‌بست (Deadlock) در درایور Pinctrl شرکت Amlogic که به دلیل تغییرات در رابط sysfs ایجاد شده بود، برطرف شده است.
ARM Device Tree در فایل‌های Device Tree مربوط به ARM، استفاده از درایور iio-hwmon به نفع generic-adc-thermal جایگزین شده است.

ARM64 Device Tree برای لینوکس 7.1

بخش توضیحات
برد مرجع P230 شماره وقفه (Interrupt) مربوط به PHY اترنت برای برد مرجع P230 اصلاح شده است.
Amlogic AXG اطلاعات حافظه پنهان (Cache) مفقود مربوط به cpu0 در تراشه Amlogic AXG اضافه شده است.
Khadas VIM4 نام مدل برد Khadas VIM4 اصلاح شده است.
Amlogic T7 محدوده‌های ثبات (Register Ranges) کنترلر وقفه GIC در تراشه Amlogic T7 اصلاح شده‌اند.
Khadas VIM4 چیدمان حافظه (Memory Layout) نسخه مجهز به ۸ گیگابایت حافظه RAM در برد Khadas VIM4 اصلاح شده است.
Amlogic S6 ماسک‌های پردازنده (CPU Masks) از وقفه‌های نوع GICv3 PPI در تراشه Amlogic S6 حذف شده‌اند.

Samsung

بخش توضیحات
ساعت (Clock) Axis ARTPEC-9: افزودن ساعت‌های جدید PLL و درایور جدید برای هشت کنترلر ساعت روی SoC
Exynos Auto v920: افزودن کنترلر ساعت G3D (GPU)
Exynos 850: تعریف ساعت مفقود برای صندوق پستی APM (APM Mailbox)
Google Manta (Exynos5250) مشکل بوت شدن پردازنده ثانویه در برد Google Manta مبتنی بر Exynos5250 برطرف شده است. این مشکل ناشی از تفاوت در فریمور بخش Trusted Zone (TZ) بود.
درایور در سطح SoC بهینه‌سازی‌هایی در درایور ACPM Firmware مورد استفاده در Google GS101 و تراشه‌های جدیدتر Samsung Exynos انجام شده است.
مهم‌ترین تغییر، حذف ویژگی const از اشاره‌گرهای struct acpm_handle است؛ زیرا کد بلافاصله از طریق cast این محدودیت را حذف می‌کرد. همچنین این تغییر باعث خوانایی بهتر APIهای acpm_handle_get() و acpm_handle_put() شده است.
ARM Device Tree (DTS) چندین مورد پاک‌سازی و بهینه‌سازی در فایل‌های Device Tree مربوط به معماری ARM انجام شده است.
Samsung ARM64 DTS افزودن پشتیبانی اولیه از SoC مدل Axis ARTPEC-9 و برد Alfred مبتنی بر آن. این تراشه همانند ARTPEC-8 بر پایه طراحی‌های Samsung Exynos توسعه یافته و بیشتر بلوک‌های سخت‌افزاری آن با Exynos مشترک است.
برای Google GS101 (Pixel)، تمامی رگولاتورهای PMIC و سنسور اندازه‌گیری سطح شارژ (Fuel Gauge) ساخت Maxim توصیف شده‌اند.
افزودن واحد کنترل ساعت G3D (CMU) برای Exynos Auto v920.
دستگاه‌های جدید Google Manta (Nexus 10) مبتنی بر Exynos 5250
Samsung Galaxy J7 (2016) مبتنی بر Exynos 7870
Samsung Galaxy J5 (2017) مبتنی بر Exynos 7870

Qualcomm

بخش توضیحات
SoCهای جدید Qualcomm Glymur: یک SoC محاسباتی با ۱۸ هسته پردازنده Oryon-2 (Snapdragon X2 Elite، شناسه‌های X2E-96-100 و X2E-88-100)
Qualcomm Mahua: نسخه‌ای از Glymur با ۱۲ هسته پردازنده (شناسه X2E-80-100)
Qualcomm Eliza: پلتفرم امبدد برای کاربردهای موبایل (SM7750) و اینترنت اشیا (QC7790S/M)
Qualcomm IPQ5210: تراشه شبکه بی‌سیم مبتنی بر هسته‌های Cortex-A53
ساعت (Clock) جلوگیری از متوقف شدن (Parking) برخی RCGهای مشترک هنگام ثبت، با علامت‌گذاری ساعت منبع MDP به صورت no_init_park در پلتفرم‌های Makena و Hamoa تا کنسول بازیابی و نمایشگر فعال باقی بمانند.
افزودن کنترلر ساعت نمایشگر، RPMh و TCSR جهانی برای Qualcomm Eliza.
افزودن کنترلرهای ساعت RPMh، TCSR و ساعت‌های عمومی برای Qualcomm Nord.
افزودن کنترلر ساعت GPU برای Qualcomm SM8750.
افزودن کنترلرهای ساعت GPU و Video برای Qualcomm Glymur.
افزودن کنترلر ساعت عمومی برای Qualcomm IPQ5210.
Pinctrl افزودن کنترلرهای پین TLMM برای خانواده‌های Qualcomm Eliza و Hawi.
افزودن کنترلرهای پین LPASS LPI برای Qualcomm SDM670 و Milos.
افزودن کنترلر پین برای Qualcomm IPQ5210.
remoteproc پشتیبانی از بیش از ۱۰ ورودی در پیاده‌سازی Qualcomm Minidump.
افزودن پشتیبانی از DSP صوتی برای Qualcomm Eliza.
افزودن پشتیبانی مودم Remoteproc برای MDM9607، MSM8917، MSM8937 و MSM8940.
انتقال شناسه‌های سرویس QMI به فایل هدر مشترک و استفاده از آن‌ها در Sysmon.
PHY افزودن پشتیبانی از Qualcomm Eliza QMP UFS PHY.
IOMMU افزودن بایندینگ‌های Device Tree برای MMU-500 در تراشه‌های Qualcomm Eliza و Hawi.
درایور کنترلر PCIe اعلام قابلیت Hot-Plug Capable برای پورت‌های ریشه کوالکام و فعال‌سازی ویژگی No Command Completed Support به دلیل پشتیبانی سخت‌افزار از رخدادهای Hot-plug و امکان نوشتن متوالی در Slot Control.
وای‌فای (ath12k) افزودن حالت Monitor برای IPQ5332.
گزارش دمای سخت‌افزار Nasic از طریق hwmon.
افزودن پشتیبانی از IPQ5424.
به‌روزرسانی‌های درایورها افزودن ECS LIVA QC710، Glymur CRD، Mahua CRD، Purwa IoT EVK و Asus Vivobook به لیست مجاز QSEECOM.
ثبت خودکار Watchdog گونیاه (Gunyah) هنگام اجرای سیستم تحت Hypervisor گونیاه و پاک‌سازی مکانیزم‌های قفل‌گذاری.
مدیریت بهتر مقادیر نامعتبر وضعیت خنک‌کنندگی AOSS.
جایگزینی Bitmap فعال‌سازی LLCC با Reference Counting و افزودن پشتیبانی SDM670.
بهبود مدیریت Probe Delay در OCMEM.
افزودن Milos، QCS615، Eliza، Glymur و Mahua به PD-Mapper.
افزودن پشتیبانی از PMIC-GLINK مبتنی بر SoCCP.
انتقال شناسه‌های سرویس مشترک QMI به فایل هدر اصلی.
افزودن پشتیبانی از نسخه ۲ پروتکل SMP2P و خواندن وضعیت IRQChip.
افزودن شناسه‌های SoC شامل CQ7790، SA8650P، SM7450، SM7450P و IPQ5210 و همچنین PM7550BA به درایور Socinfo.
افزودن پشتیبانی Eliza و Mahua به UBWC و غیرفعال کردن Bank Swizzling برای Glymur.
ساده‌سازی منطق تخصیص درخواست دانلود NV در WCNSS Control Driver.
Arm64 Device Tree Snapdragon X Elite: افزودن UFS، بهبود ساختار DWC3، فعال‌سازی UFS، SDC، صدای DisplayPort، لایه EL2، HDMI برای ASUS Zenbook A14 و کاهش تکرار حسگرهای حرارتی.

IPQ5332/IPQ9574: افزودن کنترلر QPIC SPI NAND و فعال‌سازی eMMC در IPQ9574.

Snapdragon 8 Elite Gen 5 (SM8850): افزودن نمایشگر، Remoteprocهای صوتی و محاسباتی، دستگاه‌های QUP، حسگرهای حرارتی، CoreSight، فعال‌سازی صدا، PMIC، بلوتوث و وای‌فای در MTP و توصیف کامل PMIC و Remoteprocها در QRD.

Snapdragon Ride (SA8775P): افزودن Role Switching برای سومین USB، فعال‌سازی USB سوم، GPIO Expander و افزودن لایه IFP Mezzanine.

Snapdragon 7s Gen 3 (SM7635): افزودن UFS، رابط کنترل دوربین، GPR صوتی، FastRPC و فعال‌سازی EEPROM دوربین و حسگر Hall در Fairphone FP6.

Dragonwing IQ8: افزودن رابط کنترل دوربین، پشتیبانی eMMC، DisplayPort Bridge، GPIO Expander، DSI، بلوتوث، وای‌فای و FastRPC در Monaco و Ride.

افزودن صفحه لمسی برای Xiaomi Redmi 4A، Redmi 5A و Redmi Go و اصلاح شناسه برد Redmi 4A.
افزودن حسگر نور محیط و مجاورت به Asus ZenFone 2 Laser و ZenFone Selfie.

QCS6490/QCM6490: فعال‌سازی اترنت و USB Type-A در Rb3 Gen2، اصلاح LT9611، افزودن بلوتوث و دوربین جلو و معرفی لایه Industrial Mezzanine.

QRB2210/QRB4210: توصیف صحیح تراشه Wi-Fi/Bluetooth و پل DSI/DisplayPort.

SC8280XP: افزودن پشتیبانی از نمایشگر DSI.

SDM670: افزودن LLCC.
SDM630: افزودن یک کنترلر SPI جدید.
SDM845: توصیف صحیح تراشه Wi-Fi/Bluetooth در دستگاه‌های مختلف.

اطلاعات
80
0
0
اشتراک و حمایت
profile نویسنده: آرویدتک متخصص الکترونیک

وبسایت: http://www.arvidtek.com

www.arvidtek.com | گروه مهندسی آرویدتک | فعال حوزه الکترونیک و مخابرات | فروشگاه تخصصی قطعات الکترونیک


مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله