lëshimi , një sistem operative me bërthamë hibrid, në vitin 2003 me qëllim zhvillimin alternativ të degës FreeBSD 4.x. Disa karakteristika të DragonFly BSD përfshin një sistem skedarësh versionik të shpërndarë, , mbështetje për ngarkimin e "bërthamave" virtuale të sistemit si procese përdoruesi, mundësia e caching-ut të të dhënave dhe meta-të dhënave të FSh në SSD, duke marrë parasysh kontekstin e lidhjeve simbolike variante, mundësia e ngrirjes së proceseve me ruajtjen e gjendjes së tyre në disk, bërthamë hibride që përdor rrjedha të lehta (LWKT).
Ndryshimet kryesore , të shtuar në DragonFlyBSD 5.8:
- Në përbërje bazë është përfshirë utilitari , i dedikuar për ndërtimin dhe mbështetjes lokale të depozitave binarë të DPort. Mbështetet paralelizimi i ndërtimit të një numri të caktuar portesh duke marrë parasysh degën e varësive. Gjatë përgatitjes së një lëshimi të ri në DPort janë bërë gjithashtu një numër i madh ndryshimesh për të përshpejtuar ndërtimin e disa paketave të varura.
- Në libc është realizuar një mekanizëm efikas për maskimin e sinjaleve, që ka lejuar mbrojtjen e malloc*() dhe funksioneve të ngjashme nga problemet shkaktuar nga ndërprerja e sinjalit. Për bllokimin dhe çbllokimin afatshkurtër të sinjaleve, janë propozuar funksionet sigblockall() dhe sigunblockall(), të cilat funksionojnë pa kryer thirrje sistemike. Për më tepër, në libc funksioni strtok() është аЎапtuar për përdorim në aplikacione me shumë procese, janë shtuar konstantet TABDLY, TAB0, TAB3 dhe funksioni __errno_location për përmirësimin e mbështetjes së dports.
- Komponentët e ndërfaqes DRM (Direct Rendering Manager) janë sinkronizuar me bërthamën Linux 4.9, me portimin nga bërthama 4.12 të disa veçorive që synojnë përmirësimin e mbështetjes për Wayland.
Drejtkërcimi drm/i915 për GPU-të Intel është sinkronizuar me bërthamën Linux 4.8.17 me transferimin nga bërthama 5.4 të kodit për mbështetje të çipave të rinj (Skylake, Coffelake, Amber Lake, Whiskey Lake dhe Comet Lake). Drejtkërcimi drm/radeon për kartat grafike AMD është sinkronizuar me bërthamën Linux 4.9. - Janë përmirësuar ndjeshëm algoritmet e nënshkrimit të memories virtuale, duke eliminuar ose minimalizuar problemet me përgjigjen në ndërfaqen e përdoruesit në rast të mungesës së memories. Probleme me ngritjen e Chrome/Chromium në rast të mungesës së memories sistemike janë zgjidhur.
- Përshtatja e shkallëzimit të bërthamës është përmirësuar në sisteme me numër të madh procesorësh. Koha e kërkesave për faqet e kujtesës virtuale është shkurtuar. Konkurenca SMP në kushte të mungesës së memories është reduktuar. Efikasiteti i thirrjeve "open(⊠O_RDWR)" është rritur.
- Krijuesi i numrave të rastësishëm në bërthamë është rishikuar. Drejtuesi RDRAND është adapatuar për grumbullimin e entropisë nga të gjitha CPU-të. Intensiteti
dhe madhësia e mbështetjes RDRAND, e cila më parë merrte 2-3% të kohës së CPU gjatë pushimit, është reduktuar. - Janë shtuar thirrje të reja sistemike: realpath, getrandom dhe lwp_getname (lehtësuar realizimin e pthread_get_name_np).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmat e mbrojtjes SMAP (Parandalimi i Qasjes nĂ« Modalitetin e Drejtuesit) dhe SMEP (Parandalimi i Ekzekutimit nĂ« Modalitetin e Drejtuesit). SMAP lejon bllokimin e aksesit nĂ« tĂ« dhĂ«nat nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit nga kodi me privilegje qĂ« ekzekutohet nĂ« nivelin e bĂ«rthamĂ«s. SMEP nuk lejon kalimin nga modaliteti i bĂ«rthamĂ«s nĂ« ekzekutimin e kodit qĂ« ndodhet nĂ« nivelin e pĂ«rdoruesit, çka mundĂ«son bllokimin e shfrytĂ«zimit tĂ« shumĂ« dobĂ«sive nĂ« bĂ«rthamĂ« (kodi shell nuk do tĂ« ekzekutohet, pasi ndodhet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit);
- JanĂ« rishikuar variablat sysctl pĂ«r konfigurimin e Jail. ĂshtĂ« shtuar mundĂ«sia e montimit tĂ« nullfs dhe tmpfs nga Jail.
- ĂshtĂ« shtuar njĂ« mod i emergjencĂ«s pĂ«r sistemin e skedarĂ«ve HAMMER2, i cili mund tĂ« pĂ«rdoret gjatĂ« procesit tĂ« rikuperimit pas dĂ«shtimit. NĂ« kĂ«tĂ« mod, lejohet shkatĂ«rrimi i snapshot-eve gjatĂ« pĂ«rditĂ«simit tĂ« inode-ve nĂ« vend (lejon fshirjen e skedarĂ«ve dhe katalogĂ«ve kur nuk ka hapĂ«sirĂ« tĂ« lirĂ« nĂ« disk, kur mekanizmi copy-on-write nuk mund tĂ« pĂ«rdoret). Performanca Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m, falĂ« pĂ«rmirĂ«simit tĂ« mbĂ«shtetjes pĂ«r menaxhimin e skedave nĂ« HAMMER2. Procesi i shkarkimit tĂ« bufereve (flush) Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m.
- Siguria dhe performanca e TMPFS janë rritur. Effekti i punës është përmirësuar në kushtet e mungesës së memories së lirë në sistem.
- Në saktësinë e rrjetit për IPv4 është implementuar mbështetje për prefikset /31 ().
NĂ« tap Ă«shtĂ« pĂ«rmirĂ«suar pĂ«rpunimi i ioctl SIOCSIFMTU pĂ«r mbĂ«shtetje tĂ« MTU > 1500. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r SIOCSIFINFO_IN6 dhe SO_RERROR. - Drejtori i iwm Ă«shtĂ« sinkronizuar me FreeBSD me mbĂ«shtetje pĂ«r çipet wireless tĂ« Intel (Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r iwm-9000 dhe iwm-9260).
- Janë shtuar funksione të përputhshme me Linux, basename() dhe dirname() për të përmirësuar kompatibilitetin në porte.
- Janë transferuar fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 në libc/getaddrinfo(), calendar(1), rcorder-visualize.sh nga FreeBSD. Funksionet janë transferuar nga OpenBSD nga math.h.
- Versionet e komponentëve të jashtëm janë azhurnuar, përfshirë Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Kompileri i përdorur nga default është gcc-8.
Burimi: opennet.ru
