إصدار نظام التشغيل DragonFly BSD 5.8

متاح الإفراج عن دراجون فلاي بي إس دي 5.8، نظام تشغيل ذو نواة هجينة، خلقت في عام 2003 بغرض التطوير البديل لفرع FreeBSD 4.x. من بين ميزات DragonFly BSD، يمكننا تسليط الضوء على نظام الملفات الموزع مطرقة، دعم تحميل نواة النظام "الافتراضية" كعمليات مستخدم، والقدرة على تخزين بيانات FS وبيانات التعريف مؤقتًا على محركات أقراص SSD، والروابط الرمزية المتنوعة الحساسة للسياق، والقدرة على تجميد العمليات مع حفظ حالتها على القرص، ونواة هجينة تستخدم خيوط خفيفة الوزن (LWKT) .

رئيسي تحسيناتتمت إضافته في DragonFlyBSD 5.8:

  • يتضمن التكوين الرئيسي الأداة المساعدة com.dsynth، مصمم للتجميع المحلي وصيانة مستودعات DPort الثنائية الخاصة بك. يتم دعم توازي تجميع عدد عشوائي من المنافذ، مع مراعاة شجرة التبعية. استعدادًا للإصدار الجديد، أجرى DPort أيضًا عددًا كبيرًا من التغييرات التي تهدف إلى تسريع إنشاء العديد من الحزم التابعة.
  • تطبق libc آلية فعالة لإخفاء الإشارة، مما يجعل من الممكن حماية malloc*() والوظائف المشابهة من المشاكل بسبب انقطاعها عن طريق الإشارة. بالنسبة لحظر الإشارات وإلغاء حظرها على المدى القصير، يتم اقتراح وظائف sigblockall() وsigunblockall()، والتي تعمل دون إجراء مكالمات النظام. بالإضافة إلى ذلك، قامت libc بتكييف الدالة strtok()‎ لاستخدامها في التطبيقات متعددة الخيوط، وإضافة الثوابت TABDLY وTAB0 وTAB3 والدالة __errno_location لتحسين دعم dports.
  • تتم مزامنة مكونات واجهة DRM (مدير العرض المباشر) مع Linux kernel 4.9، مع ميزات محددة تم نقلها من kernel 4.12 بهدف تحسين دعم Wayland.
    تتم مزامنة برنامج التشغيل drm/i915 لوحدات معالجة الرسومات Intel مع Linux kernel 4.8.17 مع التعليمات البرمجية المنقولة من kernel 5.4 لدعم الرقائق الجديدة (Skylake، وCoffelake، وAmber Lake، وWhisky Lake، وComet Lake). تتم مزامنة برنامج تشغيل drm/radeon لبطاقات فيديو AMD مع Linux 4.9 kernel.

  • تم تحسين خوارزميات ترحيل الذاكرة الافتراضية بشكل كبير، مما يسمح لنا بإزالة أو تقليل مشكلات الاستجابة في واجهة المستخدم عندما لا تكون هناك ذاكرة كافية. تم حل مشكلات تجميد Chrome/Chromium بسبب عدم كفاية ذاكرة النظام.
  • تحسين تحجيم النواة على الأنظمة التي تحتوي على عدد كبير من نوى المعالج. تقليل وقت طلب صفحة الذاكرة الظاهرية. تقليل تزاحم SMP عندما تكون الذاكرة منخفضة. زيادة كفاءة المكالمة "open(... O_RDWR)".
  • تمت إعادة تصميم مولد الأرقام العشوائية الزائفة في النواة. تم تكييف برنامج تشغيل RDRAND لتجميع الإنتروبيا من جميع وحدات المعالجة المركزية (CPUs). انخفاض الشدة
    وحجم موجز RDRAND، الذي كان يستغرق في السابق 2-3% من وقت وحدة المعالجة المركزية أثناء وقت الخمول.

  • تمت إضافة نظام جديد يستدعي Realpath وgetrandom وlwp_getname (يسمح بتنفيذ pthread_get_name_np).
  • تمت إضافة دعم لآليات حماية SMAP (منع الوصول إلى وضع المشرف) وSMEP (منع تنفيذ وضع المشرف). يسمح لك SMAP بحظر الوصول إلى بيانات مساحة المستخدم من التعليمات البرمجية المميزة التي تعمل على مستوى kernel. لا يسمح SMEP بالانتقال من وضع kernel إلى تنفيذ التعليمات البرمجية الموجودة على مستوى المستخدم، مما يجعل من الممكن منع استغلال العديد من نقاط الضعف في kernel (لن يتم تنفيذ كود القشرة، لأنه موجود في مساحة المستخدم)؛
  • تمت إعادة صياغة متغيرات sysctl لتكوين Jail. تمت إضافة القدرة على تحميل nullfs وtmpfs من السجن.
  • تمت إضافة وضع الطوارئ لنظام الملفات HAMMER2، والذي يمكن استخدامه أثناء الاسترداد بعد الفشل. في هذا الوضع، من الممكن تدمير اللقطات عند تحديث inode محليًا (يسمح لك بحذف الملفات والأدلة في حالة عدم وجود مساحة خالية على القرص، عندما يكون من المستحيل استخدام آلية النسخ عند الكتابة). تم تحسين الأداء بشكل ملحوظ من خلال إعادة صياغة دعم إرسال الخيط في HAMMER2. تم تحسين عملية تنظيف المخازن المؤقتة بشكل ملحوظ.
  • تحسين موثوقية وأداء TMPFS. زيادة كفاءة التشغيل عندما يكون هناك نقص في الذاكرة الحرة في النظام.
  • يدعم مكدس شبكة IPv4 الآن البادئات /31 (RFC 3021).
    قام Tap بتحسين معالجة SIOCSIFMTU ioctl لدعم MTU > 1500. تمت إضافة دعم لـ SIOCSIFINFO_IN6 وSO_RERROR.

  • تتم مزامنة برنامج تشغيل iwm مع FreeBSD مع دعم شرائح Intel اللاسلكية (دعم إضافي لـ iwm-9000 وiwm-9260).
  • تمت إضافة وظائف basename() وdirname() المتوافقة مع Linux لتحسين توافق المنفذ.
  • تم نقل fsck_msdosfs، sys/ttydefaults.h، AF_INET / AF_INET6 من FreeBSD إلى libc/getaddrinfo()، التقويم(1)، rcorder-visualize.sh. تم نقل الوظائف من math.h من OpenBSD.
  • الإصدارات المحدثة من مكونات الطرف الثالث، بما في ذلك Binutils 2.34 وOpenresolv 3.9.2 وDHCPCD 8.1.3. المترجم الافتراضي هو gcc-8.

المصدر: opennet.ru

إضافة تعليق