Просмотр кода страницы Microsoft MSDOS страница

====MS DOS - Microsoft Disk Operation System ====
Собственно в отсутствии  **IBM PC**, кроме дисковых накопителей, были другие источники хранения данных - например перфоленты, но при появлении **ПЗУ** (Постоянных Запоминающих Устройств) появилась необходимость в создании систем, позволяющих выполнять координацию действий, таких как создание примитивных записей текстов и их хранение и манипуляции с ними, работа с обработкой устройств и другие действия. Самыми популярными в то время были **MS DOS** - продукт компании **~Microsoft** и **PC DOS** - Детище компании **IBM**,  хотя были и менее известные сейчас такие как **DR DOS**, **PT$ DOS** и т.д. Собственно говоря они на нынешний взгляд ничем не отличались но у каждой из них были свои плюсы и минусы, они являлись своим образом ядром на котором работало  все остальное программное обеспечение. И по сей день **DOS** клоны существуют в природе - обычно их применение в технических операциях и консольной работе на более низких уровнях (например выполнение восстановления системы, или программный ремонт различных устройств, прошивка **CD-ROM**, **DVD-ROM**, **BIOS**) так что знание **DOS**'а никак не может быть лишним. Все они требовали для работы 640Кб, для загрузки резидентных (т.е. выполнявшихся параллельно с работой **DOS**) программ - их код не должен был превышать 64Кб, а память персонального компьютера более 640Кб могла использоваться только при загрузке специального драйвера памяти. Обычно стандартные в наборах **himem.sys** и **emm386.exe** могли обслуживать до 64 Мб **ОЗУ**. 
    ++**P.S.** у меня стоит на борту 1 Гб **ОЗУ** и даже как-то смешно сейчас вспоминать о таких по тем меркам гигантских размерах оперативной памяти.++ 

Существуют некоторые сокращения и команды которые работают у многих **DOS** систем:

  ***CON** - Обозначение консоли ""ввода/вывода Клавиатура/Экран,"" **COM1,COM2... COM#** - обозначение коммуникационных портов - обычно раньше использовались для подключения Нуль-модемных кабелей, внешних модемов, различных внешних устройств, в том числе и практически обязательный сейчас манипулятор mouse.  
  ***LPT1,LPT2... LPT#** - Обозначение многофункционального параллельного порта с двухсторонней связью, в свое время он был практически зарезервирован за устройствами печати - принтерами, а также очень популярными были для использования применимо к сканерам (устройства считывания изображений), внешним переносным накопителям (**HDD, JAZZ, ZIP**), 
  ***PRN** - обозначение порта к которому подключен принтер и зарегистрирован в системе (Обычно это **LPT1**), 
  ***AUX** - порт/устройство  предназначенный для временного хранения данных. 
  ***NULL** - Обозначение пустого (несуществующего) устройства - обычно предназначен для высвобождения ресурсов памяти в процессе работы.

Ну поскольку **PC DOS** и **MS DOS** по набору команд практически не отличались буду описывать все на их примере. (последние версии **MS DOS-6.22** а **PC-DOS-7.00**). Постараюсь описать все самое необходимое с примерами.

=====Некоторые представления о FAT16 (File Allocation Table - Таблица размещения файлов) поддерживаемая DOS.=====

**FAT16** поддерживает разделы диска до 2Гб - т.е. чтобы разметить диск емкостью 20Гб под **FAT16** его необходимо разбить на 10 логических дисков по 2Гб. Ограничение (или правила) в именах файлов и их расширениях. Имена и расширения файлов могут состоять из символов Латинского алфавита (при локализации **DOS** - возможно также и из алфавита национальных символов) и цифр. Максимальная длина имени файла - 8 символов, а его расширения - 3 символа. В имени файлов не допускается применение перечисленных знаков : 
**( ) ' " , ! * - = + / \ № @ ?  **
допускается применение символа нижнего подчеркивания "**_**". 
 
  Некоторые зарезервированные имена файлов 
    ***command.com** - файл оболочки DOS (файл запуска командной строки) 
    ***ibmio.com, ibmdos.com**  - системные файлы оболочки **PC DOS**, 
    ***io.sys, msdos.sys** - системные файлы оболочки **MS DOS**. Модификация системных фалов оболочек не допускается (только специалист может их изменить) - в противном случае DOS система работать не будет.  
    ***autoexec.bat, config.sys** - файлы для загрузочной конфигурации системы. 
    ***fdisk.exe** - программа подготовки/разметки дисков, 
    ***format.com** - программа форматирования дисков, sys.com - программа копирования системных файлов. 

  Некоторые зарезервированные расширения файлов
    ***exe, com, bat** - исполняемые, пакетные (могут содержать несколько исполняемых и набор **DOS** команд), 
    ***sys** - системные, 
    ***txt** - текстовые,
    ***bak** - файлы резервных копий, 
    ***tmp** - временные файлы.  

=====Алфавитные обозначения дисков.== 
Первые две буквы латинского алфавита **A** и **B** - зарезервированы за накопителями на гибких дисках (**FDD** -Floppy Disks Drive) остальные от **C** до **Z** для предоставления их для других **ПЗУ** - винчестеры или жесткие диски (**HDD** - Hard Disks Drive), различные другие носители информации.


=====Некоторые стандартные зарезервированные команды DOS систем: =====
Многие работают и сейчас в ОС семейств **Windows** и **Windows NT** в оконной консоли **command** & **cmd**

Символы используемые при групповой работе с файлами: "*" - любые символы в диапазоне, "?"- один любой символ

**COPY**- ~Копирование/Создание/Переименование файла  //СOPY file.txt// 

**DEL** - (DELETE, реже ERASE) удаление файла //DEL *.tmp - удалить все файлы с расширением tmp в текущей папке//

**MD** - (Make Directory) Создание директории (сейчас принято называть их Папки) //MD TEMP создать папку TEMP// 

**RD** - (Remove Directory) Удаление директории RD TEMP - Удалить папку TEMP

**СD** - (Change Directory) Смена текущего положения (директория или папка) - //CD ..\.. - сменить текущее положение на два уровня вверх// 

**TYPE** - Вывод содержимого файла на экран в текстовом формате. //TYPE autoexec.nt - выводит на экран содержимое файла autoexec.nt//

**DIR** - Просмотр списка файлов и папок  //DIR *.exe /P - вывод всех файлов с расширением exe с паузой//

**DATE** - ~Установка/Просмотр системной даты //DATE 04/04/04 установить системную дату 4 апреля 2004 г.//

**TIME** - ~Установка/Просмотр системного времени  //TIME 00:00 - установить системное время 0ч00мин//

**PATH** - Просмотр путей (закладок - необходимо для быстрого вызова программы (без перехода к ней) находящейся в одном из путей)

**PROMPT** - Установка формата командной строки - Обычный привычный вид - это PROMPT $P$G **[Диск:]\[Путь]>**. А например **//PROMPT $P$T$G **[Диск:]\[Путь] [текущее системное время ] >**// 

**SET** - ~Установка/Просмотр установок  системных переменных. //SET TEMP=C:\TEMP - установка пути для временных файлов.//

**ATTRIB** - ~Установка/Просмотр атрибутов файлов.  
  ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [диск:] [путь] [имя_файла] [/S] [/D]]
+ Установка атрибута.
- Снятие атрибута.
R Атрибут "Read - Only Только чтение".
A Атрибут "Archive - Архивный".
S Атрибут "System - Системный".
H Атрибут "Hidden - Скрытый".
[диск:] [путь] [имя_файла] Указание файла или набора файлов для обработки.
/S Обработка файлов с указанными именами в текущей папке и во всех ее подпапках.
/D Обработка и файлов, и папок.

**ASSIGN** - Переадресация ассоциаций с буквенной меткой диска

**VER** - Вывод информации о версии DOS

Собственно подсказка по командам выдается в системе по привычному правилу <command> /?

====О работе в **DOS** системе на полезных примерах====

=====Работа с дисками ==

__Задача:__ отформатировать дискету емкостью 1.44 мб в Дисководе А: и сделать ее Системной (Загрузочной) и установить метку диска BOOTDOS

__Решение:__ format.com A: /T:80 /N:18 /S /V:BOOTDOS
-----------

__Задача:__ очистить загрузочную область жесткого диска и отформатировать сделав его системным

__Решение:__ fdisk.exe /mbr затем format.com C: /S

=====Работа с файлами ==

__Задача:__  создать пакетный файл для запуска программы D:\programm.exe с удалением результатов ее работы из ОЗУ, а также удаления временных файлов из папки C:\TEMP   а также распечатки на принтере отчета об их удалении.

__Решение:__
%%

copy con example.bat

D:

programm.exe

programm.exe>NULL

С:

CD TEMP

dir *.tmp > result.txt

del *.tmp 

copy result.txt prn

del result.txt  

RD TEMP

Жмем Control + Z - Это введет символ конца файла и введенную информацию в файл, а также сохранит его на диске%%

=====Создание загрузочного меню==

__Задача:__ Создать меню которое при загрузке системы дает возможность выбора запуска prog1.exe или prog2.exe

__Решение:__ 
%%
autoexec.bat 	config.sys	

@echo off
goto %config%

programm1:
prog1.exe
goto common:

programm2:
prog2.exe
goto common:

common:

[menu]
menuitem=programm1, Run Prog1.exe
menuitem=programm2, Run Prog2.exe
menucolor=15,1
MenuDefault=programm1,15

[programm1]

[programm2]

[common] %%

P.S. Материалы на сайте будут расширятся по мере накопления ... Так что если вы чего-то пока не нашли приходите по чаще и просматривайте обновления, возможно в ближайшее время вы получите то, что так долго искали.

Все ваши отзывы, пожелания принимаются на ((http://forum.compowiki.info/index.php?showforum=31 ФОРУМE))

((/SeaWolF SeaWolF)) /06.11.2004 18:48/
""©opyRight 2004. Администратор сайта - ""http://bestit.info/ -=\SeaWolF/=- ""[BesT IT TeaM]""
----
**Дополнительные материалы**
((http://nostalgy.org/links.htm Каталог сайтов по теме DOS))
((http://www.fdd5-25.net/ Downgrade))