Pēc divu mēnešu izstrādes Linuss Torvalds izlaida kodolu. Linux 6.18. Starp ievērojamākajām izmaiņām: dm-pcache disku kešatmiņai nepastāvīgajā atmiņā (PMEM), Bcachefs noņemšana, tiešsaistes XFS pārbaudes režīms, saistvielu draiveri (Android IPC) un Tyr (GPU Mali) Rust vidē, iespēja izveidot USB draiverus Rust vidē, kešatmiņas optimizācija SLUB atmiņas sadalītājā, nosaukumtelpu adresēšana, izmantojot failu deskriptorus, mijmaiņas paātrināšana, BPF programmu verifikācija ar digitālo parakstu, Intel CET virtualizācija KVM vidē, PSP tīkla protokols (TLS un IPsec hibrīds), atbalsts AccECN IP paplašinājumam, UDP steka optimizācija.
Jaunajā versijā ir iekļauti 15035 2217 labojumi no 45 izstrādātājiem, ielāpa lielums ir 13142 MB (izmaiņas ietekmēja 601897 355006 failus, tika pievienotas 14334 2118 koda rindas, tika dzēstas 46 40 rindas). Pēdējā laidienā bija 6.18 16 labojumi no 12 izstrādātājiem, ielāpa lielums bija 5 MB. Aptuveni 3% no visām XNUMX versijā ieviestajām izmaiņām ir saistītas ar ierīču draiveriem, aptuveni XNUMX% izmaiņu ir saistītas ar aparatūras arhitektūrām raksturīgā koda atjaunināšanu, XNUMX% ir saistītas ar tīkla steku, XNUMX% ir saistītas ar failu sistēmām un XNUMX% ir saistītas ar kodola iekšējām apakšsistēmām.
Galvenās jaunās funkcijas kodola 6.18 versijā (1, 2, 3):
- Diska apakšsistēma, I/O un failu sistēmas
- Device Mapper ir pievienots apstrādātājs dm-pcache, lai izmantotu pastāvīgo atmiņu (CXL atmiņu, kas adresēta, izmantojot DAX ierīci) kā papildu augstas veiktspējas kešatmiņu lēnāku tradicionālo disku vai zibatmiņu priekšā. Dm-pcache nodrošina kešatmiņas satura saglabāšanu avārijas gadījumā (drošība pret avārijām), izmantojot nepastāvīgu atmiņu, dublējot metadatus un pārbaudot datu un metadatu integritāti, izmantojot CRC32 kontrolsummas. Pašlaik tiek atbalstīta tikai atpakaļrakstīšanas kešatmiņa.
- Bcachefs failu sistēmas kods ir noņemts no kodola un tagad tiks izplatīts kā ārējs modulis, kas veidots, izmantojot DKMS (Dynamic Kernel Module Support) rīku ķēdi. Bcachefs kods varētu tikt atkārtoti ieviests kodolā pēc tam, kad Kents Overstrīts būs parādījis savu spēju pareizi mijiedarboties ar citiem kodola izstrādātājiem un ievērot noteiktās izstrādes vadlīnijas.
- Sistēmas izsaukumam pwritev2() ir pievienots karodziņš RWF_NOSIGNAL, lai atspējotu SIGPIPE signāla sūtīšanu, rakstot uz bojātiem nenosauktiem kanāliem vai ligzdām.
- Procfs ir pievienota pieslēgšanas opcija "pidns", lai norādītu procesa ID nosaukumtelpas (PID nosaukumtelpas). Piemēram: "mount -t proc -o pidns=/proc/self/ns/pid proc /tmp/proc".
- XFS ir pasludināta par stabilu un pēc noklusējuma iespējota, lai izmantotu fsck utilītu, lai pārbaudītu un novērstu atklātās problēmas tiešsaistē, neatvienojot failu sistēmu. Ir pievienoti sistēmas izsaukumi file_getattr un file_setattr, lai mainītu īpašu failu (jebkura inode) atribūtus. XFS_SUPPORT_V4 (XFS 4. versija) un XFS_SUPPORT_ASCII_CI (reģistrnejutīgs ASCII režīms) opcijas tagad pēc noklusējuma ir atspējotas KConfig un ir novecojušas. Novecojušās attr2, noattr2, ikeep un noikeep pievienošanas opcijas ir noņemtas.
- MD RAID ievieš jauna veida bitkartes — llbitmap (bez bloķēšanas bitkarte), kas darbojas bez bloķēšanas un nodrošina augstāku veiktspēju.
- Informācija, kas saistīta ar šifrēšanu un verifikāciju (rādītāji i_crypt_info un i_verity_info), ir pārvietota no vispārējās "inode" struktūras. Šīs izmaiņas samazina atmiņas patēriņu failu sistēmās, kas neatbalsta šifrēšanu un verifikāciju.
- FUSE apakšsistēma tagad atbalsta sistēmas izsaukumu copy_file_range() un tiešu diapazona kopēšanu, izmantojot 64 bitu lieluma tipu (iepriekš tika atbalstīts tikai 32 bitu lielums). Pievienots atbalsts sinhronai inicializācijai pievienošanas laikā (FUSE_DEV_IOC_SYNC_INIT).
- Ext4 failu sistēma tagad atbalsta 32 bitu lietotāja ID (uid) un grupas ID (gid) izmantošanu, piekļūstot rezervētajiem blokiem. Pievienotas ioctl operācijas superbloka parametru iestatīšanai un lasīšanai uzstādītām failu sistēmām (tune2fs tagad var mainīt superbloka parametrus, nepieprasot rakstīšanas piekļuvi bloka ierīcei). Novecojuši ext3 specifiskie iestatījumi ir pilnībā noņemti.
- f2fs ir pievienota pieslēgšanas opcija "lookup_mode", lai izvēlētos meklēšanas režīmu: perf (jaukšanas meklēšana), compat (lineārā meklēšana) vai auto (automātiska atlase). Režīma maiņa ir noderīga konfigurācijām ar reģistrnejutīgiem direktorijiem. Pašreizējo meklēšanas režīmu var atrast failā "/sys/fs/f2fs/". /effective_lookup_mode". Pievienota iespēja rezervēt inodus, kas pieejami tikai privilēģiju lietotājiem.
- Overlayfs tagad atbalsta reģistrnejutīgu darbību, ko var iespējot failu sistēmas slāņa līmenī (atsevišķu direktoriju iestatīšana vēl netiek atbalstīta).
- BTRFS uzlabo darbību paralēlizāciju ar lielu lasīšanas slodzi un mazu rakstīšanas slodzi, samazina darījumu izpildes laikus un ievērojami samazina sinhronizācijas laiku (no minūtēm līdz desmitiem sekunžu). Tagad ir pieejama iespēja izmantot blokus (bs), kas ir lielāki par atmiņas lapu (ps).
- ksmbd (kodola bāzes SMB serverim) ir pievienots parametrs, lai ierobežotu maksimālo savienojumu skaitu no viena servera. IP adresessmbdirect, smbclient un smbserver ir pārslēgti uz standarta kodola struktūru izmantošanu.
- SQUASHFS tagad atbalsta SEEK_DATA un SEEK_HOLE opcijas lseek() sistēmas izsaukumā, lai meklētu datus un caurumus retos failos. Daži testi ir parādījuši līdz pat 150 reizēm lielāku veiktspējas uzlabojumu reto failu kopēšanai.
- EXFAT tagad atbalsta FS_IOC_GETFSLABEL un FS_IOC_SETFSLABEL ioctls nodalījumu etiķešu lasīšanai un rakstīšanai. Tagad tas ļauj mainīt pievienošanas opcijas atkārtotas pievienošanas laikā. Ir uzlabota bitkartes ielādes veiktspēja.
- NTFS3 pievieno atbalstu ioctls FS_IOC_GETFSLABEL un FS_IOC_SETFSLABEL nodalījumu etiķešu lasīšanai un iestatīšanai.
- Atmiņas un sistēmas pakalpojumi
- Tiek pieņemta Binder starpprocesu komunikācijas mehānisma, kas rakstīts Rust valodā, ieviešana. Binder tiek izmantots Android lai organizētu mijiedarbību starp procesiem un attāliem metožu izsaukumiem (viens process Android var izsaukt metodi vai funkciju citā procesā Android, izmantojot Binder, lai identificētu, izsauktu un nodotu argumentus starp procesiem). Binder kods tika pārrakstīts Rust valodā kā daļa no Google drošības iniciatīvas. Android.
- SLUB, kodola atmiņas piešķīrējs, ievieš papildu "saišu" kešatmiņas slāni. Tas izmanto vairākas kešatmiņas, katra no kurām ir saistīta ar atsevišķu centrālā procesora kodolu, ļaujot atmiņas piešķiršanas un atbrīvošanas operācijas lokalizēt vienā kodolā. Šī kešatmiņa uzlabo atmiņas piešķiršanas un atbrīvošanas veiktspēju kodolā, novēršot nevajadzīgas sinhronizācijas primitīvas, kas nepieciešamas, ja ir iesaistīti vairāki centrālā procesora kodoli. Mūsu testos veiktspējas pieaugums svārstījās no 6.3% līdz 31% atkarībā no darba slodzes.
- Pievienota iespēja izveidot failu deskriptorus, kas saistīti ar konkrētu vārdtelpu. Atšķirībā no piekļuves vārdtelpām, izmantojot identifikatorus (/proc/ /ns/), faila deskriptors tiek piešķirts konkrētai vārdtelpas instancei un neļauj identifikatoram tikt atkārtoti piešķirtam un norādīt uz citu objektu. Līdzīgi kā pidfds, failu deskriptoru, kas atsaucas uz vārdtelpām, atvēršana tiek veikta, izmantojot funkcijas open_by_handle_at() un name_to_handle_at().
- Lai uzlabotu mijmaiņas veiktspēju, ir ieviests "Swap Table" mehānisms. Šis uzlabojums ir panākts, samazinot mijmaiņas kešatmiņas apjomīgumu, padarot kešatmiņas meklēšanu efektīvāku un samazinot fragmentāciju. Mijmaiņas kešatmiņai tiek izmantota uz Swap Table balstīta servera sistēma, nevis XArray servera sistēma, un tas ir uzlabojis vidējo veiktspēju par 5–20 %. Usemem testā caurlaidspēja palielinājās par 17–28 %, daudzpavedienu kodola pārbūves testā izveides laiks samazinājās par 1.12–3.19 %, un redis-benchmark tests ar BGSAVE uzrādīja apstrādāto pieprasījumu skaita pieaugumu par 6–7 %.
- Zswap apakšsistēma ir migrēta, lai tieši izmantotu zsmalloc atmiņas piešķiršanas sistēmu zpool slāņa vietā, kas vairs netiek izmantots nekur un tagad ir noņemts no kodola.
- Lai kontrolētu mikrokoda ielādētāja darbību x86 sistēmās, ir ieviesta komandrindas opcija "microcode=flaglist". Pašreizējā formā šī jaunā opcija aizstāj "microcode.force_minrev" un ļauj norādīt minimālo mikrokoda versiju, kas ir atļauta ielādei.
- Ir uzsākts darbs pie pārmērīgi uzpūstās "lapas" struktūras, ko izmanto RAM lapu pārvaldībai, reorganizācijas. Laukiem ar vispārējas nozīmes karodziņiem, kurus var izmantot pēc tam, kad paredzēta atsevišķu plākšņu un foliju struktūru atdalīšana no "lapas" struktūras nākotnē, ir pievienots tips 'memdesc_flags_t'.
- Altera Nios II procesoros (FPGA bāzes programmatūras procesoros) izmantotajai nios2 arhitektūrai ir ieviests atbalsts clone3() sistēmas izsaukumam.
- Kodola konfigurācijai (KConfig) ir pievienots atribūts "transitional". To var izmantot, lai atzīmētu iestatījumus, kas nav redzami lietotāja saskarnēs, piemēram, "make menuconfig", un nav iekļauti ģenerētajos konfigurācijas failos. Šī atribūta galvenais mērķis ir vienkāršot pārdēvēšanas opcijas, vienlaikus saglabājot atpakaļsaderību.
- Clang kompilatora minimālā versija, kas var veidot kodolu, ir palielināta līdz LLVM 15. Debian 12 un Ubuntu LLVM 14 tiek piegādāts 22.04.
- Turpināta izmaiņu migrācija no Rust-for- atzaraLinuxSaistīts ar Rust izmantošanu kā otro valodu draiveru un kodola moduļu izstrādei (Rust atbalsts pēc noklusējuma nav iespējots un neietver Rust kā obligātu kodola veidošanas atkarību). Jaunā versija ievieš atomārās atmiņas operācijas, kļavu koka struktūru, iespēju izveidot DebugFS failus un bitkartes manipulācijas funkcijas Rust kodam. Ir paplašināta piekļuve draiveru izstrādes API. Ir pievienots pilns abstrakciju kopums USB ierīču draiveru izstrādei (USB draivera piemērs). perf utilīta tagad atbalsta rustc kompilatora ģenerētos atkļūdošanas simbolus.
- Virtualizācija un drošība
- Pievienots atbalsts lejupielādētu BPF programmu kriptogrāfiskai verifikācijai, izmantojot digitālo parakstu. Šī iespēja tiks paplašināta, iekļaujot rīkus parakstītu BPF programmu lejupielādes noteikumu definēšanai un nepiederošu lietotāju iespējošanai izmantot pārbaudītas BPF programmas.
- KVM hipervizors ievieš atbalstu Intel CET (Control-flow Enforcement Technology) virtualizācijas paplašinājumam, kas aizsargā pret uzbrukumiem, izmantojot atgriešanas orientētas programmēšanas (ROP) metodes. Šī aizsardzība darbojas, saglabājot funkcijas atgriešanas adresi ne tikai parastajā kaudzē, bet arī atsevišķā ēnu kaudzē, kuru nevar tieši modificēt.
- Pievienota iespēja izmantot vairāk nekā 255 centrālos procesorus viessistēmās, kurās darbojas Bhyve hipervizors FreeBSD 15 resursdatoros.
- Pievienots dibs (tiešas iekšējās bufera koplietošanas) slānis kontrolētai buferu koplietošanai izolētā vidē, piemēram, hipervizora vai kodola instancē. Linux.
- Audita apakšsistēma tagad atbalsta darbu ar vairākiem vienlaicīgi iespējotiem LSM moduļiem (Linux Drošības modulis).
- Pievienots virtio draiveris spi-virtio, lai piekļūtu SPI (seriālās perifērijas saskarnes) ierīcei no virtuālās mašīnas.
- KVM hipervizors ir atjaunināts, lai atbalstītu SEV-SNP šifrētā teksta slēpšanas režīmu, kas bloķē aizsargātas viessistēmas atmiņas šifrētā teksta lasīšanu neatļautā centrālajā procesorā.
- Pievienots qtee draiveris Qualcomm mikroshēmu TEE (uzticamas izpildes vides) vidēm.
- Tīkla apakšsistēma
- Izmantojot PSP drošības protokolu (PSP), ko izstrādājis Google datplūsmas šifrēšanai starp datu centriem, ir pievienots atbalsts šifrētiem TCP savienojumiem. PSP nodrošina šifrēšanu, kriptogrāfiskās integritātes kontroli un avota autentifikāciju, ieviešot unikālu TLS un IPsec iespēju kombināciju. PSP piemēro šifrēšanu atsevišķu tīkla savienojumu līmenī, nevis visa saziņas kanāla līmenī. PSP izmanto atsevišķas šifrēšanas atslēgas dažādiem tunelētiem TCP savienojumiem, lai stingri izolētu datplūsmu no dažādām lietojumprogrammām un apstrādātājiem. Lai samazinātu centrālā procesora slodzi, šifrēšanas un atšifrēšanas operācijas tiek novirzītas uz tīkla kartēm (pārvietošana). UDP tiek izmantots kā datu pārsūtīšanas protokols, pa kuru tiek pārsūtīts sākotnējās TCP paketes saturs.

- Sākotnējais atbalsts ir pievienots precīzai tiešai pārslodzes paziņošanai (AcECN). Šis paplašinājums ir uzlabota ECN paplašinājuma versija, kas ļauj resursdatoriem atzīmēt IP paketes pārslodzes gadījumā, nevis tās atmest, tādējādi ļaujot noteikt pārslodzes sākšanos sakaru kanālos, nezaudējot paketes. Sākotnējam ECN paplašinājumam ir ierobežojums, kas ļauj viena TCP apļa laikā (RTT, apļa laiks, pieprasījuma nosūtīšana un atbildes saņemšana) ģenerēt tikai vienu pārslodzes signālu. AccECN novērš šo ierobežojumu un ļauj uztvērējam nosūtīt sūtītājam vairāk nekā vienu pārslodzes signālu TCP paketes galvenē. Pārslodzes kontroles algoritmi var izmantot šo informāciju, lai precīzāk reaģētu uz pārslodzi un izvairītos no pēkšņas pakešu pārsūtīšanas ātruma samazināšanas, ja rodas neliela pārslodze.
- UDP steks ir optimizēts ienākošo pakešu apstrādei DDoS uzbrukumu gadījumā, kā rezultātā vienā vai vairākās UDP ligzdās nonāk liels skaits pakešu. Optimizācijas, piemēram, konkurences samazināšana, datu struktūru izkārtojuma optimizēšana atmiņā un NUMA (Non-Uniform Memory Access) apzinīgu slēdzeņu izmantošana, ir palielinājušas UDP pakešu uztveršanas veiktspēju par 47% vai vairāk ekstremālos apstākļos.
- Ir ieviesta iespēja atspējot I/O kešatmiņu NFS serverī, kas ļauj NFS serveri izmantot sistēmās ar ierobežotu atmiņu (piemēram, ierobežotās mākoņvidēs). Kešatmiņas atspējošana var būt noderīga arī ļoti noslogotos NFS serveros, lai novērstu ar lokālo krātuvi saistīto datu izdzēšanu no kešatmiņas, atbrīvojot atmiņu NFS kešatmiņai.
- Tīkla ligzdu (net.core.rmem_max un net.core.wmem_max) ienākošo un izejošo pakešu buferu maksimālais izmērs ir palielināts no 2 MB līdz 4 MB. Noklusējuma izmērs paliek nemainīgs (net.core.rmem_default un net.core.wmem_default = 2 MB).
- Pievienots draiveris Qualcomm PPE (pakešu apstrādes dzinēja) tīkla paātrinātājam, kas tiek izmantots Qualcomm IPQ9574 SoC.
- Izmantojot PSP drošības protokolu (PSP), ko izstrādājis Google datplūsmas šifrēšanai starp datu centriem, ir pievienots atbalsts šifrētiem TCP savienojumiem. PSP nodrošina šifrēšanu, kriptogrāfiskās integritātes kontroli un avota autentifikāciju, ieviešot unikālu TLS un IPsec iespēju kombināciju. PSP piemēro šifrēšanu atsevišķu tīkla savienojumu līmenī, nevis visa saziņas kanāla līmenī. PSP izmanto atsevišķas šifrēšanas atslēgas dažādiem tunelētiem TCP savienojumiem, lai stingri izolētu datplūsmu no dažādām lietojumprogrammām un apstrādātājiem. Lai samazinātu centrālā procesora slodzi, šifrēšanas un atšifrēšanas operācijas tiek novirzītas uz tīkla kartēm (pārvietošana). UDP tiek izmantots kā datu pārsūtīšanas protokols, pa kuru tiek pārsūtīts sākotnējās TCP paketes saturs.
- Оборудование
- Tyr draiveris, kas rakstīts Rust valodā, ir integrēts kodolā. Tas atbalsta ARM Mali GPU, kas izmanto Command Stream Frontend (CSF) tehnoloģiju, piemēram, Mali G310, G510 un G710. Draiveris vēl nav gatavs regulārai lietošanai regulāriem lietotājiem un tiek uzskatīts par eksperimentālu prototipu abstrakciju testēšanai draiveru izstrādei Rust valodā.
- HID (cilvēka saskarnes ierīču) ievades ierīču draiveriem ir pievienots atbalsts skārienpaliktņiem ar haptisko atgriezenisko saiti un spiediena sensoriem.
- Turpinājies darbs pie Xe DRM (Direct Rendering Manager) draivera GPU, kuru pamatā ir Intel Xe arhitektūra, kas tiek izmantota Intel Arc sērijas grafikas kartēs un integrētajās grafikas kartēs, sākot ar Tiger Lake procesoriem. Jaunajā versijā ir pievienota madvise saskarne, iespējots atbalsts SR-IOV PF (Single Root I/O Virtualization Physical Function), pievienots atbalsts Intel PSMI režīmam aparatūras validācijai, nodrošināta programmaparatūras pārsūtītās kļūdu informācijas apstrāde, ieviests SLPC barošanas profils un pievienots atbalsts papildu programmaparatūras (piemēram, ventilatora kontrollera un sprieguma regulatora) ielādei draivera validācijas laikā.
- AMDGPU draiveris tagad atbalsta ierīces ar Cyan Skillfish APU, uzlabo AMD GCN 1.0 atbalstu, pievieno saderību ar criu rīkkopu, pievieno temperatūras metrikas sysfs un ļauj veikt MMIO atkārtotas kartēšanas pieprasījumus no lietotāja telpas.
- i915 draiveris ietver atbalstu Wildcat Lake mikroshēmu saimei un uzlabo veiktspēju ar Jasper Lake, Elkhart Lake, Gen7 un Gen6 GPU.
- Nouveau draiveris pēc noklusējuma izmanto NVIDIA GSP programmaparatūru un ir uzlabojis kļūdu apstrādi.
- Turpināta Nova draivera komponentu integrācija NVIDIA GPU, kas aprīkoti ar GSP programmaparatūru, kuras tiek izmantotas, sākot ar NVIDIA GeForce RTX 2000 sēriju, kuras pamatā ir Tjūringa mikroarhitektūra. Draiveris ir rakstīts Rust valodā. Jaunā versija paplašina GSP programmaparatūras atbalstu, uzlabo "register!" makro ieviešanu un pievieno atbalstu PCI ierīču klasēm un pārdevēju ID.
- Pievienots raķešu draiveris NPU paātrinātājiem, ko izmanto Rockchip RK3588 SoC.
- Pievienots kodola parametrs "boot_display", lai atlasītu izvades ierīci sāknēšanas procesa attēlošanai sistēmās ar vairākiem GPU.
- Vesadrm draiveris ievieš atbalstu 8 bitu paletēm.
- Msm draiveris ir atjaunināts, lai atbalstītu Adreno 663 GPU un ieviestu atbalstu IFPC (Inter Frame Power Collapse) enerģijas patēriņa samazināšanas tehnoloģijai.
- Panthor draiverim ir pievienots atbalsts Mali-G710, Mali-G510, Mali-G310, Mali-Gx15, Mali-Gx20 un Mali-Gx25 grafiskajiem procesoriem.
- Pievienots atbalsts šādām ASoC skaņas sistēmām: Qualcomm Glymur un PM4125, Realtek RT1321, Shanghai FourSemi FS2104/5S, Texas Instruments PCM1754 un TAS2783A, qcs615, CS35L56 B2, tas2118, tas2x20 un tas5825. Pievienots atbalsts Tascam US-144mkII un Presonus S1824c USB skaņas kartēm.
- Pievienots atbalsts ARM CPU Cortex-A320/A520AE/A720AE un C1-Nano/Pro/Premium/Ultra.
- Pievienots atbalsts ARM platēm, SoC un ierīcēm: Apple M2 Pro, M2 Max un M2 Ultr, Sony Xperia SP, Samsung Galaxy S22, Samsung Galaxy S20 FE, ASUS Eee Pad Slider SL101, Lenovo ThinkBook 16, HP Omnibook X14 X1P42100, Dell Inspiron 7441 / Latitude 7455, Sige1, NanoPi Zero2, Axis Artpec8, NXP i.MX91, ROCK 2A/2F, Qualcomm Lemans Auto, Renesas RZ/T2H, RZ/N2H, RZ/T2H un RZ/N2H, Aspeed AST27xx, Meta Clemente BMC, Netcube Nagami som, Tqma91xx, Ultratronik i.MX8MP Ultra-MACH, i.MX8ULP EVK9, Buffalo WXR-1750DHP.
Tajā pašā laikā Latīņamerikas Brīvās programmatūras fonds izveidoja pilnīgi bezmaksas kodola 6.18 versiju - Linux-libre 6.18-gnu, attīrīta no programmaparatūras un draiveru elementiem, kas satur nebrīvas komponentes vai koda sadaļas ar ierobežotu darbības jomu. 6.18 laidienā ir iekļauts atjaunināts blobu tīrīšanas kods Nova-Core, Intel XE, TI PRUeth, Lantiq GSWIP un Marvell WiFi-Ex draiveros. Ir iztīrīti blobu nosaukumi devicetree (.dts) failos Qualcomm, Mediatek un TI ARM64 ARM mikroshēmām. Blobu ielāde ir atspējota jaunajos FourSemi fs2104/5s, TI TAS2783 un Qualcomm GENI draiveros.
Avots: opennet.ru

