( asch | 2020. 09. 29., k – 13:18 )

Szerintem a lockok és hasonlók nem működnek szándékos támadás ellen, mert a támadó egyszerűen nem lockolna és kész.

A példa relevanciája talán az is lehet, hogy ha mondjuk no-copy API-t akarnál csinálni Ethernethez, USB3-hoz, stb. Tehát a user processznek olyan memóriát kell elérnie, amibe a kernel, vagy akár DMA teszi az adatblokkokat. Ez elég kellemetlen komplexitással jár, ha mindezt biztonságosan akarjuk megcsinálni.

Vagy hasonló dolog volna, ha a Kernelhívásokat úgy akarnánk megcsinálni, hogy ne kelljen drága kontextus switch hozzájuk. Lehetne péládul, hogy a user processz egy round-robinba írja a kernel hívásokat paraméterekkel, és egy ilyenbe várja a válaszokat: teljesen blokkolás- és kontextusváltás-mentes API-t lehetne így csinálni, külön magon futna a kernel, és külön a user processz. Ez nagyteljesítményű kiszolgálóknál hasznos lehetne. Ha megnézed még egy epoll alapú kiszolgálónál is igencsak jelentős overhead-je van a kernelhívásoknak főleg kis üzenetek esetén. Pedig az már eleve teljesítményre van optimalizálva. Emiatt nem hülyeség ilyeneken gondolkodni.