[ mulaz @ 30.04.2006. 23:54 ] @
Code:

#include <stdio.h>

int main(void) 
{
  int a=1;
  int *pa=&a;
  
  while (1) {
    pa++;
    printf("paddr=%p pval=%d\n",pa,*pa);
    *pa=1;
  }
 return 0;
}



e sad .. pokusavao sam da za foru napisem program kojic e da prepise deo memorije nekim sr***em. Koliko se razumem OS ce da nadje mesto u memoriji za variablu a i tamu upise jedinicu (ili bilosta u dosegu int-a). i onda u onom infinite loopu uvecava pointer za jedno mesto dalje (8 bita ilo koliko vec zauzme jedan int) i na to mesto upise jos jednu jedinicu. i tako bi trebao do kraja memmmorije da pise jedinice dok ne zapuni svega. E sad naravno dobijem segfault, pa me zanima sta prozurucuje segfault? dali je u OS-u takav managment memorije da ne dozvoljava prepisivanje memorije aplikacije x sa strane aplikacije y (memorije rezervirane by x sa strane y)? ili je to nesto drugo?

pitam samo tako iz radoznalosti
[ del-boy @ 01.05.2006. 04:50 ] @
Svaki program ima svoj logički adresni prostor na koji je ograničen i ne dozvoljava mu se da iz njega izlazi! Ako to pokušaš kodom dobićeš grešku! Jedino kada je programu dozvoljeno da izlazi van svog adresnog prostora je kada su mu potrebni neki sistemski potprogrami (za kontrolu hardware-a), ali to je lepo sakriveno u višim programskim jezicima (u asembleru moraš da zahtevaš prekid)!
[ n1tr0 @ 05.05.2006. 15:03 ] @
Razlog takve zastite je jednostavan: spreciti ne-nameran i zlo-nameran upis u tudji logicki adresni prostor.
Ovako zamisli 2 situacije(kad ne bi bilo takve zastite):
1) Imas lose napisan program koji tako sa pokazivacem izadje iz svog opsega i malo prepise memoriju OS-a, malo nekih programcica i onda bi ti se racunar zapucao, i ne mozes predvideti stetu koju bi to nacinilo.
2) Virus lepo uzme i obrise u RAM-u antivirus, malo ti izmeni OS u RAM-u, bukvalno moze da radi sta hoce...
Zakljucak(bez zastite): nebezbednost, nestabilnost, haos...
@del-boy Vidim slusas Hajdukovica kolega... Tako treba...
[ del-boy @ 07.05.2006. 18:58 ] @
Citat:
n1tr0:
@del-boy Vidim slusas Hajdukovica kolega... Tako treba...


Naravno! A koji si ti? Jel' se znamo ili je zaključak na osnovu odgovora i profila?
[ Odin D. @ 08.05.2006. 18:09 ] @
Postoje nivoi prioriteta pod kojima odredjeni programi rade.
Ako dodjes do najveceg prioriteta mozes da radis sta hoces.
Postoje cak i odredjeni flag-ovi koji se setuju u samom procesoru da bi se program mogao izvrsavati na odredjenom prioritetu.
Na nekoj temi se nekad pricalo o nekakvim knjigama koje je Intel besplatno slao zainteresovanima. Meni nisu stigle knjige na papiru nego na CD-u. Tu imas nesto o tome. Vidi ko to ima pa trazi.
[ n1tr0 @ 08.05.2006. 18:46 ] @
Citat:
del-boy: Naravno! A koji si ti? Jel' se znamo ili je zaključak na osnovu odgovora i profila?

Iz odgovora, iz profila i iz tvog user-a na ftn forumu...

Sto se tice tih Intel-ovih besplatnih knjiga, mislim da je tema u forumu asembler. Iskoristi pretragu...

[Ovu poruku je menjao n1tr0 dana 08.05.2006. u 19:47 GMT+1]