Подключите Ваш компьютер к проекту распределённых вычислений!
Этим Вы окажете большую помощь науке и медицине.
См. подробнее: http://solidstate.karelia.ru/~yura/pyldin/yura/computing.htm

Norton Commander, версия 3.0
Результаты работы утилит для упаковки программ
diet, pklite, lzexe и wwpack
 

  1. Здесь приведены результаты работы exe-упаковщиков DIET 1.0, PKLITE 1.12, LZEXE 0.91 и WWPACK 3.02.
  2. Чтобы не было неоднозначности, перед сжатием файла, он был распакован (если до этого был упакован) и была выполнена команда оптимизации заголовка и таблицы перемещения exe-файла "wwpack o имя_файла". Для распаковки программ использовалась программа UNP.EXE версии 4.11.

  3. На практике файл nc.exe упаковывать крайне не рекомендуется, так как он остаётся резидентным в памяти. И от упаковки nc.exe будет проигрыш в занимаемой памяти. Однако рекомендуется выполнить команду "wwpack o nc.exe", чтобы nc.exe занимал меньше места на диске.

     

Имя файла
Сколько байт оверлейные
dbview.exe
14
nc.exe
4
ncmain.exe
6
wpview.exe
12

 
Имя файла 
Распакован
DIET
PKLITE
LZEXE
WWPACK
123view
51984
31906
31673
32540
30383
dbview
60560
Overlay!
33634
Overlay!
32204
nc
2656

nc.exe желательно не упаковывать, т.к. будет проигрыш в занимаемой памяти

ncmain
139216
Overlay!
79962
Overlay!
74531
paraview
62116
35459
34716
36044
33232
pcxview
83264
37825
37638
38404
34491
rbview
67486
38142
37128
38604
35561
refview
63012
36061
35275
36620
33692
wpview
47808
Overlay!
29699
Overlay!
28658
mci
103300
56316
55266
56887
52710
mcidrivr
70840
40809
40236
41425
38703
ser-test
4016
3071
3341
3216
3193


В поставку Norton Commander 3.0 входит 18 файлов:

nc.exe, ncmain.exe, nc.hlp, 123view.exe, dbview.exe, paraview.exe, pcxview.exe, rbview.exe, refview.exe, wpview.exe;
mci.exe, mci.hlp - управление электронной почтой;
mcidrivr.exe - резидентный драйвер электронной почты;
chkmail.bat - командный файл для посылки сообщений по электронной почте;
read.me, inread.me, serial.txt - документация;
ser-test.exe - проверка работоспособности коммуникационных портов.

В процессе работы Norton Commander 3.0 создаются файлы:
nc.mnu, nc.ext, nc.ini, mci.ini;
mciaddr.bk - список адресов электронной почты;
mci.log - протокол сеанса электронной почты.

 

В настоящее время Norton Commander 3.0 (1989 года) уже практически никем не используется, так как в 1993 году появился более удобный Norton Commander 4.0. Ниже будет приведён список, какие недостатки имеет Norton Commander 3.0 по сравнению с более новой 4.0 версией Norton Commander:
1) В NC 3.0 не поддерживается упаковка и распаковка файлов и работа с архивами (Alt-F5 и Alt-F6 не задействованы).
2) Не задействована клавиша Серая *, что приводит к неудобствам в выделении группы файлов.
3) Нельзя работать с каталогами целиком.
4) Нет набора цветов "Color 2".
5) Фиксированы промежутки времени перед включением сохранителя экрана (список 3, 5, 15 минут и т.д...).
- приведённый список конечно не полный, но достаточный для обзора и сравнения двух версий 3.0 и 4.0 Norton Commander.

 


Список рекомендуемой литературы по этим вопросам:

  1. Фигурнов В. Э. "Программа-оболочка Norton Commander 3.0", 1992 год.

 

 


 

Краткий  обзор  EXE упаковщиков
для EXE-файлов формата MS-DOS
.

  1. AINEXE 2.2 сжимает очень быстро, но имеет невысокую степень сжатия (в особенности для маленьких файлов). Также у AINEXE большой и медленный распаковщик. EXE-файл, упакованный AINEXE - нельзя распаковать назад (программа UNP воспринимает файлы упакованные AINEXE 2.2 за упакованные версией 2.1 и программа UNP.EXE - зависает). AINEXE при упаковке не оптимизирует таблицу перемещения файла, что тоже негативно сказывается на степени сжатии файла.
     

  2. EXEPACK - это один из первых EXE-упаковщиков, разработанный ещё в начале 80-х годов. Он самый простой из всех - он сжимает только таблицу перемещения и повторяющиеся символы в коде и всё, к тому же у упакованного файла делает заголовок 512 байт (видимо для совместимости с самыми ранними версиями MS-DOS). При упаковке оптимизирует таблицу перемещения. Также существовала не только отдельная программа EXEPACK, а также была возможность компоновщиком  LINK создавать сразу упакованные файлы (что широко использовалось в Microsoft Fortran).
     

  3. DIET - сжимает достаточно быстро, но имеет медленный распаковщик. Степень сжатия - примерно такая же, как у PKLITE и LZEXE. При сжатии DIET не изменяет таблицу перемещения, и при распаковке - получается оригинальный файл. Не сжимает оверлейные файлы. Если у сжимаемого EXE файла не было элементов перемещения, то если распаковывать назад с помощью UNP, то UNP может полностью испортить файл. Также DIET умеет сжимать и COM-файлы.
     

  4. OPTLINK - этот упаковщик был разработан фирмой Symantec и использовался исключительно внутри Symantec. Пользователям сам этот упаковщик - не доступен. С помощью OPTLINK были упакованы графические просмотрщики в Norton Commander, а также программы из пакета Norton Utilities и всё. В OPTLINK применялся двухпроходной метод сжатия - сначала сжималась таблица перемещения, а уже во втором проходе - вся программа. По степени сжатия OPTLINK примерно такой же, как и PKLITE.
     

  5. PKLITE - тоже не оптимизирует таблицу перемещения при сжатии (если не дан ключ -a или -e). После распаковки - файл в точности совпадает с оригиналом. У PKLITE большой, но быстрый распаковщик. PKLITE очень надёжен. Умеет упаковывать также и COM-файлы.
     

  6. LZEXE - сжимает файлы чуть-чуть слабее, чем DIET или PKLITE (хотя у DIET, PKLITE, LZEXE - приблизительно один и тот же метод сжатия, ну только с таблицей перемещения разница). LZEXE автоматически оптимизирует таблицу перемещения, имеет быстрый распаковщик, очень надёжен. Не сжимает COM-файлы и оверлейные EXE-файлы. После распаковки EXE-файла, упакованного LZEXE, желательно давать команду "WWPACK o" для оптимизации таблицы перемещения файла (а то после LZEXE она представлена в таком виде, что другие упаковщики будут значительно хуже сжимать этот распакованный файл).
     

  7. WWPACK 3.02 - использует двухпроходной метод сжатия (сначала сжимается таблица перемещения, а потом файл целиком). Не сжимает COM-файлы. Алгоритм и степень сжатия у WWPACK значительно более лучше, чем у DIET, PKLITE, LZEXE. Скорость распаковщика - средняя. Единственная замеченная проблема - если у файла не было элементов в таблице перемещения, то UNP не сможет распаковать файл назад до конца - распакуется только второй проход, а первый - нет.
     

  8. APACK - для маленьких по объёму файлов - показывает лучшую на сегодняшний день степень сжатия. Для крупных EXE-файлов всё же по степени сжатия иногда UPX перегоняет. APACK не распаковывает файлы назад. APACK использует двухпроходной метод сжатия, сначала сжимается таблица перемещения, а потом файл целиком. Причём авторами APACK в августе 1998 года был придуман принципиально новый метод сжатия таблицы. В LZEXE и WWPACK там сжатие заключалось в записи разности между соседними элементами. А в APACK - сжатая таблица состоит практически целиком из символом с кодом 1, а в программный код, в места, где должны быть элементы - вместо нулей записываются два специальных байта. А потом распаковщик просто сканирует распакованный код, ищет эти два байта, и заменяет их уже на необходимый адрес смещения. Если в сжатом коде вместо 1 встречается что-то другое, то это знак для распаковщика, что эти два байта надо обойти (т.к. это часть программного кода, а не элемент перемещения). В марте 1999 года этот метод был перенят разработчиками UPX. Благодаря этому гениальному методу у EXE файла можно считать почти совсем исчезает таблица перемещения (за исключением небольшого числа 3-байтовых разностей). Вот поэтому степень сжатия у APACK и UPX с таким колоссальным отрывом опережает все остальные созданные EXE-упаковщики. Как уже говорилось, APACK не распаковывает назад. Но APACK - идеальная вещь для разработчиков небольших программ, так как раз есть исходные тексты, то необходимости восстанавливать оригинальный EXE-файл здесь нет. Так что если Вы программируете (для MS-DOS) и выкладываете на Ваш Web-сайт исходные тексты и уже скомпилированные EXE-файлы, то непременно упаковывайте их APACK (правда, если EXE-файлы получаются крупные, попробуйте UPX, крупные файлы он нередко сжимает сильнее).


Далее будет приведена таблица, в которой будет показано, насколько быстро сжимают различные упаковщики EXE файлов, а также насколько быстро выполняется распаковочная процедура (которая дописывается к упакованному EXE-файлу). Для теста был выбран хорошо сжимаемый EXE-файл (содержащий в основном графические данные). Тестируемая программа при запуске ничего не делает (сразу обратно выходит в командную строку). Чтобы результат был более реальный и наглядный - было проведено 20 запусков из BAT-файла. Тест был проведён на компьютере 386SX с тактовой частотой 40 MHz и системой MS-DOS 6.20.

 Не упакованEXEPACKDIETPKLITELZEXEWWPACKAINEXE
Длина EXE файла130288528392562924438251552304224081
Время сжатия упаковщиком-5 сек.26 сек.1 мин. 26 сек.40 сек.10 мин. 41 сек.4 сек.
Время 20 запусков6 сек.6 сек.7 сек.5 сек.5 сек.программа оказывается
не рабочей
10 сек.

 


Выше был приведён обзор наиболее распространённых EXE-упаковщиков для файлов dos/exe - формата.
С другими форматами EXE-файлов обстановка выглядит следующим образом:

Ссылки по теме Norton Commander:

1) http://dssp.karelia.ru/~ivk/new2/Inflect/L_1_8.htm - Общая характеристика. Возможности Norton Commander. Передвижение по каталогам, быстрый поиск по имени. Работа с окнами. Работа с командной строкой. Выбор группы Файлов. Меню функциональных клавиш. Команды линейки меню.

2) http://dfe3300.karelia.ru/koi/posob/os/index.shtml - Работа с Norton Commander. Обзор похожих на Norton Commander оболочек и операционных систем.

3) http://solidbase.karelia.ru/edu/zonna/2_NC.htm - Учебник по работе с Norton Commander (8 глав, интерактивное учебное пособие).


Информационные технологии Кодекс   *   Яндекс.Метрика

  *     *  
 

Эта WEB-страничка последний раз изменялась 7 января 2007 года.

Добавить запись в гостевую книгу
Просмотреть гостевую книгу


< < < На главную страничку < < <

 

Мечтаете о новой жизни для Ваших старых 486 компьютеров?
Тогда следующая статья для Вас!
http://solidstate.karelia.ru/~yura/pyldin/yura/linux_freedos.htm