>[оверквотинг удален]
>> зрения пользователя, файл удалён.
> да. при этом ман на deletefilea говорит, что
> The DeleteFile function marks a file for deletion on close. Therefore, the
> file deletion does not occur until the last handle to the
> file is closed.
> то есть аналогично юниксовому поведению. там тоже разлинкованный файл нельзя открыть, но
> inode, на который указывало имя файла, при этом все еще существует,
> пока открыт хотя бы одним процессом. с точки зрения пользователя, суслика
> нет, но он есть.
> я это имел в виду.Это понятно, потому я и пишу "образ" вместо "файл" и про создание секции (это такой объект ядра NT). Запущенный Portable Executable в отличии от произвольного файла невозможно даже маркировать для удаления. Потому там придумали флаг MOVEFILE_DELAY_UNTIL_REBOOT и дрессировали пользователей перезагружать ОС после каждой установки-обновления ПО.
>>> при загрузке elf бинарника в память
>>> грузятся все сегменты PT_LOAD, elf должен запускаться даже там, где mmap
>>> нет в принципе.
>> Да. Поэтому, когда типовой объём ОЗУ был мал, NT немножко экономила память
>> и выигрывала. Ныне наоборот выгоднее сразу считать весь файл.
> не уверен, что вопрос в экономии памяти, скорее в экономии на I/O,
> и то это экономия фантомная
Ну да, и на чтении ещё пару спичек экономили. И там в файлах не только код, но и пиктограммы, строки (на разных языках). Они не обязательно все нужны. Часть может никогда не грузиться.