DragonFly BSD

نرم افزار تصویر:
DragonFly BSD
جزئیات نرم افزار:
نسخه: 5.2.2 به روز شده
ها تاریخ: 22 Jun 18
توسعه دهنده: The DragonFly Team
پروانه: رایگان
محبوبیت: 50

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD منبع باز سیستم عامل BSD طراحی شده است که ادامه منطقی سری OS FreeBSD-4.x است. این خیلی مشابه توزیعهای مبتنی بر BSD مانند FreeBSD، NetBSD یا OpenBSD است. به عبارت دیگر، این یک چنگال در مسیر است، به این معنا که پایگاه BSD فرصتی برای رشد در جهت کاملا جدید از یکی در سری FreeBSD-5 است. در بالا آن، شامل یک مجموعه منحصر به فرد از ویژگی های است که آن را از دیگر OS های مشابه متفاوت است


هامر جاذبه اصلی است

HAMMER جذابیت اصلی DragonFly است، یک سیستم مدرن و با کارایی بالا که دارای قابلیت دسترسی تاریخی و آینه داخلی است. هسته همچنین یکی از دلایلی است که DragonFly توزیع BSD بهتر است.

دو زمانبند مختلف برای هسته ارائه می دهد

کرن DragonFly شامل دو زمانبندی مختلف است که برنامه های تمام اجزای اجرایی (Lightweight Kernel Thread) و یکی دیگر از آنها را انتخاب می کند که یک کاربر تنها در یک زمان برای هر پردازنده و خلاصه کردن موضوعات کاربر (Thread Scheduler Thread) است. علاوه بر این، هسته دارای تخصیص حافظه پیچیده هسته ای است که شامل تخصیص حافظه شی گرا و یک malloc هسته پایه به نام kmalloc ()، سیستم فایل دستگاه DragonFly (DEVFS)، یک هسته مجازی (VKERNEL)، یکپارچه سازی RPC NFS V3 و یک دیسک I / O چارچوب زمانبندی (dsched).


ویژگی ها، تعداد زیادی از ویژگی ها

در میان دیگر ویژگی های جالب، ما می توانیم NULL File System Layer (NULLFS) را که از نقاط دلخواه دلخواه غیر looping پشتیبانی می کند، TMPFS (Temporary Filesystem VFS)، رمزگذاری دیسک شفاف، SSD (Solid Device Storage Device) مدیریت شده، نوع (context حساس) symlinks، DNTPD (DragonFly Network Time Daemon) و DMA (DragonFly Mail Agent). علاوه بر این، کاربران قادر خواهند بود تا در هر زمان، به ایست بازرسی و یا فرآیند به دیسک متصل شوند. این توزیع دارای رانندگان قوی AHCI، نام دستگاه پایدار و همچنین رمزگذاری و مدیریت حجم صدا است.

خط پایین

به طور کلی، DragonFly ثابت می کند که یک سیستم عامل مدرن، کاربر پسند و بسیار قابل دسترس یونیکس است. این می تواند به صورت روزانه به عنوان سیستم دسکتاپ و یا به عنوان یک سرور قدرتمند BSD مورد استفاده قرار گیرد.

DragonFly نسخه 5.2.1 منتشر شده است کاهش Meltdown / Spectre، تعدادی از پیشرفتهای HAMMER2، ipfw و ویدئوهای شتاب دهنده، به علاوه (در بروز رسانی 5.2.1) برای CVE-2018-8897.

چه جدید در این نسخه است:

مسیحی گروسلر (1):
telnetd: اطلاعات سیستم چاپ (سیستم عامل و معماری) قبل از ورود سریع.
متی دیلون (7):
hammer2 - حلقه 0 را تقسیم کنید
هسته - MFC انتخابی از هسته umtx کار از کارشناسی ارشد
هسته - به روز رسانی umtx مستندات
libc و pthreads - مسائل مربوط به forfork را با nmalloc اصلاح کنید، dmalloc را بروز رسانی کنید
hammer2 - اصلاح مسابقه تغییر نام
hammer2 - بهینه سازی hammer2_pfs_memory_wakeup ()
hammer2 - تغییر نام زنجیره کثیف نامحدود به دلیل تغییر نام
ساسا وایلدرر (5):
hammer2.8: رفع اشتباه
به جای "چکش" در مکان های مختلف بگو "hammer2".
mtree: رفع صاحب چندین دایرکتوری در / usr / share.
libc / nls: استفاده از جاری فعلی (تنظیم شده توسط موضوع).
Libbarchive: متوقف کردن متوقف کردن آن به معنای تحت فشار قرار داد.

چه جدید در نسخه 4.8.1 جدید است:

هسته:
کد کشف بافر Refactor برای حذف پویا رزرو KVA. در عوض، تمام KVA در زمان بوت نگهداری می شوند. ما را از IPI های غیر ضروری صرفه جویی می کند و اجازه می دهد تا ساده تر کردن کد کشف بافر.
اضافه کردن vfs.repurpose_enable (تحت آزمون، غیر فعال به طور پیش فرض). این ویژگی را می توان به طور قابل توجهی کاهش بار مدیریت IPI و VM را بر روی یک دستگاه که مقدار زیادی از فایل I / O را، به عنوان مثال از یک SSD NVMe، دور زدن از مکانیزم بازیافت صفحه VM معمولی. وقتی فعال شد، این ویژگی فقط تحت بارهای I / O بالا راه اندازی می شود. با بازنویسی صفحات VM که بافر در محل قرار دارند (در صورت امکان) با بازنویسی صفحات کار می کند، به طوری که نباید صفحات KVA در بافر را kremove / kenter. بازیافت صفحه صفحه VM معمولی (که در غیر این صورت توسط بار I / O غرق می شود) نیز از بین می رود.
تغییر نحوه پردازش IPIQ، به ویژه ایجاد یک مکانیزم بردار Xinterrupt مستقل برای لغو صفحات که نادیده گرفتن (عمل خواهد کرد) حتی اگر بخش بحرانی برگزار شود. پیاده سازی machdep.optimized_invltlb (غیر فعال به طور پیش فرض، در زیر آزمون) که از ارسال IPL های نامعتبر IPB به سرور غیر فعال جلوگیری می کند.

مسابقه های متعدد را که می تواند در بارهای شدید رخ دهد، تصحیح کند. اکثر موارد استفاده هرگز باعث این نمی شوند اما جعبه های ساخت ما گاهی اوقات. به عنوان مثال، دو نژاد آموزش وجود دارد که در آن CPU کمی برای PMAP پاک می شود (برای دو دستورالعمل) و باعث یک IPL TLB رخ در همان زمان در پردازنده های دیگر برای همان MPAP به درک نمی کند که CPU استفاده از pmap . ثابت این است که بهینه سازی بازنگری CR3 را برای پرونده سوئیچ LWP- & gt؛ LWP (همان درصد) غیر فعال کنید.
رفع اشکال HAMMER که می تواند یک خطای CRC DATA را به صورت نامناسب گزارش دهد.
رفع یک نوشتن دوبار توسط روش HAMMER با استفاده از cluster_write (). این به طور قابل توجهی بهبود عملکرد نوشتن هامر را بهبود می بخشد.
چندین تمیز کردن و رفع HAMMER نیز وارد شده است.
حلقه سختی که می تواند در getpbuf * () اتفاق بیفتد، به دلیل درک اشتباه ارزش بازگشتی op op.
رفع یک وقفه انباشته که می تواند در یک پنجره دستورالعمل 10 رخ دهد، به طور بالقوه (اما در وحشی یافت نمی شود) که در حال اجرای کرنل است.IPP ها مربوط به PMAP را به صورت نیمه برای برخی از عملیات های حافظه بافر انجام می دهند، بدون اینکه باعث آسیب زدن به TLB شود، و در قسمت flip همیشه هنگام ورود به PTE جدید حتی TLB نامعتبر است، حتی اگر مقادیر قبلی نامعتبر باشد. این عملکرد را بهبود می بخشد و همچنین با برطرف کردن بهینه سازی مشکل ساز، باعث می شود که اشکال زدایی ساده تر شود.
تعدادی از نژادهای SMP دشوار به مودم را مشخص کنید، به ویژه در رابطه با انجام همزمان مبالغ مختلف نقاط اتصال که ساختار بزرگ می تواند باعث شود. همچنین مسابقه mount را در مقابل umount رفع کنید.
کاهش تعداد عملیات اتمی در مسیر سوئیچ.
اصلاح نژاد / ناخوشایند namecache که می تواند تحت بارهای شدید همراه با بسیاری از فعالیت های mount / umount رخ دهد.
محدود کردن٪ نمونه برداری رب به ریشه.
رفع یک مشکل getpid () در vfork () هنگام رشته. به طور خاص، vfork همزمان () در یک برنامه رشته می تواند PID اشتباه را توسط getpid () در فرزند قبل از exec انجام دهد.
رفع یک نژاد celle / noteout نادر زمانی که تایمر callout تا قبل از tsleep () به طور کامل انجام تنظیمات راه اندازی.
پاک کردن پیام های ناشناس در کنسول. به طور خاص، گزارش زمان مناسب و زمان td_comm از موضوعات درگیر است.علاوه بر کاهش تست حافظه و صفر زدایی اولیه، برای بهبود زمان بوت شدن در سیستم های با مقدار زیادی از RAM.
کد کامل خالی کردن صفحه را به طور کامل حذف کنید. صفر کردن یک صفحه در یک پردازنده ی مدرن بر اساس تقاضا، به دلایل بسیاری بهتر است و ممکن است در مقایسه با داده های مصرف کننده در صفحه، به دلیل اثرات حافظه پنهان، سریعتر باشد. حذف PG_ZERO، زیرا دیگر لازم نیست. حذف PG_ZERO همچنین باعث می شود که هسته را از بین بردن منبع دیگری از آلودگی متقابل آشکار سازد.
Refactor و پایان دادن به محلی سازی CPU برای تخصیص حافظه هسته. ترکیب با آگاهی NUMA این کار برای ساختار داده های کرنل پردازش شده یا کوتاه مدت عمر می کند. این دو با یکدیگر در انتساب PQ_L2_SIZE ما ترکیب می شوند که قبلا رنگ آمیزی صفحه VM بود. این کد در حال حاضر نیز محلی سازی پردازنده و NUMA آگاهی را مدیریت می کند.
رفع بسیاری از مشکلات vkernel و به طور قابل توجهی بهبود عملکرد vkernel.
به روز رسانی kern.proc.pathname، یک sysctl مورد استفاده توسط برنامه ها برای پیدا کردن مسیر برنامه در حال اجرا. این Sysctl در ابتدا اجرا شد قبل از اینکه داده های کافی برای بازگشت مسیر کامل و مناسب را ذخیره کردیم.
ACPICA همگام سازی از Intel (این یک رویداد معمول است).fix memcpy () assembly ABI را تعمیر کنید. مأموریت اصلی اصل (dst) را باز نگرفت. هیچ مشکلی شناخته شده ای را حل نمی کند، اما زمانی که GCC تصمیم می گیرد که در هنگام تولید کد، Memcpy را فراخوانی کند، یک سوراخ را مسدود می کند.
بسیاری متعهد می شوند تا هشدارها و خطاهای O2 را پاک کنند. هسته در حال حاضر به طور پیش فرض O2 کامپایل شده است.
یک راه حل برای عملکرد نامناسب در مسیر ACPI (با نام ACPI buggy) اضافه کنید.
مسابقه STOP / CONT را ثابت کنید که می تواند توسط یک سیگنال معین در زمان اشتباه منجر شود.
Coredump رشته ای رفع و حلقه قفل مربوط به همان زمانی که چندین رشته از همان روند seg-fault در همان زمان رفع.
رفع یک قفل CAM / VM که ممکن است به دلیل یک اشکال در uiomove_nofault () رخ دهد. این در حالی است که می تواند یک بوق صحیح نامحدود در هنگام جست و جوی / مبادله سنگین ایجاد کند.
اضافه کردن کد برای شناسایی و مقابله با IPI های از دست رفته. این در درجه اول برای vkernels است که برخی از میزبان های مجازی می توانند IPI ها را از دست بدهند. تصور نمی شود CPU واقعی از IPI ها را از دست بدهد.
رفع اشکال به clock_gettime ().
حذف بیشتر از MPLOCK. تمام مسیرهای بحرانی مدتهاست که از این قفل جدا شده اند، اما هنوز چند مکان غیر بحرانی وجود دارد که از آن استفاده می کنند.کد کشتن فرایند کم حافظه را دوباره پردازش کنید و چندین مسابقه را تعمیر کنید که می تواند از کارکرد این ویژگی جلوگیری کند.
رفع قفل سیستم با VMM و refactor کد VMX.
وقتی که numvnodes به maxvnodes می رسد، که در بارهای سنگین رخ می دهد، می تواند یک خراب را حل کند. همچنین رفع حافظه جزئی حافظه کرنل زمانی که 'df' و یا همگام سازی فایل سیستم مسابقه umount. همچنین محاسبه مقادیر زیاد را کم کنید. به عنوان مثال، یک دستگاه با 8 گیگابایت رم اکنون حداکثر مقدار 478483 را به جای 598103 تنظیم خواهد کرد.
رفع یک وحشت نادر است که می تواند توسط vm_object_page_remove () انجام شود هنگامی که user_yield () در حین برگزاری یک اسپین قفل نامناسب نامیده می شود و سپس تصمیم می گیرد تا برنامه ریزی شود.
کاهش اندازه برخی از ساختارهای هسته اختصاص داده شده به صورت پویا. به طور خاص، تخصیص جدول درونی هگز در حال حاضر کوچکتر است. ابتدا UFS را تحت تاثیر قرار می دهد (که DragonFlyBSD خیلی از آن استفاده نمی کند).
AMD Erratum 793 را راه اندازی کنید.
فضای خرابی را که می تواند در خوشه ی انباشته _ * () I / O رخ دهد را حل کند.
رفع یک اشکال که بارگیری ماژول بازگشتی می تواند بلاک شود.
یک خطای احمقانه را در کد NFS sillyrename (NFS سرور) رفع کنید، که می تواند باعث ایجاد کد sillyrename سرور NFS شود تا هرگز فایلی تغییر نام داده شود. چقدر احمقانه!یک کار بهتر برای تنظیم پیکربندی بالا ncpu + کم حافظه انجام دهید.
Refactor اسپینکلاها را به اشتراک می گذارد تا مقدار چرخش را کاهش دهد که می تواند زمانی رخ دهد که چندین عدد در یک زمان یک قفل مشترک به دست آورند.
تعمیرات اساسی در عملیات namecache برای کاهش اختلافات SMP حتی بیشتر. این باعث بهبود عملکرد تک تک کامپوننت بدون تضاد حداقل 25x در سیستم های با هسته های بسیاری می شود و به طور قابل توجهی باعث کاهش vnode و mount ref و عملیات unref می شود.
تعمیر مجدد بسیاری از دیگر ساختار هسته برای بهبود محل ذخیره سازی و کاهش تدریجی خط کش.
رفع اشکال در کد تغییر نام پرونده SMBFS.
پیاده سازی RLIMIT_RSS، یک محدود کننده هر فرایند RSS که باعث پیگیری های محلی شده بر اساس یک فرایند می شود. از این ویژگی می توان برای جلوگیری از یک روند از تبدیل بقیه دستگاه به یک مورد سخت استفاده کرد.
حداکثر فضای swap پشتیبانی شده را افزایش دهید. در حال حاضر حداکثر محدودیت اصلی توسط رم است و در دهها ترابایت (اگر شما برای حمایت از سازه های مدیریتی کافی دارید). همچنین KVM هسته را از 128G تا 511G افزایش دهید.پیاده سازی حذف پویا pmap (به طور پیش فرض غیر فعال شده). این دستور کد pmap را برای حذف صفحات میز صفحه بین صفحات و PDs از PMP در پرواز هدایت می کند. این می تواند مفید باشد اگر حافظه در حق بیمه باشد، اما توجه داشته باشید که اگر فعال شود، اجرای برنامه هایی که میزان حافظه را به میزان زیاد اختصاص داده و تخلیه می کنند را کاهش می دهد.
چگونه کارکنان "خوب" را بهبود ببخشند، ارزش های انتخاب شده را به میزان قابل توجهی نسبت به آنچه که مورد استفاده قرار می گیرند، انجام دهید.
اضافه کردن یک راننده NVME مجهز به عملکرد بالا به DragonFly، نوشته شده توسط مت دیلون. این درایور از بردارهای MSI-X و تمامی صفات موجود پشتیبانی شده توسط دستگاه استفاده می کند، محلی سازی هر پردازنده بدون قفل کردن یا قفل کردن حداقل (در اغلب موارد عدم تضاد SMP)، و توانایی IOPS و بازده دیوانه است.
گرافیک:
Broadwell و Skylake را تثبیت می کند، ما را به DRM معادل 4.6 4.6 لینوکس می رساند.
پیاده سازی لینوکس i2c API را برای پورت کردن ساده تر.
رفع چند اشکال قدیمی، از جمله لغو سفارش قفل، که می تواند پخش ویدیو را خاموش (و بقیه X).
رفع یک خطای اولویت رشته هسته drm هستیم که به پردازنده های کاربر اجازه می دهد که اولویت بالاتری نسبت به thread helper drm داشته باشند. این اصطلاحا ترین فضای موقت تصویری که در مرورگرها گزارش شده است.فریمبافر EFI را به DRM منتقل می کند، سوئیچینگ Syscons VT را بهبود می دهد و بلافاصله مربوطه را تعمیر می کند. همچنین هسته تلاش می کند تا زمانی که یک ترس اتفاق می افتد، به کنسول VT از X بازگردد.
شبکه:
بسیاری از پیشرفت ها در سراسر هیئت مدیره.
iwm - رفع مشکل ناشی از منطق معکوس. تعدادی پیشرفت های دیگر که به طور قابل توجهی عملکرد را بهبود می بخشد.
WLAN - پشتیبانی از اسکن BG غیر همزمان و سایر ویژگی های اضافه شده.
درایورهای دیگر:
nvme - اضافه شده به هسته به طور پیش فرض ساخت، به علاوه رفع و بهبود عملکرد.
mmcsd - پشتیبانی قابل توجه eMMC به DragonFly اضافه شد.
AHCI - تعدادی از تنظیمات سازگاری و مزایای بیشتری برای پشتیبانی از چیپ ست های شکسته، به ویژه در ضریب پورت اضافه شده است. همچنین FBS (FIS-Based-Switching) را هنگامی که توسط چیپست پشتیبانی می شود، اجرا کنید.
Trackpoint و پشتیبانی Elantech اضافه شده است.
Userland:
systat افزایش یافته تا سقوط وقفه های چندگانه متعلق به یک راننده را داشته باشد، زیرا اغلب لیست های زیادی وجود دارد.systat -vm 1 به طور قابل ملاحظه ای افزایش یافته و تجدید نظر شده تا اطلاعات مفیدی را گزارش دهد و زمینه های بازپوش را باز کند تا از یکدیگر فرار نکنند. و اضافه کردن nvme به مسابقه بلوک دستگاه. همچنین صفحه نمایش vmstats توسعه یافته را تنظیم کنید و تغییر دهید چگونه ozfod و nzfod گزارش شده است.
'vmstat 1' خروجی refactored. همه زمینه ها به دلیل عملکرد بالا یک آیتم مدرن ماشین که 30 سال پیش وجود داشت، به هم متصل شدند.
تغییر سیگنال mount / mountd به منظور کاهش اسکن سوئیچ های غیر ضروری و دستورات از عملیات mount_null و mount_tmpfs. فقط در استفاده همزمان سنگین از mount / umount مهم است، اما ساخت انبوه در واقع این وضعیت را ایجاد می کند.
چرخه متعدد / exec * () نشت می کند که libc می تواند ناشی از عدم استفاده از O_CLOEXEC به صورت اتمی باشد. ویژگی های مختلف O_CLOEXEC را به توابع مانند popen () و mk * stemp * () اضافه کنید (اضافه کردن mkostemp () و mkostemps ()). رفع یک نکته توصیفگر فایل در popen () هنگام اجرای یک محیط رشته.
بهتر است به pthreads در vfork () با دادن LWP زیر فرآیند جدید همان TID همانطور که vfork () نامیده می شود، بهتر باشد. این اجازه می دهد توابع پشتیبانی pthread برای اجرا در کودک در vfork بدون implmodating pthreads اجرا شود.بسیاری از رفع سازگاری به هدرها برای بهبود حجم فایلهای dports بپردازد.
چندین OpenSSL واردات برای رفع امنیتی.
Resync OpenSSH برای آسان تر نگه داشتن آن uptodate.
جدا کردن هسته C پرچم با داشتن ساخت هسته استفاده از KCFLAGS به جای CFLAGS.
حذف چندین راننده قدیمی ISA از درخت به طور کامل. همانطور که DragonFlyBSD در حال حاضر فقط 64 بیتی است، ما می توانیم رانندگان قدیمی را که در سیستم عامل های 64 بیت وجود ندارد حذف کنیم.
معرفی WORLD_CFLAGS و WORLD_CCOPTLEVEL، به طور پیش فرض به -O. این امر باعث می شود که جهان شما -02 یا هر چیز دیگری (مثلا WORLD_CCOPTLEVEL = 2) کامپایل شود. با این حال، استفاده از 3 یا بالاتر را مانع می کنیم. مقادیر معتبر 0، 1، 2، 3، s، g و 'سریع' هستند.
تنظیمات STATUS را برای PS تنظیم کنید تا آن را قابل خواندن و حذف پرچم های باستانی که دیگر قابل اجرا نیستند و فقط باعث ایجاد اختلاف شود.
رفع تراز malloc () برای تخصیص های کوچک. حداقل تطبیق اکنون 16 برای تخصیص در محدوده 16 تا 128 بایت به جای 8 است. توجه داشته باشید که تخصیصهای قدرت 2 همواره به طور طبیعی هماهنگ شده اند، اما برخی برنامه ها از چندین (مانند) 16 مانند 48 استفاده می کنند و فرض هماهنگ سازی 16 بایت.
ثروت های رفاهی، اضافه شده است.powerd - اضافه کردن مدیریت مبتنی بر دما به Powerd با گزینه جدید -H lotemp: hightemp. این ویژگی در لپ تاپ هایی با خنک کننده ضعیف بسیار مفید است و BIOS ها عمدا آن را در دماي بالا بالا می گیرند. Powerd در حال حاضر نیز تغییرات حالت قدرت را تشخیص می دهد (که می تواند لیست فرکانس های موجود را تغییر دهد) و هنگامی که یک تغییر حالت قدرت اتفاق می افتد، سرویس را تغییر می دهد.
بسیاری از libthread_xu / pthreads رفع و تنظیمات برای بهبود سازگاری dports.
ویژگی های کپی در نوشتن را به vkernel اضافه کنید. برای مثال، اجازه می دهد تا چندین وکتور از یک تصویر دیسک تک با استفاده از هر کدام از تغییرات COW در داخل به RAM استفاده کند.
/ usr / src / secure rewired، درگیری ها از libmd، libcrypt حذف شده است.
ابزارهای مختلف در سیستم پایه ارتقا یافته اند:
کامپایلر به GCC 5.4.1 به روز شد.
ما اکنون دارنده لینک طلا با LTO هستیم.
binutils 2.25
کمتر 481.
OpenSSL / LibRESSL به طور کامل اصلاح شد. پایه از libressl استفاده می کند.
به روز رسانی چند منطقه چند
وضعیت چکش:

بهبود های متفاوتی یکی از چیزهایی که آن را به انتشار نکرد، نسخه ای بود برای استفاده از یک الگوریتم CRC سریع با چند جمله ای متفاوت. این کار خواهد بود MFC به آزادی زمانی که تست کامل است. با این حال، کاربران نباید بیش از حد از آن نگران باشند، زیرا جدی ترین عملکرد عملکرد IS در انتشار (ثابت به کد خوشه ای () برای سیستم فایل می نویسد).
وضعیت Hammer2:
توسعه هنوز ادامه دارد، اما هنوز هیچ نسخه ای برای اولین بار منتشر نشده است.
وضعیت قفل:
یک چارچوب اولیه برای استفاده از clang به عنوان کامپایلر پایه جایگزین در DragonFly اضافه شده است، که جایگزین gcc 4.7 می شود. هنوز کامل نشده است. قطعا می توان به عنوان یک بسته بندی اضافه کرد.
وضعیت 64 بیتی:
توجه داشته باشید که DragonFly یک سیستم عامل 64 بیتی تنها از 4.6 است و بر روی سختافزار 32 بیتی اجرا نخواهد شد.
پشتیبانی AMD Ryzen در انتشار است و کارهای بیشتری به عنوان تحولات جدید Ryzen به ارمغان می آورد. برخی از مسائل مربوط به توپولوژی گزارش شده توسط CPU که ثابت می شوند و MFC وجود دارد. برخی از مسائل مربوط به پایداری در حال حاضر در انتظار بروزرسانی ردپای میکرودهای AMD برای حل و فصل / بازتولید هستند. کاربران Ryzen می توانند اطمینان حاصل کنند که ما در بالای آن قرار داریم!

چه جدید در نسخه 4.8.0 است:

هسته:
کد کشف بافر Refactor برای حذف پویا رزرو KVA. در عوض، تمام KVA در زمان بوت نگهداری می شوند. ما را از IPI های غیر ضروری صرفه جویی می کند و اجازه می دهد تا ساده تر کردن کد کشف بافر.
اضافه کردن vfs.repurpose_enable (تحت آزمون، غیر فعال به طور پیش فرض). این ویژگی را می توان به طور قابل توجهی کاهش بار مدیریت IPI و VM را بر روی یک دستگاه که مقدار زیادی از فایل I / O را، به عنوان مثال از یک SSD NVMe، دور زدن از مکانیزم بازیافت صفحه VM معمولی. وقتی فعال شد، این ویژگی فقط تحت بارهای I / O بالا راه اندازی می شود. با بازنویسی صفحات VM که بافر در محل قرار دارند (در صورت امکان) با بازنویسی صفحات کار می کند، به طوری که نباید صفحات KVA در بافر را kremove / kenter. بازیافت صفحه صفحه VM معمولی (که در غیر این صورت توسط بار I / O غرق می شود) نیز از بین می رود.
تغییر نحوه پردازش IPIQ، به ویژه ایجاد یک مکانیزم بردار Xinterrupt مستقل برای لغو صفحات که نادیده گرفتن (عمل خواهد کرد) حتی اگر بخش بحرانی برگزار شود. پیاده سازی machdep.optimized_invltlb (غیر فعال به طور پیش فرض، در زیر آزمون) که اجتناب از ارسال IPL های نامعتبر IPC به CPU بیکار.مسابقه های متعدد را که می تواند در بارهای شدید رخ دهد، تصحیح کند. اکثر موارد استفاده هرگز باعث این نمی شوند اما جعبه های ساخت ما گاهی اوقات. به عنوان مثال، دو نژاد آموزش وجود دارد که در آن CPU کمی برای PMAP پاک می شود (برای دو دستورالعمل) و باعث یک IPL TLB رخ در همان زمان در پردازنده های دیگر برای همان MPAP به درک نمی کند که CPU استفاده از pmap . ثابت این است که بهینه سازی بازنگری CR3 را برای پرونده سوئیچ LWP- & gt؛ LWP (همان درصد) غیر فعال کنید.
رفع اشکال HAMMER که می تواند یک خطای CRC DATA را به صورت نامناسب گزارش دهد.
رفع یک نوشتن دوبار توسط روش HAMMER با استفاده از cluster_write (). این به طور قابل توجهی بهبود عملکرد نوشتن هامر را بهبود می بخشد.
چندین تمیز کردن و رفع HAMMER نیز وارد شده است.
حلقه سختی که می تواند در getpbuf * () اتفاق بیفتد، به دلیل درک اشتباه ارزش بازگشتی op op.
رفع یک وقفه انباشته که می تواند در یک پنجره دستورالعمل 10 رخ دهد، به طور بالقوه (اما در وحشی یافت نمی شود) که در حال اجرای کرنل است.IPP ها مربوط به PMAP را به صورت نیمه برای برخی از عملیات های حافظه بافر انجام می دهند، بدون اینکه باعث آسیب زدن به TLB شود، و در قسمت flip همیشه هنگام ورود به PTE جدید حتی TLB نامعتبر است، حتی اگر مقادیر قبلی نامعتبر باشد. این عملکرد را بهبود می بخشد و همچنین با برطرف کردن بهینه سازی مشکل ساز، باعث می شود که اشکال زدایی ساده تر شود.
تعدادی از نژادهای SMP دشوار به مودم را مشخص کنید، به ویژه در رابطه با انجام همزمان مبالغ مختلف نقاط اتصال که ساختار بزرگ می تواند باعث شود. همچنین مسابقه mount را در مقابل umount رفع کنید.
کاهش تعداد عملیات اتمی در مسیر سوئیچ.
اصلاح نژاد / ناخوشایند namecache که می تواند تحت بارهای شدید همراه با بسیاری از فعالیت های mount / umount رخ دهد.
محدود کردن٪ نمونه برداری رب به ریشه.
رفع یک مشکل getpid () در vfork () هنگام رشته. به طور خاص، vfork همزمان () در یک برنامه رشته می تواند PID اشتباه را توسط getpid () در فرزند قبل از exec انجام دهد.
رفع یک نژاد celle / noteout نادر زمانی که تایمر callout تا قبل از tsleep () به طور کامل انجام تنظیمات راه اندازی.
پاک کردن پیام های ناشناس در کنسول. به طور خاص، گزارش زمان مناسب و زمان td_comm از موضوعات درگیر است.علاوه بر کاهش تست حافظه و صفر زدایی اولیه، برای بهبود زمان بوت شدن در سیستم های با مقدار زیادی از RAM.
کد کامل خالی کردن صفحه را به طور کامل حذف کنید. صفر کردن یک صفحه در یک پردازنده ی مدرن بر اساس تقاضا، به دلایل بسیاری بهتر است و ممکن است در مقایسه با داده های مصرف کننده در صفحه، به دلیل اثرات حافظه پنهان، سریعتر باشد. حذف PG_ZERO، زیرا دیگر لازم نیست. حذف PG_ZERO همچنین باعث می شود که هسته را از بین بردن منبع دیگری از آلودگی متقابل آشکار سازد.
Refactor و پایان دادن به محلی سازی CPU برای تخصیص حافظه هسته. ترکیب با آگاهی NUMA این کار برای ساختار داده های کرنل پردازش شده یا کوتاه مدت عمر می کند. این دو با یکدیگر در انتساب PQ_L2_SIZE ما ترکیب می شوند که قبلا رنگ آمیزی صفحه VM بود. این کد در حال حاضر نیز محلی سازی پردازنده و NUMA آگاهی را مدیریت می کند.
رفع بسیاری از مشکلات vkernel و به طور قابل توجهی بهبود عملکرد vkernel.
به روز رسانی kern.proc.pathname، یک sysctl مورد استفاده توسط برنامه ها برای پیدا کردن مسیر برنامه در حال اجرا. این Sysctl در ابتدا اجرا شد قبل از اینکه داده های کافی برای بازگشت مسیر کامل و مناسب را ذخیره کردیم.
ACPICA همگام سازی از Intel (این یک رویداد معمول است).fix memcpy () assembly ABI را تعمیر کنید. مأموریت اصلی اصل (dst) را باز نگرفت. هیچ مشکلی شناخته شده ای را حل نمی کند، اما زمانی که GCC تصمیم می گیرد که در هنگام تولید کد، Memcpy را فراخوانی کند، یک سوراخ را مسدود می کند.
بسیاری متعهد می شوند تا هشدارها و خطاهای O2 را پاک کنند. هسته در حال حاضر به طور پیش فرض O2 کامپایل شده است.
یک راه حل برای عملکرد نامناسب در مسیر ACPI (با نام ACPI buggy) اضافه کنید.
مسابقه STOP / CONT را ثابت کنید که می تواند توسط یک سیگنال معین در زمان اشتباه منجر شود.
Coredump رشته ای رفع و حلقه قفل مربوط به همان زمانی که چندین رشته از همان روند seg-fault در همان زمان رفع.
رفع یک قفل CAM / VM که ممکن است به دلیل یک اشکال در uiomove_nofault () رخ دهد. این در حالی است که می تواند یک بوق صحیح نامحدود در هنگام جست و جوی / مبادله سنگین ایجاد کند.
اضافه کردن کد برای شناسایی و مقابله با IPI های از دست رفته. این در درجه اول برای vkernels است که برخی از میزبان های مجازی می توانند IPI ها را از دست بدهند. تصور نمی شود CPU واقعی از IPI ها را از دست بدهد.
رفع اشکال به clock_gettime ().
حذف بیشتر از MPLOCK. تمام مسیرهای بحرانی مدتهاست که از این قفل جدا شده اند، اما هنوز چند مکان غیر بحرانی وجود دارد که از آن استفاده می کنند.کد کشتن فرایند کم حافظه را دوباره پردازش کنید و چندین مسابقه را تعمیر کنید که می تواند از کارکرد این ویژگی جلوگیری کند.
رفع قفل سیستم با VMM و refactor کد VMX.
وقتی که numvnodes به maxvnodes می رسد، که در بارهای سنگین رخ می دهد، می تواند یک خراب را حل کند. همچنین رفع حافظه جزئی حافظه کرنل زمانی که 'df' و یا همگام سازی فایل سیستم مسابقه umount. همچنین محاسبه مقادیر زیاد را کم کنید. به عنوان مثال، یک دستگاه با 8 گیگابایت رم اکنون حداکثر مقدار 478483 را به جای 598103 تنظیم خواهد کرد.
رفع یک وحشت نادر است که می تواند توسط vm_object_page_remove () انجام شود هنگامی که user_yield () در حین برگزاری یک اسپین قفل نامناسب نامیده می شود و سپس تصمیم می گیرد تا برنامه ریزی شود.
کاهش اندازه برخی از ساختارهای هسته اختصاص داده شده به صورت پویا. به طور خاص، تخصیص جدول درونی هگز در حال حاضر کوچکتر است. ابتدا UFS را تحت تاثیر قرار می دهد (که DragonFlyBSD خیلی از آن استفاده نمی کند).
AMD Erratum 793 را راه اندازی کنید.
فضای خرابی را که می تواند در خوشه ی انباشته _ * () I / O رخ دهد را حل کند.
رفع یک اشکال که بارگیری ماژول بازگشتی می تواند بلاک شود.
یک خطای احمقانه را در کد NFS sillyrename (NFS سرور) رفع کنید، که می تواند باعث ایجاد کد sillyrename سرور NFS شود تا هرگز فایلی تغییر نام داده شود. چقدر احمقانه!یک کار بهتر برای تنظیم پیکربندی بالا ncpu + کم حافظه انجام دهید.
Refactor اسپینکلاها را به اشتراک می گذارد تا مقدار چرخش را کاهش دهد که می تواند زمانی رخ دهد که چندین عدد در یک زمان یک قفل مشترک به دست آورند.
تعمیرات اساسی در عملیات namecache برای کاهش اختلافات SMP حتی بیشتر. این باعث بهبود عملکرد تک تک کامپوننت بدون تضاد حداقل 25x در سیستم های با هسته های بسیاری می شود و به طور قابل توجهی باعث کاهش vnode و mount ref و عملیات unref می شود.
تعمیر مجدد بسیاری از دیگر ساختار هسته برای بهبود محل ذخیره سازی و کاهش تدریجی خط کش.
رفع اشکال در کد تغییر نام پرونده SMBFS.
پیاده سازی RLIMIT_RSS، یک محدود کننده هر فرایند RSS که باعث پیگیری های محلی شده بر اساس یک فرایند می شود. از این ویژگی می توان برای جلوگیری از یک روند از تبدیل بقیه دستگاه به یک مورد سخت استفاده کرد.
حداکثر فضای swap پشتیبانی شده را افزایش دهید. در حال حاضر حداکثر محدودیت اصلی توسط رم است و در دهها ترابایت (اگر شما برای حمایت از سازه های مدیریتی کافی دارید). همچنین KVM هسته را از 128G تا 511G افزایش دهید.پیاده سازی حذف پویا pmap (به طور پیش فرض غیر فعال شده). این دستور کد pmap را برای حذف صفحات میز صفحه بین صفحات و PDs از PMP در پرواز هدایت می کند. این می تواند مفید باشد اگر حافظه در حق بیمه باشد، اما توجه داشته باشید که اگر فعال شود، اجرای برنامه هایی که میزان حافظه را به میزان زیاد اختصاص داده و تخلیه می کنند را کاهش می دهد.
چگونه کارکنان "خوب" را بهبود ببخشند، ارزش های انتخاب شده را به میزان قابل توجهی نسبت به آنچه که مورد استفاده قرار می گیرند، انجام دهید.
اضافه کردن یک راننده NVME مجهز به عملکرد بالا به DragonFly، نوشته شده توسط مت دیلون. این درایور از بردارهای MSI-X و تمامی صفات موجود پشتیبانی شده توسط دستگاه استفاده می کند، محلی سازی هر پردازنده بدون قفل کردن یا قفل کردن حداقل (در اغلب موارد عدم تضاد SMP)، و توانایی IOPS و بازده دیوانه است.
گرافیک:
Broadwell و Skylake را تثبیت می کند، ما را به DRM معادل 4.6 4.6 لینوکس می رساند.
پیاده سازی لینوکس i2c API را برای پورت کردن ساده تر.
رفع چند اشکال قدیمی، از جمله لغو سفارش قفل، که می تواند پخش ویدیو را خاموش (و بقیه X).
رفع یک خطای اولویت رشته هسته drm هستیم که به پردازنده های کاربر اجازه می دهد که اولویت بالاتری نسبت به thread helper drm داشته باشند. این اصطلاحا ترین فضای موقت تصویری که در مرورگرها گزارش شده است.فریمبافر EFI را به DRM منتقل می کند، سوئیچینگ Syscons VT را بهبود می دهد و بلافاصله مربوطه را تعمیر می کند. همچنین هسته تلاش می کند تا زمانی که یک ترس اتفاق می افتد، به کنسول VT از X بازگردد.
شبکه:
بسیاری از پیشرفت ها در سراسر هیئت مدیره.
iwm - رفع مشکل ناشی از منطق معکوس. تعدادی پیشرفت های دیگر که به طور قابل توجهی عملکرد را بهبود می بخشد.
WLAN - پشتیبانی از اسکن BG غیر همزمان و سایر ویژگی های اضافه شده.
درایورهای دیگر:
nvme - اضافه شده به هسته به طور پیش فرض ساخت، به علاوه رفع و بهبود عملکرد.
mmcsd - پشتیبانی قابل توجه eMMC به DragonFly اضافه شد.
AHCI - تعدادی از تنظیمات سازگاری و مزایای بیشتری برای پشتیبانی از چیپ ست های شکسته، به ویژه در ضریب پورت اضافه شده است. همچنین FBS (FIS-Based-Switching) را هنگامی که توسط چیپست پشتیبانی می شود، اجرا کنید.
Trackpoint و پشتیبانی Elantech اضافه شده است.
Userland:
systat افزایش یافته تا سقوط وقفه های چندگانه متعلق به یک راننده را داشته باشد، زیرا اغلب لیست های زیادی وجود دارد.systat -vm 1 به طور قابل ملاحظه ای افزایش یافته و تجدید نظر شده تا اطلاعات مفیدی را گزارش دهد و زمینه های بازپوش را باز کند تا از یکدیگر فرار نکنند. و اضافه کردن nvme به مسابقه بلوک دستگاه. همچنین صفحه نمایش vmstats توسعه یافته را تنظیم کنید و تغییر دهید چگونه ozfod و nzfod گزارش شده است.
'vmstat 1' خروجی refactored. همه زمینه ها به دلیل عملکرد بالا یک آیتم مدرن ماشین که 30 سال پیش وجود داشت، به هم متصل شدند.
تغییر سیگنال mount / mountd به منظور کاهش اسکن سوئیچ های غیر ضروری و دستورات از عملیات mount_null و mount_tmpfs. فقط در استفاده همزمان سنگین از mount / umount مهم است، اما ساخت انبوه در واقع این وضعیت را ایجاد می کند.
چرخه متعدد / exec * () نشت می کند که libc می تواند ناشی از عدم استفاده از O_CLOEXEC به صورت اتمی باشد. ویژگی های مختلف O_CLOEXEC را به توابع مانند popen () و mk * stemp * () اضافه کنید (اضافه کردن mkostemp () و mkostemps ()). رفع یک نکته توصیفگر فایل در popen () هنگام اجرای یک محیط رشته.
بهتر است به pthreads در vfork () با دادن LWP زیر فرآیند جدید همان TID همانطور که vfork () نامیده می شود، بهتر باشد. این اجازه می دهد توابع پشتیبانی pthread برای اجرا در کودک در vfork بدون implmodating pthreads اجرا شود.بسیاری از رفع سازگاری به هدرها برای بهبود حجم فایلهای dports بپردازد.
چندین OpenSSL واردات برای رفع امنیتی.
Resync OpenSSH برای آسان تر نگه داشتن آن uptodate.
جدا کردن هسته C پرچم با داشتن ساخت هسته استفاده از KCFLAGS به جای CFLAGS.
حذف چندین راننده قدیمی ISA از درخت به طور کامل. همانطور که DragonFlyBSD در حال حاضر فقط 64 بیتی است، ما می توانیم رانندگان قدیمی را که در سیستم عامل های 64 بیت وجود ندارد حذف کنیم.
معرفی WORLD_CFLAGS و WORLD_CCOPTLEVEL، به طور پیش فرض به -O. این امر باعث می شود که جهان شما -02 یا هر چیز دیگری (مثلا WORLD_CCOPTLEVEL = 2) کامپایل شود. با این حال، استفاده از 3 یا بالاتر را مانع می کنیم. مقادیر معتبر 0، 1، 2، 3، s، g و 'سریع' هستند.
تنظیمات STATUS را برای PS تنظیم کنید تا آن را قابل خواندن و حذف پرچم های باستانی که دیگر قابل اجرا نیستند و فقط باعث ایجاد اختلاف شود.
رفع تراز malloc () برای تخصیص های کوچک. حداقل تطبیق اکنون 16 برای تخصیص در محدوده 16 تا 128 بایت به جای 8 است. توجه داشته باشید که تخصیصهای قدرت 2 همواره به طور طبیعی هماهنگ شده اند، اما برخی برنامه ها از چندین (مانند) 16 مانند 48 استفاده می کنند و فرض هماهنگ سازی 16 بایت.
ثروت های رفاهی، اضافه شده است.powerd - اضافه کردن مدیریت مبتنی بر دما به Powerd با گزینه جدید -H lotemp: hightemp. این ویژگی در لپ تاپ هایی با خنک کننده ضعیف بسیار مفید است و BIOS ها عمدا آن را در دماي بالا بالا می گیرند. Powerd در حال حاضر نیز تغییرات حالت قدرت را تشخیص می دهد (که می تواند لیست فرکانس های موجود را تغییر دهد) و هنگامی که یک تغییر حالت قدرت اتفاق می افتد، سرویس را تغییر می دهد.
بسیاری از libthread_xu / pthreads رفع و تنظیمات برای بهبود سازگاری dports.
ویژگی های کپی در نوشتن را به vkernel اضافه کنید. برای مثال، اجازه می دهد تا چندین وکتور از یک تصویر دیسک تک با استفاده از هر کدام از تغییرات COW در داخل به RAM استفاده کند.
/ usr / src / secure rewired، درگیری ها از libmd، libcrypt حذف شده است.
ابزارهای مختلف در سیستم پایه ارتقا یافته اند:
کامپایلر به GCC 5.4.1 به روز شد.
ما اکنون دارنده لینک طلا با LTO هستیم.
binutils 2.25
کمتر 481.
OpenSSL / LibRESSL به طور کامل اصلاح شد. پایه از libressl استفاده می کند.
به روز رسانی چند منطقه چند
وضعیت چکش:

بهبود های متفاوتی یکی از چیزهایی که آن را به انتشار نکرد، نسخه ای بود برای استفاده از یک الگوریتم CRC سریع با چند جمله ای متفاوت. این کار خواهد بود MFC به آزادی زمانی که تست کامل است. با این حال، کاربران نباید بیش از حد از آن نگران باشند، زیرا جدی ترین عملکرد عملکرد IS در انتشار (ثابت به کد خوشه ای () برای سیستم فایل می نویسد).
وضعیت Hammer2:
توسعه هنوز ادامه دارد، اما هنوز هیچ نسخه ای برای اولین بار منتشر نشده است.
وضعیت قفل:
یک چارچوب اولیه برای استفاده از clang به عنوان کامپایلر پایه جایگزین در DragonFly اضافه شده است، که جایگزین gcc 4.7 می شود. هنوز کامل نشده است. قطعا می توان به عنوان یک بسته بندی اضافه کرد.
وضعیت 64 بیتی:
توجه داشته باشید که DragonFly یک سیستم عامل 64 بیتی تنها از 4.6 است و بر روی سختافزار 32 بیتی اجرا نخواهد شد.
پشتیبانی AMD Ryzen در انتشار است و کارهای بیشتری به عنوان تحولات جدید Ryzen به ارمغان می آورد. برخی از مسائل مربوط به توپولوژی گزارش شده توسط CPU که ثابت می شوند و MFC وجود دارد. برخی از مسائل مربوط به پایداری در حال حاضر در انتظار بروزرسانی ردپای میکرودهای AMD برای حل و فصل / بازتولید هستند. کاربران Ryzen می توانند اطمینان حاصل کنند که ما در بالای آن قرار داریم!

چه جدید در نسخه 4.6.0 است:


mmcsd (4): ثابت typo در disk_create () args. دسترسی به & gt؛ 1 SD- / MMC-کارت را می دهد.
اضافه کردن بازشو (1). اگر شما نمیتوانید ضرب و شتم، بپیوندید
بازگرداندن توانایی برای دنیای استاد برای ساخت نسخه 4.4
buildworld - اجازه دهید آزاد شود تا در استاد ساخته شود
و غیره / rc.d - تنظیمات بی فایده
هسته - اضافه کردن kqueue پشتیبانی به NFS (تعمیر مشکلات فایرفاکس W / NFS)
وارد شدن OpenSSL 1.0.1s.
تنظیمات محلی برای OpenSSL 1.0.1s.
همگام سازی پایگاه اطلاعات zoneinfo با tzdata2016b از ftp://ftp.iana.org/tz/releases
zic (8) / zdump (8): درباره اختصارات مانند '05 'هشدار ندهید.
zic (8): یک ثبت نام را که در آخرین مرتبه انجام شد، حذف کنید.
هسته / acpi_timer: پس از آزمون تایمر، یک missing cpu_enable_intr () را اضافه کنید.
em.4: پشتیبانی از i219 را ذکر کنید.
ig_hal / em / emx: اضافه کردن I219 (Skylake) پشتیبانی
sys / vfs / hammer: رفع اشکال در پاک کردن هدر حجم
sbin / hammer: دسترسی به بیش از 16KB از حافظه کاری HAMMER را نداشته باشید
sbin / hammer: اضافه کردن گزینه مبهوت کننده به نمایش چکشی
sys / vfs / hammer: تنظیم موقت برای وحشت هسته در volume-del

چه جدید در نسخه 4.4.3 / 4.6.0 RC2 جدید است:


mmcsd (4): ثابت typo در disk_create () args. دسترسی به & gt؛ 1 SD- / MMC-کارت را می دهد.
اضافه کردن بازشو (1). اگر شما نمیتوانید ضرب و شتم، بپیوندید
بازگرداندن توانایی برای دنیای استاد برای ساخت نسخه 4.4
buildworld - اجازه دهید آزاد شود تا در استاد ساخته شود
و غیره / rc.d - تنظیمات بی فایده
هسته - اضافه کردن kqueue پشتیبانی به NFS (تعمیر مشکلات فایرفاکس W / NFS)
وارد شدن OpenSSL 1.0.1s.
تنظیمات محلی برای OpenSSL 1.0.1s.
همگام سازی پایگاه اطلاعات zoneinfo با tzdata2016b از ftp://ftp.iana.org/tz/releases
zic (8) / zdump (8): درباره اختصارات مانند '05 'هشدار ندهید.
zic (8): یک ثبت نام را که در آخرین مرتبه انجام شد، حذف کنید.
هسته / acpi_timer: پس از آزمون تایمر، یک missing cpu_enable_intr () را اضافه کنید.
em.4: پشتیبانی از i219 را ذکر کنید.
ig_hal / em / emx: اضافه کردن I219 (Skylake) پشتیبانی
sys / vfs / hammer: رفع اشکال در پاک کردن هدر حجم
sbin / hammer: دسترسی به بیش از 16KB از حافظه کاری HAMMER را نداشته باشید
sbin / hammer: اضافه کردن گزینه مبهوت کننده به نمایش چکشی
sys / vfs / hammer: تنظیم موقت برای وحشت هسته در volume-del

چه جدید در نسخه 4.4.3 است:


mmcsd (4): ثابت typo در disk_create () args. دسترسی به & gt؛ 1 SD- / MMC-کارت را می دهد.
اضافه کردن بازشو (1). اگر شما نمیتوانید ضرب و شتم، بپیوندید
بازگرداندن توانایی برای دنیای استاد برای ساخت نسخه 4.4
buildworld - اجازه دهید آزاد شود تا در استاد ساخته شود
و غیره / rc.d - تنظیمات بی فایده
هسته - اضافه کردن kqueue پشتیبانی به NFS (تعمیر مشکلات فایرفاکس W / NFS)
وارد شدن OpenSSL 1.0.1s.
تنظیمات محلی برای OpenSSL 1.0.1s.
همگام سازی پایگاه اطلاعات zoneinfo با tzdata2016b از ftp://ftp.iana.org/tz/releases
zic (8) / zdump (8): درباره اختصارات مانند '05 'هشدار ندهید.
zic (8): یک ثبت نام را که در آخرین مرتبه انجام شد، حذف کنید.
هسته / acpi_timer: پس از آزمون تایمر، یک missing cpu_enable_intr () را اضافه کنید.
em.4: پشتیبانی از i219 را ذکر کنید.
ig_hal / em / emx: اضافه کردن I219 (Skylake) پشتیبانی
sys / vfs / hammer: رفع اشکال در پاک کردن هدر حجم
sbin / hammer: دسترسی به بیش از 16KB از حافظه کاری HAMMER را نداشته باشید
sbin / hammer: اضافه کردن گزینه مبهوت کننده به نمایش چکشی
sys / vfs / hammer: تنظیم موقت برای وحشت هسته در volume-del

چه جدید در نسخه 4.4.2 است:

virtio_blk: استفاده از contigmalloc / contigfree برای اختصاص دادن vtblk_request.
drm / radeon: ما به آدرس فیزیکی صفحه ساختاری نیاز داریم نه مجازی
if_iwm: برخی از تغییرات را از OpenBSD اعمال کنید، if_iwm.c rev 1.39 - & gt؛ 1.42
if_iwm: فقط نشانگر سیستم عامل ساختار را ذخیره کنید، مانند if_iwn.
if_iwm: حذف نظرات با اشاره به نامهای لینوکس iwlwifi source.
if_iwm: اصلاح IEEE80211_ADDR_COPY () استفاده.
if_iwm: تنظیم کد تنظیم کنترل نرخ را اصلاح کنید.
و غیره / rc.d: به روز رسانی rtsold
i915 - پس از پیوست شدن به تأخیر اضافه کنید تا از کنسول / X فرار کنید
هسته - کاهش زمان تأخیر lwp_signotify ()
devfs - رفع وحشت در devfs اضافی، زمانی که قوانین وجود دارد
ssh - پشتیبانی از درخواست پشتیبانی رومینگ CVE-2016-0777 CVE-2016-0778 را حذف کنید
هسته - اضافه کردن quirks برای xhci (usb)
چکش - حذف خطا kprintf
libc / stdtime: رفع دو مورد که یک نشانگر NULL می تواند آزاد باشد () 'd.
kernel / vga: خطای lwkt_reltoken () را حذف کنید. در این نقطه گرفته نشده است.
libc / nls: sync str {خطا، سیگنال} () پیام با.
w (1): inet_addr () INADDR_NONE را پس از شکست می گیرد.
ee (1): ثابت یک متغیر uninitialized.

هسته: اصلاح kern.dumpdev sysctl.
وارد شدن OpenSSL 1.0.1r.
تنظیمات محلی برای OpenSSL 1.0.1r.
gcc50 / libconv_supc: cp-demangle.c نیاز به HAVE_CONFIG_H دارد.
همگام سازی پایگاه اطلاعات zoneinfo با tzdata2016a از ftp://ftp.iana.org/tz/releases
ارتقا دهید: یک منطقه زمانی منسوخ را اضافه کنید
igb: ثابت کردن تنظیمات DMACR
ifconfig: ثابت حذف inet6 آدرس

چه جدید در نسخه 4.4.1 است:

هسته:
تنظیمات ذخیره انرژی CPU بهبود یافته است
کاهش تخصیص پرونده / رقابت آزاد
تضعیف kqueue را کاهش دهید
پیاده سازی سیستم تماس lwp_setname (2)
ثابت dsp (4) پشتیبانی عملیاتی nonblocking
راننده aperf (4) را برای نشان دادن فرکانس CPU موثر اضافه کنید
تمیز کردن و تعمیرات متعدد به HAMMER
همگام سازی ACPICA به 20151124
به طور کامل حذف i386 (32 بیت) بیت
تنظیم پشته بوت لودر برای اداره تصاویر بزرگتر MD
پاکسازی کدهای هسته مرده (syslink باقی می ماند و غیره)
dsched حذف شده (مسائل با اشکالات و با SSD ها کار خوبی نیست)
الگوریتم های پیجر را برای کم حافظه و حافظه خارج از حافظه بازسازی کنید
گرافیک:
درایور DRM / i915 و DRM / RADEON اکنون با هسته لینوکس 3.18 مطابقت دارند
i915 از ValleyView / Baytrail و SOCs Cherryview Atom پشتیبانی می کند
GPU های Broadwell در حال حاضر به طور کامل شتاب می گیرند
کار آماده سازی برای پشتیبانی Skylake
کنسول سیستم در حال حاضر از گرافیک DRM به طور پیش فرض پشتیبانی می کند. ترمینال های مجازی فقط یک صفحه سیاه را نشان نمی دهند، زمانی که Xorg آغاز شده است و یکی از ماژول های kms kernel بارگیری شده است.
بهبود مدیریت قدرت. پنل خود بازخوانی موجود در سخت افزار i915سنسورهای دما در حال حاضر بر روی سخت افزار Radeon پشتیبانی می شوند
شبکه:
پشتیبانی Realtek 8168H در باز (4)
iwm (4) راننده اضافه شده است
rtadvd به روز شده است، rtadvctl اضافه شده است
اتصالات UDP آسنکرون، برای بارگیری بسیار بیشتر
پنجره بزرگتر TCP بزرگتر برای اتصالات با تاخیر بالا
مقادیر nmbcluster هسته قابل تنظیم قابل تنظیم است، برای ترافیک شدید شبکه:
تثبیت سوکت دامنه یونیکس
کد جدید GC برای fd-passing سوکت های دامنه یونیکس
همگام سازی IPv6 با FreeBSD متفاوت است
عملکرد سوکت (2) بهبود یافته برای TCP و UDP
بهبود اتصال TCP (2) انتخاب پورت محلی
اضافه شدن پذیرش (4) تماس سیستم
پشتیبانی از سوکت SOCK_CLOEXEC و SOCK_NONBLOCK (2) و accept4 (2) پرچم اضافه شده
ویژگی های کنترل جریان HW را برای ifconfig در دسترس داشته باشید
افزودن تنظیمات برای اجازه دادن به NFSROOT iosize و readahead تنظیم می شود
ipfw گسترش یافته از FreeBSD (ipfw3 در DFly نامیده می شود)
درایورهای دیگر:
پشتیبانی MIDI شده است
بسیاری از رفع اشکالات برای mapper دستگاه
dm-delay و dm-flakey به دستگاه mapper اضافه شده است
مودم های USB بهتر کار می کنند (یا حداقل کرنل را ترساندند)دسترسی به ویژگی های ECC RAM و وضعیت بهبود یافته است
wlan از FreeBSD به روز رسانی (قبل از حذف دستگاه split-device)
Userland:
کتابخانه regex با کتابخانه چندرسانه ای و عمدتا بسیار توانمند TRE regex جایگزین شده است. این OSX در ویژگی های مطابقت دارد. (DF اولین BSD برای حرکت به TRE پس از MacOS است)
libm با نسخه OpenBSD جایگزین شده است (این کار مشترک در حال انجام است)
libc اکنون نسخه نمادین را فعال می کند که می تواند باینری هایی که در انتشار 4.4 برای اجرا در DragonFly برای سال های آینده به کار می روند را فعال کند.
تعمیرات اساسی و به روز رسانی مکان ها، از جمله اجرای مقیاس.
malloc.h حذف شده است (DragonFly اولین BSD برای حذف این هدر است)
gcc50 libstdc + + برای استفاده کامل از عملکردهای C99 روی کلنگبه عنوان یک نتیجه از بروز رسانی محلی، خروجی ls (1) فرمت طولانی و -T فرمت تغییر زمانی که محلی به نام در حال استفاده است. بدیهی است که ماههای فرمت طولانی همواره به انگلیسی (با استفاده از تعاریف POSIX تضمین شده به صورت سریع و سه حرف گسترده ای) هماهنگ می شوند و اطلاعات سال، ساعت و دوم همیشه نمایش داده می شود. در زیر محلی C / POSIX هیچ تغییری در خروجی LS (1) وجود ندارد به غیر از زمانبندی آینده، مطابق با نیازهای استاندارد POSIX اصلاح شده است.
اگر WPA Supplicant از پایه استفاده شود، در طول بوت شدن یک بار تأخیر 10 ثانیه ای نمایش داده می شود که به شدت توصیه می شود که نسخه DPorts (security / wpa_supplicant) به جای آن استفاده شود.
powerd بهبود یافته (8)
خروجی بالا (1) و ps (1) برای LWP و موضوعات هسته بهبود یافته است
پشتیبانی از pthread_set_name_np (3) ثابت شد
حمل و نقل tcpdrop (8)علاوه بر بسیاری از مکان های جدید از جمله شش زبان عربی (امارات متحده عربی، عربستان سعودی، مصر، اردن، مراکش، قطر)، مناطق اسپانیایی اضافی (مکزیک، آرژانتین، کاستاریکا)، مکان های اضافی انگلیسی (فیلیپین، سنگاپور، هنگ کنگ)، اصلاح نروژی محلی (فقط nb و nn)، سوئدی (فنلاند)، سامی (فنلاند، نروژ)، صربی در حال حاضر در حال حاضر به صورت سیریلیک و لاتین ارائه شده است. ('locale -a' یک لیست کامل را فراهم می کند.)
rtadvc وارد شده از FreeBSD
ابزارهای مختلف در سیستم پایه ارتقا یافته اند:
nvi2 به نسخه 2.1.3 به روز شد
libexecinfo اضافه شد (همگام سازی شده از FreeBSD)
iconv با FreeBSD هماهنگ شده است
openssl به 1.0.1q به روز شد
xz به 5.2.2 به روز شد
libedit به نسخه 2015-03-25 به روز شد
binutils به 2.25.1 به روز رسانی شده است
grep به 2.22 بروزرسانی شد
tcsh به 6.19.00 به روز شد
libdialog به v1.2-20150920 به روز شد
(tn) ftp به '10 OCT 2015 'به روز شد
gcc به 5.2 بهروزرسانی شد
acpica به 20150717 به روز شد
مرتب سازی (1)، که از NetBSD آمده بود، توسط نسخه FreeBSD جایگزین شد
localedef (1)، ابزار داخلی با ریشه در Illumos
cldr2def، ابزار داخلی با ریشه در پروژه FreeBSD رها شده است، اما برای DF گسترش یافته استحذف شده از سیستم پایه:
hostapd (آخرین نسخه از طریق dports: net / hostapd در دسترس است)
mklocale (جایگزین localedef)
colldef (جایگزین localedef)
پیشرفت HAMMER:
به لطف Tomohiro Kusumi، بسیاری از بسیاری از تمیز کردن و رفع به Hammer1
سایر پیشرفت ها:
DPORTS تعداد حدود 22،800 پورت دارد. بسیاری از پورت ها که قبلا خراب شده اند توسط کاربران معمولی به دلیل مشارکت هایی که از طریق مکانیسم Request GitHub ارائه شده است، ثابت شده اند. (با تشکر!)
شش مجموعه "رسمی" تصویر زمینه DragonFly در x11-themes / dragonfly-wallpapers در دسترس است (pkg install dragonfly-wallpapers). اینها به طور خودکار برای کاربران KDE نصب و پیشی گرفته شده و به صورت خودکار برای کاربران XFCE4 نصب می شوند، اما تصاویر پس زمینه هنوز هم باید با آن دسکتاپ (حداقل تا کنون) انتخاب شوند. آنها در به اشتراک گذاری / تصاویر پس زمینه نصب شده است که به اشتراک گذاشته شده است / backgrounds / dragonfly.

نرم افزار های مشابه

OmniOS
OmniOS

17 Feb 15

JabirOS
JabirOS

17 Feb 15

acpi4asus
acpi4asus

2 Jun 15

نظرات به DragonFly BSD

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!