The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

что-то вpоде insmod ? (fs)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: fs,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Cyril Rotmistrovsky 2:463/59.60 22 Jun 97 11:08:16 Subj : что-то вpоде insmod ? ________________________________________________________________________________ Comment tu vas, Konstantin? En 18 Jun 97 01:23:06, Konstantin Kivi as ecrit a Cyril Rotmistrovsky: [.. ушло в /dev/null ..] CR>>>> Тут уже объясняли, что в Linuxе (как, навеpное, и в большинстве CR>>>> совpеменных юниксов на том железе, котоpое это позволяет) в CR>>>> память гpузятся те и только те стpаницы кода/данных CR>>>> пpогpаммы/dll, к котоpым идет обpащение, и только в момент CR>>>> самого обpащения. CR>> Естественно, такую экзотику, как самомодифицирующийся код, я во CR>> внимание не принимаю ;). Даже не знаю, можно ли такое под Линуксом CR>> сделать ;) (под пополамой 3.0 только ценой очень крутых извращений). KK> С помощью make :-). У меня нам "раз" пересобирается запущенная KK> программа. Кто бы объяснил ... Сейчас все объясню. И то, как пересобирается, и то, как при этом HЕ модифицируется. Дело в том, что *nix, когда ты открываешь файл (а файл - это i-node + data blockи, на которые он ссылается) в памяти размещается структурка, связанная с ним. И в inode, и в структурке в числе прочих данных хранятся счетчики: в i-node счетчик ссылок (сколько хард-линков на этот i-node существует), а в памяти - счетчик обращений (сколько процессов открыло этот файл). Так вот, когда ты запустил программу - файл с ее текстом (т.е.кодом) был открыт. Записать в него тебе никто не даст, но удалить ссылку на него (на i-node) - без проблем. При удалении всех ссылок файл все равно останется, потому, что счетчик обращений в памяти HЕ 0 (файл же открыт). make (точнее, gcc) создает новый файл (i-node), правда, его имя в каталоге то же, что и у старого, но файл это _другой_. А когда программа завершает работу, счетчик обращений обнуляется, и поскольку счетчик ссылок на старый файл уже равен нулю, система освобождает блоки, которые он занимал на винте. Поэтому, btw, в *nix нет понятия "удалить файл". Ты можешь только удалить ссылку на него (unlink, man 2 unlink), а файл удалит уже операционка тогда, когда заметит, что больше он никому не нужен. KK> Sincerely Yours, Konstantin. Bon chance, Cyril : Протокол IPX/SPX является быстрым маршрутизируемым протоколом для небольших сетей, но у него есть один недостаток - он разработан фирмой Novell... (c) "Секреты Windows NT 4.0 Server" --- Individualists, unite! (QDed/QEcho) * Origin: Microsoft free station @ 2:463/59.6o (2:463/59.60)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:




  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor