atbrīvot , operētājsistēma ar hibrīda kodolu, 2003. gadā ar mērķi nodrošināt alternatīvu FreeBSD 4.x izstrādes atzaru. Starp DragonFly BSD funkcijām ir tās izkliedētā versiju failu sistēma. , atbalsts "virtuālo" sistēmas kodolu ielādei kā lietotāja procesiem, iespēja kešatmiņā saglabāt failu sistēmas datus un metadatus SSD diskos, kontekstu apzinošas simbolisko saišu varianti, iespēja iesaldēt procesus, saglabājot to stāvokli diskā, hibrīds kodols, izmantojot vieglus pavedienus (LWKT).
Galvenais , pievienots DragonFlyBSD 5.6 versijā:
- Virtuālās atmiņas pārvaldības sistēma ir modernizēta. Daudzas ar virtuālo atmiņu un PMAP saistītās apakšsistēmas ir pārrakstītas.
Kods ir atbloķēts daudzviet, tostarp funkcijās m_page_wakeup, vm_hold un vm_unhold. Ir uzlabota centrālā procesora kešatmiņas efektivitāte, samazinot VM objektu migrāciju starp centrālā procesora kodoliem un samazinot lapu kļūdu apstrādes izmaksas koplietojamās atmiņas apgabalos. Ir uzlabots atmiņas lapu piešķiršanas algoritms. Ir novērstas aizkaves funkcijā vm_page_alloc(). Ir pievienota vm_page_hash*() API, kas ļauj veikt atlases bez bloķēšanas.Rezultātā bija iespējams ievērojami . Piemēram,
Kodola izveides testā kodola puses izpildes laiks tika samazināts par 40 %. Joslas platums palielinājās par 7 %, izmantojot Haswell centrālos procesorus, un par 14 % Xeon procesoram. SELF-EXEC S/DI testā, salīdzinot ar iepriekšējo laidienu, veiktspēja palielinājās par 23 % Haswell procesoram un par 18 % Xeon procesoriem. Testā
SELF-EXEC S/SH attiecīgi 28% un 71%, SELF-EXEC D/DI — 23% un 242% (pateicoties uzlabotai daudzpavedienu apstrādei), SELF-EXEC D/SH par 24% un 234%, FAULTZF par 17% un 14%, DOCOMP par 22% un 42%.
NATIVEKERNEL par 5.1 % un 8.1 %; - AMD grafikas karšu DRM draiveris un TTM video atmiņas pārvaldnieks ir ievērojami atjaunināti. Pievienots atbalsts jauniem Ryzen APU. Uzlabots UEFI kadru bufera atbalsts. Radeon/ttm ir novērsta strupceļa problēma, kas negatīvi ietekmēja veiktspēju. Sāknēšanas aizkaves iestatījums ir pārveidots, lai izvairītos no konfliktiem starp i915 draiveri un X serveri. Pievienots DRM_IOCTL_GET_PCIINFO izsaukums, lai uzlabotu mesa/libdrm atbalstu. Ir izlabotas daudzas kļūdas un defekti.
- Sinhronizācijas kods HAMMER2 failu sistēmā ir pārrakstīts, ievērojami uzlabojot šīs failu sistēmas veiktspēju. Ir uzlabota arī secīgās rakstīšanas veiktspēja.
Lai uzlabotu noturību pret avārijām, ir pievienota atkarību izsekošana, lai novērstu direktoriju/failu sadalīšanu izveides, pārdēvēšanas vai dzēšanas darbību laikā. Momentuzņēmumu apstrāde ir pārstrādāta, lai samazinātu latentumu un nodrošinātu momentuzņēmumu konsekvenci. Ir uzlabota vienlaicīgu ierakstu un kešatmiņas tīrīšanas apstrāde. Ir uzlabota umount operācija. Integritātes pārkāpuma (CRC) kļūdu ziņojumi ir padarīti informatīvāki.Kā noklusējuma saknes failu sistēma ir ieteicams HAMMER2. Klasteru atbalsts vēl nav pieejams. HAMMER2 failu sistēmas funkcijas ietver atsevišķu momentuzņēmumu pievienošanu, rakstāmus momentuzņēmumus, direktoriju līmeņa kvotas, pakāpenisku spoguļošanu, dažādu datu saspiešanas algoritmu atbalstu un vairāku galveno datoru spoguļošanu ar datu izplatīšanu vairākos resursdatoros.
- Pievienots sākotnējais atbalsts FUSE apakšsistēmai failu sistēmu izveidei lietotāja telpā;
- Uzlabota PF pakešu filtra veiktspēja daudzkodolu sistēmās;
- Atbalsts SMAP (Supervisor Mode Access Prevention — uzrauga režīma piekļuves novēršanas) un SMEP (Supervisor Mode Execution Prevention — uzrauga režīma izpildes novēršanas) aizsardzības mehānismiem tiek ieviests, ja to atbalsta centrālais procesors (CPU). SMAP bloķē piekļuvi lietotāja telpas datiem no privileģētā koda, kas darbojas kodola līmenī. SMEP novērš pāreju no kodola režīma uz lietotāja līmeņa koda izpildi, kas palīdz bloķēt daudzu kodola ievainojamību izmantošanu (čaulas kods netiks izpildīts, jo tas atrodas lietotāja telpā).
- Pievienots bloķēšanas kods MDS (mikroarhitektūras datu paraugu ņemšanas) klase Intel procesoros. Šai funkcijai ir nepieciešams atjaunināts mikrokods. Pēc noklusējuma aizsardzība ir atspējota un to var iespējot, izmantojot 'sysctl machdep.mds_mitigation=MD_CLEAR'. Šīs funkcijas iespējošana ievieš papildu 250 ns aizkavi, pārslēdzot kontekstu starp lietotāja telpu un kodola telpu.
- Kodols pēc noklusējuma tiek kompilēts ar retpolīna aizsardzību pret Spectre uzbrukumiem.
- Daudzas bāzes sistēmas utilītas ir pārveidotas, lai izmantotu LibreSSL;
- Trešo pušu komponentu atjauninātās versijas, tostarp xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 2019-03-24. evdev, makefs, ministat un libfetch tika portēti no FreeBSD.
dd. Izsaukumi uz reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc() un explicit_bzero() ir pārnesti no OpenBSD uz libc. Pēc noklusējuma kompilēšanai tiek izmantots gcc-8 kompilators gcc-5 vietā.
Avots: opennet.ru
