DragonFly BSD

Screenshot Software:
DragonFly BSD
Mga detalye ng Software:
Bersyon: 5.2.2 Na-update
I-upload ang petsa: 22 Jun 18
Nag-develop: The DragonFly Team
Lisensya: Libre
Katanyagan: 153

Rating: 5.0/5 (Total Votes: 1)

DragonFly BSD ay isang open source BSD operating system na idinisenyo upang maging lohikal na pagpapatuloy ng serye ng FreeBSD-4.x OS. Ito ay halos kapareho ng iba pang distribusyon batay sa BSD, tulad ng FreeBSD, NetBSD o OpenBSD. Ito ay isang tinidor sa landas, kaya upang makipag-usap, na nagbibigay sa BSD base isang pagkakataon na lumago sa isang ganap na bagong direksyon mula sa isa na kinuha sa serye ng FreeBSD-5. Higit pa rito, kabilang dito ang isang natatanging hanay ng mga tampok na iba-iba ito mula sa iba pang mga katulad na OS.


HAMMER ang pangunahing atraksyon

HAMMER ay pangunahing atraksyon ng DragonFly, isang modernong, mataas na pagganap na mga filesystem na nagtatampok ng makasaysayang pag-andar ng pag-access at built-in mirror. Ang kernel ay isa ring mga dahilan kung bakit ang DragonFly ay isang mas mahusay na pamamahagi ng BSD.

Nag-aalok ng dalawang magkakaibang schedulers para sa kernel
Ang kernel ng DragonFly ay kinabibilangan ng dalawang magkakaibang schedulers, isa na nagtatakda ng lahat ng mga executable entity (Light Weight Kernel Thread) at isa pa na pipili ng isang single thread ng user sa bawat oras para sa bawat processor at abstracts out user threads (User Thread Scheduler). Bukod pa rito, ang kernel ay nagtatampok ng isang kumplikadong memory allocator ng kernel na binubuo ng isang allocator ng memorya ng object-oriented at isang pangunahing kernel malloc na tinatawag na kmalloc (), ang DragonFly device filesystem (DEVFS), isang virtual na kernel (VKERNEL), NFS V3 RPC asynchronization, at isang disk I / O scheduler framework (dsched).


Mga tampok, maraming mga tampok
Sa iba pang mga kagiliw-giliw na tampok, maaari naming banggitin ang NULL Filesystem Layer (NULLFS) na sumusuporta sa mga di-looping di-makatwirang mount point, TMPFS (Temporary Filesystem VFS), transparent disk encryption, pinamamahalaang SSD (Solid Storage Device) -sensitive) symlinks, DNTPD (DragonFly Network Time Daemon) at DMA (DragonFly Mail Agent). Bilang karagdagan, ang mga gumagamit ay makakapag-checkpoint o magsususpinde ng mga proseso sa disk anumang oras. Ang distro ay nagbibigay ng malakas na mga driver ng AHCI, matatag na mga pangalan ng device, pati na rin ang mahusay na grawnded na pag-encrypt at pamamahala ng lakas ng tunog.

Ika-linya

Sa pangkalahatan, ang DragonFly ay nagpapatunay na isang modernong, user-friendly at madaling mapupuntahan na sistemang operating UNIX. Maaari itong magamit araw-araw bilang isang desktop system o bilang isang makapangyarihang server ng BSD.

Ano ang bagong sa paglabas na ito:

  • Ang bersyon ng DragonFly 5.2.1 ay inilabas, kasama ang Meltdown / Specter mitigation, maraming mga pagpapabuti sa HAMMER2, ipfw, at pinabilis na video, kasama ang (sa 5.2.1 update) na ayusin para sa CVE-2018-8897.

Ano ang bagong sa bersyon:

  • Christian Groessler (1):
  • telnetd: impormasyon ng sistema ng pag-print (OS at arkitektura) bago mag-login prompt.
  • Matthew Dillon (7):
  • hammer2 - Ayusin ang hatiin ng 0 lahi
  • kernel - pumipili ng MFC ng kernel umtx ng trabaho mula sa master
  • kernel - I-update ang dokumentong umtx
  • libc at pthreads - Ayusin ang mga isyu sa atfork sa nmalloc, i-update ang dmalloc
  • hammer2 - Ayusin ang pangalanang lahi
  • hammer2 - i-optimize ang hammer2_pfs_memory_wakeup ()
  • hammer2 - Ayusin ang mga di-tiyak na mga kadena ng marumi dahil sa pag-rename
  • Sascha Wildner (5):
  • hammer2.8: Ayusin ang typo.
  • Sabihin ang 'hammer2' sa halip na 'martilyo' sa iba't ibang lugar.
  • mtree: Ayusin ang may-ari para sa ilang mga direktoryo sa / usr / share.
  • libc / nls: Gamitin ang kasalukuyang locale (itinakda ng thread).
  • libarchive: Revert commit na hindi sinadya upang maitulak.

Ano ang bago sa bersyon 4.8.1:

  • Kernel:
  • Code ng cache ng buffer ng refactor upang alisin ang mga dynamic na reserbasyon ng KVA. Sa halip, ang lahat ng KVA ay nakalaan sa oras ng boot. Makakatipid sa amin mula sa mga hindi kinakailangang IPI at nagbibigay-daan sa makabuluhang pagpapagaan ng buffer cache code.
  • Magdagdag ng vfs.repurpose_enable (sa ilalim ng pagsubok, hindi pinagana sa pamamagitan ng default). Ang tampok na ito ay maaaring paganahin upang makabuluhang bawasan ang pag-load ng pamamahala ng IPI at VM sa isang makina na gumagawa ng malalaking halaga ng file na I / O, halimbawa mula sa isang NVMe SSD, sa pamamagitan ng pag-bypass sa normal na mekanismo ng recycling ng VM page. Kapag pinagana, ang tampok ay nakaka-trigger lamang sa ilalim ng mataas na I / O na naglo-load. Ito ay gumagana sa pamamagitan ng repurposing ang VM mga pahina na pinagbabatayan ng isang buffer sa lugar (kapag posible) upang hindi na kremove / kenter ang mga pahina sa KVA buffer. Ang normal na pag-recycle ng pahina ng VM (na kung hindi man ay mapuspos ng I / O load) ay na-bypass na rin.
  • Baguhin kung paano pinoproseso ang IPIQ, lalo na lumikha ng isang independiyenteng Xinterrupt vector na mekanismo para sa mga hindi wastong pahina na hindi papansin (ay magpapatakbo) kahit na ang isang kritikal na seksyon ay gaganapin. Ipatupad ang machdep.optimized_invltlb (hindi pinagana sa pamamagitan ng default, sa ilalim ng pagsubok) na nag-iwas sa pagpapadala ng mga IPIs ng hindi wastong IPI sa idle cpus.
  • Ayusin ang maraming karera na maaaring mangyari sa ilalim ng matinding pag-load. Ang karamihan sa mga kaso ng paggamit ay hindi kailanman mag-trigger sa mga ito ngunit ang aming mga kahon sa pagtatayo ay paminsan-minsan. Halimbawa, may dalawang pagtuturo lahi kung saan ang CPU bit para sa isang pmap ay malinis (para sa dalawang tagubilin) ​​at maging sanhi ng isang TLB IPI nagaganap sa parehong oras sa isa pang CPU para sa parehong pmap upang hindi mapagtanto na ang CPU ay gumagamit ng pmap . Ang pag-aayos ay upang huwag paganahin ang pag-optimize ng CR3 reload para sa kaso ng LWP- & gt; LWP (parehong proc).
  • Ayusin ang isang HAMMER bug na maaaring magresulta sa isang error na DATA CRC na di-wastong iniulat.
  • Ayusin ang isang double-write na na-trigger sa pamamagitan ng paraan ng HAMMER ay gumagamit ng cluster_write (). Ito ay makabuluhang nagpapabuti sa pagsulat ng pagganap ng HAMMER.
  • Maraming iba pang mga cleanup at mga pag-aayos ng HAMMER ang pumasok din.
  • Ayusin ang isang hard lock na maaaring mangyari sa getpbuf * () dahil sa isang maling pagkaunawa sa halaga ng return ng isang atomic op.
  • Ayusin ang isang stacking na matakpan na maaaring mangyari sa isang 10-instruction window, potensyal (ngunit hindi matatagpuan sa wild) na tumatakbo ang kernel stack out.
  • I-cut ang mga kaugnay na IPI ng pmap sa kalahati para sa ilang mga operasyon ng buffer-cache sa pamamagitan ng hindi pag-abala sa pagpapawalang-bisa sa TLB, at sa paltik na palaging nagpapawalang-bisa sa TLB kapag nagpapasok ng bagong PTE kahit na ang mga naunang nilalaman ay hindi wasto. Nagpapabuti ito sa pagganap at ginagawang mas madaling pag-debug sa pamamagitan ng pag-alis ng isang problemang pag-optimize.
  • Ayusin ang isang bilang ng mga mahirap na-trigger ang mga karera sa SMP, sa partikular na isang may kaugnayan sa paggawa ng sabay-sabay umounts ng iba't ibang mga mount point kung saan maaaring i-trigger ang bulk build. Ayusin din ang isang mountctl vs umount race.
  • Bawasan ang bilang ng mga atomic ops sa landas ng paglipat.
  • Ayusin ang isang lahi ng namecache / pagkasindak na maaaring mangyari sa ilalim ng matinding naglo-load na kaisa ng maraming aktibidad ng bundok / umount.
  • Paghigpitan ang% rip sampling sa root.
  • Ayusin ang isang getpid () isyu sa vfork () kapag may sinulid. Sa partikular, ang kasabay na vfork () sa isang sinulid na programa ay maaaring maging sanhi ng maling PID na ibalik ng getpid () sa bata bago ang exec.
  • Ayusin ang isang bihirang tsleep / callout lahi kapag ang trigger ng callout timer bago ang tsleep () ay ganap na natapos na ang pagse-set up.
  • Maglinis ng mga mensahe ng namecache stall sa console. Sa partikular, iulat ang tamang oras at ang td_comm ng thread na kasangkot.
  • Dagdag dito ang pagbabawas ng pagsubok sa memorya at pag-boot ng maaga-boot upang mapahusay ang mga oras ng boot sa mga system na may malaking halaga ng ram.
  • Alisin ang buo na code-zeroing code nang buo. Ang pag-zoom sa isang pahina sa isang modernong CPU on-demand ay mas mahusay para sa maraming mga kadahilanan, at maaaring aktwal na maging mas mabilis kapag pinagsama sa mga gumagamit ng pag-access ng data sa pahina, dahil sa mga epekto ng cache. Alisin PG_ZERO, dahil hindi na ito kinakailangan. Ang pag-aalis ng PG_ZERO ay gumagawa din ng kernel ng mas maraming debuggable sa pamamagitan ng pag-alis ng isa pang posibleng pinagmumulan ng cross-contamination.
  • Refactor at tapusin ang pagpapatupad ng lokalisasyon ng CPU para sa mga allocation ng kernel memory. Pagsamahin ang NUMA kamalayan. Ito ay gumagana para sa cpu-naisalokal o maikli ang buhay na mga istraktura ng data ng kernel. Ang dalawa ay pinagsama sa aming PQ_L2_SIZE abstraction na ginamit upang maging ang kulay ng pahina ng VM code. Hinahawakan din ng code na ito ngayon ang lokalisasyon ng CPU at kamalayan ng NUMA.
  • Ayusin ang maraming mga isyu sa vkernel at makabuluhang mapabuti ang pagganap ng vkernel.
  • I-update ang kern.proc.pathname, isang sysctl na ginagamit ng mga programa upang mahanap ang landas ng tumatakbong programa. Ang sysctl na ito ay orihinal na ipinatupad bago kami naka-imbak ng sapat na data upang magbalik ng isang ganap, wastong landas.
  • I-sync ang ACPICA mula sa Intel (ito ay isang regular na pangyayari).
  • Ayusin ang memcpy () assembly ABI. Ang kapulungan ay hindi bumabalik sa orihinal (dst) argumento. Hindi nag-aayos ng anumang mga kilalang isyu ngunit isinara ang butas kung minsan ay nagpasya ang GCC na tumawag sa memcpy habang bumubuo ng code.
  • Maraming gumagawa upang linisin -O2 na mga babala at mga pagkakamali. Ang kernel ngayon ay naipon -O2 bilang default.
  • Magdagdag ng isang workaround para sa isang di-angkop na ani sa ACPI path (aka buggy ACPI code).
  • Ayusin ang isang STOP / CONT race na maaaring ma-trigger ng isang nakabinbing signal sa maling oras lamang.
  • May sinulid na mga pag-aayos ng coredump at ayusin ang isang lockup na may kaugnayan sa parehong kapag maraming mga thread ng parehong proseso seg-kasalanan sa parehong oras.
  • Ayusin ang isang CAM / VM na deadlock na maaaring maganap dahil sa isang bug sa uiomove_nofault (). Ito ay maaaring maging sanhi ng isang 'walang katiyakan maghintay buffer' sa panahon ng mabigat na paging / pagpapalit.
  • Magdagdag ng code upang makita at harapin ang mga nawawalang IPI. Ito ay pangunahin para sa mga vkernels kung saan maaaring mawala ng ilang mga virtual na host ang mga IPI. Ang mga tunay na CPU ay hindi dapat mawalan ng mga IPI.
  • Iba't ibang mga pag-aayos sa clock_gettime ().
  • Alisin ang higit pang mga vestiges ng MPLOCK. Ang lahat ng kritikal na landas ay may mahabang panahon mula sa lock na ito, ngunit mayroon pa ring ilang di-kritikal na mga lugar na natitira na gamitin ito.
  • I-rewind ang proseso ng pagpatay sa low-memory na proseso at ayusin ang isang bilang ng mga karera na maaaring pumigil sa tampok na gumana.
  • Ayusin ang isang pag-lock ng system na may VMM at refactor ang VMX code.
  • Ayusin ang isang nakaligtas kapag ang mga numvnodes ay umabot sa mga maxvnode, na maaaring mangyari sa ilalim ng mabibigat na naglo-load. Ayusin din ang isang menor na kernel memory leak kapag 'df' o filesystem sync races isang umount. Bawasan din ang modyul na maxvnodes pagkalkula. Halimbawa, ang isang makina na may 8GB ng ram ay itatakda ang maxvnodes sa 478483 sa halip na 598103.
  • Ayusin ang isang bihirang panic na maaaring ma-trigger ng vm_object_page_remove () kapag ang user_yield () ay hindi wastong tinatawag habang may hawak na isang spinlock, at pagkatapos ay nagpasiya na deschedule.
  • Bawasan ang laki ng ilang mga dynamic na inilalaan na mga istraktura ng kernel. Sa partikular, ang sobra-sobra-laki ng inode hash table allocations ay mas maliit na ngayon. Lalo na nakakaapekto sa UFS (na hindi gumagamit ng DragonFlyBSD).
  • Magdagdag ng workaround para sa AMD erratum 793.
  • Ayusin ang isang hindi pagkakasundo na maaaring mangyari sa nakasalansan kumpol _ * () I / O na tawag.
  • Ayusin ang isang bug kung saan maaaring mag-deadlock ang recursive module loading.
  • Ayusin ang isang nakakatawang bug sa code ng NFS sillyrename (server side NFS) na maaaring maging sanhi ng sillyrename code ng NFS server upang hindi tanggalin ang nakapagpalitaw na pangalan na file. Paano nakakatawa!
  • Gumawa ng isang mas mahusay na trabaho na tumanggap ng mga high-ncpu + low-memory na configuration.
  • Ang repactor ay nagbahagi ng mga spinlock para mabawasan ang dami ng umiikot na maaaring mangyari kapag ang maramihang cpus ay nakakuha ng isang shared spinlock nang sabay.
  • Mag-ayos ng mga operasyon ng namecache upang mabawasan ang pagtatalo ng SMP kahit pa. Ito ay nagpapabuti ng sabay-sabay na di-magkasalungat na pagganap ng single-component ng hindi bababa sa 25x sa mga system na may maraming mga core, at makabuluhang binabawasan ang vnode at mount structure na ref at unref operations.
  • I-overhaul ang maraming iba pang mga istraktura ng kernel upang mapabuti ang lokalidad ng cache at bawasan ang cache line bounce.
  • Ayusin ang isang bug sa SMTP file ng rename ng SMBFS.
  • Ipatupad ang RLIMIT_RSS, isang per-proseso RSS limiter na kung saan ay puwersahin ang lokalisadong paging sa bawat batayang proseso. Ang tampok na ito ay maaaring magamit upang maiwasan ang isang proseso mula sa pagpalit ng natitirang bahagi ng makina sa isang mahirap na kaso.
  • Palakihin ang maximum suportadong puwang ng swap. Ang maximum na ngayon ay limitado lamang sa pamamagitan ng ram at magiging sa sampu-sampung terabytes (kung mayroon kang sapat na tupa para sa mga sumusuporta sa istruktura ng pamamahala). Dagdagan din ang KVM ng kernel mula 128G hanggang 511G.
  • Ipatupad ang dynamic na pagtanggal ng pmap (hindi pinagana sa default). Pinapatnubayan nito ang code ng pmap upang tanggalin ang mga pahina ng talahanayan ng intermediate na pahina at mga PD mula sa pmap nang mabilis. Maaari itong maging kapaki-pakinabang kung ang memorya ay nasa isang premium, ngunit tandaan na, kung pinagana, ito ay mabagal na pagpapatupad ng mga programa na naglalaan at deallocate memory sa isang mataas na rate.
  • Refactor kung paano gumagana ang mga antas ng user na maganda, na ginagawang higit na makabuluhan ang napiling mga halaga kaysa sa kani-kanilang nakaraan.
  • Magdagdag ng isang mataas na pagganap ng native na driver ng NVME sa DragonFly, isinulat ni Matt Dillon. Ang driver na ito ay gagamit ng mga vector ng MSI-X at lahat ng magagamit na mga queue na suportado ng device, per-cpu lokalisasyon na walang locking o minimal locking (walang mga hindi pagkakasundo sa SMP sa karamihan ng mga kaso), at may kakayahang mabaliw ang IOPS at throughput.
  • Graphics:
  • Pinagtitibay ang Broadwell at Skylake, dalhin kami sa Linux 4.6 katumbas na DRM.
  • Ipatupad ang Linux i2c API upang gawing madali ang pag-port.
  • Ayusin ang ilang mga lumang bug, kabilang ang isang pag-baligtad sa order ng lock, na maaaring mabawi ang pag-playback ng video (at ang natitirang X).
  • Ayusin ang isang pagkakamali sa kernel dram thread na pinapayagan ang mga proseso ng user na magkaroon ng mas mataas na priyoridad kaysa sa drm helper thread. Iniayos ng karamihan sa mga pansamantalang video stalls na iniulat sa mga browser.
  • Hawakan ang EFI framebuffer na dumadaan sa DRM, mapabuti ang mga switch ng syscons VT at ayusin ang kaugnay na hindi pagkakasundo. Kailangang subukan ang kernel upang lumipat pabalik sa console VT mula sa X kapag ang isang gulat ay nangyayari.
  • Networking:
  • Maraming mga pagpapabuti sa buong board.
  • iwm - Pag-aayos ng isang isyu na sanhi ng inverted na lohika. Maraming iba pang mga pagpapabuti na makabuluhang mapabuti ang pagganap.
  • wlan - Suporta para sa asynchronous bg scan at iba pang mga tampok idinagdag.
  • Iba pang mga driver:
  • nvme - Nagdagdag sa default na kernel build, kasama ang mga pag-aayos at pagpapahusay sa pagganap.
  • mmcsd - Makabuluhang suporta sa eMMC idinagdag sa DragonFly.
  • ahci - Ang ilang mga pagsasaayos ng compatibility at higit pang mga quirks idinagdag upang suportahan ang mga nasira chipset, sa partikular na port multiplier. Ipatupad din ang FBS (FIS-Based-Switching) kapag sinusuportahan ng chipset.
  • Idinagdag ang trackpoint at suporta sa Elantech.
  • Userland:
  • pinahusay na systat upang mabagsak ang maramihang mga pagkagambala ng pagmamay-ari ng parehong driver, dahil madalas na napakaraming napalista ngayon.
  • systat -vm 1 ay makabuluhang pinahusay at binabago upang mag-ulat ng mas kapaki-pakinabang na impormasyon at upang i-unpack ang mga patlang upang hindi sila tumakbo sa bawat isa. At idagdag ang 'nvme' sa pagtutugma ng bloke device. Ayusin din ang pinalawak na vmstats display at baguhin kung paano naiulat ang ozfod at nzfod.
  • 'vmstat 1' na output refactored. Ang lahat ng mga patlang ay tumatakbo sa bawat isa dahil sa mataas na pagganap ng isang modernong makina verses kung ano ang umiiral 30 taon na ang nakakaraan.
  • Baguhin ang mount / mountd signaling upang mabawasan ang hindi kailangang mga pag-scan at mga command ng mountlist mula sa mga pagpapatakbo ng mount_null at mount_tmpfs. Talagang mahalaga lamang sa ilalim ng mabigat na kasabay na paggamit ng mount / umount, ngunit ang bulk build ay talagang lumilikha ng sitwasyong iyon.
  • Ayusin ang maraming mga tinidor / exec * () leaks na maaaring mag-trigger ng libc dahil sa hindi gumagamit ng O_CLOEXEC sa isang atomic fashion. Magdagdag ng iba't ibang mga tampok na O_CLOEXEC sa mga function tulad ng popen () at mk * stemp * () (magdagdag mkostemp () at mkostemps ()). Ayusin ang isang file descriptor tumagas sa popen () kapag tumatakbo sa isang may sinulid na kapaligiran.
  • Maging nicer sa pthreads sa vfork () sa pamamagitan ng pagbibigay ng lwp ng bagong sub-proseso ng parehong TID bilang isang tinatawag na vfork (). Pinapayagan nito ang mga pag-andar ng pthread support upang maisagawa sa bata sa panahon ng vfork nang walang imploding pthreads.
  • Maraming mga pag-aayos sa compatibility sa mga header upang mapabuti ang mga bulk build dports.
  • Ilang mga pag-import ng OpenSSL para sa mga pag-aayos sa seguridad.
  • I-resync ang OpenSSH upang gawing mas madali itong panatilihing uptodate.
  • Paghiwalayin ang mga kernel ng kernel C sa pamamagitan ng pagkakaroon ng kernel build gamitin ang KCFLAGS sa halip ng CFLAGS.
  • Alisin ang maraming lumang driver ng ISA mula sa puno nang buo. Tulad ng DragonFlyBSD ngayon ay 64-bit lamang, maaari naming simulan upang alisin ang mga lumang driver na hindi umiiral sa 64-bit platform.
  • Ipakilala ang WORLD_CFLAGS at WORLD_CCOPTLEVEL, pag-default sa -O. Ginagawa nitong mas madali na ipunin ang iyong mundo -O2 o anumang (hal. WORLD_CCOPTLEVEL = 2). Gayunpaman, hinihimok namin ang paggamit ng 3 o mas mataas. Ang wastong mga halaga ay 0, 1, 2, 3, s, g, at 'mabilis'.
  • I-adjust ang pag-format ng STATUS para sa ps upang gawing mas nababasa at alisin ang sinaunang mga flag na hindi na naaangkop at lumikha lamang ng kalat.
  • Ayusin ang malloc () pagkakahanay para sa mga maliliit na alokasyon. Ang minimum na pagkakahanay ngayon ay 16 para sa mga paglalaan sa hanay na 16-128 byte sa halip na 8. Tandaan na ang mga alok ng kapangyarihan-ng-2 ay laging natural na nakahanay, ngunit ang ilang mga programa ay gumagamit ng mga multiple ng (eg) 16, tulad ng '48', at ipalagay ang pag-align ng 16-byte.
  • Fortunes refactored, idinagdag.
  • powerd - Magdagdag ng temperaturang pamamahala sa powerd gamit ang isang bagong -H lotemp: hightemp na pagpipilian. Ang tampok na ito ay lubhang kapaki-pakinabang sa mga laptop na may mahinang paglamig at kung sinasadya ng BIOSes ang balbula sa masyadong mataas na temperatura. Nakikita din ngayon ng Powerd ang mga pagbabago sa kapangyarihan ng estado (na maaaring magbago sa listahan ng mga magagamit na frequency) at maayos na paglilipat sa serbisyo kapag nangyayari ang pagbabago ng kapangyarihan ng estado.
  • Maraming libthread_xu / pthreads na mga pag-aayos at pagsasaayos upang mapahusay ang pagiging tugma ng dports.
  • Magdagdag ng mga kopya-sa-write na mga tampok sa vkernel. Halimbawa, pinapayagan ang maramihang mga vkernels na gumamit ng isang solong disk na imahe sa pamamagitan ng pagkakaroon ng bawat isang pagbabago ng COW sa loob ng ram.
  • / usr / src / secure rewired, ang mga salungatang tinanggal mula sa libmd, libcrypt.
  • Na-upgrade ang iba't ibang mga tool sa base system:
  • Ang compiler ay na-update sa GCC 5.4.1.
  • Mayroon na kaming gintong linker na may LTO.
  • binutils 2.25
  • mas mababa ang 481.
  • Lubos na binabago ang OpenSSL / LibRESSL. Base ngayon ay gumagamit ng libressl.
  • Maramihang mga pag-update ng timezone.
  • Katayuan ng Hammer:
  • Iba't ibang mga pagpapabuti. Ang isang bagay na hindi ginawa ito sa release ay isang bump bersyon na gumamit ng isang mas mabilis na algorithm ng CRC na may ibang polinomyal. Ang gawaing ito ay magiging MFC'd--release kapag nakumpleto na ang pagsusuri. Gayunpaman, ang mga gumagamit ay hindi dapat mag-alala tungkol sa mga ito ng masyadong maraming dahil ang pinaka-seryosong pagganap ng pag-aayos AY sa release (isang pag-aayos sa cluster_write () code para sa mga filesystem writes).
  • Katayuan ng Hammer2:
  • Nagpapatuloy ang pag-unlad ngunit walang salita sa isang unang release.
  • Katapusan ng clang:
  • Ang isang panimulang balangkas ay idinagdag para sa paggamit ng clang bilang alternatibong base compiler sa DragonFly, upang palitan ang gcc 4.7. Hindi pa kumpleto. Maaaring dagdagan ang Clang bilang isang pakete.
  • 64-bit na katayuan:
  • Tandaan na ang DragonFly ay isang operating system na 64-bit lamang sa 4.6, at hindi tatakbo sa 32-bit na hardware.
  • Ang suporta ng AMD Ryzen ay papalabas at ang karagdagang gawain ay dadalhin habang nagaganap ang mga bagong pagpapaunlad ng Ryzen. Mayroong ilang mga isyu na iniulat ng cpu-topology na maayos at MFC'd. Mayroong ilang mga isyu sa katatagan na kasalukuyang naghihintay sa isang pag-update ng AMD microcode upang malutas / retest. Ang mga gumagamit ng Ryzen ay makatiyak na mananatili tayo sa ibabaw nito!

Ano ang bago sa bersyon 4.8.0:

  • Kernel:
  • Code ng cache ng buffer ng refactor upang alisin ang mga dynamic na reserbasyon ng KVA. Sa halip, ang lahat ng KVA ay nakalaan sa oras ng boot. Makakatipid sa amin mula sa mga hindi kinakailangang IPI at nagbibigay-daan sa makabuluhang pagpapagaan ng buffer cache code.
  • Magdagdag ng vfs.repurpose_enable (sa ilalim ng pagsubok, hindi pinagana sa pamamagitan ng default). Ang tampok na ito ay maaaring paganahin upang makabuluhang bawasan ang pag-load ng pamamahala ng IPI at VM sa isang makina na gumagawa ng malalaking halaga ng file na I / O, halimbawa mula sa isang NVMe SSD, sa pamamagitan ng pag-bypass sa normal na mekanismo ng recycling ng VM page. Kapag pinagana, ang tampok ay nakaka-trigger lamang sa ilalim ng mataas na I / O na naglo-load. Ito ay gumagana sa pamamagitan ng repurposing ang VM mga pahina na pinagbabatayan ng isang buffer sa lugar (kapag posible) upang hindi na kremove / kenter ang mga pahina sa KVA buffer. Ang normal na pag-recycle ng pahina ng VM (na kung hindi man ay mapuspos ng I / O load) ay na-bypass na rin.
  • Baguhin kung paano pinoproseso ang IPIQ, lalo na lumikha ng isang independiyenteng Xinterrupt vector na mekanismo para sa mga hindi wastong pahina na hindi papansin (ay magpapatakbo) kahit na ang isang kritikal na seksyon ay gaganapin. Ipatupad ang machdep.optimized_invltlb (hindi pinagana sa pamamagitan ng default, sa ilalim ng pagsubok) na nag-iwas sa pagpapadala ng mga IPI ng hindi wastong IPI sa idle cpus.
  • Ayusin ang maraming karera na maaaring mangyari sa ilalim ng matinding pag-load. Ang karamihan sa mga kaso ng paggamit ay hindi kailanman mag-trigger sa mga ito ngunit ang aming mga kahon sa pagtatayo ay paminsan-minsan. Halimbawa, may dalawang pagtuturo lahi kung saan ang CPU bit para sa isang pmap ay malinis (para sa dalawang tagubilin) ​​at maging sanhi ng isang TLB IPI nagaganap sa parehong oras sa isa pang CPU para sa parehong pmap upang hindi mapagtanto na ang CPU ay gumagamit ng pmap . Ang pag-aayos ay upang huwag paganahin ang pag-optimize ng CR3 reload para sa kaso ng LWP- & gt; LWP (parehong proc).
  • Ayusin ang isang HAMMER bug na maaaring magresulta sa isang error na DATA CRC na di-wastong iniulat.
  • Ayusin ang isang double-write na na-trigger sa pamamagitan ng paraan ng HAMMER ay gumagamit ng cluster_write (). Ito ay makabuluhang nagpapabuti sa pagsulat ng pagganap ng HAMMER.
  • Maraming iba pang mga cleanup at mga pag-aayos ng HAMMER ang pumasok din.
  • Ayusin ang isang hard lock na maaaring mangyari sa getpbuf * () dahil sa isang maling pagkaunawa sa halaga ng return ng isang atomic op.
  • Ayusin ang isang stacking na matakpan na maaaring mangyari sa isang 10-instruction window, potensyal (ngunit hindi matatagpuan sa wild) na tumatakbo ang kernel stack out.
  • I-cut ang mga kaugnay na IPI ng pmap sa kalahati para sa ilang mga operasyon ng buffer-cache sa pamamagitan ng hindi pag-abala sa pagpapawalang-bisa sa TLB, at sa paltik na palaging nagpapawalang-bisa sa TLB kapag nagpapasok ng bagong PTE kahit na ang mga naunang nilalaman ay hindi wasto. Nagpapabuti ito sa pagganap at ginagawang mas madaling pag-debug sa pamamagitan ng pag-alis ng isang problemang pag-optimize.
  • Ayusin ang isang bilang ng mga mahirap na-trigger ang mga karera sa SMP, sa partikular na isang may kaugnayan sa paggawa ng sabay-sabay umounts ng iba't ibang mga mount point kung saan maaaring i-trigger ang bulk build. Ayusin din ang isang mountctl vs umount race.
  • Bawasan ang bilang ng mga atomic ops sa landas ng paglipat.
  • Ayusin ang isang lahi ng namecache / pagkasindak na maaaring mangyari sa ilalim ng matinding naglo-load na kaisa ng maraming aktibidad ng bundok / umount.
  • Paghigpitan ang% rip sampling sa root.
  • Ayusin ang isang getpid () isyu sa vfork () kapag may sinulid. Sa partikular, ang kasabay na vfork () sa isang sinulid na programa ay maaaring maging sanhi ng maling PID na ibalik ng getpid () sa bata bago ang exec.
  • Ayusin ang isang bihirang tsleep / callout lahi kapag ang trigger ng callout timer bago ang tsleep () ay ganap na natapos na ang pagse-set up.
  • Maglinis ng mga mensahe ng namecache stall sa console. Sa partikular, iulat ang tamang oras at ang td_comm ng thread na kasangkot.
  • Dagdag dito ang pagbabawas ng pagsubok sa memorya at pag-boot ng maaga-boot upang mapahusay ang mga oras ng boot sa mga system na may malaking halaga ng ram.
  • Alisin ang buo na code-zeroing code nang buo. Ang pag-zoom sa isang pahina sa isang modernong CPU on-demand ay mas mahusay para sa maraming mga kadahilanan, at maaaring aktwal na maging mas mabilis kapag pinagsama sa mga gumagamit ng pag-access ng data sa pahina, dahil sa mga epekto ng cache. Alisin PG_ZERO, dahil hindi na ito kinakailangan. Ang pag-aalis ng PG_ZERO ay gumagawa din ng kernel ng mas maraming debuggable sa pamamagitan ng pag-alis ng isa pang posibleng pinagmumulan ng cross-contamination.
  • Refactor at tapusin ang pagpapatupad ng lokalisasyon ng CPU para sa mga allocation ng kernel memory. Pagsamahin ang NUMA kamalayan. Ito ay gumagana para sa cpu-naisalokal o maikli ang buhay na mga istraktura ng data ng kernel. Ang dalawa ay pinagsama sa aming PQ_L2_SIZE abstraction na ginamit upang maging ang kulay ng pahina ng VM code. Hinahawakan din ng code na ito ngayon ang lokalisasyon ng CPU at kamalayan ng NUMA.
  • Ayusin ang maraming mga isyu sa vkernel at makabuluhang mapabuti ang pagganap ng vkernel.
  • I-update ang kern.proc.pathname, isang sysctl na ginagamit ng mga programa upang mahanap ang landas ng tumatakbong programa. Ang sysctl na ito ay orihinal na ipinatupad bago kami naka-imbak ng sapat na data upang magbalik ng isang ganap, wastong landas.
  • I-sync ang ACPICA mula sa Intel (ito ay isang regular na pangyayari).
  • Ayusin ang memcpy () assembly ABI. Ang kapulungan ay hindi bumabalik sa orihinal (dst) argumento. Hindi nag-aayos ng anumang mga kilalang isyu ngunit isinara ang butas kung minsan ay nagpasya ang GCC na tumawag sa memcpy habang bumubuo ng code.
  • Maraming gumagawa upang linisin -O2 na mga babala at mga pagkakamali. Ang kernel ngayon ay naipon -O2 bilang default.
  • Magdagdag ng isang workaround para sa isang di-angkop na ani sa ACPI path (aka buggy ACPI code).
  • Ayusin ang isang STOP / CONT race na maaaring ma-trigger ng isang nakabinbing signal sa maling oras lamang.
  • May sinulid na mga pag-aayos ng coredump at ayusin ang isang lockup na may kaugnayan sa parehong kapag maraming mga thread ng parehong proseso seg-kasalanan sa parehong oras.
  • Ayusin ang isang CAM / VM na deadlock na maaaring maganap dahil sa isang bug sa uiomove_nofault (). Ito ay maaaring maging sanhi ng isang 'walang katiyakan maghintay buffer' sa panahon ng mabigat na paging / pagpapalit.
  • Magdagdag ng code upang makita at harapin ang mga nawawalang IPI. Ito ay pangunahin para sa mga vkernels kung saan maaaring mawala ng ilang mga virtual na host ang mga IPI. Ang mga tunay na CPU ay hindi dapat mawalan ng mga IPI.
  • Iba't ibang mga pag-aayos sa clock_gettime ().
  • Alisin ang higit pang mga vestiges ng MPLOCK. Ang lahat ng kritikal na landas ay may mahabang panahon mula sa lock na ito, ngunit mayroon pa ring ilang di-kritikal na mga lugar na natitira na gamitin ito.
  • I-rewind ang proseso ng pagpatay sa low-memory na proseso at ayusin ang isang bilang ng mga karera na maaaring pumigil sa tampok na gumana.
  • Ayusin ang isang pag-lock ng system na may VMM at refactor ang VMX code.
  • Ayusin ang isang nakaligtas kapag ang mga numvnodes ay umabot sa mga maxvnode, na maaaring mangyari sa ilalim ng mabibigat na naglo-load. Ayusin din ang isang menor na kernel memory leak kapag 'df' o filesystem sync races isang umount. Bawasan din ang modyul na maxvnodes pagkalkula. Halimbawa, ang isang makina na may 8GB ng ram ay itatakda ang maxvnodes sa 478483 sa halip na 598103.
  • Ayusin ang isang bihirang panic na maaaring ma-trigger ng vm_object_page_remove () kapag ang user_yield () ay hindi wastong tinatawag habang may hawak na isang spinlock, at pagkatapos ay nagpasiya na deschedule.
  • Bawasan ang laki ng ilang mga dynamic na inilalaan na mga istraktura ng kernel. Sa partikular, ang sobra-sobra-laki ng inode hash table allocations ay mas maliit na ngayon. Lalo na nakakaapekto sa UFS (na hindi gumagamit ng DragonFlyBSD).
  • Magdagdag ng workaround para sa AMD erratum 793.
  • Ayusin ang isang hindi pagkakasundo na maaaring mangyari sa nakasalansan kumpol _ * () I / O na tawag.
  • Ayusin ang isang bug kung saan maaaring mag-deadlock ang recursive module loading.
  • Ayusin ang isang nakakatawang bug sa code ng NFS sillyrename (server side NFS) na maaaring maging sanhi ng sillyrename code ng NFS server upang hindi tanggalin ang nakapagpalitaw na pangalan na file. Paano nakakatawa!
  • Gumawa ng isang mas mahusay na trabaho na tumanggap ng mga high-ncpu + low-memory na configuration.
  • Ang repactor ay nagbahagi ng mga spinlock para mabawasan ang dami ng umiikot na maaaring mangyari kapag ang maramihang cpus ay nakakuha ng isang shared spinlock nang sabay.
  • Mag-ayos ng mga operasyon ng namecache upang mabawasan ang pagtatalo ng SMP kahit pa. Ito ay nagpapabuti ng sabay-sabay na di-magkasalungat na pagganap ng single-component ng hindi bababa sa 25x sa mga system na may maraming mga core, at makabuluhang binabawasan ang vnode at mount structure ref at unref operations.
  • I-overhaul ang maraming iba pang mga istraktura ng kernel upang mapabuti ang lokalidad ng cache at bawasan ang cache line bounce.
  • Ayusin ang isang bug sa SMTP file ng rename ng SMBFS.
  • Ipatupad ang RLIMIT_RSS, isang per-proseso RSS limiter na kung saan ay puwersahin ang lokalisadong paging sa bawat batayang proseso. Ang tampok na ito ay maaaring magamit upang maiwasan ang isang proseso mula sa pagpalit ng natitirang bahagi ng makina sa isang mahirap na kaso.
  • Palakihin ang maximum suportadong puwang ng swap. Ang maximum na ngayon ay limitado lamang sa pamamagitan ng ram at magiging sa sampu-sampung terabytes (kung mayroon kang sapat na tupa para sa mga sumusuporta sa istruktura ng pamamahala). Dagdagan din ang KVM ng kernel mula 128G hanggang 511G.
  • Ipatupad ang dynamic na pagtanggal ng pmap (hindi pinagana sa default). Pinapatnubayan nito ang code ng pmap upang tanggalin ang mga pahina ng talahanayan ng intermediate na pahina at mga PD mula sa pmap nang mabilis. Maaari itong maging kapaki-pakinabang kung ang memorya ay nasa isang premium, ngunit tandaan na, kung pinagana, ito ay mabagal na pagpapatupad ng mga programa na naglalaan at deallocate memory sa isang mataas na rate.
  • Refactor kung paano gumagana ang mga antas ng user na maganda, na ginagawang higit na makabuluhan ang napiling mga halaga kaysa sa kani-kanilang nakaraan.
  • Magdagdag ng isang mataas na pagganap ng native na driver ng NVME sa DragonFly, isinulat ni Matt Dillon. Ang driver na ito ay gagamit ng mga vector ng MSI-X at lahat ng magagamit na mga queue na suportado ng device, per-cpu lokalisasyon na walang locking o minimal locking (walang mga hindi pagkakasundo sa SMP sa karamihan ng mga kaso), at may kakayahang mabaliw ang IOPS at throughput.
  • Graphics:
  • Pinagtitibay ang Broadwell at Skylake, dalhin kami sa Linux 4.6 katumbas na DRM.
  • Ipatupad ang Linux i2c API upang gawing madali ang pag-port.
  • Ayusin ang ilang mga lumang bug, kabilang ang isang pag-baligtad sa order ng lock, na maaaring mabawi ang pag-playback ng video (at ang natitirang X).
  • Ayusin ang isang pagkakamali sa kernel dram thread na pinapayagan ang mga proseso ng user na magkaroon ng mas mataas na priyoridad kaysa sa drm helper thread. Iniayos ng karamihan sa mga pansamantalang video stalls na iniulat sa mga browser.
  • Hawakan ang EFI framebuffer na dumadaan sa DRM, mapabuti ang mga switch ng syscons VT at ayusin ang kaugnay na hindi pagkakasundo. Kailangang subukan ang kernel upang lumipat pabalik sa console VT mula sa X kapag ang isang gulat ay nangyayari.
  • Networking:
  • Maraming mga pagpapabuti sa buong board.
  • iwm - Pag-aayos ng isang isyu na sanhi ng inverted na lohika. Maraming iba pang mga pagpapabuti na makabuluhang mapabuti ang pagganap.
  • wlan - Suporta para sa asynchronous bg scan at iba pang mga tampok idinagdag.
  • Iba pang mga driver:
  • nvme - Nagdagdag sa default na kernel build, kasama ang mga pag-aayos at pagpapahusay sa pagganap.
  • mmcsd - Makabuluhang suporta sa eMMC idinagdag sa DragonFly.
  • ahci - Ang ilang mga pagsasaayos ng compatibility at higit pang mga quirks idinagdag upang suportahan ang mga nasira chipset, sa partikular na port multiplier. Ipatupad din ang FBS (FIS-Based-Switching) kapag sinusuportahan ng chipset.
  • Idinagdag ang trackpoint at suporta sa Elantech.
  • Userland:
  • pinahusay na systat upang mabagsak ang maramihang mga pagkagambala ng pagmamay-ari ng parehong driver, dahil madalas na napakaraming napalista ngayon.
  • systat -vm 1 ay makabuluhang pinahusay at binabago upang mag-ulat ng mas kapaki-pakinabang na impormasyon at upang i-unpack ang mga patlang upang hindi sila tumakbo sa bawat isa. At idagdag ang 'nvme' sa pagtutugma ng bloke device. Ayusin din ang pinalawak na vmstats display at baguhin kung paano naiulat ang ozfod at nzfod.
  • 'vmstat 1' na output refactored. Ang lahat ng mga patlang ay tumatakbo sa bawat isa dahil sa mataas na pagganap ng isang modernong makina verses kung ano ang umiiral 30 taon na ang nakakaraan.
  • Baguhin ang mount / mountd signaling upang mabawasan ang hindi kailangang mga pag-scan at mga command ng mountlist mula sa mga pagpapatakbo ng mount_null at mount_tmpfs. Talagang mahalaga lamang sa ilalim ng mabigat na kasabay na paggamit ng mount / umount, ngunit ang bulk build ay talagang lumilikha ng sitwasyong iyon.
  • Ayusin ang maraming mga tinidor / exec * () leaks na maaaring mag-trigger ng libc dahil sa hindi gumagamit ng O_CLOEXEC sa isang atomic fashion. Magdagdag ng iba't ibang mga tampok na O_CLOEXEC sa mga function tulad ng popen () at mk * stemp * () (magdagdag mkostemp () at mkostemps ()). Ayusin ang isang file descriptor tumagas sa popen () kapag tumatakbo sa isang may sinulid na kapaligiran.
  • Maging nicer sa pthreads sa vfork () sa pamamagitan ng pagbibigay ng lwp ng bagong sub-proseso ng parehong TID bilang isang tinatawag na vfork (). Pinapayagan nito ang mga pag-andar ng pthread support upang maisagawa sa bata sa panahon ng vfork nang walang imploding pthreads.
  • Maraming mga pag-aayos sa compatibility sa mga header upang mapabuti ang mga bulk build dports.
  • Ilang mga pag-import ng OpenSSL para sa mga pag-aayos sa seguridad.
  • I-resync ang OpenSSH upang gawing mas madali itong panatilihing uptodate.
  • Paghiwalayin ang mga kernel ng kernel C sa pamamagitan ng pagkakaroon ng kernel build gamitin ang KCFLAGS sa halip ng CFLAGS.
  • Alisin ang maraming lumang driver ng ISA mula sa puno nang buo. Tulad ng DragonFlyBSD ngayon ay 64-bit lamang, maaari naming simulan upang alisin ang mga lumang driver na hindi umiiral sa 64-bit platform.
  • Ipakilala ang WORLD_CFLAGS at WORLD_CCOPTLEVEL, pag-default sa -O. Ginagawa nitong mas madali na ipunin ang iyong mundo -O2 o anumang (hal. WORLD_CCOPTLEVEL = 2). Gayunpaman, hinihimok namin ang paggamit ng 3 o mas mataas. Ang wastong mga halaga ay 0, 1, 2, 3, s, g, at 'mabilis'.
  • I-adjust ang pag-format ng STATUS para sa ps upang gawing mas nababasa at alisin ang sinaunang mga flag na hindi na naaangkop at lumikha lamang ng kalat.
  • Ayusin ang malloc () pagkakahanay para sa mga maliliit na alokasyon. Ang minimum na pagkakahanay ngayon ay 16 para sa mga paglalaan sa hanay na 16-128 byte sa halip na 8. Tandaan na ang mga alok ng kapangyarihan-ng-2 ay laging natural na nakahanay, ngunit ang ilang mga programa ay gumagamit ng mga multiple ng (eg) 16, tulad ng '48', at ipalagay ang pag-align ng 16-byte.
  • Fortunes refactored, idinagdag.
  • powerd - Magdagdag ng temperaturang pamamahala sa powerd gamit ang isang bagong -H lotemp: hightemp na pagpipilian. Ang tampok na ito ay lubhang kapaki-pakinabang sa mga laptop na may mahinang paglamig at kung sinasadya ng BIOSes ang balbula sa masyadong mataas na temperatura. Nakikita din ngayon ng Powerd ang mga pagbabago sa kapangyarihan ng estado (na maaaring magbago sa listahan ng mga magagamit na frequency) at maayos na paglilipat sa serbisyo kapag nangyayari ang pagbabago ng kapangyarihan ng estado.
  • Maraming libthread_xu / pthreads na mga pag-aayos at pagsasaayos upang mapahusay ang pagiging tugma ng dports.
  • Magdagdag ng mga kopya-sa-write na mga tampok sa vkernel. Halimbawa, pinapayagan ang maramihang mga vkernels na gumamit ng isang solong disk na imahe sa pamamagitan ng pagkakaroon ng bawat isang pagbabago ng COW sa loob ng ram.
  • / usr / src / secure rewired, ang mga salungatang tinanggal mula sa libmd, libcrypt.
  • Na-upgrade ang iba't ibang mga tool sa base system:
  • Ang compiler ay na-update sa GCC 5.4.1.
  • Mayroon na kaming gintong linker na may LTO.
  • binutils 2.25
  • mas mababa ang 481.
  • Lubos na binabago ang OpenSSL / LibRESSL. Base ngayon ay gumagamit ng libressl.
  • Maramihang mga pag-update ng timezone.
  • Katayuan ng Hammer:
  • Iba't ibang mga pagpapabuti. Ang isang bagay na hindi ginawa ito sa release ay isang bump bersyon na gumamit ng isang mas mabilis na algorithm ng CRC na may ibang polinomyal. Ang gawaing ito ay magiging MFC'd--release kapag nakumpleto na ang pagsusuri. Gayunpaman, ang mga gumagamit ay hindi dapat mag-alala tungkol sa mga ito ng masyadong maraming dahil ang pinaka-seryosong pagganap ng pag-aayos AY sa release (isang pag-aayos sa cluster_write () code para sa mga filesystem writes).
  • Katayuan ng Hammer2:
  • Nagpapatuloy ang pag-unlad ngunit walang salita sa isang unang release.
  • Katapusan ng clang:
  • Ang isang panimulang balangkas ay idinagdag para sa paggamit ng clang bilang alternatibong base compiler sa DragonFly, upang palitan ang gcc 4.7. Hindi pa kumpleto. Maaaring dagdagan ang Clang bilang isang pakete.
  • 64-bit na katayuan:
  • Tandaan na ang DragonFly ay isang operating system na 64-bit lamang sa 4.6, at hindi tatakbo sa 32-bit na hardware.
  • Ang suporta ng AMD Ryzen ay papalabas at ang karagdagang gawain ay dadalhin habang nagaganap ang mga bagong pagpapaunlad ng Ryzen. Mayroong ilang mga isyu na iniulat ng cpu-topology na maayos at MFC'd. Mayroong ilang mga isyu sa katatagan na kasalukuyang naghihintay sa isang pag-update ng AMD microcode upang malutas / retest. Ang mga gumagamit ng Ryzen ay makatiyak na mananatili tayo sa ibabaw nito!

Ano ang bago sa bersyon 4.6.0:

  • mmcsd (4): Ayusin ang typo sa disk_create () args. Pinapayagan ang pag-access ng & gt; 1 SD- / MMC-card.
  • Magdagdag ng unzip (1). Kung hindi mo matalo 'em, sumali sa' em
  • Ibalik ang kakayahan para sa master world na bumuo ng Paglabas na 4.4
  • buildworld - Allow -release na maitayo sa master
  • etc / rc.d - diskless adjustments
  • kernel - Magdagdag ng suporta sa kqueue sa NFS (ayusin ang mga isyu sa firefox w / nfs)
  • I-import ang OpenSSL 1.0.1s.
  • Lokal na pagsasaayos para sa OpenSSL 1.0.1s.
  • I-sync ang zoneinfo database gamit ang tzdata2016b mula sa ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Huwag mag-babala tungkol sa mga pagdadaglat tulad ng '-05'.
  • zic (8): Alisin ang isang 'rehistro' na na-crept sa huling gumawa.
  • kernel / acpi_timer: Magdagdag ng nawawalang cpu_enable_intr () pagkatapos ng pagsubok ng timer.
  • em.4: Banggitin ang suporta sa i219.
  • ig_hal / em / emx: Magdagdag ng suporta ng I219 (Skylake)
  • sys / vfs / hammer: Ayusin ang bug sa pagbubura ng header ng lakas ng tunog
  • sbin / martilyo: Huwag ma-access nang lampas sa 16KB ng HAMMER userspace buffer
  • sbin / martilyo: Magdagdag ng pagpipiliang obfuscate sa martilyo ipakita
  • sys / vfs / hammer: Pansamantalang ayusin para sa kernel panic sa volume-del

Ano ang bago sa bersyon 4.4.3 / 4.6.0 RC2:

  • mmcsd (4): Ayusin ang typo sa disk_create () args. Pinapayagan ang pag-access ng & gt; 1 SD- / MMC-card.
  • Magdagdag ng unzip (1). Kung hindi mo matalo 'em, sumali sa' em
  • Ibalik ang kakayahan para sa master world na bumuo ng Paglabas na 4.4
  • buildworld - Allow -release na maitayo sa master
  • etc / rc.d - diskless adjustments
  • kernel - Magdagdag ng suporta sa kqueue sa NFS (ayusin ang mga isyu sa firefox w / nfs)
  • I-import ang OpenSSL 1.0.1s.
  • Lokal na pagsasaayos para sa OpenSSL 1.0.1s.
  • I-sync ang zoneinfo database gamit ang tzdata2016b mula sa ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Huwag mag-babala tungkol sa mga pagdadaglat tulad ng '-05'.
  • zic (8): Alisin ang isang 'rehistro' na na-crept sa huling gumawa.
  • kernel / acpi_timer: Magdagdag ng nawawalang cpu_enable_intr () pagkatapos ng pagsubok ng timer.
  • em.4: Banggitin ang suporta sa i219.
  • ig_hal / em / emx: Magdagdag ng suporta ng I219 (Skylake)
  • sys / vfs / hammer: Ayusin ang bug sa pagbubura ng header ng lakas ng tunog
  • sbin / martilyo: Huwag ma-access nang lampas sa 16KB ng HAMMER userspace buffer
  • sbin / martilyo: Magdagdag ng pagpipiliang obfuscate sa martilyo ipakita
  • sys / vfs / hammer: Pansamantalang ayusin para sa kernel panic sa volume-del

Ano ang bago sa bersyon 4.4.3:

  • mmcsd (4): Ayusin ang typo sa disk_create () args. Pinapayagan ang pag-access ng & gt; 1 SD- / MMC-card.
  • Magdagdag ng unzip (1). Kung hindi mo matalo 'em, sumali sa' em
  • Ibalik ang kakayahan para sa master world na bumuo ng Paglabas na 4.4
  • buildworld - Allow -release na maitayo sa master
  • etc / rc.d - diskless adjustments
  • kernel - Magdagdag ng suporta sa kqueue sa NFS (ayusin ang mga isyu sa firefox w / nfs)
  • I-import ang OpenSSL 1.0.1s.
  • Lokal na pagsasaayos para sa OpenSSL 1.0.1s.
  • I-sync ang zoneinfo database gamit ang tzdata2016b mula sa ftp://ftp.iana.org/tz/releases
  • zic (8) / zdump (8): Huwag mag-babala tungkol sa mga pagdadaglat tulad ng '-05'.
  • zic (8): Alisin ang isang 'rehistro' na na-crept sa huling gumawa.
  • kernel / acpi_timer: Magdagdag ng nawawalang cpu_enable_intr () pagkatapos ng pagsubok ng timer.
  • em.4: Banggitin ang suporta sa i219.
  • ig_hal / em / emx: Magdagdag ng suporta ng I219 (Skylake)
  • sys / vfs / hammer: Ayusin ang bug sa pagbubura ng header ng lakas ng tunog
  • sbin / martilyo: Huwag ma-access nang lampas sa 16KB ng HAMMER userspace buffer
  • sbin / martilyo: Magdagdag ng pagpipiliang obfuscate sa martilyo ipakita
  • sys / vfs / hammer: Pansamantalang ayusin para sa kernel panic sa volume-del

Ano ang bago sa bersyon 4.4.2:

  • virtio_blk: Gumamit ng contigmalloc / contigfree para sa mga alok na vtblk_request.
  • drm / radeon: Kailangan namin ang pisikal na address ng dummy na pahina, hindi ang virtual
  • if_iwm: Ilapat ang ilang mga pagbabago mula sa OpenBSD, if_iwm.c rev 1.39 - & gt; 1.42
  • if_iwm: I-imbak lamang ang pointer ng firmware firmware, tulad ng ginagawa ng if_iwn.
  • if_iwm: Alisin ang mga komento na tumutukoy sa Linux filename ng iwlwifi source.
  • if_iwm: Ayusin ang paggamit ng IEEE80211_ADDR_COPY ().
  • if_iwm: Ayusin ang rate ng pag-setup ng control rate.
  • etc / rc.d: I-update ang rtsold
  • i915 - Magdagdag ng pagka-antala matapos ilakip upang maiwasan ang console / X race
  • kernel - Bawasan ang lwp_signotify () latency
  • devfs - Ayusin ang takot sa mga dagdag na devfs mount kapag ang mga patakaran ay naroroon
  • ssh - Alisin ang undocumented roaming support CVE-2016-0777 CVE-2016-0778
  • kernel - Magdagdag ng mga quirks para sa xhci (usb)
  • martilyo - alisin ang debugging kprintf
  • libc / stdtime: Ayusin ang dalawang mga kaso kung saan ang isang null pointer ay maaaring libre () 'd.
  • kernel / vga: Alisin ang maling lwkt_reltoken (). Hindi ito nakuha sa puntong ito.
  • libc / nls: Sync str {error, signal} () mga mensahe na may.
  • w (1): inet_addr () ay nagbabalik ng INADDR_NONE sa kabiguan.
  • ee (1): Ayusin ang isang uninitialized variable.
  • kernel: Ayusin ang kern.dumpdev sysctl.
  • I-import ang OpenSSL 1.0.1r.
  • Lokal na pagsasaayos para sa OpenSSL 1.0.1r.
  • gcc50 / libconv_supc: kailangan ng cp-demangle.c HAVE_CONFIG_H.
  • I-sync ang zoneinfo database sa tzdata2016a mula sa ftp://ftp.iana.org/tz/releases
  • gumawa ng pag-upgrade: Magdagdag ng isang lipas na time zone.
  • igb: Ayusin ang mga setting ng DMACR
  • ifconfig: Ayusin ang inet6 pagtanggal ng address

Ano ang bago sa bersyon 4.4.1:

  • Kernel:
  • Mas pinahusay na mga setting ng pagse-save ng kapangyarihan ng CPU
  • Nabawasan ang paglalaan ng file / libreng pagtatalo
  • Bawasan ang pagkakaugnay ng kqueue
  • Ipinatupad ang lwp_setname (2) system call
  • Fixed dsp (4) nonblocking operation support
  • Magdagdag ng aperf (4) na driver upang maipakita ang epektibong dalas ng CPU
  • Maraming mga paglilinis at pag-aayos sa HAMMER
  • I-sync ang ACPICA sa 20151124
  • Kadalasa'y natapos na ang pag-alis ng i386 (32-bit) na mga bits
  • Ayusin ang butas ng loader ng boot upang pangasiwaan ang mas malaking mga imahe sa MD
  • Ang paglilinis ay pumasa sa patay na kernel code (nananatili ang syslink, atbp)
  • tinanggal ang dsched (mga isyu sa mga bug at hindi gumagana nang maayos sa SSD)
  • I-recode ang mga algorithm ng pager para sa low-memory at out-of-memory pkill
  • Graphics:

  • Ang mga drm / i915 at drm / radeon driver ay tumutugma sa Linux kernel 3.18
  • Sinusuportahan ng i915 ang ValleyView / Baytrail at Cherryview Atom SOCs
  • Ang Broadwell GPU ay ganap na pinabilis na
  • Paghahanda para sa suporta sa Skylake
  • Sinusuportahan ng system console ngayon ang drm graphics bilang default; ang mga virtual na terminal ay hindi lamang nagpapakita ng isang itim na screen ngayon kapag sinimulan na ang Xorg at isa sa mga module ng kernel kms ang na-load.
  • Pinahusay na pamamahala ng kuryente. Panel Self Refresh na magagamit sa i915 hardware
  • Sinusuportahan na ngayon ang mga sensor ng temperatura sa hardware ng Radeon
  • Networking:
  • Realtek 8168H suporta sa muling (4)
  • idinagdag ang driver ng iwm (4)
  • rtadvd na-update, idinagdag rtadvctl
  • Asynchronous na mga koneksyon sa UDP, para sa paghawak ng mas maraming load
  • Bagong mas malaking TCP window ng pagsisimula, para sa mga koneksyon sa mataas na latency
  • Ang mga halaga ng kernel nmbcluster ay live-adjustable, para sa matinding trapiko Networking:
  • Patatagin ang UNIX domain socket
  • Bagong GC code para sa fd-paglipas sa mga socket ng unix domain
  • Misc IPv6 sync sa FreeBSD
  • Pinahusay na socket (2) na pagganap para sa TCP at UDP
  • Pinahusay na TCP kumonekta (2) lokal na pagpili ng port
  • Nagdagdag ng pagtanggap (4) na tawag sa system
  • Nagdagdag ng suporta para sa SOCK_CLOEXEC at SOCK_NONBLOCK socket (2) at accept4 (2) flags
  • Gumawa ng mga tampok na kontrol sa daloy ng HW na magagamit sa ifconfig
  • Magdagdag ng mga tunable upang pahintulutan ang NFSROOT iosize at readahead upang itakda
  • Magdala ng pinalawak na ipfw mula sa FreeBSD (tinatawag na ipfw3 sa DFly)
  • Iba pang mga driver:
  • Ang suporta ng MIDI ay nabasa
  • Maraming bugfixes para sa mapper device
  • Ang dm-delay at dm-flakey ay idinagdag sa mapper device
  • Ang mga USB modem ay mas mahusay na gumagana (o hindi bababa sa hindi panic ang kernel)
  • Pinahusay na access sa mga tampok at katayuan ng ram ECC
  • wlan na na-update mula sa FreeBSD (bago lamang ang pag-alis ng split-device)
  • Userland:
  • ang regex library ay pinalitan ng multi-byte at sa pangkalahatan ay mas may kakayahang TRE regex library. Ito ay tumutugma sa OSX sa mga tampok. (DF ang unang BSD na lumipat sa TRE pagkatapos ng MacOS)
  • libm pinalitan ng bersyon ng OpenBSD (ito ay isang collaborative work in progress)

  • Ang libc ngayon ay nagtatampok ng simbolong bersyon na maaaring paganahin ang mga binary na nilikha sa Release 4.4 upang maipatupad sa DragonFly sa loob ng maraming taon sa hinaharap.
  • Kumpletuhin ang pag-aayos at pag-update ng mga lokal, kabilang ang pagpapatupad ng paghahambing.
  • tinanggal malloc.h (Ang DragonFly ang unang BSD upang alisin ang header na ito)
  • gcc50 libstdc ++ binago upang paganahin ang buong paggamit ng mga function ng C99 sa clang
  • Bilang resulta ng pag-update ng lokal, ang output ng ls (1) na haba na format at -T na format ay nagbago kapag pinangalanan ang mga lokal na pinangalanan. Kapansin-pansin, ang mga mahabang format ng buwan ay laging dinaglat sa Ingles (gamit ang mga kahulugan ng POSIX na garantisadong maging mabilis at tatlong lapad ang lapad) at laging ipinapakita ang taon, oras at pangalawang impormasyon. Sa ilalim ng C / POSIX locale walang pagbabago sa ls (1) output maliban sa paghawak ng timestamp sa hinaharap ay naitama upang tumugma sa mga pamantayan ng POSIX standard.
  • Kung ginagamit ang WPA Supplicant mula sa base, magkakaroon ng 10 segundong pagka-antala sa panahon ng boot habang ang isang mensahe ay ipinapakita na malakas na inirekomenda na gamitin ang bersyon ng DPorts (seguridad / wpa_supplicant) sa halip.
  • Pinahusay na powerd (8)
  • Pinabuting tuktok (1) at PS (1) output para sa LWPs at kernel threads
  • Fixed ang suporta para sa pthread_set_name_np (3)
  • Ported tcpdrop (8)
  • Pagdaragdag ng maraming mga bagong lokal kabilang ang anim na mga lokal na Arabe (UAE, Saudi Arabia, Ehipto, Jordan, Morocco, Qatar), karagdagang mga lokal na Espanyol (Mexico, Argentina, Costa Rica), karagdagang mga lokal na Ingles (Phillipines, Singapore, Hong Kong) , naitama ang mga lokal na Norwegian (nb at nn lamang), pinalawak na Suweko (Finland), Sami (Finland, Norway), Serbiano na ipinakita sa parehong mga Cyrillic at Latin na mga form ngayon. ('locale -a' ay nagbibigay ng kumpletong listahan.)
  • rtadvc na na-import mula sa FreeBSD
  • Na-upgrade ang iba't ibang mga tool sa base system:
  • nvi2 na-update sa bersyon 2.1.3
  • idinagdag ang libexecinfo (naka-sync mula sa FreeBSD)
  • iconv na naka-synchronize sa FreeBSD
  • openssl na-update sa 1.0.1q
  • xz na-update sa 5.2.2
  • libedit na na-update sa bersyon 2015-03-25
  • binutils na-update sa 2.25.1
  • grep na-update sa 2.22
  • tcsh na-update sa 6.19.00
  • libdialog na-update sa v1.2-20150920

  • Ang
  • (tn) ftp ay na-update sa '10 OCT 2015 '
  • gcc na-update sa 5.2
  • acpica na-update sa 20150717
  • uri (1), na nanggaling sa NetBSD, ay pinalitan ng bersyon ng FreeBSD
  • localedef (1), panloob na tool na may pinanggalingan sa Illumos
  • cldr2def, panloob na tool na may pinagmulan sa inabandunang proyektong FreeBSD, ngunit pinalawig para sa DF
  • Inalis mula sa base system:
  • hostapd (pinakabagong bersyon na magagamit sa pamamagitan ng mga dports: net / hostapd)
  • mklocale (pinalitan ng localedef)
  • colldef (pinalitan ng localedef)
  • Mga pagpapahusay ng HAMMER:
  • Maraming, maraming mga paglilinis at pag-aayos sa Hammer1, salamat sa Tomohiro Kusumi
  • Iba pang mga pagpapabuti:
  • Bilangin ng mga DPORT ang pag-aagaw sa paligid ng 22,800 port. Maraming mga dating nasira na port na naayos ng regular na mga gumagamit dahil sa mga kontribusyon na inaalok sa pamamagitan ng GitHub's Pull Request mekanismo. (Salamat!)
  • Anim na "opisyal" na hanay ng DragonFly wallpaper ay magagamit sa x11-themes / dragonfly-wallpaper (pkg install dragonfly-wallpaper). Ang mga ito ay awtomatikong naka-install at preselected para sa mga gumagamit ng KDE, at awtomatikong naka-install para sa mga gumagamit ng XFCE4 ngunit ang mga wallpaper pa rin ang pinili nang manu-mano sa desktop na iyon (hindi bababa sa ngayon). Naka-install sila sa mga share / wallpaper na symlinked upang ibahagi / mga background / dragonfly.

Katulad na software

OpenSXCE
OpenSXCE

20 Feb 15

NuttX
NuttX

10 May 15

Mga komento sa DragonFly BSD

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!