turul16#48
1.
Boundary check nem OO feature
Belepesi pontok megadasa sem OO feature
pl. az OO -elotti ADA nyelv is tudott ilyeneket.
2. Te azt emelted ki, hogy az OO eszkozok tobb memoriat hasznalnak, ami gyakran igaz,de nem minidig C++ -nal nagyon minimalis tobblet meg virtualis osztalyok hasznalatakor is. (Tudom hibrid)
3. A lapozas bunetetese minimalis, es NEM OS fuggo. Ha pl. SWAP-et akarsz hasznalni akkor eleg nehez dolgod van nelkule, es meg lassabb lenne.
Egy lap elso elerese tovabb tart, mint siman fizikalis memoriat cimezni, leven 3-4 tablazatott kell MMU-nak megnezni, aztan azt ugye cacheli az TLB -ben.
Ha 4k lapokrol beszelunk, 32 bites rendszerrol. Akkor az elso eleres mondjuk 3x tovabb tart, de 1024 eleresre leosztva mar ez nem is latszik. Boven 1% alatt lesz. Utanna meg benne lesz (egy jo darabig) a TLB -ben.
Es nem mondanam, hogy kernel memoriajat mmapolod ki, Linearaddrest kepzed Physical addressre, ez a lekepzo tabla minden processnel mas lehet.
Memoria foglalas termesztesen ido, de ez elkerulhetetlen.
4.
hasonlitsd ossze sysenter/sysexit vs. call/ret utasitasok orajel ciklus szamat.