Tűnődtem kicsit a dolgon. Amit írsz, azt jelenti, hogy az os védi (védené) egymástól a processzeket, de nem védi őket saját maguktól. Nekem olyan emlékeim vannak, hogy az os ügyesen ugyanazt a (readonly?) utasítás-memóriát több processznek is rendelkezésre bocsátja, ezzel szemben minden processz saját elkülönített adat-memóriával rendelkezik. Vagyis, a többszörösen használt kód csak egy példányban van benn a memóriában. Namost, ha ez igaz, és a programok mégis írni tudnának a kódszegmensbe, akkor egymás ellen sem volnának védve.
Úgy tudom, már a 286-os processzorok is tudták így védeni a kódszegmenst.
Még tovább kapirgáltam az emlékeimben, és felderengett, hogy az os-ek még ügyesebbek: mindaddig közös a közösen használt memória, amíg az egyik processz nem módosít rajta. A módosítás hatására másolat keletkezik a kérdéses lapból, és az utak szétválnak.
Mindezek nekem azért azt mutatják, hogy a megoldást az os szintjén kellene keresni. Azt várni, hogy minden egyes felhasználói program tökéletes lesz, elég reménytelen.
--
CCC3