انتشار FreeBSD 13.0

دو سال و نیم پس از تشکیل شعبه 12.x، انتشار FreeBSD 13.0 ارائه شد که برای معماری های amd64، i386، powerpc، powerpc64، powerpc64le، powerpcspe، armv6، armv7، aarch64 و riscv64 آماده شده است. علاوه بر این ، تصاویر برای سیستم های مجازی سازی (QCOW2 ، VHD ، VMDK ، RAW) و محیط های ابری Amazon EC2 ، Google Compute Engine و Vagrant ایجاد شده است.

نوآوری های اصلی:

  • گذار به یک زبان برنامه‌نویسی یکپارچه (c) تکمیل شده است. Linux پیاده‌سازی سیستم فایل ZFS توسط پروژه OpenZFS. ویژگی‌هایی که پس از تغییر به OpenZFS در FreeBSD در دسترس قرار گرفتند عبارتند از: یک سیستم سهمیه‌بندی توسعه‌یافته، رمزگذاری مجموعه داده‌ها، انتخاب کلاس تخصیص جداگانه، استفاده از دستورالعمل‌های پردازنده برداری برای تسریع پیاده‌سازی RAIDZ و محاسبات چک‌سام، پشتیبانی از الگوریتم فشرده‌سازی ZSTD، حالت چندمیزبانی (MMP، محافظت چند اصلاح‌کننده)، ابزار خط فرمان بهبود یافته و رفع اشکالات متعدد شرایط رقابتی و قفل‌گذاری.
  • پورت معماری ARM64 (AArch64) به سطح اول پشتیبانی (Tier 1) منتقل شده است که توسط تیم‌هایی که مسئولیت حذف آسیب‌پذیری‌ها، آماده‌سازی نسخه‌ها و نگهداری پورت‌ها را بر عهده دارند، پشتیبانی می‌شود. اولین سطح پشتیبانی شامل ایجاد مجموعه‌های نصب، به‌روزرسانی‌های باینری و بسته‌های آماده و همچنین ارائه ضمانت‌هایی برای حل مشکلات خاص و حفظ ABI بدون تغییر برای محیط کاربر و هسته (به استثنای برخی از زیرسیستم‌ها) است.
  • معماری i386 به سطح دوم پشتیبانی از پلتفرم (Tier 2) منتقل شده است که در آن تشکیل مجموعه‌های نصب، به‌روزرسانی‌های باینری و بسته‌های آماده ادامه خواهد داشت، اما راه‌حلی برای مشکلات خاص را تضمین نمی‌کند. نوع پیش‌فرض CPU (CPUTYPE) برای معماری i386 از 486 به 686 تغییر یافته است (در صورت تمایل، مجموعه‌های i486 و i586 را می‌توان به طور مستقل ایجاد کرد).
  • کامپوننت های clang، lld، lldb، compiler-rt، llvm، libunwind و libc++ به نسخه 11 به روز شده اند.
  • توسعه از سیستم کنترل منبع متمرکز Subversion به سیستم غیرمتمرکز Git منتقل شده است.
  • سیستم پایه از برنامه های توزیع شده تحت مجوز GPL پاک شد. Binutils 2.17 و gcc 4.2.1 از درخت منبع حذف شده اند و تمام معماری های پشتیبانی شده به جعبه ابزار LLVM/clang منتقل شده اند. شامل نسخه های دارای مجوز BSD از ابزارهای grep و dtc (Device Tree Compiler) است که جایگزین نسخه های دارای مجوز GPL می شود. فرآیند نصب خودکار amd حذف شده است که عملکرد آن اکنون از طریق autofs پیاده سازی شده است. ابزار ctm حذف شده است و توصیه می شود به جای آن از پورت misc/ctm استفاده کنید.
  • پشته مسیریابی بازنویسی شده است تا شامل پشتیبانی از اشیاء nexthop باشد که داده‌های حالت مورد استفاده برای ارسال یک بسته به مقصد مورد نظر را ذخیره می‌کند. قابلیت اتصال الگوریتم های جستجوی مسیر خود را اضافه کرد. اضافه شدن الگوریتم های جستجوی مسیر از DPDK (Kit توسعه هواپیمای داده) librte، به شما امکان می دهد کار را با جداول مسیریابی بسیار بزرگ بهینه کنید. برای درخواست های proxyarp از رابط فیب استفاده می شود. قابلیت تغییر شماره فیب در لحظه از طریق sysctl net.fibs اضافه شده است. پشتیبانی از مسیرهای موقت برای IPv4 و IPv6 (با طول عمر تعیین شده).
  • پشتیبانی از مسیریابی چند مسیری بازنویسی شده و مقیاس‌پذیرتر شده است، که در آن زمان جستجو به اندازه فهرست (O(1)) بستگی ندارد. اجرای Multipath جدید اکنون با پارامتر هسته ROUTE_MPATH که جایگزین RADIX_MPATH شده است و به طور پیش فرض فعال است، مرتبط است. برای مدیریت Multipath، sysctl net.route.multipath پیشنهاد شده است.
  • چارچوب رمزنگاری پیاده‌سازی شده در سطح هسته مجدداً طراحی شده است و پشتیبانی از الگوریتم‌های رمزنگاری مدرن را اضافه کرده و رابط کاربری را برای استفاده از رمزگذاری در درایورها و سایر اجزای هسته ساده‌تر می‌کند. الگوریتم های قدیمی ARC4، Blowfish، CAST128، DES، DES، MD5-HMAC و Skipjack حذف شدند. IPsec و Kerberos دیگر از الگوریتم های منسوخ شده توسط RFC 8221 و RFC 6649/8429، از جمله 3DES پشتیبانی نمی کنند. الگوریتم های منسوخ اعلام شده قبلی در زیرسیستم رمزگذاری دیسک geli و cryptodev حذف شد.
  • هسته GENERIC شامل پشتیبانی از درایورهای aesni و armv8crypto برای تسریع رمزگذاری دیسک مبتنی بر geli با استفاده از دستورالعمل‌های AES-NI برای معماری‌های amd64/i386 و AES-XTS برای ARM64 است.
  • درایور qat برای شتاب‌دهنده‌های رمزنگاری QuickAssist (QAT) اینتل و درایور ossl با پیاده‌سازی رویه‌های رمزگذاری نرم‌افزاری شتاب‌دهی از OpenSSL، بهینه‌سازی شده با استفاده از کد زبان اسمبلی اضافه شد. درایور armv8crypto با استفاده از دستورالعمل های مربوط به پردازنده های ARMv8، پشتیبانی از AES-XTS و AES-GCM را اضافه می کند.
  • اضافه شدن اجرای TLS (kTLS) که در سطح هسته FreeBSD اجرا می شود، که امکان افزایش قابل توجهی در عملکرد رمزگذاری برای سوکت های TCP را فراهم می کند. پشتیبانی از نسخه های TLS 1.0 تا 1.3. برای رمزگذاری، از درایورهای رمزنگاری هسته که از AES-CBC یا AES-GCM پشتیبانی می کنند استفاده می شود. استفاده از kTLS در فضای کاربر نیاز به بازسازی OpenSSL با گزینه WITH_OPENSSL_KTLS دارد.
  • نوع جدیدی از بافرهای شبکه اضافه شد، mbuf (بافر داده شبکه)، که می تواند چندین صفحه حافظه فیزیکی بدون نقشه را در یک بافر نشان دهد، که عملکرد فراخوانی sendfile(2) را با کاهش اندازه لیست های mbuf در بافرهای سوکت بهبود می بخشد.
  • پشته TCP پشتیبانی از الگوریتم کاهش متناسب در شدت ارسال بسته ها را ادغام می کند (کاهش نرخ متناسب، RFC 6937)، که به شما اجازه می دهد تا به سرعت پارامترهای جریان بهینه را پس از مشکلات موقت در انتقال داده بازیابی کنید. برای غیرفعال کردن PRR، sysctl net.inet.tcp.do_prr ارائه شده است.
  • قابلیت‌های هایپروایزر Bhyve گسترش یافته است: پشتیبانی از اشتراک‌گذاری فایل با استفاده از VirtIO-9p (VirtFS) اضافه شده است. پشتیبانی از اسنپ‌شات پیاده‌سازی شده است. ماشین‌های مجازیپشتیبانی از دستگاه‌های PCI HDAudio و پورت‌های سریال اضافی COM3 و COM4 اضافه شد. مدل‌های منسوخ‌شده‌ی دستگاه‌های bvmconsole و bvmdebug حذف شدند. پایداری با کلاینت‌های VNC، از جمله ... بهبود یافت. macOS-برنامه اشتراک گذاری صفحه نمایش
  • درایورهای VirtIO پشتیبانی از مشخصات VirtIO V1 را اضافه کرده اند که سازگاری مهمانان FreeBSD با شبیه سازها و هایپروایزرهای مختلف را بهبود بخشیده است.
  • برای فرآیندهای متصل به محیط‌های زندان، تبدیل اتصال‌های CPU ارائه می‌شود (cpuset که ابتدا به فرآیند متصل شده است با در نظر گرفتن cpuset زندان و محدودیت‌های تعیین‌شده جایگزین می‌شود).
  • قابلیت ساخت سیستم پایه FreeBSD در محیط‌های مبتنی بر سایر سیستم عامل‌ها اضافه شده است. نیاز به ساخت بر روی سایر سیستم عامل‌ها ناشی از تمایل به استفاده از ابزارهای یکپارچه‌سازی مداوم برای آزمایش FreeBSD است که مبتنی بر Linux یا macOS.
  • یک پشته MMC/SD جدید پیشنهاد شده است که بر اساس چارچوب CAM است و به شما امکان می دهد دستگاه ها را با رابط SDIO (Secure Digital I/O) متصل کنید. به عنوان مثال، SDIO در ماژول های WiFi و بلوتوث برای بسیاری از بردها مانند Raspberry Pi 3 استفاده می شود. پشته جدید همچنین اجازه می دهد تا از رابط CAM برای ارسال دستورات SD از برنامه های موجود در فضای کاربر استفاده شود، که امکان ایجاد دستگاه را فراهم می کند. درایورهایی که در سطح کاربر کار می کنند.
  • بهبود عملکرد بین لایه‌ای برای سازگاری با Linuxفایل‌های DTS (منابع درخت دستگاه) با هسته همگام‌سازی می‌شوند. Linux 5.8.
  • اضافه شدن پشتیبانی از NFSv4.2 (RFC-7862) و اجرای قابلیت کارکرد NFS از طریق یک کانال ارتباطی رمزگذاری شده بر اساس TLS 1.3، به جای استفاده از Kerberos (حالت sec=krb5p)، که محدود به رمزگذاری پیام‌های RPC بود و پیاده‌سازی شد. فقط در نرم افزار
  • نسخه قدیمی دیباگر GDB که قبلاً در پوشه /usr/libexec نصب شده بود و در ابزار crashinfo استفاده می شد، حذف شده است. به جای GDB از پیش نصب شده، برای به دست آوردن اطلاعات دقیق در مورد علل خرابی، اکنون پیشنهاد می شود آخرین نسخه GDB را از پورت ها یا بسته ها نصب کنید. پشتیبانی از اشکال زدایی فرآیند از طریق procfs متوقف شده است. درایور netgdb اضافه شده است که امکان دسترسی به دیباگر هسته را از طریق شبکه فراهم می کند.
  • تابع unsafe gets از libc حذف شده است (با شروع از استاندارد C11، این تابع از مشخصات حذف شده است) و پورت هایی که هنوز از این عملکرد استفاده می کنند تنظیم شده اند. توابع cap_random حذف شد (باید از getrandom استفاده شود).
  • یک فراخوانی سیستمی جدید copy_file_range سازگار با پیاده‌سازی هسته اضافه شد. Linux و اجازه می‌دهد تا کپی کردن داده‌ها از یک فایل به فایل دیگر را با انجام عملیات فقط در سمت هسته و بدون خواندن اولیه داده‌ها در حافظه فرآیند، سرعت بخشید. فراخوانی سیستم همچنین در موارد زیر استفاده می‌شود: سرور NFSv4.2 برای انجام عملیات کپی به صورت محلی روی سرور (بدون ارسال به کلاینت).
  • موتور I/O ناهمزمان POSIX AIO پشتیبانی از توابع برداری را ارائه می کند. به طور خاص، فراخوانی های سیستم aio_writev و aio_readv اضافه شده اند که امکان اجرای معادل های برداری شده از توابع aio_read و aio_write را فراهم می کند.
  • اجزای فضای کاربر برای پشتیبانی از فرمت فایل اجرایی a.out در سیستم‌های معماری i386 متوقف شده‌اند. ابزار elf2aout حذف شده است.
  • برنامه های پینگ و پینگ 6 ترکیب شده اند. قابلیت تنظیم پارامترهای کیفیت سرویس (QoS) از طریق IP DSCP و Ethernet PCP به پینگ اضافه شده است.
  • ابزار freebsd-update اکنون پیشرفت دانلود فایل را نشان می‌دهد و دستورات updatesready و showconfig را برای بررسی به‌روزرسانی‌ها و نمایش پیکربندی اضافه می‌کند.
  • کارهای زیادی برای بهبود پشتیبانی از سیستم های NUMA (دسترسی به حافظه غیر یکنواخت) انجام شده است.
  • درایورهای گرافیکی و اجزای پشته گرافیکی به روز شده. مشکلات عملکرد محیط های مبتنی بر پروتکل Wayland برطرف شده است.
  • اضافه شدن زیرسیستم نور پس زمینه برای ایجاد درایورهای کنترل نور پس زمینه. درایور pwm-backlight برای کنترل نور پس زمینه Pinebook و Pinebook Pro اضافه شده است.
  • پشتیبانی از پروتکل SCTP در یک ماژول جداگانه sctp.ko گنجانده شده است که به طور پیش فرض در هسته GENERIC غیرفعال است.
  • برای دستگاه های ورودی، یک درایور جدید usbhid پیشنهاد شده است که از چارچوب hid برای کار با دستگاه های USB HID به جای درایورهای ukbd، ums و uhid استفاده می کند.
  • درایور cpufreq از فناوری Intel Speed ​​Shift پشتیبانی می کند.
  • پشتیبانی از بردهای جدید مبتنی بر CPUهای 64 بیتی ARMv8، از جمله Broadcom BCM5871X و NXP LS1046A SoC اضافه شده است.
  • برای معماری AMD64، پشتیبانی از آدرس های مجازی 57 بیتی (LA57) پیاده سازی شده است. اضافه شدن پشتیبانی از CPU چینی x86 Hygon Dhyana بر اساس فناوری های AMD.
  • پورت معماری powerpc64 برای استفاده از LLVM و ELFv2 ABI تغییر یافته است (باینری های نسخه های قبلی FreeBSD نمی توانند در FreeBSD 13 استفاده شوند). درایورهای virtio, ixl, mrsas, aacraid, cpld برای powerpc64 پورت شده اند.
  • درایورهای آداپتورهای اترنت قدیمی حذف شده اند:
    • bm(4) BMAC
    • cs(4) نیمه هادی کریستال CS8900/CS8920
    • de(4) DEC DC21x4x
    • ed(4) NE-2000 و WD-80×3
    • ep(4) 3Com Etherlink III (3c5x9) ISA
    • ex(4) Intel EtherExpress Pro/10 و Pro/10+
    • fe(4) فوجیتسو MB86960A/MB86965A
    • hme(4) Sun Microelectronics STP2002-STQ
    • pcn(4) AMD PCnet
    • sf(4) Starfire
    • sn(4) SMC 91Cxx
    • tl (4) Texas Instruments ThunderLAN
    • tx(4) SMC 83c17x
    • txp(4) 3Com 3XP Typhoon/Sidewinder (3CR990)
    • vx(4) 3Com EtherLink III / Fast EtherLink III (3c59x) PCI
    • wb(4) Winbond W89C840F
    • xe(4) Xircom PCMCIA
  • درایورهای ubsec (شتاب دهنده های رمزنگاری Broadcom BCM58xx)، ufm (تیونرهای FM با رابط USB)، ctau (Cronix Tau)، cx (Cronix Sigma) و vpo (درگاه موازی SCSI) حذف شدند.

منبع: opennet.ru

خرید هاست قابل اعتماد برای سایت های دارای حفاظت DDoS، سرورهای VPS VDS 🔥 خرید هاستینگ معتبر با محافظت در برابر حملات DDoS، سرورهای VPS و VDS | ProHoster