Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Mikhail Gusarov                      2:5020/400     30 Nov 2003  08:39:13
 To : Kirill Frolov
 Subject : Re: дефрагментация ex3
 -------------------------------------------------------------------------------- 
 
 Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> writes:
 
 >  SM> Я ее запустил, она поработала секунд 40, после чего была прибита ядром.
 >
 >    В тот момент, когда она была прибита, было выделено (или не
 > высвобождено) всего-лишь HЕСКОЛЬКО КИЛОБАЙТ памяти. А тебе не хватило,
 > наверняка, что-то около 256МБ. Разницу на 3 порядка никак не заметно?
 
 [mag@homelab:~]$ ./1
 allocated 1927157770 bytes
 
 Это после следующего исправления:
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 
 inline int rand2() { return 10*rand()/RAND_MAX; }
 
 int main()
 {
   long size;
   long sum = 0;
   while(1)
   {
     void* x = malloc(rand2());
 
     size = rand2() + 10;
     void* y = malloc(size);
 
     if(x==NULL || y==NULL) break;
 
     free(x);
     sum += size;
   }
   printf("allocated %ld bytes\n", sum);
   return 0;
 }
 
 >    В любой программе использующей "C-шный" механизм управления памятью
 > она фрагментируется.
 
 Уж не по книжке-ли Иртегова ДВ "Введение в операционные системы"
 глаголишь? А то примерчик подозрительно похож.
 
 -- 
 Sincerely yours, Mikhail A Gusarov
 ICQ# 111575219
 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.1
  * Origin: IBM Solutions Group, Axmor Software (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: дефрагментация ex3   Mikhail Gusarov   30 Nov 2003 08:39:13 
Архивное /ru.linux/7723f1dd0862.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional