DragonFly BSD

Phần mềm chụp màn hình:
DragonFly BSD
Các chi tiết về phần mềm:
Phiên bản: 5.2.2 Cập nhật
Ngày tải lên: 22 Jun 18
Nhà phát triển: The DragonFly Team
Giấy phép: Miễn phí
Phổ biến: 50

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD là hệ điều hành BSD nguồn mở được thiết kế để tiếp tục hợp lý của chuỗi hệ điều hành FreeBSD-4.x. Nó rất giống với các bản phân phối dựa trên BSD khác, chẳng hạn như FreeBSD, NetBSD hoặc OpenBSD. Đó là một ngã ba trên con đường, do đó, để nói chuyện, tạo cơ sở cho BSD một cơ hội để phát triển theo một hướng hoàn toàn mới từ hướng được thực hiện trong chuỗi FreeBSD-5. Trên hết, nó bao gồm một tập hợp các tính năng độc đáo để phân biệt nó với các hệ điều hành tương tự khác.


HAMMER là điểm thu hút chính

HAMMER là điểm thu hút chính của DragonFly, một hệ thống tệp hiệu suất cao, hiện đại có chức năng truy cập lịch sử và phản chiếu tích hợp. Hạt nhân cũng là một trong những lý do tại sao DragonFly là phân phối BSD tốt hơn.

Cung cấp hai bộ lập lịch khác nhau cho hạt nhân
Hạt nhân của DragonFly bao gồm hai trình lập lịch khác nhau, một lịch biểu cho tất cả các thực thể thực thi (Light Weight Kernel Thread) và một người khác chọn một luồng người dùng duy nhất tại một thời điểm cho mỗi bộ xử lý và tóm tắt các luồng người dùng (User Thread Scheduler). Ngoài ra, hạt nhân có một bộ cấp phát bộ nhớ hạt nhân phức tạp bao gồm một bộ cấp phát bộ nhớ hướng đối tượng và một hạt nhân cơ bản được gọi là kmalloc (), hệ thống tệp thiết bị DragonFly (DEVFS), hạt nhân ảo (VKERNEL), đồng bộ hóa NFS V3 RPC và khung lập lịch trình I / O đĩa (dsched).


Tính năng, nhiều tính năng

Trong số các tính năng thú vị khác, chúng ta có thể đề cập đến lớp tệp hệ thống NULL (NULLFS) hỗ trợ các điểm gắn kết tùy ý không lặp, TMPFS (Hệ thống tệp tạm thời VFS), mã hóa ổ đĩa trong suốt, hỗ trợ SSD (Thiết bị lưu trữ rắn), biến thể (ngữ cảnh) nhạy cảm), DNTPD (DragonFly Network Time Daemon) và DMA (DragonFly Mail Agent). Ngoài ra, người dùng sẽ có thể kiểm tra hoặc tạm dừng các quy trình vào đĩa bất kỳ lúc nào. Bản phân phối cung cấp các trình điều khiển AHCI mạnh mẽ, tên thiết bị ổn định, cũng như quản lý khối lượng và mã hóa nền tảng tốt.

Tóm lại

Nói chung, DragonFly chứng tỏ là một hệ điều hành giống như UNIX hiện đại, thân thiện và dễ tiếp cận. Nó có thể được sử dụng trên cơ sở hàng ngày như một hệ thống máy tính để bàn hoặc như một máy chủ BSD mạnh.

Có gì mới trong bản phát hành này:

  • DragonFly phiên bản 5.2.1 đã được phát hành, với việc giảm nhẹ Meltdown / Spectre, nhiều cải tiến cho HAMMER2, ipfw và video tăng tốc, cộng với (trong bản cập nhật 5.2.1) sửa cho CVE-2018-8897.

Tính năng mới trong phiên bản:

  • Christian Groessler (1):
  • telnetd: thông tin hệ thống in (OS và kiến ​​trúc) trước dấu nhắc đăng nhập.
  • Matthew Dillon (7):
  • hammer2 - Khắc phục sự cố chia cho 0 cuộc đua
  • kernel - MFC chọn lọc của công việc hạt nhân umtx từ master
  • hạt nhân - Cập nhật tài liệu umtx
  • libc và pthreads - Khắc phục sự cố atfork với nmalloc, cập nhật dmalloc
  • hammer2 - Sửa cuộc đua đổi tên
  • hammer2 - tối ưu hóa hammer2_pfs_memory_wakeup ()
  • hammer2 - Khắc phục các chuỗi bẩn không xác định do đổi tên
  • Thợ săn Sascha (5):
  • hammer2.8: Khắc phục lỗi chính tả.
  • Nói 'hammer2' thay vì 'búa' ở nhiều nơi khác nhau.
  • mtree: Khắc phục chủ sở hữu cho một số thư mục trong / usr / share.
  • libc / nls: Sử dụng ngôn ngữ hiện tại (được đặt theo chuỗi).
  • libarchive: Hoàn nguyên cam kết không có nghĩa là bị đẩy.

Tính năng mới trong phiên bản 4.8.1:

  • Hạt nhân:
  • Mã bộ đệm đệm của trình tái cấu trúc để xóa các đặt chỗ KVA động. Thay vào đó, tất cả KVA được đặt trước khi khởi động. Lưu chúng tôi khỏi các IPI không cần thiết và cho phép đơn giản hóa đáng kể mã bộ đệm đệm.
  • Thêm vfs.repurpose_enable (trong thử nghiệm, được tắt theo mặc định). Tính năng này có thể được kích hoạt để giảm đáng kể tải IPI và quản lý VM trên một máy đang thực hiện một lượng lớn tệp I / O, ví dụ từ ổ SSD NVMe, bằng cách bỏ qua cơ chế tái chế trang VM thông thường. Khi được bật, tính năng chỉ kích hoạt dưới tải I / O cao. Nó hoạt động bằng cách sử dụng lại các trang VM bên dưới một bộ đệm tại chỗ (nếu có thể) để không phải kremove / kenter các trang trong KVA của bộ đệm. Việc khôi phục trang VM bình thường (nếu không sẽ bị tràn ngập bởi tải I / O) cũng bị bỏ qua.
  • Thay đổi cách xử lý IPIQ, đặc biệt tạo cơ chế véc tơ Xinterrupt độc lập cho các lần vô hiệu hóa trang bỏ qua (sẽ hoạt động) ngay cả khi một phần quan trọng được giữ. Triển khai machdep.optimized_invltlb (bị tắt theo mặc định, trong thử nghiệm), tránh gửi IPL không hợp lệ tlb tới idus cpus.
  • Khắc phục nhiều cuộc đua có thể xảy ra dưới các tải cực đoan. Hầu hết các trường hợp sử dụng sẽ không bao giờ kích hoạt những trường hợp này nhưng các hộp xây dựng của chúng tôi đã làm thỉnh thoảng. Ví dụ, có một cuộc đua hai hướng mà bit cpu cho một pmap sẽ được xóa (cho hai hướng dẫn) và gây ra một IPI TLB xảy ra cùng một lúc trên một CPU khác cho cùng một pmap để không nhận ra rằng cpu đang sử dụng pmap . Khắc phục là vô hiệu hóa tối ưu hóa tải lại CR3 cho trường hợp chuyển đổi LWP- & gt; LWP (cùng một proc).
  • Khắc phục lỗi HAMMER có thể dẫn đến lỗi DATA CRC bị báo cáo không đúng.
  • Sửa lỗi ghi kép được kích hoạt theo cách HAMMER sử dụng cluster_write (). Điều này cải thiện đáng kể hiệu suất ghi của HAMMER.
  • Nhiều lần dọn dẹp và sửa lỗi HAMMER khác cũng đã được đăng nhập.
  • Khắc phục một khóa cứng có thể xảy ra trong getpbuf * () do giải thích sai về giá trị trả lại của op nguyên tử.
  • Khắc phục gián đoạn xếp chồng có thể xảy ra trong cửa sổ 10 lệnh, có khả năng (nhưng không tìm thấy trong tự nhiên) chạy ngăn xếp hạt nhân.
  • Cắt các IPI liên quan đến pmap bằng một nửa cho các hoạt động đệm bộ nhớ đệm nhất định bằng cách không làm mất hiệu lực TLB, và ở bên flip luôn làm mất hiệu lực TLB khi nhập PTE mới ngay cả khi nội dung trước đó không hợp lệ. Điều này cải thiện hiệu suất và cũng giúp gỡ lỗi dễ dàng hơn bằng cách xóa tối ưu hóa có vấn đề.
  • Sửa một số chủng tộc SMP khó kích hoạt, đặc biệt là một liên quan đến việc thực hiện đồng thời các điểm gắn kết khác nhau mà bản dựng hàng loạt có thể kích hoạt. Đồng thời sửa một cuộc đua mountctl vs umount.
  • Giảm số lượng opic nguyên tử trong đường dẫn chuyển đổi.
  • Khắc phục cuộc đua / hoảng sợ namecache có thể xảy ra dưới tải trọng cực đoan cùng với rất nhiều hoạt động gắn kết / bỏ qua.
  • Giới hạn% tách mẫu thành thư mục gốc.
  • Khắc phục vấn đề getpid () trong vfork () khi được tạo luồng. Đặc biệt, vfork đồng thời () s trong một chương trình luồng có thể làm cho PID sai được trả về bởi getpid () trong phần tử con trước lệnh exec.
  • Khắc phục cuộc đua chú thích / chú thích hiếm hoi khi bộ đếm thời gian chú thích kích hoạt trước khi tsleep () được thiết lập hoàn toàn.
  • Làm sạch thông báo gian hàng namecache trên bảng điều khiển. Đặc biệt, báo cáo thời gian trôi qua thích hợp và td_comm của chuỗi liên quan.
  • Tiếp tục giảm kiểm tra bộ nhớ và khởi động zeroing để cải thiện thời gian khởi động trên các hệ thống có số lượng lớn ram.
  • Xóa hoàn toàn mã zero-page-zero. Việc đánh số trang trên một CPU hiện đại theo yêu cầu là tốt hơn vì nhiều lý do và có thể nhanh hơn khi kết hợp với dữ liệu truy cập của người tiêu dùng trong trang do hiệu ứng bộ nhớ cache. Loại bỏ PG_ZERO, bởi vì nó không còn cần thiết nữa. Loại bỏ PG_ZERO cũng làm cho hạt nhân có thể gỡ lỗi nhiều hơn bằng cách loại bỏ một nguồn lây nhiễm chéo có thể khác.
  • Tái cấu trúc và hoàn tất triển khai nội địa hóa CPU cho phân bổ bộ nhớ hạt nhân. Kết hợp với nhận thức NUMA. Điều này làm việc cho các cấu trúc dữ liệu hạt nhân đã được bản địa hóa hoặc có thời gian sống ngắn. Cả hai được kết hợp với nhau trong phần trừu tượng PQ_L2_SIZE của chúng tôi, từng là mã màu trang VM. Mã này hiện cũng xử lý nội địa hóa CPU và nhận thức NUMA.
  • Khắc phục nhiều vấn đề vkernel và cải thiện đáng kể hiệu suất vkernel.
  • Cập nhật kern.proc.pathname, một sysctl được chương trình sử dụng để tìm đường dẫn của chương trình đang chạy. Sysctl này ban đầu được triển khai trước khi chúng tôi lưu trữ đủ dữ liệu để trả về một đường dẫn đầy đủ, thích hợp.
  • Đồng bộ hóa ACPICA từ Intel (đây là sự cố thường xuyên).
  • Sửa lỗi lắp ráp memcpy () ABI. Hội đồng không trả lại đối số ban đầu (dst). Không khắc phục bất kỳ sự cố đã biết nào nhưng đóng một lỗ khi GCC đôi khi quyết định gọi memcpy trong khi tạo mã.
  • Nhiều cam kết xóa sạch cảnh báo và lỗi -O2. Hạt nhân hiện được biên dịch -O2 theo mặc định.
  • Thêm giải pháp cho một sản lượng không đúng trong đường dẫn ACPI (còn gọi là mã ACPI lỗi).
  • Khắc phục một cuộc đua STOP / CONT có thể được kích hoạt bởi một tín hiệu đang chờ xử lý vào đúng thời điểm.
  • Sửa chữa coredump đã được tạo luồng và sửa lỗi khóa liên quan đến cùng một lúc khi có nhiều luồng của cùng một quá trình seg-fault cùng một lúc.
  • Khắc phục sự cố bế tắc CAM / VM có thể xảy ra do lỗi trong uiomove_nofault (). Điều này có thể gây ra 'bộ đệm chờ không xác định' trong quá trình hoán trang / hoán đổi.
  • Thêm mã để phát hiện và xử lý IPI bị mất. Đây là chủ yếu cho vkernels nơi một số máy chủ ảo có thể mất IPIs. CPU thực sự không được coi là mất IPI.
  • Các bản sửa lỗi khác nhau cho clock_gettime ().
  • Xóa nhiều dấu tích của MPLOCK. Tất cả các đường dẫn quan trọng từ lâu đã bị xóa khỏi khóa này, nhưng vẫn còn một số địa điểm không quan trọng để sử dụng nó.
  • Làm lại mã giết chết quá trình bộ nhớ thấp và sửa một số chủng tộc có thể ngăn chặn tính năng này hoạt động.
  • Khắc phục sự cố khóa hệ thống bằng VMM và tái cấu trúc mã VMX.
  • Khắc phục bế tắc khi numvnodes đạt đến maxvnodes, có thể xảy ra dưới tải nặng. Ngoài ra sửa chữa một rò rỉ bộ nhớ hạt nhân nhỏ khi 'df' hoặc hệ thống tập tin đồng bộ chủng tộc một umount. Cũng làm giảm tính toán maxvnodes một cách khiêm tốn. Ví dụ, một máy có 8GB ram sẽ đặt maxvnodes thành 478483 thay vì 598103.
  • Khắc phục sự hoảng loạn hiếm có có thể được kích hoạt bởi vm_object_page_remove () khi user_yield () được gọi không đúng cách trong khi giữ một spinlock, và sau đó quyết định xóa lịch.
  • Giảm kích thước của một số cấu trúc hạt nhân được phân bổ động. Đặc biệt, phân bổ bảng băm inode quá cỡ bây giờ nhỏ hơn. Chủ yếu ảnh hưởng đến UFS (mà DragonFlyBSD không sử dụng nhiều).
  • Thêm giải pháp thay thế cho AMD erratum 793.
  • Khắc phục bế tắc có thể xảy ra trong các cuộc gọi I / O của cụm được xếp chồng lên nhau.
  • Khắc phục lỗi khi tải mô-đun đệ quy có thể bế tắc.
  • Sửa một lỗi ngớ ngẩn trong mã ngớ ngẩn của NFS (NFS phía máy chủ) có thể làm cho mã ngớ ngẩn của máy chủ NFS không bao giờ loại bỏ tệp được đổi tên ngớ ngẩn. Thật ngớ ngẩn!
  • Thực hiện công việc tốt hơn có khả năng chứa cấu hình bộ nhớ low-ncpu + bộ nhớ thấp.
  • Khóa xoay vòng được chia sẻ của Refactor để giảm số lượng quay có thể xảy ra khi nhiều cpus có được một ổ khóa chia sẻ cùng một lúc.
  • Đại tu hoạt động namecache để giảm bớt sự tranh chấp SMP hơn nữa. Điều này cải thiện hiệu năng thành phần đơn lẻ không xung đột đồng thời ít nhất 25x trên các hệ thống có nhiều lõi và giảm đáng kể các hoạt động ref và unref của cấu trúc vnode và gắn kết.
  • Đại tu nhiều cấu trúc hạt nhân khác để cải thiện vị trí bộ nhớ cache và giảm đường bộ nhớ cache nảy lại.
  • Khắc phục lỗi trong mã đổi tên tệp của SMBFS.
  • Triển khai RLIMIT_RSS, một giới hạn RSS cho mỗi quá trình sẽ buộc phân trang địa phương trên cơ sở mỗi quá trình. Có thể sử dụng tính năng này để ngăn chặn một quá trình chuyển phần còn lại của máy thành một trường hợp khó.
  • Tăng không gian hoán đổi được hỗ trợ tối đa. Tối đa hiện nay bị hạn chế chủ yếu bởi ram và sẽ ở hàng chục terabyte (nếu bạn có đủ ram cho cấu trúc quản lý hỗ trợ). Đồng thời tăng KVM của hạt nhân từ 128G lên 511G.
  • Triển khai xóa pmap động (bị tắt theo mặc định). Điều này chỉ đạo mã pmap để xóa các trang bảng trung gian và các PD từ pmap khi đang di chuyển. Nó có thể hữu ích nếu bộ nhớ ở mức cao, nhưng lưu ý rằng, nếu được bật, nó sẽ làm chậm việc thực thi các chương trình phân bổ và giải quyết bộ nhớ ở tốc độ cao.
  • Tái cấu trúc mức độ người dùng 'đẹp' hoạt động như thế nào, làm cho các giá trị đẹp được chọn trở nên quan trọng hơn so với trước đây.
  • Thêm trình điều khiển NVME gốc hiệu suất cao vào DragonFly, được viết bởi Matt Dillon. Trình điều khiển này sẽ sử dụng các vectơ MSI-X và tất cả các hàng đợi sẵn có được hỗ trợ bởi thiết bị, bản địa hóa trên mỗi CPU mà không khóa hoặc khóa tối thiểu (không có xung đột SMP trong hầu hết các trường hợp), và có khả năng IOPS và thông lượng mất trí.
  • Đồ họa:
  • Ổn định Broadwell và Skylake, đưa chúng tôi đến DRM tương đương với Linux 4.6.
  • Triển khai API i2c Linux để giúp việc chuyển dễ dàng hơn.
  • Khắc phục một vài lỗi cũ, bao gồm cả việc đảo ngược lệnh khóa, có thể ngừng phát lại video (và phần còn lại của X).
  • Khắc phục lỗi ưu tiên luồng của trình chủ hạt nhân cho phép quy trình người dùng có mức độ ưu tiên cao hơn chuỗi trình trợ giúp drm. Điều này khắc phục hầu hết các video tạm thời được báo cáo trên trình duyệt.
  • Xử lý bộ đệm khung EFI đi vào DRM, cải thiện chuyển mạch VT của syscons và sửa một bế tắc liên quan. Cũng có hạt nhân cố gắng chuyển trở lại giao diện điều khiển VT từ X khi xảy ra sự cố.
  • Mạng:
  • Nhiều cải tiến trên bảng.
  • iwm - Khắc phục sự cố do logic ngược. Nhiều cải tiến khác cải thiện đáng kể hiệu suất.
  • wlan - Hỗ trợ quét bg không đồng bộ và các tính năng khác được thêm.
  • Các trình điều khiển khác:
  • nvme - Được thêm vào bản dựng hạt nhân mặc định, cộng với các bản sửa lỗi và cải tiến hiệu suất.
  • mmcsd - Hỗ trợ eMMC quan trọng được thêm vào DragonFly.
  • ahci - Một số điều chỉnh tương thích và nhiều quirks được thêm vào để hỗ trợ các chipset bị hỏng, trong các hệ số cổng cụ thể. Cũng thực hiện FBS (FIS-Based-Switching) khi được hỗ trợ bởi chipset.
  • Hỗ trợ Trackpoint và Elantech.
  • Vùng người dùng:
  • systat được tăng cường để thu gọn nhiều ngắt thuộc cùng một trình điều khiển, vì thường có quá nhiều danh sách để liệt kê.
  • systat -vm 1 được cải tiến đáng kể và được cải tiến để báo cáo các thông tin hữu ích hơn và giải nén các trường để chúng không chạy vào nhau. Và thêm 'nvme' vào kết hợp thiết bị khối. Cũng điều chỉnh hiển thị vmstats mở rộng và thay đổi cách ozfod và nzfod được báo cáo.
  • 'vmstat 1' được tái cấu trúc. Tất cả các lĩnh vực đã chạy vào nhau do hiệu suất cao của một câu máy hiện đại những gì tồn tại 30 năm trước đây.
  • Thay đổi tín hiệu gắn kết / gắn kết để giảm các lệnh quét và danh sách gắn kết không cần thiết từ các hoạt động mount_null và mount_tmpfs. Chỉ thực sự có vấn đề với việc sử dụng đồng thời nhiều giá trị mount / umount, nhưng việc xây dựng hàng loạt thực sự tạo ra tình huống đó.
  • Khắc phục nhiều lỗi fork / exec * () mà libc có thể kích hoạt do không sử dụng O_CLOEXEC theo kiểu nguyên tử. Thêm các tính năng O_CLOEXEC khác nhau vào các hàm như popen () và mk * stemp * () (thêm mkostemp () và mkostemps ()). Sửa lỗi rò rỉ mô tả tệp trong popen () khi chạy trong môi trường luồng.
  • Hãy đẹp hơn với pthreads trong vfork () bằng cách đưa ra quy trình con mới của lwp cùng một TID như một cái gọi là vfork (). Điều này cho phép các chức năng hỗ trợ pthread thực hiện trong child trong vfork mà không cần pthreads.
  • Nhiều bản sửa lỗi tương thích với tiêu đề để cải thiện các bản dựng hàng loạt của dports.
  • Một số nhập OpenSSL cho các bản sửa lỗi bảo mật.
  • Đồng bộ hóa OpenSSH để làm cho nó trở nên dễ dàng hơn.
  • Tách biệt cờ C hạt nhân bằng cách dùng kernel build KCFLAGS thay vì CFLAGS.
  • Xóa hoàn toàn nhiều trình điều khiển ISA cũ khỏi cây. Vì DragonFlyBSD hiện chỉ có 64 bit, chúng tôi có thể bắt đầu xóa các trình điều khiển cũ không tồn tại trên nền tảng 64 bit.
  • Giới thiệu WORLD_CFLAGS và WORLD_CCOPTLEVEL, mặc định là -O. Điều này giúp việc biên dịch thế giới -O2 của bạn trở nên dễ dàng hơn hoặc bất cứ điều gì (ví dụ: WORLD_CCOPTLEVEL = 2). Tuy nhiên, chúng tôi không khuyến khích sử dụng 3 hoặc cao hơn. Các giá trị hợp lệ là 0, 1, 2, 3, s, g và 'nhanh'.
  • Điều chỉnh định dạng STATUS cho ps để làm cho nó dễ đọc hơn và loại bỏ các cờ cổ không còn được áp dụng nữa và chỉ tạo ra sự lộn xộn.
  • Sửa liên kết malloc () cho phân bổ nhỏ. Liên kết tối thiểu bây giờ là 16 cho phân bổ trong phạm vi byte 16-128 thay vì 8. Lưu ý rằng phân bổ nguồn-of-2 luôn được căn chỉnh tự nhiên, nhưng một số chương trình sử dụng bội số của (ví dụ) 16, như '48' và giả định căn chỉnh 16 byte.
  • Fortunes được tái cấu trúc, đã thêm.
  • powerd - Thêm quản lý dựa trên nhiệt độ vào powerd với một new -H lotemp: tùy chọn cao. Tính năng này cực kỳ hữu ích trên các máy tính xách tay có bộ làm mát kém và các BIOS của người dùng cố tình điều tiết ở nhiệt độ quá cao. Powerd bây giờ cũng phát hiện các thay đổi trạng thái nguồn (có thể thay đổi danh sách tần số có sẵn) và chuyển đổi đúng dịch vụ khi thay đổi trạng thái nguồn xảy ra.
  • Rất nhiều chỉnh sửa libthread_xu / pthreads và điều chỉnh để cải thiện khả năng tương thích của dports.
  • Thêm các tính năng copy-on-write vào vkernel. Ví dụ: cho phép nhiều vkernels sử dụng một hình ảnh đĩa đơn bằng cách thay đổi từng COW nội bộ thành ram.
  • / usr / src / an toàn được trả lại, các xung đột đã bị xóa khỏi libmd, libcrypt.
  • Các công cụ khác nhau đã được nâng cấp trong hệ thống cơ sở:
  • Trình biên dịch được cập nhật thành GCC 5.4.1.
  • Hiện tại, chúng tôi có một liên kết vàng với LTO.
  • binutils 2,25
  • ít hơn 481.
  • OpenSSL / LibRESSL hoàn toàn được sửa lại. Cơ sở hiện sử dụng libressl.
  • Cập nhật nhiều múi giờ.
  • Trạng thái Hammer:
  • Các cải tiến khác. Một điều không làm cho nó vào bản phát hành là một phiên bản bump để sử dụng một thuật toán CRC nhanh hơn với một đa thức khác nhau. Công việc này sẽ được MFC'd để -release sau khi thử nghiệm hoàn tất. Tuy nhiên, người dùng không nên lo lắng về nó quá nhiều vì sửa lỗi hiệu năng nghiêm trọng nhất trong bản phát hành (một sửa chữa cho cụm cluster_write () để ghi hệ thống tập tin).
  • Trạng thái Hammer2:
  • Phát triển tiếp tục nhưng chưa có từ nào trên bản phát hành đầu tiên.
  • Trạng thái Clang:
  • Một khung công tác khởi đầu đã được thêm vào để sử dụng clang làm trình biên dịch cơ bản thay thế trong DragonFly, để thay thế gcc 4.7. Nó chưa hoàn thành. Clang có thể được thêm vào như một gói.
  • Trạng thái 64 bit:
  • Lưu ý rằng DragonFly là hệ điều hành 64 bit chỉ có 4.6 và sẽ không chạy trên phần cứng 32 bit.
  • Hỗ trợ AMD Ryzen đang được phát hành và công việc tiếp theo sẽ được đưa vào khi những phát triển mới của Ryzen xảy ra. Có một số vấn đề liên quan đến cpu-report-topology sẽ được sửa và MFC. Có một số vấn đề về tính ổn định hiện đang chờ cập nhật vi mã AMD để giải quyết / kiểm tra lại. Người dùng Ryzen có thể yên tâm rằng chúng tôi đang ở trên đầu trang của nó!

Tính năng mới trong phiên bản 4.8.0:

  • Hạt nhân:
  • Mã bộ đệm đệm của trình tái cấu trúc để xóa các đặt chỗ KVA động. Thay vào đó, tất cả KVA được đặt trước khi khởi động. Lưu chúng tôi khỏi các IPI không cần thiết và cho phép đơn giản hóa đáng kể mã bộ đệm đệm.
  • Thêm vfs.repurpose_enable (trong thử nghiệm, được tắt theo mặc định). Tính năng này có thể được kích hoạt để giảm đáng kể tải IPI và quản lý VM trên một máy đang thực hiện một lượng lớn tệp I / O, ví dụ từ ổ SSD NVMe, bằng cách bỏ qua cơ chế tái chế trang VM thông thường. Khi được bật, tính năng chỉ kích hoạt dưới tải I / O cao. Nó hoạt động bằng cách sử dụng lại các trang VM bên dưới một bộ đệm tại chỗ (nếu có thể) để không phải kremove / kenter các trang trong KVA của bộ đệm. Việc khôi phục trang VM bình thường (nếu không sẽ bị tràn ngập bởi tải I / O) cũng bị bỏ qua.
  • Thay đổi cách xử lý IPIQ, đặc biệt tạo cơ chế véc tơ Xinterrupt độc lập cho các lần vô hiệu hóa trang bỏ qua (sẽ hoạt động) ngay cả khi một phần quan trọng được giữ. Triển khai machdep.optimized_invltlb (bị tắt theo mặc định, trong thử nghiệm), tránh gửi IPL không hợp lệ tlb tới idle cpus.
  • Khắc phục nhiều cuộc đua có thể xảy ra dưới các tải cực đoan. Hầu hết các trường hợp sử dụng sẽ không bao giờ kích hoạt những trường hợp này nhưng các hộp xây dựng của chúng tôi đã làm thỉnh thoảng. Ví dụ, có một cuộc đua hai hướng mà bit cpu cho một pmap sẽ được xóa (cho hai hướng dẫn) và gây ra một IPI TLB xảy ra cùng một lúc trên một CPU khác cho cùng một pmap để không nhận ra rằng cpu đang sử dụng pmap . Khắc phục là vô hiệu hóa tối ưu hóa tải lại CR3 cho trường hợp chuyển đổi LWP- & gt; LWP (cùng một proc).
  • Khắc phục lỗi HAMMER có thể dẫn đến lỗi DATA CRC bị báo cáo không đúng.
  • Sửa lỗi ghi kép được kích hoạt theo cách HAMMER sử dụng cluster_write (). Điều này cải thiện đáng kể hiệu suất ghi của HAMMER.
  • Nhiều lần dọn dẹp và sửa lỗi HAMMER khác cũng đã được đăng nhập.
  • Khắc phục một khóa cứng có thể xảy ra trong getpbuf * () do giải thích sai về giá trị trả lại của op nguyên tử.
  • Khắc phục gián đoạn xếp chồng có thể xảy ra trong cửa sổ 10 lệnh, có khả năng (nhưng không tìm thấy trong tự nhiên) chạy ngăn xếp hạt nhân.
  • Cắt các IPI liên quan đến pmap bằng một nửa cho các hoạt động đệm bộ nhớ đệm nhất định bằng cách không làm mất hiệu lực TLB, và ở bên flip luôn làm mất hiệu lực TLB khi nhập PTE mới ngay cả khi nội dung trước đó không hợp lệ. Điều này cải thiện hiệu suất và cũng giúp gỡ lỗi dễ dàng hơn bằng cách xóa tối ưu hóa có vấn đề.
  • Sửa một số chủng tộc SMP khó kích hoạt, đặc biệt là một liên quan đến việc thực hiện đồng thời các điểm gắn kết khác nhau mà bản dựng hàng loạt có thể kích hoạt. Đồng thời sửa một cuộc đua mountctl vs umount.
  • Giảm số lượng opic nguyên tử trong đường dẫn chuyển đổi.
  • Khắc phục cuộc đua / hoảng sợ namecache có thể xảy ra dưới tải trọng cực đoan cùng với rất nhiều hoạt động gắn kết / bỏ qua.
  • Giới hạn% tách mẫu thành thư mục gốc.
  • Khắc phục vấn đề getpid () trong vfork () khi được tạo luồng. Đặc biệt, vfork đồng thời () s trong một chương trình luồng có thể làm cho PID sai được trả về bởi getpid () trong phần tử con trước lệnh exec.
  • Khắc phục cuộc đua chú thích / chú thích hiếm hoi khi bộ đếm thời gian chú thích kích hoạt trước khi tsleep () được thiết lập hoàn toàn.
  • Làm sạch thông báo gian hàng namecache trên bảng điều khiển. Đặc biệt, báo cáo thời gian trôi qua thích hợp và td_comm của chuỗi liên quan.
  • Tiếp tục giảm kiểm tra bộ nhớ và khởi động zeroing để cải thiện thời gian khởi động trên các hệ thống có số lượng lớn ram.
  • Xóa hoàn toàn mã zero-page-zero. Việc đánh số trang trên một CPU hiện đại theo yêu cầu là tốt hơn vì nhiều lý do và có thể nhanh hơn khi kết hợp với dữ liệu truy cập của người tiêu dùng trong trang do hiệu ứng bộ nhớ cache. Loại bỏ PG_ZERO, bởi vì nó không còn cần thiết nữa. Loại bỏ PG_ZERO cũng làm cho hạt nhân có thể gỡ lỗi nhiều hơn bằng cách loại bỏ một nguồn lây nhiễm chéo có thể khác.
  • Tái cấu trúc và hoàn tất triển khai nội địa hóa CPU cho phân bổ bộ nhớ hạt nhân. Kết hợp với nhận thức NUMA. Điều này làm việc cho các cấu trúc dữ liệu hạt nhân đã được bản địa hóa hoặc có thời gian sống ngắn. Cả hai được kết hợp với nhau trong phần trừu tượng PQ_L2_SIZE của chúng tôi, từng là mã màu trang VM. Mã này hiện cũng xử lý nội địa hóa CPU và nhận thức NUMA.
  • Khắc phục nhiều vấn đề vkernel và cải thiện đáng kể hiệu suất vkernel.
  • Cập nhật kern.proc.pathname, một sysctl được chương trình sử dụng để tìm đường dẫn của chương trình đang chạy. Sysctl này ban đầu được triển khai trước khi chúng tôi lưu trữ đủ dữ liệu để trả về một đường dẫn đầy đủ, thích hợp.
  • Đồng bộ hóa ACPICA từ Intel (đây là sự cố thường xuyên).
  • Sửa lỗi lắp ráp memcpy () ABI. Hội đồng không trả lại đối số ban đầu (dst). Không khắc phục bất kỳ sự cố đã biết nào nhưng đóng một lỗ khi GCC đôi khi quyết định gọi memcpy trong khi tạo mã.
  • Nhiều cam kết xóa sạch cảnh báo và lỗi -O2. Hạt nhân hiện được biên dịch -O2 theo mặc định.
  • Thêm giải pháp cho một sản lượng không đúng trong đường dẫn ACPI (còn gọi là mã ACPI lỗi).
  • Khắc phục một cuộc đua STOP / CONT có thể được kích hoạt bởi một tín hiệu đang chờ xử lý vào đúng thời điểm.
  • Sửa chữa coredump đã được tạo luồng và sửa lỗi khóa liên quan đến cùng một lúc khi có nhiều luồng của cùng một quá trình seg-fault cùng một lúc.
  • Khắc phục sự cố bế tắc CAM / VM có thể xảy ra do lỗi trong uiomove_nofault (). Điều này có thể gây ra 'bộ đệm chờ không xác định' trong quá trình hoán trang / hoán đổi.
  • Thêm mã để phát hiện và xử lý IPI bị mất. Đây là chủ yếu cho vkernels nơi một số máy chủ ảo có thể mất IPIs. CPU thực sự không được coi là mất IPI.
  • Các bản sửa lỗi khác nhau cho clock_gettime ().
  • Xóa nhiều dấu tích của MPLOCK. Tất cả các đường dẫn quan trọng từ lâu đã bị xóa khỏi khóa này, nhưng vẫn còn một số địa điểm không quan trọng để sử dụng nó.
  • Làm lại mã giết chết quá trình bộ nhớ thấp và sửa một số chủng tộc có thể ngăn chặn tính năng này hoạt động.
  • Khắc phục sự cố khóa hệ thống bằng VMM và tái cấu trúc mã VMX.
  • Khắc phục bế tắc khi numvnodes đạt đến maxvnodes, có thể xảy ra dưới tải nặng. Ngoài ra sửa chữa một rò rỉ bộ nhớ hạt nhân nhỏ khi 'df' hoặc hệ thống tập tin đồng bộ chủng tộc một umount. Cũng làm giảm tính toán maxvnodes một cách khiêm tốn. Ví dụ, một máy có 8GB ram sẽ đặt maxvnodes thành 478483 thay vì 598103.
  • Khắc phục sự hoảng loạn hiếm có có thể được kích hoạt bởi vm_object_page_remove () khi user_yield () được gọi không đúng cách trong khi giữ một spinlock, và sau đó quyết định xóa lịch.
  • Giảm kích thước của một số cấu trúc hạt nhân được phân bổ động. Đặc biệt, phân bổ bảng băm inode quá cỡ bây giờ nhỏ hơn. Chủ yếu ảnh hưởng đến UFS (mà DragonFlyBSD không sử dụng nhiều).
  • Thêm giải pháp thay thế cho AMD erratum 793.
  • Khắc phục bế tắc có thể xảy ra trong các cuộc gọi I / O của cụm được xếp chồng lên nhau.
  • Khắc phục lỗi khi tải mô-đun đệ quy có thể bế tắc.
  • Sửa một lỗi ngớ ngẩn trong mã ngớ ngẩn của NFS (NFS phía máy chủ) có thể làm cho mã ngớ ngẩn của máy chủ NFS không bao giờ loại bỏ tệp được đổi tên ngớ ngẩn. Thật ngớ ngẩn!
  • Thực hiện công việc tốt hơn có khả năng chứa cấu hình bộ nhớ low-ncpu + bộ nhớ thấp.
  • Khóa xoay vòng được chia sẻ của Refactor để giảm số lượng quay có thể xảy ra khi nhiều cpus có được một ổ khóa chia sẻ cùng một lúc.
  • Đại tu hoạt động namecache để giảm bớt sự tranh chấp SMP hơn nữa. Điều này cải thiện hiệu năng thành phần đơn lẻ không xung đột đồng thời ít nhất 25x trên các hệ thống có nhiều lõi và giảm đáng kể các hoạt động ref và unref của cấu trúc vnode và gắn kết.
  • Đại tu nhiều cấu trúc hạt nhân khác để cải thiện vị trí bộ nhớ cache và giảm đường bộ nhớ cache nảy lại.
  • Khắc phục lỗi trong mã đổi tên tệp của SMBFS.
  • Triển khai RLIMIT_RSS, một giới hạn RSS cho mỗi quá trình sẽ buộc phân trang địa phương trên cơ sở mỗi quá trình. Có thể sử dụng tính năng này để ngăn chặn một quá trình chuyển phần còn lại của máy thành một trường hợp khó.
  • Tăng không gian hoán đổi được hỗ trợ tối đa. Tối đa hiện nay bị hạn chế chủ yếu bởi ram và sẽ ở hàng chục terabyte (nếu bạn có đủ ram cho cấu trúc quản lý hỗ trợ). Đồng thời tăng KVM của hạt nhân từ 128G lên 511G.
  • Triển khai xóa pmap động (bị tắt theo mặc định). Điều này chỉ đạo mã pmap để xóa các trang bảng trung gian và các PD từ pmap khi đang di chuyển. Nó có thể hữu ích nếu bộ nhớ ở mức cao, nhưng lưu ý rằng, nếu được bật, nó sẽ làm chậm việc thực thi các chương trình phân bổ và giải quyết bộ nhớ ở tốc độ cao.
  • Tái cấu trúc mức độ người dùng 'đẹp' hoạt động như thế nào, làm cho các giá trị đẹp được chọn trở nên quan trọng hơn so với trước đây.
  • Thêm trình điều khiển NVME gốc hiệu suất cao vào DragonFly, được viết bởi Matt Dillon. Trình điều khiển này sẽ sử dụng các vectơ MSI-X và tất cả các hàng đợi sẵn có được hỗ trợ bởi thiết bị, bản địa hóa trên mỗi CPU mà không khóa hoặc khóa tối thiểu (không có xung đột SMP trong hầu hết các trường hợp), và có khả năng IOPS và thông lượng mất trí.
  • Đồ họa:
  • Ổn định Broadwell và Skylake, đưa chúng tôi đến DRM tương đương với Linux 4.6.
  • Triển khai API i2c Linux để giúp việc chuyển dễ dàng hơn.
  • Khắc phục một vài lỗi cũ, bao gồm cả việc đảo ngược lệnh khóa, có thể ngừng phát lại video (và phần còn lại của X).
  • Khắc phục lỗi ưu tiên luồng của trình chủ hạt nhân cho phép quy trình người dùng có mức độ ưu tiên cao hơn chuỗi trình trợ giúp drm. Điều này khắc phục hầu hết các video tạm thời được báo cáo trên trình duyệt.
  • Xử lý bộ đệm khung EFI đi vào DRM, cải thiện chuyển mạch VT của syscons và sửa một bế tắc liên quan. Cũng có hạt nhân cố gắng chuyển trở lại giao diện điều khiển VT từ X khi xảy ra sự cố.
  • Mạng:
  • Nhiều cải tiến trên bảng.
  • iwm - Khắc phục sự cố do logic ngược. Nhiều cải tiến khác cải thiện đáng kể hiệu suất.
  • wlan - Hỗ trợ quét bg không đồng bộ và các tính năng khác được thêm.
  • Các trình điều khiển khác:
  • nvme - Được thêm vào bản dựng hạt nhân mặc định, cộng với các bản sửa lỗi và cải tiến hiệu suất.
  • mmcsd - Hỗ trợ eMMC quan trọng được thêm vào DragonFly.
  • ahci - Một số điều chỉnh tương thích và nhiều quirks được thêm vào để hỗ trợ các chipset bị hỏng, trong các hệ số cổng cụ thể. Cũng thực hiện FBS (FIS-Based-Switching) khi được hỗ trợ bởi chipset.
  • Hỗ trợ Trackpoint và Elantech.
  • Vùng người dùng:
  • systat được tăng cường để thu gọn nhiều ngắt thuộc cùng một trình điều khiển, vì thường có quá nhiều danh sách để liệt kê.
  • systat -vm 1 được cải tiến đáng kể và được cải tiến để báo cáo các thông tin hữu ích hơn và giải nén các trường để chúng không chạy vào nhau. Và thêm 'nvme' vào kết hợp thiết bị khối. Cũng điều chỉnh hiển thị vmstats mở rộng và thay đổi cách ozfod và nzfod được báo cáo.
  • 'vmstat 1' được tái cấu trúc. Tất cả các lĩnh vực đã chạy vào nhau do hiệu suất cao của một câu máy hiện đại những gì tồn tại 30 năm trước đây.
  • Thay đổi tín hiệu gắn kết / gắn kết để giảm các lệnh quét và danh sách gắn kết không cần thiết từ các hoạt động mount_null và mount_tmpfs. Chỉ thực sự có vấn đề với việc sử dụng đồng thời nhiều giá trị mount / umount, nhưng việc xây dựng hàng loạt thực sự tạo ra tình huống đó.
  • Khắc phục nhiều lỗi fork / exec * () mà libc có thể kích hoạt do không sử dụng O_CLOEXEC theo kiểu nguyên tử. Thêm các tính năng O_CLOEXEC khác nhau vào các hàm như popen () và mk * stemp * () (thêm mkostemp () và mkostemps ()). Sửa lỗi rò rỉ mô tả tệp trong popen () khi chạy trong môi trường luồng.
  • Hãy đẹp hơn với pthreads trong vfork () bằng cách đưa ra quy trình con mới của lwp cùng một TID như một cái gọi là vfork (). Điều này cho phép các chức năng hỗ trợ pthread thực hiện trong child trong vfork mà không cần pthreads.
  • Nhiều bản sửa lỗi tương thích với tiêu đề để cải thiện các bản dựng hàng loạt của dports.
  • Một số nhập OpenSSL cho các bản sửa lỗi bảo mật.
  • Đồng bộ hóa OpenSSH để làm cho nó trở nên dễ dàng hơn.
  • Tách biệt cờ C hạt nhân bằng cách dùng kernel build KCFLAGS thay vì CFLAGS.
  • Xóa hoàn toàn nhiều trình điều khiển ISA cũ khỏi cây. Vì DragonFlyBSD hiện chỉ có 64 bit, chúng tôi có thể bắt đầu xóa các trình điều khiển cũ không tồn tại trên nền tảng 64 bit.
  • Giới thiệu WORLD_CFLAGS và WORLD_CCOPTLEVEL, mặc định là -O. Điều này giúp việc biên dịch thế giới -O2 của bạn trở nên dễ dàng hơn hoặc bất cứ điều gì (ví dụ: WORLD_CCOPTLEVEL = 2). Tuy nhiên, chúng tôi không khuyến khích sử dụng 3 hoặc cao hơn. Các giá trị hợp lệ là 0, 1, 2, 3, s, g và 'nhanh'.
  • Điều chỉnh định dạng STATUS cho ps để làm cho nó dễ đọc hơn và loại bỏ các cờ cổ không còn được áp dụng nữa và chỉ tạo ra sự lộn xộn.
  • Sửa liên kết malloc () cho phân bổ nhỏ. Liên kết tối thiểu bây giờ là 16 cho phân bổ trong phạm vi byte 16-128 thay vì 8. Lưu ý rằng phân bổ nguồn-of-2 luôn được căn chỉnh tự nhiên, nhưng một số chương trình sử dụng bội số của (ví dụ) 16, như '48' và giả định căn chỉnh 16 byte.
  • Fortunes được tái cấu trúc, đã thêm.
  • powerd - Thêm quản lý dựa trên nhiệt độ vào powerd với một new -H lotemp: tùy chọn cao. Tính năng này cực kỳ hữu ích trên các máy tính xách tay có bộ làm mát kém và các BIOS của người dùng cố tình điều tiết ở nhiệt độ quá cao. Powerd bây giờ cũng phát hiện các thay đổi trạng thái nguồn (có thể thay đổi danh sách tần số có sẵn) và chuyển đổi đúng dịch vụ khi thay đổi trạng thái nguồn xảy ra.
  • Rất nhiều chỉnh sửa libthread_xu / pthreads và điều chỉnh để cải thiện khả năng tương thích của dports.
  • Thêm các tính năng copy-on-write vào vkernel. Ví dụ: cho phép nhiều vkernels sử dụng một hình ảnh đĩa đơn bằng cách thay đổi từng COW nội bộ thành ram.
  • / usr / src / an toàn được trả lại, các xung đột đã bị xóa khỏi libmd, libcrypt.
  • Các công cụ khác nhau đã được nâng cấp trong hệ thống cơ sở:
  • Trình biên dịch được cập nhật thành GCC 5.4.1.
  • Hiện tại, chúng tôi có một liên kết vàng với LTO.
  • binutils 2,25
  • ít hơn 481.
  • OpenSSL / LibRESSL hoàn toàn được sửa lại. Cơ sở hiện sử dụng libressl.
  • Cập nhật nhiều múi giờ.
  • Trạng thái Hammer:
  • Các cải tiến khác. Một điều không làm cho nó vào bản phát hành là một phiên bản bump để sử dụng một thuật toán CRC nhanh hơn với một đa thức khác nhau. Công việc này sẽ được MFC'd để -release sau khi thử nghiệm hoàn tất. Tuy nhiên, người dùng không nên lo lắng về nó quá nhiều vì sửa lỗi hiệu năng nghiêm trọng nhất trong bản phát hành (một sửa chữa cho cụm cluster_write () để ghi hệ thống tập tin).
  • Trạng thái Hammer2:
  • Phát triển tiếp tục nhưng chưa có từ nào trên bản phát hành đầu tiên.
  • Trạng thái Clang:
  • Một khung công tác khởi đầu đã được thêm vào để sử dụng clang làm trình biên dịch cơ bản thay thế trong DragonFly, để thay thế gcc 4.7. Nó chưa hoàn thành. Clang có thể được thêm vào như một gói.
  • Trạng thái 64 bit:
  • Lưu ý rằng DragonFly là hệ điều hành 64 bit chỉ có 4.6 và sẽ không chạy trên phần cứng 32 bit.
  • Hỗ trợ AMD Ryzen đang được phát hành và công việc tiếp theo sẽ được đưa vào khi những phát triển mới của Ryzen xảy ra. Có một số vấn đề liên quan đến cpu-report-topology sẽ được sửa và MFC. Có một số vấn đề về tính ổn định hiện đang chờ cập nhật vi mã AMD để giải quyết / kiểm tra lại. Người dùng Ryzen có thể yên tâm rằng chúng tôi đang ở trên đầu trang của nó!

Tính năng mới trong phiên bản 4.6.0:

  • mmcsd (4): Sửa lỗi đánh máy trong disk_create () args. Cho phép truy cập & gt; 1 thẻ SD / MMC.
  • Thêm giải nén (1). Nếu bạn không thể đánh bại 'em, hãy tham gia' em
  • Khôi phục khả năng cho thế giới tổng thể để xây dựng Bản phát hành 4.4
  • buildworld - Cho phép -release được xây dựng trên master
  • etc / rc.d - điều chỉnh không đĩa
  • hạt nhân - Thêm hỗ trợ kqueue vào NFS (khắc phục sự cố firefox w / nfs)
  • Nhập OpenSSL 1.0.1s.
  • Điều chỉnh cục bộ cho OpenSSL 1.0.1.
  • Đồng bộ hóa cơ sở dữ liệu zoneinfo với tzdata2016b từ ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Không cảnh báo về các từ viết tắt như '-05'.
  • zic (8): Xóa một 'đăng ký' được nhập vào trong lần commit cuối cùng.
  • kernel / acpi_timer: Thêm cpu_enable_intr () sau khi kiểm tra hẹn giờ bị thiếu.
  • em.4: Đề cập đến hỗ trợ i219.
  • ig_hal / em / emx: Thêm hỗ trợ I219 (Skylake)
  • sys / vfs / hammer: Khắc phục lỗi khi xóa tiêu đề âm lượng
  • sbin / hammer: Không truy cập vượt quá 16KB bộ đệm vùng người dùng HAMMER
  • sbin / hammer: Thêm tùy chọn obfuscate vào trình diễn búa
  • sys / vfs / hammer: Sửa lỗi tạm thời cho hạt nhân hoảng loạn trên ổ đĩa-del

Tính năng mới trong phiên bản 4.4.3 / 4.6.0 RC2:

  • mmcsd (4): Sửa lỗi đánh máy trong disk_create () args. Cho phép truy cập & gt; 1 thẻ SD / MMC.
  • Thêm giải nén (1). Nếu bạn không thể đánh bại 'em, hãy tham gia' em
  • Khôi phục khả năng cho thế giới tổng thể để xây dựng Bản phát hành 4.4
  • buildworld - Cho phép -release được xây dựng trên master
  • etc / rc.d - điều chỉnh không đĩa
  • hạt nhân - Thêm hỗ trợ kqueue vào NFS (khắc phục sự cố firefox w / nfs)
  • Nhập OpenSSL 1.0.1s.
  • Điều chỉnh cục bộ cho OpenSSL 1.0.1.
  • Đồng bộ hóa cơ sở dữ liệu zoneinfo với tzdata2016b từ ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Không cảnh báo về các từ viết tắt như '-05'.
  • zic (8): Xóa một 'đăng ký' được nhập vào trong lần commit cuối cùng.
  • kernel / acpi_timer: Thêm cpu_enable_intr () sau khi kiểm tra hẹn giờ bị thiếu.
  • em.4: Đề cập đến hỗ trợ i219.
  • ig_hal / em / emx: Thêm hỗ trợ I219 (Skylake)
  • sys / vfs / hammer: Khắc phục lỗi khi xóa tiêu đề âm lượng
  • sbin / hammer: Không truy cập vượt quá 16KB bộ đệm vùng người dùng HAMMER
  • sbin / hammer: Thêm tùy chọn obfuscate vào trình diễn búa
  • sys / vfs / hammer: Sửa lỗi tạm thời cho hạt nhân hoảng loạn trên ổ đĩa-del

Tính năng mới trong phiên bản 4.4.3:

  • mmcsd (4): Sửa lỗi đánh máy trong disk_create () args. Cho phép truy cập & gt; 1 thẻ SD / MMC.
  • Thêm giải nén (1). Nếu bạn không thể đánh bại 'em, hãy tham gia' em
  • Khôi phục khả năng cho thế giới tổng thể để xây dựng Bản phát hành 4.4
  • buildworld - Cho phép -release được xây dựng trên master
  • etc / rc.d - điều chỉnh không đĩa
  • hạt nhân - Thêm hỗ trợ kqueue vào NFS (khắc phục sự cố firefox w / nfs)
  • Nhập OpenSSL 1.0.1s.
  • Điều chỉnh cục bộ cho OpenSSL 1.0.1.
  • Đồng bộ hóa cơ sở dữ liệu zoneinfo với tzdata2016b từ ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Không cảnh báo về các từ viết tắt như '-05'.
  • zic (8): Xóa một 'đăng ký' được nhập vào trong lần commit cuối cùng.
  • kernel / acpi_timer: Thêm cpu_enable_intr () sau khi kiểm tra hẹn giờ bị thiếu.
  • em.4: Đề cập đến hỗ trợ i219.
  • ig_hal / em / emx: Thêm hỗ trợ I219 (Skylake)
  • sys / vfs / hammer: Khắc phục lỗi khi xóa tiêu đề âm lượng
  • sbin / hammer: Không truy cập vượt quá 16KB bộ đệm vùng người dùng HAMMER
  • sbin / hammer: Thêm tùy chọn obfuscate vào trình diễn búa
  • sys / vfs / hammer: Sửa lỗi tạm thời cho hạt nhân hoảng loạn trên ổ đĩa-del

Tính năng mới trong phiên bản 4.4.2:

  • virtio_blk: Sử dụng contigmalloc / contigfree cho phân bổ vtblk_request.
  • drm / radeon: Chúng tôi cần địa chỉ thực của trang giả, không phải địa chỉ ảo
  • if_iwm: Áp dụng một số thay đổi từ OpenBSD, if_iwm.c rev 1.39 - & gt; 1,42
  • if_iwm: Chỉ cần lưu con trỏ phần vững cấu trúc, như if_iwn.
  • if_iwm: Xóa nhận xét đề cập đến tên tệp nguồn iwlwifi Linux.
  • if_iwm: Khắc phục việc sử dụng IEEE80211_ADDR_COPY ().
  • if_iwm: Sửa mã thiết lập kiểm soát tốc độ.
  • etc / rc.d: Cập nhật rtsold
  • i915 - Thêm độ trễ sau khi đính kèm để tránh các giao diện điều khiển / X
  • hạt nhân - Giảm lwp_signotify () độ trễ
  • devfs - Khắc phục sự cố khi thêm các giá trị devfs khi các quy tắc hiện diện
  • ssh - Xóa hỗ trợ chuyển vùng không có giấy tờ CVE-2016-0777 CVE-2016-0778
  • hạt nhân - Thêm quirks cho xhci (usb)
  • búa - xóa gỡ lỗi kprintf
  • libc / stdtime: Khắc phục hai trường hợp trong đó con trỏ NULL có thể đã được miễn phí () 'd.
  • kernel / vga: Xóa sai lwkt_reltoken (). Nó không được lấy vào thời điểm này.
  • libc / nls: Đồng bộ hóa các thông báo str {error, signal} () với.
  • w (1): inet_addr () trả về INADDR_NONE khi lỗi.
  • ee (1): Khắc phục biến chưa được khởi tạo.
  • hạt nhân: Sửa kern.dumpdev sysctl.
  • Nhập OpenSSL 1.0.1r.
  • Điều chỉnh cục bộ cho OpenSSL 1.0.1r.
  • gcc50 / libconv_supc: cp-demangle.c cần HAVE_CONFIG_H.
  • Đồng bộ hóa cơ sở dữ liệu zoneinfo với tzdata2016a từ ftp://ftp.iana.org/tz/releases
  • thực hiện nâng cấp: Thêm múi giờ đã lỗi thời.
  • igb: Khắc phục cài đặt DMACR
  • ifconfig: Khắc phục sự cố xóa địa chỉ inet6

Tính năng mới trong phiên bản 4.4.1:

  • Hạt nhân:
  • Cài đặt tiết kiệm pin được cải thiện
  • Giảm phân bổ tệp / ganh đua miễn phí
  • Giảm tranh chấp kqueue
  • Đã thực hiện lwp_setname (2) cuộc gọi hệ thống
  • Hỗ trợ hoạt động không hỗ trợ dsp (4) cố định
  • Thêm trình điều khiển aperf (4) để hiển thị tần số CPU hiệu dụng
  • Nhiều lần dọn dẹp và sửa lỗi cho HAMMER
  • Đồng bộ hóa ACPICA thành 20151124
  • Chủ yếu là đã hoàn tất xóa các bit i386 (32 bit)
  • Điều chỉnh heap bộ tải khởi động để xử lý hình ảnh MD lớn hơn
  • Mật khẩu dọn dẹp trên mã hạt nhân chết (syslink vẫn còn, vv)
  • bị loại bỏ (các vấn đề với lỗi và không hoạt động tốt với SSD)
  • Giải mã các thuật toán của máy nhắn tin cho bộ nhớ thấp và bộ nhớ ngoài bộ nhớ
  • Đồ họa:

  • Trình điều khiển
  • drm / i915 và drm / radeon hiện khớp với hạt nhân Linux 3.18
  • i915 hỗ trợ ValleyView / Baytrail và Cherryview Atom SOC
  • Các GPU Broadwell hiện được tăng tốc hoàn toàn
  • Công việc chuẩn bị cho hỗ trợ Skylake
  • Bảng điều khiển hệ thống hiện hỗ trợ đồ họa drm theo mặc định; thiết bị đầu cuối ảo không chỉ hiển thị một màn hình đen nữa khi Xorg đã được khởi động và một trong các mô-đun hạt nhân kms đã tải.
  • Quản lý nguồn điện được cải thiện. Tự làm mới bảng điều khiển có sẵn trên phần cứng i915
  • Cảm biến nhiệt độ hiện được hỗ trợ trên phần cứng Radeon
  • Mạng:
  • Hỗ trợ Realtek 8168H trong tái (4)
  • iwm (4) trình điều khiển được thêm
  • rtadvd được cập nhật, rtadvctl đã thêm
  • Các kết nối UDP không đồng bộ, để xử lý tải lớn hơn nhiều
  • Cửa sổ bắt đầu TCP lớn hơn mới, cho các kết nối có độ trễ cao
  • Giá trị hạt nhân nmbcluster có thể điều chỉnh trực tiếp, cho giao thông cực kỳ Mạng:
  • Ổn định ổ cắm miền UNIX
  • Mã GC mới để chuyển fd qua các ổ cắm miền unix
  • Đồng bộ hóa Misc IPv6 với FreeBSD
  • Hiệu suất ổ cắm được cải thiện (2) cho TCP và UDP
  • Cải thiện kết nối TCP (2) lựa chọn cổng cục bộ
  • Đã thêm chấp nhận (4) cuộc gọi hệ thống
  • Đã thêm hỗ trợ cho SOCK_CLOEXEC và SOCK_NONBLOCK socket (2) và accept4 (2) flags
  • Đặt các tính năng kiểm soát luồng HW có sẵn cho ifconfig
  • Thêm bộ chỉnh để cho phép NFSROOT iosize và readahead được đặt
  • Mang theo ipfw mở rộng từ FreeBSD (được gọi là ipfw3 trong DFly)
  • Các trình điều khiển khác:
  • Hỗ trợ MIDI đã được readded
  • Nhiều bản sửa lỗi cho trình ánh xạ thiết bị
  • dm-delay và dm-flakey đã được thêm vào trình ánh xạ thiết bị
  • Các modem USB hoạt động tốt hơn (hoặc ít nhất đừng lo lắng hạt nhân)
  • Cải thiện quyền truy cập vào các tính năng và trạng thái RAM ECC
  • wlan được cập nhật từ FreeBSD (ngay trước khi xóa thiết bị tách)
  • Vùng người dùng:
  • thư viện regex đã được thay thế bằng thư viện regex nhiều byte và thường có nhiều khả năng hơn. Nó khớp với OSX trong các tính năng. (DF là BSD đầu tiên chuyển sang TRE sau MacOS)
  • libm được thay bằng phiên bản OpenBSD (đây là một công việc cộng tác đang được tiến hành)
  • libc hiện có tính năng phiên bản biểu tượng có thể bật các tệp nhị phân được tạo trên Bản phát hành 4.4 để thực thi trên DragonFly trong nhiều năm tới trong tương lai.
  • Hoàn thành đại tu và cập nhật các ngôn ngữ, bao gồm cả việc triển khai đối chiếu.
  • malloc.h bị xóa (DragonFly là BSD đầu tiên xóa tiêu đề này)
  • gcc50 libstdc ++ được sửa đổi để cho phép sử dụng đầy đủ các chức năng của C99 trên clang
  • Do hậu quả của cập nhật ngôn ngữ, đầu ra của định dạng dài và định dạng ls (1) đã thay đổi khi tên miền được đặt tên được sử dụng. Đáng chú ý, các tháng định dạng dài luôn được viết tắt bằng tiếng Anh (sử dụng các định nghĩa POSIX do đó đảm bảo cả nhanh và ba chữ cái rộng) và thông tin về năm, giờ và giây luôn được hiển thị. Theo miền địa phương C / POSIX không có thay đổi về đầu ra ls (1) ngoài việc xử lý dấu thời gian trong tương lai đã được sửa chữa để phù hợp với các yêu cầu tiêu chuẩn POSIX.
  • Nếu WPA Supplicant từ cơ sở được sử dụng, sẽ có độ trễ 10 giây trong khi khởi động khi thông báo được hiển thị mạnh mẽ khuyến nghị sử dụng phiên bản DPorts (security / wpa_supplicant).
  • Đã cải thiện powerd (8)
  • Cải tiến đầu ra (1) và ps (1) đầu ra cho các chuỗi LWP và hạt nhân
  • Đã sửa lỗi hỗ trợ cho pthread_set_name_np (3)
  • Tcpdrop đã được chuyển (8)
  • Bổ sung nhiều miền địa phương mới bao gồm sáu địa điểm tiếng Ả Rập (UAE, Ả Rập Xê Út, Ai Cập, Jordan, Morocco, Qatar), thêm ngôn ngữ Tây Ban Nha (Mexico, Argentina, Costa Rica), thêm ngôn ngữ tiếng Anh (Phillipines, Singapore, Hồng Kông) , địa phương Na Uy sửa đổi (nb và nn duy nhất), mở rộng Thụy Điển (Phần Lan), Sami (Phần Lan, Na Uy), Serbia đã trình bày bằng cả hai dạng chữ Kirin và Latin. ('locale -a' cung cấp danh sách đầy đủ.)
  • rtadvc được nhập từ FreeBSD
  • Các công cụ khác nhau đã được nâng cấp trong hệ thống cơ sở:
  • nvi2 được cập nhật lên phiên bản 2.1.3
  • libexecinfo được thêm vào (được đồng bộ hóa từ FreeBSD)
  • biểu tượngv được đồng bộ hóa với FreeBSD
  • openssl được cập nhật thành 1.0.1q
  • xz được cập nhật thành 5.2.2
  • libedit được cập nhật lên phiên bản 2015-03-25
  • binutils được cập nhật thành 2.25.1
  • grep được cập nhật thành 2.22
  • tcsh được cập nhật thành 6.19.00
  • libdialog được cập nhật thành v1.2-20150920
  • (tn) ftp được cập nhật thành '10 OCT 2015 '
  • gcc được cập nhật thành 5.2
  • acpica được cập nhật thành 20150717
  • sắp xếp (1), đã đến từ NetBSD, đã được thay thế bằng phiên bản FreeBSD
  • localedef (1), công cụ nội bộ có nguồn gốc trên Illumos
  • cldr2def, công cụ nội bộ có nguồn gốc trong dự án FreeBSD bị bỏ rơi, nhưng được mở rộng cho DF
  • Đã xóa khỏi hệ thống cơ sở:
  • hostapd (phiên bản mới nhất có sẵn qua dports: net / hostapd)
  • mklocale (được thay thế bởi localedef)
  • colldef (được thay thế bởi localedef)
  • Cải tiến HAMMER:
  • Nhiều, nhiều lần dọn dẹp và sửa lỗi cho Hammer1, nhờ Tomohiro Kusumi
  • Các cải tiến khác:
  • DPorts đếm lơ lửng khoảng 22.800 cổng. Nhiều cổng bị hỏng trước đó đã được cố định bởi người dùng thông thường do những đóng góp được cung cấp thông qua cơ chế Pull Request của GitHub. (Cảm ơn!)
  • Sáu bộ hình nền DragonFly "chính thức" có sẵn tại x11-themes / dragonfly-wallpapers (pkg install dragonfly-wallpapers). Chúng được cài đặt tự động và được chọn trước cho người dùng KDE và được cài đặt tự động cho người dùng XFCE4 nhưng hình nền vẫn được chọn thủ công với máy tính để bàn đó (ít nhất là bây giờ). Chúng được cài đặt tại các hình nền / hình nền được liên kết để chia sẻ / hình nền / chuồn chuồn.

Phần mềm tương tự

Ý kiến ​​để DragonFly BSD

Bình luận không
Nhập bình luận
Bật hình ảnh!