Razvoj Linux kernel nastavlja da napreduje prema svojoj sljedećoj verziji, i među najupečatljivijim novim karakteristikama jedan je pronađen Prijedlog za omogućavanje Microsoft C ekstenzija po zadanim postavkamaOva proširenja, poznata kao -fms-extensions, dio su razvojne grane kbuild-next. Kompatibilna su i sa GCC-om i sa Clang-om. Omogućavaju kompajleru da prepozna nestandardne C jezičke konstrukcije. inspirisan Microsoft Visual C++, kao što je upotreba anonimnih struktura i unija unutar drugih struktura.
Mjera, usmjerena na pojednostavljenje i čitljiviji izvorni kod kernela, Nastoji iskoristiti određene karakteristike Microsoft C-a koje mogu biti korisne. u specifičnim kontekstima razvoja operativnih sistema.
Iako je historijski postojao određeni otpor prema usvajanju elemenata povezanih s Microsoftovim ekosistemom, prisustvo ovih zakrpa u kbuild-next ukazuje na to da je promjena blizu prihvatanja za prozor za spajanje Linuxa 6.19.
Još jedan korak ka integraciji
u Dva predložena zakrpe uvode ovu opciju Kompilacija `-fms-extensions` je uključena po defaultu tokom cijelog procesa izgradnje kernela. To znači da će sve sistemske arhitekture i komponente, kada se kompajliraju sa GCC ili LLVM/Clang, imati pristup ovim ekstenzijama.
Programer Rasmus Villemoes, jedan od zagovornika prijedloga, objasnio je da Omogućavanje ovih proširenja bi omogućilo kreiranje "elegantnijeg i čistijeg koda". Eliminisanjem potrebe za korištenjem dodatnih kompajlnih zastavica svaki put kada je potrebna Microsoftova funkcionalnost, C. Villemoes tvrdi da bi se, omogućavanjem istih na globalnom nivou, izbjegla rasprava o njihovoj upotrebi od slučaja do slučaja, što bi olakšalo homogeniji stil razvoja unutar kernela.
Implicitna podrška Linusu Torvaldsu
Iako U prošlosti, slični prijedlozi nisu uspjeli proći reviziju. na mailing listi kernela, Ovaj put situacija izgleda drugačijaLinus Torvalds, tvorac Linuxa, učestvovao je u diskusiji i nije se protivio aktiviranju ekstenzija -fms.
Ovo sugerira da bi promjena mogla biti službeno implementirana u Linuxu 6.19, pod uslovom da se ne pojave prigovori od strane drugih istaknutih programera. Jedna od zakrpa povezanih sa sistemom kompilacije kbuild osigurava da se opcija -fms-extensions primjenjuje i na arhitekture koje koriste prilagođene CFLAGS-ove, održavajući konzistentnost kompilacije u cijelom ekosistemu kernela.
La Usvajanje -fms-extensions predstavlja tehnički korak. Ovo je daljnji dio kontinuirane evolucije Linux kernela. Iako se može činiti kao sporedan detalj, mogućnost podrške nestandardnim konstrukcijama nudi veću fleksibilnost u pisanju koda, posebno u složenim strukturama.
Međutim, Dio zajednice je izrazio rezerve o oslanjanju na funkcije povezane s Microsoftom, bojeći se da bi to moglo utjecati na prenosivost ili čistoću C koda koji se koristi u Linuxu. Uprkos tome, inicijativa ima podršku nekoliko programera koji vjeruju da prednosti daleko nadmašuju moguće nedostatke.
Nedavni napredak u kernelu
Pored diskusija o Microsoftovim C ekstenzijama, Linux kernel 6.19 će također uključivati ispravke za drajver Minix datotečnog sistema.Ovaj format ima historiju dugu preko četiri decenije. U ovom drajveru su identifikovane greške usled oštećenja, a planirane ispravke će poboljšati upravljanje i oporavak oštećenih slika, čineći sistem otpornijim na greške pri čitanju i pisanju.
Ovo poboljšanje pokazuje kontinuiranu posvećenost Linux programera održavanju unatrag kompatibilnosti i stabilnosti u sistemima koji se, iako stari, još uvijek koriste u obrazovnim ili eksperimentalnim kontekstima.
Dok se verzija 6.19 finalizira, Kernel tim nastavlja raditi na prethodnim ažuriranjimaLinux 6.18, trenutno u svojoj petoj verziji (6.18-rc5), poboljšava HID podsistem novim funkcijama, kao što su podrška za haptičke panele osjetljive na dodir, bolje upravljanje zvukom Sonyjevog DualSense kontrolera i veća fleksibilnost u HID-BPF-u.
Takođe Uključuje poboljšanu sigurnost u ioctl pozivima iz hydraw-a.Uključene su nove PIDFF haptičke funkcije i napredna podešavanja za Intel QuickI2C. Cilj ovih optimizacija je pružiti bolje korisničko iskustvo i povećati kompatibilnost hardvera s vlasničkim operativnim sistemima.
Izvor: https://git.kernel.org/