El nucli de Linux és l'element principal dels sistemes operatius (SO) Linux, i és la interfície fonamental entre el maquinari d'un ordinador i els processos.
fa poc Linus Torvalds va donar a conèixer el llançament de la nova versió de el nucli de Linux 6.7, la qual es presenta després de dos mesos de desenvolupament i entre els canvis més notables es destaca la integració del sistema de fitxers Bcachefs, la interrupció del suport per a l'arquitectura Itanium, la capacitat de Nouveau per treballar amb firmware GSP-R, suport per a xifrat TLS a NVMe-TCP, la capacitat d'usar excepcions a BPF, vaig entrar altres coses més.
La nova versió del nucli de Linux 6.7 aquesta conformada per 15291 correccions i aproximadament el 45% de tots els canvis introduïts estan relacionats amb controladors de dispositius; el 14% dels canvis estan relacionats amb l'actualització de codi específic per a arquitectures de maquinari; el 13% estan relacionats amb la pila de xarxa; el 5%. estan relacionats amb sistemes de fitxers i el 3% estan relacionats amb els subsistemes interns del nucli.
La mida del pegat és de 72 MB (els canvis van afectar 13.467 fitxers, es van afegir 906.147 línies de codi i es van eliminar 341.048 línies).
Principals novetats de el nucli de Linux 6.7
Integració del sistema de fitxers Bcachefs
Linux 6.7 adopta el codi del sistema de fitxers Bcachefs, que intenta aconseguir el rendiment, la fiabilitat i l'escalabilitat de XFS, combinat amb elements de la funcionalitat avançada que es troba a Btrfs i ZFS.
Bcachefs admet funcions com la inclusió de diversos dispositius en una partició, dissenys d'unitats de diverses capes (la capa inferior amb dades d'ús freqüent basats en SSD ràpids i la capa superior amb dades de discs durs menys utilitzats), replicació (RAID 1/10), emmagatzematge en memòria cau, compressió de dades transparent (modes LZ4, gzip i ZSTD), talls d'estat, verificació d'integritat mitjançant sumes de verificació, capacitat d'emmagatzemar codis de correcció d'errors Reed-Solomon (RAID 5/6), emmagatzematge d'informació en forma xifrada (s'utilitzen ChaCha20 i Poly1305). En termes de rendiment, Bcachefs està al davant de Btrfs i altres sistemes de fitxers basats en el mecanisme de còpia en escriptura i demostra una velocitat de funcionament propera a Ext4 i XFS.
Millores a Btrfs
A Linux 6.7 s'ha implementat per a Btrfs una manera de quota simplificada que permet aconseguir un millor rendiment en rastrejar les extensions només en la subpartició en què es creen, cosa que simplifica enormement els càlculs i millora el rendiment, però no permet que les extensions es comparteixin entre diverses subparticions. A més, a Btrfs s'ha afegit una nova estructura de dades d'stripe tree, adequada per al mapeig d'extensió lògica en situacions on el mapeig físic no coincideix entre dispositius. L'estructura es fa servir actualment en implementacions de RAID0 i RAID1 per a dispositius de blocs zonificats.
Suspensió del suport per a l'arquitectura Itanium (ia64)
Es va suspendre el suport per a l'arquitectura ia64 utilitzada als processadors Intel Itanium, que svan uspendre per complet el 2021. Intel va introduir els processadors Itanium el 2001, però l'arquitectura ia64 no va poder competir amb AMD64, principalment a causa del major rendiment d'AMD64 i la transició més fluida des dels processadors x86 de 32 bits. Linus Torvalds va expressar la seva voluntat de tornar el suport ia64 al nucli, però snomés si hi ha un mantenidor que pugui demostrar alta qualitat de suport per a aquesta plataforma fora del nucli principal durant almenys un any.
Migració contínua de canvis de la branca Rust-for-Linux
La nova versió fa la transició a lús de la versió Rust 1.73 i ofereix un conjunt denllaços per treballar amb cues de treball.
Millores en la implementació de cues FIFO
En aquesta nova versió de Linux 6.7 es va afegir la implementació d'un mecanisme light-weight FIFO de connexió única que requereixen un spinlock només per treure la cua en un context de procés i prescindeixen d'aquest per a addicions atòmiques a la cua en qualsevol context. A més, es va afegir un memòria intermèdia circular «objpool» amb una implementació escalable d'una cua d'alt rendiment per assignar i tornar objectes.
Suport de xifrat TLS per a NVMe-TCP
A Linux 6.7 el controlador NVMe-TCP (que us permet accedir a unitats NVMe a través de la xarxa), ha afegit suport per xifrar el canal de transmissió de dades usant TLS (usant KTLS i un procés en segon pla) a l'espai d'usuari tlshd per a negociació de connexió.
Millora del rendiment del programador de paquets
Es va optimitzar el rendiment del programador de paquets fq, la qual cosa va permetre augmentar el rendiment en un 5% sota càrregues pesades a la prova tcp_rr (Sol·licitud/Resposta TCP) i en un 13% amb un flux il·limitat de paquets UDP.
Adopció del TCP Authentication Option
A la pila TCP s'ha afegit suport per a l'extensió TCP-AO que permet verificar les capçaleres TCP utilitzant codis MAC, utilitzant algorismes més moderns HMAC-SHA1 i CMAC-AES-128 en lloc de l'opció TCP-MD5 prèviament disponible basada en el algorisme MD5 heretat.
Dels altres canvis que es destaquen:
- S'han afegit noves configuracions «cpuset.cpus.exclusive» i «cpuset.cpus.excluisve. Effective» a cpuset per a l'enllaç exclusiu de la CPU.
- El subsistema BPF implementa suport per a excepcions , que es processen com una sortida d'emergència d'un programa BPF amb la capacitat de desenvolupar marcs de pila de manera segura. A més, els programes BPF permeten lús de punters kptr en connexió amb la CPU.
- Per a les arquitectures ARM32 i S390x, es va afegir compatibilitat amb el conjunt actual (cpuv4) d'instruccions BPF.
- Per a l'arquitectura RISC-V, és possible utilitzar el mode de verificació Shadow-Call Stack disponible a Clang 17, dissenyat per protegir contra la sobreescriptura de la direcció de retorn d'una funció en cas d'un desbordament de memòria intermèdia a la pila.
- S'ha afegit un nou mode d'escaneig de pàgines de memòria intel·ligent al mecanisme per fusionar pàgines de memòria idèntiques (
- A AppArmor s'ha afegit la capacitat de controlar l'accés al mecanisme io_uring i crear espais de noms d'usuari, cosa que us permet permetre selectivament l'accés a aquestes capacitats només a certs processos.
- S'ha afegit API de certificació de màquina virtual per verificar la integritat del procés d'inici de la màquina virtual.
- Els sistemes LoongArch admeten la virtualització mitjançant l'hipervisor KVM.
- S'ha afegit suport inicial per al microprogramari GSP-RM al mòdul del nucli Nouveau, que s'utilitza a la GPU NVIDIA RTX 20+ per moure les operacions d'inicialització i control de la GPU al costat d'un microcontrolador GSP
Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls en el següent enllaç.