lëshimi , një sistem operativ me kernel hibrid, në vitin 2003 me synimin për të zhvilluar si alternativë degën FreeBSD 4.x. Ndër veçoritë e DragonFly BSD dallohen sistemi i skedarëve me versionim të shpërndarë , mbështetja për nisjen e kerneleve «virtuale» të sistemit si procese përdoruesi, mundësia e ruajtjes në cache të të dhënave dhe meta-të dhënave të FS në disqe SSD, lidhje simbolike variantesh që marrin parasysh kontekstin, mundësia e ngrirjes së proceseve me ruajtjen e gjendjes së tyre në disk, si dhe kerneli hibrid që përdor fije të lehta ekzekutimi (LWKT).
Main , të shtuara në DragonFlyBSD 5.8:
- Në përbërjen bazë është përfshirë mjeti , i dedikuar për ndërtimin lokal dhe mirëmbajtjen e depove binare DPort. Mbështetet paralelizimi i ndërtimit të një numri arbitrar portesh, duke marrë parasysh pemën e varësive. Gjatë përgatitjes së këtij publikimi, në DPort janë bërë gjithashtu shumë ndryshime me synim përshpejtimin e ndërtimit të disa paketave të varura.
- Në libc është zbatuar një mekanizëm efikas për maskimin e sinjaleve, i cili bëri të mundur mbrojtjen e malloc*() dhe funksioneve të ngjashme nga problemet e shkaktuara nga ndërprerja prej sinjaleve. Për bllokimin dhe zhbllokimin afatshkurtër të sinjaleve janë propozuar funksionet sigblockall() dhe sigunblockall(), të cilat funksionojnë pa kryer thirrje sistemore. Gjithashtu, në libc funksioni strtok() është përshtatur për përdorim në aplikacione me shumë fije, ndërsa janë shtuar konstantet TABDLY, TAB0, TAB3 dhe funksioni __errno_location për të përmirësuar mbështetjen e dports.
- Komponentët e ndërfaqes DRM (Direct Rendering Manager) janë sinkronizuar me kernelin Linux 4.9, me portimin nga kerneli 4.12 të disa veçorive të veçanta të orientuara drejt përmirësimit të mbështetjes për Wayland.
Drejtuesi drm/i915 për GPU-të Intel është sinkronizuar me kernelin Linux 4.8.17, me transferimin nga kerneli 5.4 të kodit për mbështetjen e çipave të rinj (Skylake, Coffelake, Amber Lake, Whiskey Lake dhe Comet Lake). Drejtuesi drm/radeon për kartat grafike AMD është sinkronizuar me kernelin Linux 4.9. - Janë përmirësuar ndjeshëm algoritmet e swap-it të memories virtuale, duke eliminuar ose minimizuar problemet me reagimin e ndërfaqes së përdoruesit në kushte mungese memorieje. Janë zgjidhur edhe problemet me ngrirjen e Chrome/Chromium kur mungon memoria e sistemit.
- ĂshtĂ« pĂ«rmirĂ«suar shkallĂ«zimi i kernelit nĂ« sistemet me numĂ«r tĂ« madh bĂ«rthamash procesori. ĂshtĂ« shkurtuar koha e kĂ«rkesĂ«s pĂ«r faqet e memories virtuale. ĂshtĂ« ulur konkurrenca SMP nĂ« kushte mungese memorieje. ĂshtĂ« rritur efikasiteti i thirrjes «open(⊠O_RDWR)».
- ĂshtĂ« ripunuar gjeneratori i numrave pseudorastĂ«sorĂ« nĂ« kernel. Driver-i RDRAND Ă«shtĂ« pĂ«rshtatur pĂ«r grumbullimin e entropisĂ« nga tĂ« gjithĂ« CPU-tĂ«. ĂshtĂ« ulur intensiteti
dhe madhësia e furnizimit nga RDRAND, i cili më parë merrte 2-3% të kohës së CPU gjatë gjendjes idle. - Janë shtuar thirrjet e reja të sistemit realpath, getrandom dhe lwp_getname (gjë që bëri të mundur implementimin e pthread_get_name_np).
- ĂshtĂ« shtuar mbĂ«shtetja pĂ«r mekanizmat e mbrojtjes SMAP (Supervisor Mode Access Prevention) dhe SMEP (Supervisor Mode Execution Prevention). SMAP lejon bllokimin e qasjes nĂ« tĂ« dhĂ«nat nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit nga kodi me privilegje qĂ« ekzekutohet nĂ« nivel kernel. SMEP nuk lejon kalimin nga mĂ«nyra kernel nĂ« ekzekutimin e kodit qĂ« ndodhet nĂ« nivelin e pĂ«rdoruesit, duke bĂ«rĂ« tĂ« mundur bllokimin e shfrytĂ«zimit tĂ« shumĂ« cenueshmĂ«rive nĂ« kernel (shell-kodi nuk do tĂ« ekzekutohet, pasi ndodhet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit);
- JanĂ« ripunuar variablat sysctl pĂ«r konfigurimin e Jail. ĂshtĂ« shtuar mundĂ«sia e montimit tĂ« nullfs dhe tmpfs nga Jail.
- ĂshtĂ« shtuar njĂ« regjim emergjent i funksionimit pĂ«r sistemin e skedarĂ«ve HAMMER2, i cili mund tĂ« pĂ«rdoret gjatĂ« rikuperimit pas njĂ« dĂ«shtimi. NĂ« kĂ«tĂ« regjim lejohet dĂ«mtimi i snapshot-eve gjatĂ« pĂ«rditĂ«simit tĂ« inode nĂ« vend (kjo mundĂ«son fshirjen e skedarĂ«ve dhe katalogĂ«ve nĂ« mungesĂ« tĂ« hapĂ«sirĂ«s sĂ« lirĂ« nĂ« disk, kur nuk Ă«shtĂ« e mundur tĂ« pĂ«rdoret mekanizmi copy-on-write). ĂshtĂ« rritur ndjeshĂ«m performanca falĂ« ripunimit tĂ« mbĂ«shtetjes pĂ«r planifikimin e thread-eve nĂ« HAMMER2. ĂshtĂ« pĂ«rmirĂ«suar ndjeshĂ«m procesi i zbrazjes sĂ« buffer-Ă«ve (flush).
- ĂshtĂ« rritur besueshmĂ«ria dhe performanca e TMPFS. ĂshtĂ« pĂ«rmirĂ«suar efikasiteti i funksionimit nĂ« kushte mungese tĂ« memories sĂ« lirĂ« nĂ« sistem.
- Në stack-un e rrjetit për IPv4 është implementuar mbështetja për prefikset /31 ().
NĂ« tap Ă«shtĂ« pĂ«rmirĂ«suar pĂ«rpunimi i ioctl SIOCSIFMTU pĂ«r mbĂ«shtetjen e MTU > 1500. ĂshtĂ« shtuar mbĂ«shtetja pĂ«r SIOCSIFINFO_IN6 dhe SO_RERROR. - Driver-i iwm me mbĂ«shtetje pĂ«r çipat wireless Intel Ă«shtĂ« sinkronizuar me FreeBSD (Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r iwm-9000 dhe iwm-9260).
- Janë shtuar funksionet basename() dhe dirname(), të pajtueshme me Linux, për të përmirësuar përputhshmërinë në porta.
- Nga FreeBSD janë portuar fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 në libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Nga OpenBSD janë portuar funksione nga math.h.
- Janë përditësuar versionet e komponentëve të palëve të treta, përfshirë Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Si parazgjedhje përdoret kompileri gcc-8.
Burimi: opennet.ru
