Utgivelse av operativsystemet DragonFly BSD 5.8

Tilgjengelig utgivelse DragonFlyBSD 5.8, et operativsystem med en hybridkjerne, opprettet i 2003 med det formål å alternativ utvikling av FreeBSD 4.x-grenen. Blant funksjonene til DragonFly BSD kan vi fremheve et distribuert versjonert filsystem HAMMER, støtte for lasting av "virtuelle" systemkjerner som brukerprosesser, muligheten til å bufre FS-data og metadata på SSD-stasjoner, kontekstsensitive varianter av symbolske lenker, muligheten til å fryse prosesser mens de lagrer tilstanden på disken, en hybridkjerne som bruker lette tråder (LWKT) .

Den viktigste forbedringerlagt til i DragonFlyBSD 5.8:

  • Hovedsammensetningen inkluderer verktøyet dsynth, designet for lokal montering og vedlikehold av dine egne DPort binære repositories. Parallellisering av sammenstillingen av et vilkårlig antall porter støttes, tar hensyn til avhengighetstreet. Som forberedelse til den nye utgivelsen har DPort også gjort et stort antall endringer med sikte på å fremskynde byggingen av flere avhengige pakker.
  • libc implementerer en effektiv signalmaskeringsmekanisme, som gjør det mulig å beskytte malloc*() og lignende funksjoner mot problemer på grunn av deres avbrudd av et signal. For kortvarig blokkering og oppheving av signaler foreslås funksjonene sigblockall() og sigunblockall(), som fungerer uten systemanrop. I tillegg har libc tilpasset strtok()-funksjonen for bruk i flertrådede applikasjoner, lagt til konstanter TABDLY, TAB0, TAB3 og funksjonen __errno_location for å forbedre dports-støtten.
  • DRM (Direct Rendering Manager) grensesnittkomponenter er synkronisert med Linux-kjernen 4.9, med utvalgte funksjoner portert fra 4.12-kjernen for å forbedre Wayland-støtten.
    Drm/i915-driveren for Intel GPUer er synkronisert med Linux-kjernen 4.8.17 med kode overført fra 5.4-kjernen for å støtte nye brikker (Skylake, Coffelake, Amber Lake, Whiskey Lake og Comet Lake). Drm/radeon-driveren for AMD-skjermkort er synkronisert med Linux 4.9-kjernen.

  • Algoritmer for personsøking av virtuelt minne har blitt betydelig forbedret, slik at vi kan eliminere eller minimere responsproblemer i brukergrensesnittet når det ikke er nok minne. Problemer med Chrome/Chromium-frysing på grunn av utilstrekkelig systemminne er løst.
  • Forbedret kjerneskalering på systemer med et stort antall prosessorkjerner. Redusert forespørselstid for virtuelt minne. Redusert SMP-konflikt når minnet er lite. Økt effektivitet av "open(... O_RDWR)"-kallet.
  • Generatoren av pseudo-tilfeldige tall i kjernen har blitt redesignet. RDRAND-driveren er tilpasset for å akkumulere entropi fra alle CPUer. Redusert intensitet
    og størrelsen på RDRAND-feeden, som tidligere tok 2-3 % av CPU-tiden under inaktiv tid.

  • Lagt til nytt system kaller realpath, getrandom og lwp_getname (tillatt implementering av pthread_get_name_np).
  • Lagt til støtte for SMAP (Supervisor Mode Access Prevention) og SMEP (Supervisor Mode Execution Prevention) beskyttelsesmekanismer. SMAP lar deg blokkere tilgang til brukerplassdata fra privilegert kode som kjører på kjernenivå. SMEP tillater ikke overgang fra kjernemodus til kjøring av kode som ligger på brukernivå, noe som gjør det mulig å blokkere utnyttelsen av mange sårbarheter i kjernen (skallkode vil ikke bli utført, siden den er i brukerrommet);
  • Omarbeidet sysctl-variabler for å konfigurere Jail. Lagt til muligheten til å montere nullfs og tmpfs fra Jail.
  • Lagt til nødmodus for HAMMER2-filsystemet, som kan brukes under gjenoppretting etter en feil. I denne modusen er det mulig å ødelegge øyeblikksbilder når du oppdaterer inoden lokalt (lar deg slette filer og kataloger i fravær av ledig diskplass, når det er umulig å bruke kopier-på-skriv-mekanismen). Betydelig forbedret ytelse ved å omarbeide trådsendingsstøtte i HAMMER2. Prosessen med å spyle buffere er betydelig forbedret.
  • Forbedret pålitelighet og ytelse av TMPFS. Økt driftseffektivitet når det mangler ledig minne i systemet.
  • IPv4-nettverksstakken støtter nå /31-prefikser (RFC 3021).
    Tap har forbedret SIOCSIFMTU ioctl-håndtering for å støtte MTU > 1500. Lagt til støtte for SIOCSIFINFO_IN6 og SO_RERROR.

  • iwm-driveren er synkronisert med FreeBSD med støtte for Intel trådløse brikker (lagt til støtte for iwm-9000 og iwm-9260).
  • La til Linux-kompatible basename()- og dirname()-funksjoner for å forbedre portkompatibiliteten.
  • Flyttet fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 fra FreeBSD til libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Funksjoner fra math.h er flyttet fra OpenBSD.
  • Oppdaterte versjoner av tredjepartskomponenter, inkludert Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Standard kompilator er gcc-8.

Kilde: opennet.ru

Legg til en kommentar