Portál AbcLinuxu, 8. srpna 2025 22:02
proces1 -> proces2
narozdil od proces1 -> u-kernel -> proces2
u Machu Navíc není důvod k tomu, aby mu nebyla paměť pro zprávu dočasně nepřístupná, a/nebo aby zprávy nebyly alokovány v paměti sdílené oběma procesy.Ta pamet by musela byt nepristupna behem doby, co s ni pracuje adresat. Aby nemohlo dojit k podvrzeni nejake zpravy (poslu neco hezkeho a pak to zapisem do pameti zmenim na neco oskliveho), tak by musela byt nedostupna pro odesilatele i okamzite po odeslani. Tedy musela by byt nedostupna celou dobu. Cili uz se moc nebavime o asynchronni komunikaci. Navic zkopirovat kus pameti muze vyjit lacineji nez vytvaret sdileni a pak to sdileni zase rusit. To same plati o COW.
A proč by neměl být omezován? Omezení bude, protože se mi prostě chce. Postup "Vyrobit buffer, naplnit buffer, předat buffer, počkat na výsledek." mi nepřijde nijak zvrácený. Spolus s recyklací jednou vyrobených bufferů to bude i rychlé (s výsledkem bude buffer vrácen pro další použití).A kam se podelo to poslu zpravu a muzu delat neco jinyho, kdyz to neco jinyho je treba poslat dalsi zpravu nebo pracovat s daty, ktera jsou na stejne strance? Myslim, ze se to takhle nedela prave proto, ze to ma jiz zminene problemy s: bezpecnosti, asynchronnosti, vykonem a neprakticnosti. Jestli to kvuli pouziti bude kopirovat odesilatel nebo prijemce, tak fakt nevim, kde je ta vyhoda, kdyz zamerem bylo vyhnout se kopirovani.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.