Site map rus
AboutNews
ActivitiesComputing & Information resources
     Computing & Information resources > Rules & Agreements     
Как нам обустроить персональный компьютер.

Все счастливые обладатели "персоналок" счастливы одинаково: только в момент их получения! Далее начинаются проблемы: как "одеть" родное чадо, где взять необходимые программные продукты, как их правильно установить, да чтобы они (продукты) еще и друг другу не мешали, да чтоб на винчестере осталось еще хоть немного свободного места...
Вряд ли найдется два "одинаково одетых" IBM PC !

Вот и автор этого опуса, обживая последовательно 286,386,486,Pentium компьютеры, пообщавшись с операционными системами MSDOS и Windows-95, приобрел некоторый опыт в этом деле и считает своим долгом сим опытом поделиться.

Начнем с ниже нуля: как лучше поделить винчестер на разделы (Partitions). Для любителей резать диск на много мелких разделов напомню:
a) Нынешние программные продукты имеют тенденцию к гигантизму, так что в маленький раздел просто не влезут;
б) Более 3 разделов Вам не позволит эксплуатировать, например, NICE, использующий виртуальные диски F,G,Z в своих целях.
С другой стороны, не делить большой винчестер вообще - чревато потерей дисковой емкости из-за слишком большого размера т.н. кластера. Дело в том, что как в MSDOS, так и в Windows-95 кванты распределяемого дискового пространства (кластеры) адресуются 16-разрядным адресом. Поэтому на одном разделе диска не может быть больше 2**16=65536 кластеров. При первоначальной подготовке дискового раздела обьемом V килобайт размер кластера K определяется по следующему алгоритму:
K:=2; While V/K > 65530 Do K:=2*K;
А теперь считайте сами:
при V=520 мегабайт у Вас будет 33280 кластеров размером 16 кбайт каждый,
при V=500 мегабайт ---"--- 62000 кластеров по 8 кбайт!

Поскольку кластер является минимальной единицей распределяемого дискового пространства, то на каждом файле теряется в среднем половина емкости одного кластера. Размер кластера в 16 килобайт, что соответствует V < 1 Гб, кажется еще приемлемым, а вот 32 килобайта на кластер - это пожалуй слишком.

Итак, если уж Вы решили поделить Ваш диск на разделы, выбирайте V чуть меньше приемлемой для Вас степени двойки !

О сосуществовании программных продуктов

Программным продуктом или подсистемой я называю комплект файлов, распространяющийся как единое целое и имеющий фирменное наименование. Например: TeX, MicroSoft Fortran 5.00, Borland Pascal-7. Как правило, установка программного продукта на Ваш компьютер требует:
а) добавления ссылки на местонахождение головной программы продукта в переменную PATH в файле AUTOEXEC.BAT
б) определения т.н. переменных окружения (например, SET LIB=d:\bc\lib ) в том же файле AUTOEXEC.BAT
Наверное, Вы давно уже убедились, что "на всех не угодишь", т.е. невозможно иметь в файле AUTOEXEC.BAT заранее заготовленный PATH и все необходимые переменные окружения для всех потребных Вам программных продуктов. Грустно, но это так. PATH имеет ограниченную длину, 128 символов, и обрезается без предупреждения. (В Windows-95, как показал эксперимент, размер PATH увеличен до 1034 байт).
Разные программные продукты используют иногда одни и те же переменные окружения (переменная LIB - типичный пример) и программы с одинаковыми именами (я потратил немало времени на ловлю link.exe, засевшего в директории DOS и втихую подменившего родной фортранный линкер!)

Приемлемое решение - иметь для каждой подсистемы свой batch-файл, выполняющий функцию ее запускателя. Например, файл FORTRAN.BAT для вызова MicroSoft Fortran 5.00 :

   -----------------------------------------------------
   | rem Вызов MicroSoft Fortran:  fortran имя_файла   |
   | set BIN=C:\fortran\bin                            |
   | set LIB=C:\fortran\lib                            |
   | set INCLUDE=C:\fortran\include                    |
   | PATH=%path%;%BIN%                                 |
   | fl /G2 /FPi %1  graphics.lib > meerr.tmp          |
   -----------------------------------------------------
  

Такой запускатель временно создает собственное окружение (Environment) для запускаемой подсистемы (в данном случае - Фортрана), а потом восстанавливает первоначальное окружение.

Недостаток этого подхода в том, что информация о месте расположения программных продуктов, составляющих "одежды" Вашего компьютера, распылена по множеству таких batch-файлов. Поскольку я предпочитаю "держать все яйца в одной корзине", я обьединил все такие "запускалки" в один файл START.BAT, первым параметром которого является имя запускаемого продукта :

   ----------------------------------------------------------------------
   | rem Всеобщий запускатель :  start  имя_программы  ее_параметры     |
   | @echo off                                                          |
   | if %1- == fortran-  goto fortran                                   |
   | if %1- == pascal-   goto pascal                                    |
   | if %1- == tex-      goto TeX                                       |
   |    ........                                                        |
   | echo Unknown Subsystem : %1 !!!                                    |
   | exit                                                               |
   | :fortran                                                           |
   |    ...                                                             |
   |   exit                                                             |
   | :pascal                                                            |
   |    ...                                                             |
   |   exit                                                             |
   |    ........                                                        |
   ----------------------------------------------------------------------
А что если ...

Поразмыслив еще немного, на чем бы тут можно еще сэкономить, я взял да и сунул все это добро прямо в AUTOEXEC.BAT ! Действительно, ведь именно здесь традиционно описывается лицо Вашего компьютера, опишем здесь же и все его одежды! Вот начало моего AUTOEXEC-a :

 -------------------------------------------------------------------------
 | @echo off                                                             |
 | rem  ***  PATH = the things absolutely necessary for You! ***         |
 | path=c:\;c:\windows;c:\windows\command;S:\tools;S:\norton;S:\me       |
 |                                                                       |
 | if not %1_ == _ goto special                                          |
 | REM   -------------------------------------------------------         |
 | rem   The usual call without parameters (when computer starts)        |
 | REM   -------------------------------------------------------         |
 | mode con codepage prepare=((866) C:\WINDOWS\COMMAND\ega3.cpi)         |
 | mode con codepage select=866                                          |
 |                                                                       |
 | REM  ***  Client must map drive S: to server manually using Explorer. |
 | rem if You're your Server yourself:    subst s:your_own_disk:\        |
 | REM if you want to keep TeX fonts yourself,  set FontDisk=c:          |
 |                                                                       |
 | rem ...  add there Your own specific things ...                       |
 |                                                                       |
 | rem lh keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys - if You dislike KeyRusє
 | lh keyrus                                                             |
 | goto finish                                                           |
 |                                                                       |
 | rem ----------------------------------------------------------        |
 | rem              VARIOUS  SUBSYSTEMS :                                |
 | rem   C:\autoexec.bat  SubSystem_Name  [SubSystem_Params...]          |
 | rem   (see  NC.EXT as an example of using these mechanismus.)         |
 | rem ----------------------------------------------------------        |
 | rem  1. Norton Commander :        NORTON                              |
 | rem  2. T e X  :                  TEX COMMAND name                    |
 | rem  3. PFE-editor :              PFE name.ext                        |
 | rem  4. MicroSoft Fortran 5.0:    MSFORTRAN  name.for                 |
 | rem  5. PowerStation Fortran :    PSFORTRAN  name.for                 |
 | rem  6. NDP Fortran:              NDP COMP   name.for                 |
 | rem     Run NDP-executable :      NDP RUN    name.exp                 |
 | rem  7. FORTRAN-->C convertor:    GNU F2C  name.f                     |
 | rem     GNU C compiler:           GNU GCC  name.c                     |
 | rem     GNU-executable starter:   GNU GO32 name.out                   |
 | rem  8. RM Fortran:               RMFORT name  [/lib name +...]       |
 | rem 11. FoxPlus interpreter:      FOXPLUS  name                       |
 | rem 12. FoxPlus compiler:         FOXPCOMP name.prg                   |
 | rem 13. Turbo Pascal 7.0:         PASCAL name.pas                     |
 | rem 14. Pascal-compiler:          TPC    name.pas                     |
 | rem 15. DELPHI :                  DELPHI name                         |
 | rem 16. Quick Basic :             QBASIC name.bas                     |
 | rem 17. Borland C :               BC IDE or name.c                    |
 | rem 18. Antiviruses :             ANTIVIR aidstest or drweb           |
 | rem 19. Moscow Guide :            MOSCOW                              |
 | rem 20. Dictonaries  :            LINGVO                              |
 | rem ----------------------------------------------------------        |
 |                                                                       |
 | :special                                                              |
 |   rem                                                                 |
 |   rem     1.  Norton Commander                                        |
 |   rem     --------------------                                        |
 |   rem  His full stuff (Commander+Utilities) locates in  S:\NORTON     |
 |   if not %1_ == norton_ if not %1_ == NORTON_ goto s2                 |
 |     nc                                                                |
 |     exit                                                              |
 |   rem                                                                 |
 |   rem     2.  TeX command filename                                    |
 |   rem     ------------------------                                    |
 |   rem It is a LaTeX taken from Moscow University, placed in S:\TeX    |
 |   :s2                                                                 |
 |   if not %1_ == tex_ if not %1_ == TEX_ goto s3                       |
 |     set TeXdir=S:\TeX                                                 |
 |     call %TeXDir%\bat\set!tex!.bat                                    |
 |     if %2_ == SET_ goto finish                                        |
 |     if %2_ == WINDOWS_ goto texwin                                    |
 |     if %2_ == DVIWIN_  goto dviwin                                    |
 |     call %2.bat %3                                                    |
 |     exit                                                              |
 |   :texwin                                                             |
 |     copy %3.tex ~.tex                                                 |
 |     win2dos ~.tex %3.tex                                              |
 |     call latex.bat %3                                                 |
 |     copy ~.tex %3.tex                                                 |
 |     del ~.tex                                                         |
 |   :dviwin                                                             |
 |     path=%path%;%TeXDir%\dviwin                                       |
 |     if     exist "%3.dvi" start dviwin2 -1 %3.dvi                     |
 |     if not exist "%3.dvi" start dviwin2 -1 %3                         |
 |     exit                                                              |
 |                                                                       |
 |   rem                                                                 |
 |   rem     3.  PFE-editor                                              |
 |   rem     --------------                                              |
 |   :s3                                                                 |
 |   if not %1_ == pfe_ if not %1_ == PFE_ goto s4                       |
 |     PATH=S:\editors\pfe;%path%                                        |
 |     pfe32 %2                                                          |
 |     exit                                                              |
 |   rem                                                                 |
 |   rem     4.  MicroSoft Fortran 5.00    (errors --> meerr.tmp)        |
 |   rem     ----------------------------------------------------        |
 |   rem  We keep it as a single directory (S:\fortrans\MSF500)          |
 |   rem  though it is usually divided on 3 parts: BIN,INCLUDE,LIB       |
 |   :s4                                                                 |
 |   if not %1_ == msfortran_ if not %1_ == MSFORTRAN_ goto s5           |
 |     set BIN=S:\fortrans\MSF500                                        |
 |     set LIB=%BIN%                                                     |
 |     set INCLUDE=%LIB%                                                 |
 |     set PATH=%path%;%BIN%                                             |
 |     if %2_ == SET_ goto finish                                        |
 |     set exename=exe.exe                                               |
 |     if exist "%2.for" set exename=%2.exe                              |
 |     fl /G2 /FPi /Fe%exename% /Tf%2  graphics.lib > meerr.tmp          |
 |     if not errorlevel 1  %exename%                                    |
 |     if errorlevel 1  echo there were errors (see MEERR.TMP) !!!       |
 |     pause                                                             |
 |     exit                                                              |
 |   rem                                                                 |
 |   rem     5. PowerStation Fortran                                     |
 |   rem     -----------------------                                     |
 |   rem    Installed from original MicroSoft CDROM                      |
 |   :s5                                                                 |
 |   if not %1_ == psfortran_ if not %1_ == PSFORTRAN_ goto s6           |
 |     set place=S:\fortrans\msdev\                                      |
 |     set path=%place%bin;%path%                                        |
 |     set include=%place%include                                        |
 |     set lib=%place%lib                                                |
 |     if %2_ == SET_ goto finish                                        |
 |     msdev %2                                                          |
 |     exit                                                              |
 |   rem  .......                                                        |
 |   rem  Switch through all other SubSystems mentioned above ...        |
 |   rem  .......                                                        |
 |                                                                       |
 | :finish                                                               |
 -------------------------------------------------------------------------

           Для полноты картины приведу и свой CONFIG.SYS :
     -----------------------------------------------------------
     |  DEVICE=C:\WINDOWS\HIMEM.SYS /testmem=off               |
     |  DEVICE=C:\WINDOWS\EMM386.EXE RAM                       |
     |  DOS=HIGH,UMB                                           |
     |  files=60                                               |
     |  lastdrive=z                                            |
     |  break=on                                               |
     |  numlock=off                                            |
     |  shell=C:\COMMAND.COM C:\ /e:4096 /p                    |
     |  devicehigh=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) |
     |  Country=007,866,C:\WINDOWS\COMMAND\country.sys         |
     -----------------------------------------------------------

Предьявленный AUTOEXEC.BAT демонстрирует не только оглавление моей коллекции программных продуктов, но и способ ее организации. Упомянутые в самом начале файла директории TOOLS, NORTON и ME содержат вещи, служившие мне на всем пути от 286 компьютера до Pentium: TOOLS - всевозможные архиваторы, перекодировщики, много мелочей, написанных собственноручно. Всего около 2 Мб. NORTON- выжимки из Norton Commander и Norton Utilities, все что может понадобиться и ничего лишнего. Всего менее 3 Мб. ME - "карманный" (450 кб) MultiEdit-4.00, покрашенный в ненавязчивые цвета. Тем и дорог.

Что здесь еще странного бросается в глаза ? Конечно, диск S: Я сознательно расположил все программные продукты, представляющие общественный интерес, на виртуальном диске S: Дело в том, что многие подсистемы, например Borland C и Pascal, не просто переписаны с одного компьютера на другой, а прошли этап первоначальной установки, в ходе которой в их "потрохах" запоминается местоположение их разнообразных компонент на винчестере. Грубо говоря, если Вы инсталлировали подсистему SomeWhat в директорию C:\somewhat, а потом переписали ее в директорию D:\somewhat, то на другом диске подсистема работать не будет !
Именно из этих соображений я использую виртуальный диск. С помощью довольно редко используемой (но входящей в штатный комплект MSDOS) команды SUBST S: D:\ я отображаю виртуальный диск S: на свой диск D:\ , где все реально и хранится. Это работает и в Windows-95. Теперь Вы можете переписать с моей машины нужные Вам подсистемы к себе, скажем на диск С:\ , взять мой AUTOEXEC.BAT, вставить туда команду SUBST S: C:\ , добавить в отмеченное место специфику своей машины - и пользуйтесь на здоровье: вся информация о расположении и настройке подсистем локализована в AUTOEXEC.BAT (а уж его Вы не потеряете !)

Типичным пользователем этой схемы является сам Командир Нортон. Вот фрагмент моего файла NC.EXT описывающего стандартные действия для разных типов файлов:

  -------------------------------------------------------------------
  | f  : c:\autoexec GNU F2C !.!     - GNU Fortran --> C converter  |
  | c  : c:\autoexec GNU GCC !.!     - GNU C compiler               |
  | out: c:\autoexec GNU GO32  !.!   - Run GNU-executable           |
  | for: c:\autoexec MSFORTRAN !.!   - MicroSoft Fortran-5.00       |
  | for: c:\autoexec PSFORTRAN !.!   - fortran-32 for Windows95     |
  | pas: c:\autoexec PASCAL    !.!   - вызов TURBO Pascal           |
  | bas: c:\autoexec QBASIC    !.!   - Quick Basic                  |
  | tex: c:\autoexec TEX TEXSHELL !  - TeX from DOS                 |
  | tex: c:\autoexec PFE        !.!  - TeX from WINDOWS             |
  -------------------------------------------------------------------
Если Вы работаете под Windows-95

В этом случае Вы можете использовать мою коллекцию программных продуктов непосредственно из моего компьютера, не переписывая ее к себе! Возьмите только мой AUTOEXEC.BAT, уберите из него команду SUBST, а виртуальный диск S: организуйте вручную, отобразив его на диск D: моей машины.

   -------------------------------------------------------------------------
   | 1.) запустите Windows Explorer,  войдите в меню Tools;                |
   | 2.) выберите команду  Map Network Drive;                              |
   | 3.) в поле "Drive:" наберите  S           - это Ваш виртуальный диск  |
   | 4.) в поле "Path:"  наберите  \\PC4\D     - а это сервер для него     |
   | 5.) поставьте галочку в поле "Reconnect at logon", чтобы в дальнейшем |
   |     эта операция делалась автоматически при включении Вашей машины.   |
   | 6.) Если попросят пароль, скажите  GUEST  - это разрешает Вам         |
   |     читать со всех моих дисков и выполнять программные файлы.         |
   -------------------------------------------------------------------------
  

Программный продукт, расположенный на таком удаленном сервере, требует иногда особого обращения. Это связано с тем, что программы иногда модифицируют свои файлы данных. В таких случаях приходится делить программный продукт на 2 части :
а) неизменяемая часть, расположенная на удаленном сервере;
б) изменяемая часть, располагающаяся на локальной машине
Так, в ТеХ-е изменяемой частью является директория, содержащая фонты. Встроенная в ТеХ подсистема MetaFont умеет "на ходу" создавать новые фонты и дописывать их в эту директорию. Если эта директория находится вместе с программами ТеХ-а на моем сервере, Вам никто не позволит что-либо туда записывать. В этом случае добавьте в свой AUTOEXEC.BAT строку SET FontDisk=c: и все Ваши собственные вновь создаваемые фонты пойдут в C:\Fonts Кстати, все изменения, вносимые Вами в AUTOEXEC после метки :special вовсе не требуют перезапуска системы, а вступают в силу немедленно.

Если Вы работаете под DOS

Тогда, конечно, прямо с моей машины ничего Вы не попользуете. Но Вы имеете к ней доступ через FTP:

ftp pc4.jinr.ru - или просто pc4, если Вы тоже jinr.ru
User ID : GUEST - классический anonymous-доступ
PassWord: GUEST - у меня почему-то не получается!

Обычно эта машина доступна всегда. Кроме того, такое же программное обеспечение есть на DCT098. Для любителей инсталлировать программные продукты самостоятельно мы держим в DCT098\\D:\DISTRIB коллекцию популярных дистрибутивов, включая паневропейскую версию Windows-95. В корневом каталоге диска D: Вы найдете упомянутый выше AUTOEXEC.BAT, а также тот самый манускрипт, который Вы сейчас читаете.


20.05.97
А.П.Сапожников
E-Mail:sap@jinr.ru
   Copyright © LIT, JINR , 2006
    Webmaster : @jinr.ru

|    About    |    News    |    Activities    |    Computing & Information resources    |