Вообще, по ходу дела, для загрузочной дискеты ДОС нужно было, чтобы io.sys находился в первых секторах дискеты. как сейчас — не знаю, не знаю.
вот еще интересный вопрос. как наваять autoexec.bat и config.sys, имея только загрузочную дискету с драйвером mscdex и CD-ROM?
4. DeadPihto , 30.10.2003 20:24
Как вариант: В config.sys Device = %PATH%\»драйверCD-ROM.sys» /D:mscd001 В autoexec.bat %PATH%\mscdex.exe /D:MSCD001
Где: %PATH% =путь к файлу
5. Ильясла , 30.10.2003 20:45
vaio >copy con yourfile.txt bla-bla-bla bla-bla-bla [Ctrl+Z]
6. Андрон , 30.10.2003 21:03
Добавление от 30.10.2003 21:09:
цитата: Lina Inverse: To Андрон: А в чем проблема достать sys.com? .
готовлю серию дискет с дискавыми утилитами в которых хочу использовать dr-dos, а на тех дисках которые имеются есть только аналоги вышеперечисленныз трех файлов. Можно выкрутиться и через какой нибудь дубликатор но в данном случае преобладает скорее спортивный интерес
7. SergeyO , 30.10.2003 21:14
Андрон МС-ДОС (любой версии) прокатывает такой способ: если дискета была когда-то загрузочной, то можно просто скопировать IO.SYS, MSDOS.SYS, COMMAND.COM
8. Zim , 30.10.2003 21:53
Андрон Проверь почту
9. Андрон , 31.10.2003 00:14
Спасибо, очень полезная дискетка, обязательно положу такую в комплект.
хочу сделать дискету с мултибутом которая бы давала возможность быстрой загрузки, даже без драйверов памяти. большинству дос утилит они не нужны, а время на загрузку отнимают. Столкнулся с поблемой несовместимости MENUITEM между MS-DOS и DR-DOS — ищу документацию, пока безуспншно.
10. Старый Пе , 31.10.2003 01:19
цитата (Андрон): Помнится раньше работал такой способ: форматируеш дискету, копируеш IO.SYS, затем MSDOS.SYS, и наконец COMMAND.COM
НО это было еще в дос 3.3, сейчас ничего не получается, может что забыл?
Ни в MS-DOS, ни в PC DOS такой способ не работал никогда. Ни до версий 3.3, ни после. А вот в DR DOS такая возможность была. Там не было привязки к сектору дискеты, на который передавалось управление из загрузчика. Достаточно было того, чтобы сами файлы присутствовали. И назывались они, между прочим, не IO.SYS и MSDOS.SYS, а так же, как и в PC DOS — IBMBIO.COM и IBMDOS.COM.
цитата (Андрон): Столкнулся с поблемой несовместимости MENUITEM между MS-DOS и DR-DOS — ищу документацию, пока безуспншно.
Несовместимость была даже между PC DOS и MS-DOS, не говоря уже о DR DOS (позднее — Novell DOS, ныне — Caldera Open DOS). В полной версии дистрибутива был хелп. Ищи дистрибутив.
Надо в архивах пятидюймовок порыться, у меня с 5-й версии по 7-ю все дистрибутивы были.
11. yurfed , 31.10.2003 05:05
[b]Андрон[/b] [q=Андрон]хочу сделать дискету с мултибутом которая бы давала возможность быстрой загрузки, даже без драйверов памяти. большинству дос утилит они не нужны, а время на загрузку отнимают. Столкнулся с поблемой несовместимости MENUITEM между MS-DOS и DR-DOS — ищу документацию, пока безуспншно.[/q]
Could someone please tell me how to do this in DR-DOS? Thanks.
A: Here is a sample CONFIG.SYS that will do the job. You can keep your autoexec.bat like in MS-DOS (you get an environment parameter CONFIG that you can use in auotexec.bat to specify the operations you want to do).
timeout=5 echo=1. Server echo=2. DR-DOS switch server, drdos exit :server set config=server return :drdos set config=drdos Files=60 Buffers=20 Device=c:\CDROMDRV.SYS /D:CD001 return
Это отсюда http://www.drdos.net/faq/#p4_4_6
12. Akina , 31.10.2003 09:47
Андрон Помнится раньше работал такой способ он и сейчас работает — даже в ДОСе от МЕ. При условии что на дискете:
1) родной, от MS, generic boot sector; 2) файл IO.SYS (IBMBIO.COM) записан в первом элементе каталога (для ДОС 5.0 и младше).
Не подходит такой способ, если нет загрузчика. Даже, если загрузчик раньше присутствовал, команда format a: этот загрузчик убьёт. И уж с этой дискеты загрузиться не получится. Рекомендую проверить, кстати. (При условии, что мы обсуждаем версии DOS от M$).
Другое дело, если отформатировать в том же DR DOS (Novell, Caldera). Там этот способ вполне может сработать — там другой формат загрузчика. Проверить пока не могу, но желание сделать это появилось.
15. M-X , 02.11.2003 00:22
Андрон
Можно попробовать Norton Ghost.
16. 65536 , 02.11.2003 02:24
Старый Пе Не подходит такой способ, если нет загрузчика. Даже, если загрузчик раньше присутствовал, команда format a: этот загрузчик убьёт. И уж с этой дискеты загрузиться не получится. Рекомендую проверить, кстати. Странно, у меня этот способ работает, но только если форматировать format’ом от Win98, а если от WinXP, то не работает. Интересно, в чём между ними разница?
Добавление от 02.11.2003 02:32:
А-а, разобрался, в boot sector’е. Осталось его дизассемблировать, чтобы понять, в чём именно отличие.
17. Сергеич , 02.11.2003 11:47
Старый Пе
цитата: Ни в MS-DOS, ни в PC DOS такой способ не работал никогда. Ни до версий 3.3, ни после.
Милейший, не порите чепухи. еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало
18. Старый Пе , 02.11.2003 13:00
Сергеич
Милейший, не порите чепухи. еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало
Ну-ну. Вот 65536 тоже возразить пытался, а провёл эксперимент — чуть ли извиняться не пришлось.
Ещё раз объясняю — всё дело в загрузчике.
Добавление от 02.11.2003 14:38:
Добавлю — у команды format есть ключ /b, который позволяет зарезервировать место для файлов BIO (*BIO.COM, IO.SYS) и DOS (*DOS.COM, MSDOS.SYS). В этом случае дискета становится загрузочной при простом копировании трёх недостающих файлов. Но «правильный» загрузчик в таком случае запишется только при выполнении команды sys a:.
Тонкий нюанс — в каждой ОС размер зарезервированного места чётко соответствует размерам файлов именно этой версии DOS, а загрузчик «знает» эти файлы по именам, поэтому адекватная работа этого метода гарантируется только в одной и той же версии DOS.
Сергеич еще в 1989 году в техникуме именно так и делали загрузочную дискету
Спишем на некоторую забывчивость. Времени всё же немало прошло.
19. Сергеич , 02.11.2003 16:15
Старый Пе Загрузчик от MS-DOS 3.0 точно пишет в BOOT то что надо для загрузки(по крайней мере для загрузки DOS 3.0). правда его сейчас не найти практически, а то можно было бы над кодом поспорить. насчет забывчивости — не было у нас (в смысле У МЕНЯ конкретно) полного ДОСа, приходилось загрузочную дискеты делать именно Форматом с последующим перекачиванием IO.SYS и MSDOS.SYS. кстати есть исходники от MS-DOS 6.22 можно посмотреть загрузочный сектор. так вот он сам ищет IO.SYS на дискете даже если тот раскидан как хрен знает что.
Насчет загрузчика естессно все от него и зависит, может быть современные ОС пишут на дискету в BOOT-сектор полный понос. не буду писать третий раз одно и то же про 3.0
Добавление от 02.11.2003 17:04:
Кстати сейчас не поленился проделать опыт. отформатировал дискету из-под XP, скопировал IO.SYS MSDOS.SYS COMMAND.COM загрузка не пошла. отформатировал из-под ME, сделал то же самое. как ни странно все загрузилось. да собственно иначе и быть не могло
PS Естессно MSDOS.SYS пришлось немного поправить на предмет того чтобы не грузиться с винта PPS Кстати 65536 именно про это и написал, под 98 все получилось. за что извиняться то?
PPPS Кстати откройте Boot от дискеты, созданной XP. как он будет грузить DOS? Там даже намека на IO.SYS нет. а если создать загрузочный диск то бутсектор становится другой.
20. Старый Пе , 03.11.2003 03:46
Сергеич Загрузчик от MS-DOS 3.0 точно пишет в BOOT то что надо для загрузки(по крайней мере для загрузки DOS 3.0). правда его сейчас не найти практически, а то можно было бы над кодом поспорить. насчет забывчивости — не было у нас (в смысле У МЕНЯ конкретно) полного ДОСа, приходилось загрузочную дискеты делать именно Форматом с последующим перекачиванием IO.SYS и MSDOS.SYS. кстати есть исходники от MS-DOS 6.22 можно посмотреть загрузочный сектор. так вот он сам ищет IO.SYS на дискете даже если тот раскидан как хрен знает что.
Готовьтесь съесть свою шляпу, уважаемый.
Проведены практические эксперименты со следующими версиями операционных систем: MS-DOS 3.20 MS-DOS 3.30 MS-DOS 4.0 MS-DOS 4.01 rus Compaq DOS 3.31 PC DOS 3.30 PC DOS 6.3 PC DOS 7 PTS-DOS 6.41
Исключение составили версии от IBM, Compaq и Phys-Tech-Soft, где соответствующие файлы создавались с соответствующими операционной системе именами.
Во всех случаях получен одинаковый результат — невозможность загрузки. Non-bootable disk. и т.д. Исключение составила дискета с PTS-DOS — она сразу передала управление на MBR жёсткого диска.
Повторяю для тех, кто не может понять своей ошибки — команда format в ранних версиях DOS (мы обсуждаем именно их, по крайней мере с этого ветка началась) без дополнительных (кроме имени дисковода) параметров полностью переписывала Boot Record дискеты таким кодом, который не позволял с этой дискеты загрузиться. Изменить Boot Record (и сделать дискету загрузочной) можно было только применив команду sys a: к этой дискете, но до начала записи на неё.
Исключение составляли версии DOS от Digital Research (DR-DOS, позднее ставшая Novell DOS, ещё позднее — Caldera DOS). О них — в следующий раз.
Дополнительно хочу заметить, что в операционных системах Windows 9X и т.д. файл MSDOS.SYS не является исполняемым файлом, как это было до версии 6.22 включительно. Поэтому команда echo. > msdos.sys также лишена смысла. Не было в DOS таких команд, т.е. никому бы не пришло в голову написать такую командную строку.
Кстати сейчас не поленился проделать опыт. отформатировал дискету из-под XP, скопировал IO.SYS MSDOS.SYS COMMAND.COM загрузка не пошла. отформатировал из-под ME, сделал то же самое. как ни странно все загрузилось. да собственно иначе и быть не могло
Это нужно принять, как подтверждение Ваших упражнений еще в 1989 году в техникуме ? Вы с Windows ME в техникуме упражнялись?
PS Естессно MSDOS.SYS пришлось немного поправить на предмет того чтобы не грузиться с винта
Это Вы о чём? В нашем примере мы его создаём командой echo. > msdos.sys, ни о какой правке речь не идёт. Да и что там править, пардон, в таком случае?
PPS Кстати 65536 именно про это и написал, под 98 все получилось. за что извиняться то?
За вот это, я думаю. => Милейший, не порите чепухи. еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало
В Windows 98SE такой номер проходит — только что проверил. Но Вы утверждаете, что делали подобный трюк в DOS 3.xx, что явная неправда.
PPPS Кстати откройте Boot от дискеты, созданной XP. как он будет грузить DOS? Там даже намека на IO.SYS нет. а если создать загрузочный диск то бутсектор становится другой.
Тут я даже комментировать не могу. Без обид, ладно?
21. Vladislav_A , 03.11.2003 09:01
Старый Пе Во всех случаях исполнялись следующие действия, как предлагалось здесь: format a: copy io.sys a:\*.* echo. > msdos.sys[b] — а вот этого для DOS 3.x-6.x делать не следовало, надо было [b]copy msdos.sys a:\ copy command.com a:\*.* . Во всех случаях получен одинаковый результат — невозможность загрузки. Результат не удевителен, тем более, что если не полениться и посмотреть 0 сектор загрузочной и не зарузочной дискеты с помощью DiskEdit то можно обнаружить немало различий.
22. Akina , 03.11.2003 09:20
Старый Пе Не подходит такой способ, если нет загрузчика
Читать умеем? generic boot sector. или Вы не в курсе что это такое?
65536 у меня этот способ работает, но только если форматировать format’ом от Win98, а если от WinXP, то не работает. Интересно, в чём между ними разница? Сергеич Кстати сейчас не поленился проделать опыт. отформатировал дискету из-под XP, скопировал IO.SYS MSDOS.SYS COMMAND.COM загрузка не пошла. отформатировал из-под ME, сделал то же самое. как ни странно все загрузилось. да собственно иначе и быть не могло
ХР вообще не знает о существовании загрузочной дискеты. Потому у него пишется abstract boot sector.
Старый Пе Тонкий нюанс — в каждой ОС размер зарезервированного места чётко соответствует размерам файлов именно этой версии DOS, а загрузчик «знает» эти файлы по именам, поэтому адекватная работа этого метода гарантируется только в одной и той же версии DOS.
Слушай, а ты попробуй такую штуку — форматни дискету с резервированием пространства под системные файлы, а потом скопируй туда файлы от другой версии и загрузись с дискеты. будешь (не)приятно удивлен.
Проведены практические эксперименты со следующими версиями операционных систем:
передача текста без понимания смысла? Впрочем Vladislav_A уже правильно ткнул носом.
23. Сергеич , 03.11.2003 11:40
Какой смысл доказывать сейчас с пеной у рта, что я делал 13-14 лет назад? насчет ME в те времена — ну да, именно с ней и пробовал, была стыренная из мелкософта pre-pre-pre-pre-pre-pre-alpha. всегда удивлялся людям, которые сами ничего не могут, но не потому, что не умеют, а потому, «что этого не может быть». Еще как может. не поленитесь прислать бут от дискеты дос 3.0 после обычного формата, самому к сожалению взять негде. там и поговорим. Третий раз повторяю, что так делал не только я, а еще как минимум десяток человек.
24. Старый Пе , 03.11.2003 11:59
Vladislav_A а вот этого для DOS 3.x-6.x делать не следовало, надо было copy msdos.sys a:\
Это не мне объяснять надо, а специалистам, утверждающим, что еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало. Из моего сообщения явно следует, что я понимаю эту разницу.
К тому же, в нашем случае это никого не спасёт — дискета не грузится не по этой причине.
Akina Читать умеем? generic boot sector. или Вы не в курсе что это такое?
По всей видимости, Вы готовы объяснить, как его получить, используя format a: в DOS 3.xx-6.xx. С доказательством того, что загрузка с такой дискеты без модификации boot sector-а осуществима.
передача текста без понимания смысла? Впрочем Vladislav_A уже правильно ткнул носом.
Может и ткнул. Только у ж точно не меня.
25. Сергеич , 03.11.2003 12:21
цитата: приходилось загрузочную дискеты делать именно Форматом с последующим перекачиванием IO.SYS и MSDOS.SYS.
цитата: а вот этого для DOS 3.x-6.x делать не следовало, надо было copy msdos.sys a:\
Это не мне объяснять надо, а специалистам, утверждающим, что еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало. Из моего сообщения явно следует, что я понимаю эту разницу.
Как все запущено.
Загрузочный сектор, записываемый на дискету в ДОС 3.0-6.22, при команде Format a:, имеет следующую последовательность команд:
; We now begin to load the BIOS in. ; All we have to do is just read is multiply the BioStartClus ; by SecsPerClust to find the logical sector for the start ; of the BIOS file. When this value is added to the double ; word BiosHigh:BiosLow we get the absolute sector offset ; for the start of the file and then read the sectors ; contiguously IBM_LOAD_SIZE times. We here assume that ; IBMLOAD module is contiguous. Currently we estimate that ; IBMLOAD module will not be more than 3 sectors. DoLoad: mov AX,[BX].DIR_FIRST ; AX = BIOS starting cluster dec AX ; Subtract first 2 reserved clusters dec AX mov BL,SecsPerClust ; BX = Sectors per cluster xor BH,BH mul BX ; DX:AX = first logical sector of bios
mov BX,BIO_OFFSET ;offset of ibmbio(IBMLOAD) to be loaded. mov CX,IBM_LOAD_SIZE ;# of sectors to read.
Do_While: push AX push DX push CX call DoDiv ; DX:AX = sector number. jc Load_Failure ; Adjust stack. Show error message mov al, 1 ; Read 1 sector at a time. ; This is to handle a case of media ; when the first sector of IBMLOAD is the ; the last sector in a track. call DoCall ; Read the sector. pop CX pop DX pop AX jc CkErr ; Read error? add AX,1 ; Next sector number. adc DX,0 add BX,BytesPerSector ; Adjust buffer address. loop Do_While
; ========================================================================= ; Main read-in loop. ; ES:BX points to area to read. ; Count is the number of sectors remaining. ; BIOS$ is the next logical sector number to read ; ; CurrentHead is the head for this next disk request ; CurTrk is the track for this next request ; CurSec is the beginning sector number for this request ; ; AX is the number of sectors that we may read. ; ; ========================================================================= ; ; IBMINIT requires the following input conditions: ; ; DL = INT 13 drive number we booted from ; CH = media byte ; IBMBIO init routine should check if the boot record is the ; extended one by looking at the extended_boot_signature. ; If it is, then should us AX;BX for the starting data sector number. ; =========================================================================
DISKOK: mov CH,MediaByte mov DL,BootDrv mov BX,[BiosLow] ; J.K.I1.Get bios sector in bx mov AX,[BiosHigh] ; J.K.I1. jmp FAR PTR Bios ;CRANK UP THE DOS
Доступно написано(между просим самими программерами Мелкософта) что код грузит три первых сектора из IO.SYS, и передает на них управление. Поэтому копирование системных файлов после формата и дает в итоге загрузочную дискету(так как проблема может быть только если эти первые три сектора идут не подряд, тогда загрузится некоторое количество лажи). Повторяю, это тот бут-сектор, который записывает ОБЫЧНАЯ команда FORMAT A:
Дальнейший спор видится бессмысленным. видимо каждый останется при своем мнении
26. mwz , 03.11.2003 15:12
Akina
И всю жизнь начиная по крайней мере с DOS-3 копирование в этой последовательности
copy io.sys a:\*.* copy msdos.sys a:\*.* а не echo.>a:\msdos.sys — это уже сказано copy command.com a:\*.*
давало системную дискету DOS той версии, откуда эти 3 файла — если дискета форматировалась в DOS/Win9x как несистемная, а файлы брались от любой из DOS, даже не той, в которой форматировалось. А вот форматирование под NT-family этого не позволит, что тоже уже сказано.
27. КоляН , 03.11.2003 17:37
цитата (mwz): И всю жизнь начиная по крайней мере с DOS-3 копирование в этой последовательности
copy io.sys a:\*.* copy msdos.sys a:\*.* а не echo.>a:\msdos.sys — это уже сказано copy command.com a:\*.*
давало системную дискету DOS той версии, откуда эти 3 файла — если дискета форматировалась в DOS/Win9x как несистемная, а файлы брались от любой из DOS, даже не той, в которой форматировалось. А вот форматирование под NT-family этого не позволит, что тоже уже сказано.
И где грибы такие забористые растут, даже интересно.
Неужели Вы никогда не забывали в дисководе дискету и при перезагрузке не получали строчку «Non-System disk or disk error. Replace and press any key when ready»? Не верю! (с) Станиславский.
И Вы тоже будете утверждать, что достаточно на такую дискету перенести простым копированием файлы IO.SYS, MSDOS.SYS и COMMAND.COM, чтобы она чудесным образом превратилась в загрузочную?
Давно такого бреда не читал. Всем срочно читать Фигурнова.
28. Akina , 03.11.2003 17:46
КоляН Так вот — если при загрузке с дискеты выдается сообщение Non-System disk or disk error. Replace and press any key when ready — то именно такая дискета после копирования на нее IO.SYS, MSDOS.SYS и COMMAND.COM станет загрузочной.
Дискета, которая НЕ станет загрузочной, напишет другое сообщение — Non-bootable disk. Insert bootable disk and strike Enter when ready (или очень близкое к этому).
Вышеуказанное верно для MS-DOS 3.30-6.22. PC-DOS, DRDOS и прочие — не знаю.
Для проверки того станет ли дискета загрузочной, можно глянуть содержимое ее бут-сектора. Если он забит «под завязку», и в конце есть стандартные имена загрузочных файлов — эта дискета станет загрузочной после копирования на нее системных файлов, если же бут-сектор наполовину состоит из нулей — нет.
29. Сергеич , 03.11.2003 17:50
Неужели Вы никогда не забывали в дисководе дискету и при перезагрузке не получали строчку «Non-System disk or disk error. Replace and press any key when ready»? Не верю! (с) Станиславский.
И Вы тоже будете утверждать, что достаточно на такую дискету перенести простым копированием файлы IO.SYS, MSDOS.SYS и COMMAND.COM, чтобы она чудесным образом превратилась в загрузочную?
Уважаемый, а вам и невдомек видимо, что эту надпись выводит сам бут-сектор при необнаружении на дискете IO.SYS и MSDOS.SYS? И если ему их дать, то все пойдет как по маслу(на любой дискете отформатированной ДОС 2.0-6.22 или 95-98-ме)?
30. traveller2002 , 03.11.2003 19:13
A_Bittner Я думаю, приятно людям вспомнить, как они под Win 98 форматировали дискету, а потом копировали на нее системные файлы от MS DOS 3.3.
31. mwz , 04.11.2003 01:38
КоляН Фигурнова я читал ещё в 80-х, и не скажу, что это лучшее из книг по компьютерной тематике: Богумирский куда точнее и понятнее писал.
А таже Ливингстон, с его «Секретами. » по различным операционкам.
Впервые сам применил этот метод где-то в 80-х, на DOS то ли 3.3, то ли 4.01: не было на винчестере файлов SYS.COM и FORMAT.COM, да и прочих тоже (машина была обрезана по максимуму), а загрузочную дискету надо было сделать срочно.
Если интересует — могу прислать образы дискеты сразу после форматирования (час назад) под DOS-6.22 как несистемной, и её же — после последующего копирования трёх упомянутых файлов от той же DOS-6.22 (80 кил архив).
Некоторые уточнения по моим и другим высказываниям на эту тему: (1) В DOS-6.22 порядок и месторасположение этих файлов в записи корневого каталога также существенны. Изменять порядок стало можно начиная с Win95. (2) Если при DOS-форматировании была введена метка тома — до её удаления системной дискету методом прямого копирования не сделать: метка тома займёт первое место в записи корневого каталога, т.е. то, которое должен занимать io.sys. (3) Файлы от Win9х не пойдут на дискете, форматированной в DOS-3. 6.22, и наоборот. — Ну и, кроме всего прочего, я не считаю эту тему актуальной. Таковой она была бы лет 10 назад. Так что от последующих экспериментов меня увольте.
32. Старый Пе , 04.11.2003 04:54
Akina Сергеич
Признаю свою неправоту. Привёл условия «эксперимента» к реальным (MSDOS.SYS) и всё заработало.
Но! Если разбираться по-хорошему, то ошибок в этой ветке достаточно, и не только у меня. И про необязательность записи файла IO.SYS первым, и про полную совместимость (и обратную применимость) загрузчика/системных файлов от старых версий DOS и новых (aka 7.XX, Win9X).
Зато архив пятидюймовых дискет разобрал. Много чего интересного нашёл.
Одного вот только не понял.
цитата (Akina): передача текста без понимания смысла? Впрочем Vladislav_A уже правильно ткнул носом.
Кто и кого ткнул носом? И в каком посте?
33. Akina , 04.11.2003 08:41
Старый Пе Одного вот только не понял. Насчет того что для версий 6.22 и младше MSDOS.SYS не создается через echo, а копируется (в старых версиях это был исполняемый файл, а не файл конфигурации). Очевидно же ж.
34. Сергеич , 04.11.2003 12:46
Ладно. разобрались и гут. теперь можно и
35. КоляН , 04.11.2003 13:31
mwz Если интересует — могу прислать образы дискеты сразу после форматирования (час назад) под DOS-6.22 как несистемной, и её же — после последующего копирования трёх упомянутых файлов от той же DOS-6.22 (80 кил архив).
Хм-м-м. Интересует. И от 3.30, если есть.
Добавление от 04.11.2003 14:06:
Можно образы не высылать.
Вообще классно — условия эксперимента меняются по ходу эксперимента. То вы создаёте системные файлы «с нуля» в командной строке, то копируете. Разумеется, в виндовых DOS-ах (о как!) функции обоих системных файлов выполняет один IO.SYS, а раньше эти функции были разделены. Так что файл-пустышка будет работать только на дискете, созданной в Windows 95 (98, Me).
36. mwz , 04.11.2003 21:03
Так что файл-пустышка будет работать только на дискете, созданной в Windows 95 (98, Me). Тут я согласен абсолютно — и отметил это для себя ещё при чтении соответствующих сообщений.
И от 3.30, если есть. Я уже сказал, что тема некритична, и что от последующих экспериментов меня увольте. Да и искать DOS-3.3 желания нет — у меня не сохранилось ничего до 6.22.
Так как с уже имеющимися образами DOS-6.22, высылать или нет?
37. КоляН , 04.11.2003 21:11
mwz Так как с уже имеющимися образами DOS-6.22, высылать или нет?
Да всё уже, проехали.
38. Старый Пе , 05.11.2003 01:16
цитата (Akina): Старый Пе Одного вот только не понял. Насчет того что для версий 6.22 и младше MSDOS.SYS не создается через echo, а копируется (в старых версиях это был исполняемый файл, а не файл конфигурации). Очевидно же ж.
А о чём тогда я здесь (http://forum.ixbt.com/topic.cgi? >
39. 65536 , 14.11.2003 03:57
цитата (Старый Пе): Сергеич PPS Кстати 65536 именно про это и написал, под 98 все получилось. за что извиняться то?
За вот это, я думаю. => Милейший, не порите чепухи. еще в 1989 году в техникуме именно так и делали загрузочную дискету. версии были MS-DOS 3.0-3.3. Как ни странно все работало
Тема: Виртуальный диск под DOS
Обратные ссылки
URL обратной ссылки
Подробнее про обратные ссылки
Закладки & Поделиться
Отправить тему форума в Digg!
Добавить тему форума в del.icio.us
Разместить в Technorati
Разместить в ВКонтакте
разместить в Facebook
Разместить в MySpace
Разместить в Twitter
Разместить в ЖЖ
Разместить в Google
Разместить в Yahoo
Разместить в Яндекс.Закладках
Разместить в Ссылки@Mail.Ru
Reddit!
Опции темы
Виртуальный диск под DOS
Привет всем Знает ли кто как создать виртуальный диск под ДОС типа ramdrive.sys, но с возможностью назначения конкретной буквы (например Z). Заранее спасибо
Последний раз редактировалось Володя; 01.08.2005 в 14:09 .
Поделиться
Поделиться этим сообщением через
Digg
Del.icio.us
Technorati
Разместить в ВКонтакте
Разместить в Facebook
Разместить в MySpace
Разместить в Twitter
Разместить в ЖЖ
Разместить в Google
Разместить в Yahoo
Разместить в Яндекс.Закладках
Разместить в Ссылки@Mail.Ru
Reddit!
Именно так (с помощью ramdrive.sys) и создается. Только в autoexec.bat надо добавить: SET RAMDRIVE=Y (твоя буква)
Поделиться
Поделиться этим сообщением через
Digg
Del.icio.us
Technorati
Разместить в ВКонтакте
Разместить в Facebook
Разместить в MySpace
Разместить в Twitter
Разместить в ЖЖ
Разместить в Google
Разместить в Yahoo
Разместить в Яндекс.Закладках
Разместить в Ссылки@Mail.Ru
Reddit!
Добавил, ничего не происходит привожу содержание файлов:
autoexec.bat @ECHO OFF LH mscdex.exe /d:mscd001 /v /m:8 /l:z LH mode con codepage prepare=((866) ega3.cpi) LH mode con codepage select=866 LH keyb ru,,keybrd3.sys SET RAMDRIVE=Y LH mouse.com
А сидюк появляется? Если да — то с какой буковкой. И на память ругачки нет ли?
MS-DOS
Операционные системы MS-DOS, Windows 95, Windows 98 и старое железо компьютера — установка, настройка, использование.
Основные команды MS-DOS . Часть 2.
Команды MS-DOS — минимальный список.
Команды MS-DOS легко запоминаются в случае, если вы владеете хорошо (на школьном уровне) английским языком. Чаще всего команда — это сокращенная фраза.
Эта чистая как снег команда format c: …
Рассмотрим минимальный список команд, которые нам могут понадобиться для работе в DOS. Мы их будем использовать для установки операционных систем на базе DOS или поиска и запуска установленного файлового менеджера.
Команды MS-DOS общесистемного назначения.
При запуске MS-DOS вы увидите приглашение работы в командной строке. По умолчанию оно будет обозначать корневой каталог диска с установленной операционкой. Допустим, операционная система установлена на диск C: , приглашение будет выглядеть:
C:\>
Сменить текущий диск можно набрав новое имя дисковода.
Примеры: d: — устанавливает текущий диск D:\> a: — устанавливает текущий диск A:\>
prompt
Изменить вид приглашения (prompt — англ. напоминание, подсказка).
Формат команды: prompt [текст]
Специальные сочетания символов: $p — текущий дисковод и каталог; $n — текущий дисковод; $d — текущая дата; $t — текущее время; $v — версия DOS; $_ — переход на новую строку; $s — пробел; $g — символ «>»; $h — удаление предыдущего символа.
Примеры: prompt $p$g — устанавливает приглашение вида c:\mydir\doc>; prompt $t$h$h$h$h$h$h$g — устанавливает приглашение вида 15:35>
Вывести на экран версию DOS (version — англ. версия).
Формат команды: ver
Пример: ver — на экран выводится версия используемой операционной системы. Например: MS-DOS Version 6.22
Команды MS-DOS для работы с каталогами.
Отобразить список файлов и подкаталогов для указанного каталога (directory — англ. директория, каталог)
Формат команды: dir [дисковод:][путь\][имя-файла] [параметры]
Параметры: /p — поэкранный вывод; /w — вывод в широком формате; /s — оглавление указанного в команде каталога и всех его подкаталогов; /b — только имена файлов без заголовочных и итоговых сведений;
Сортировки: /on — по имени; /oe — по расширению; /od — по времени; /og — сначала выводить сведения о подкаталогах;
Примеры: dir — оглавление текущего каталога dir *.exe — сведения обо всех файлах .exe текущего каталога
Вывод оглавления в файл или на принтер: dir > prn — вывести оглавление текущего каталога на принтер; dir c:\*.txt > txtfiles.txt — создать в файле txtfiles.txt список всех файлов с расширением .txt, находящихся в корневом каталоге диска c:
Изменить текущую рабочую директорию (change directory — англ. изменить каталог, директорию).
Формат команды: cd [дисковод:][путь]
Примеры: cd \ — переход в корневой каталог текущего диска; cd \exe — переход в каталог exe в корневом каталоге; cd .. — переход в наддиректорию; cd — сообщает текущий диск и каталог
Создать директорию (make directory — англ. создать каталог, директорию).
Формат команды: md [дисковод:][путь\]имя-каталога
Примеры: md abc — создать каталог abc в текущем каталоге; md c:\users\my — создать каталог my в каталоге users в корневом каталоге диска c:
Переместить файлы в другой каталог. Переименовать директорию (move — англ. переместить).
С параметром /y при существовании в каталоге-приемнике файлов с теми же именами, что и пересылаемые, выполняется замещение этих файлов без запроса. Задание нового имени возможно только при пересылке одного файла. Например, команда move *.bac a:\*.old ошибочна.
Примеры: move *.doc d:\ — переместить файлы с расширением doc из текущего каталога в корневой каталог диска d:; move f1.txt tmp\f2.txt — переместить файл f1.txt в каталог tmp с переименованием в f2.txt.
Команда deltree может удалять как каталоги, так и файлы. В имени файла-или-каталога можно использовать символы * и ?.
Примеры: deltree temp — удалить каталог или файл с именем temp из текущего каталога; deltree /y d* — удалить из текущего каталога все каталоги и файлы, имя которых начинается на d, не запрашивая подтверждение.
Команды MS-DOS для работы с файлами.
Вывести (напечатать) содержимое файла на экран (type — англ. напечатать).
Формат команды: type имя-файла
Примеры: type t1.doc — вывод на экран файла type t1.doc из текущего каталога.
copy con
Создать текстовый файл (copy console- англ. скопировать консоль (то, что набираем клавиатурой на экране) в файл).
Формат команды: copy con имя-файла
Ctrl+Z, F6 — признак конца файла. Enter — признак конца строки.
Примеры: copy con work.txt — создать в текущем каталоге текстовый файл work.txt.
Копировать файл (copy — англ. скопировать).
Формат команды: copy имя-файла1 имя-файла2 copy имя файла1 [имя-каталога2]
В именах файлов можно употреблять символы * и ?, а также указывать имя диска и путь. Команда copy не копирует скрытые файлы и файлы нулевой длины. Если файл с таким же именем, как у копии, создаваемой командой уже существует, то он замещается.
Примеры: copy x.txt z.txt — скопировать файл x.txt в текущий каталог с именем z.txt; copy a:\*.* — cкопировать все файлы из корневого каталога диска а: в текущий каталог текущего диска; copy \text\*.txt a:*.doc — скопировать из подкаталога text текущего каталога все файлы с расширением txt в текущий каталог диска а:. Файлы получат расширения doc.
Использование устройств: copy t1.txt prn — копирование файла t1.txt на принтер; copy t1.txt con — копирование файла t1.txt на экран монитора
Удалить файл (delete- англ. удалить).
Формат команды: del имя-файла
Примеры: del *.txt — удалить все файлы с расширением .txt из текущего каталога; del name.doc — удалить из текущего каталога файл с именем name.doc
Переименовать файл (rename- англ. переименовать).
Формат команды: ren имя-файла1 имя-файла2
В параметре имя-файла1 можно указывать дисковод и путь, в имя-файла2 — нет. Команда ren не обрабатывает скрытые файлы.
Примеры: ren xxx.doc xxx.txt — переименовать файл xxx.doc текущего каталога в xxx.txt; ren a:*.txt *.doc — переименовать все файлы текущего каталога на диске а: с расширением .txt в файлы с такими же именами и расширениями .doс
Команды MS-DOS для работы с дисками.
format
Форматировать диск (format— англ. форматировать).
Формат команды: format дисковод: [параметры]
Параметры: /s — создать системный диск; /v:метка — задание метки диска; /u — безусловное форматирование с уничтожением имеющихся данных; /q — быстрая очистка без контроля наличия сбойных участков.
Если параметры не указаны, то программа проверяет, форматирована ли дискета; оставляет формат таким же, что и имеющийся; стирает информацию обо всех файлах и каталогах из системных областей; тестирует область данных на наличие сбойных участков.
Примеры: format a: /u — безусловное форматирование дискеты а:; format a: /q — очистка дискеты; format a: /s — форматировать дискету и сделать ее системной.
Перенести на диск системные файлы DOS (system- англ. система).
Формат команды: sys [путь] диск:
Если путь не задан, системные файлы берутся из корневого каталога текущего диска.
Примеры: sys a: — перенести на диск а: системные файлы из корневого каталога текущего диска.
fdisk
Сконфигурировать жесткий диск для использования DOS. Работает в интерактивном режиме. (disk— англ. диск). Работает в интерактивном режиме (вопрос-ответ).
создание основного раздела MS-DOS;
создание расширенного раздела MS-DOS;
установка активного раздела;
удаление раздела;
вывод данных раздела;
выбор следующего жесткого диска для создания разделов (если система имеет несколько жестких дисков).
Формат команды: fdisk [параметры]
Параметры: /? или /H — вывести справочный текст. /d — позволяет удалять разделы, отличные от DOS. Его следует использовать с осторожностью. /ststus — вывести обзорную информацию о разделах жесткого диска (дисков) вашего компьютера. Если /ststus не обеспечивает достаточно подробной информации о диске, то запустите программу fdisk без параметра /ststus и выберите пункт 4.
Примеры: fdisk — начать работу с дисками в интерактивном режиме.
Метка — обозначение длиной до 11 символов. Недопустимые символы: * ? / \ | . , ; : + = [ ] ( ) & ^ » . Чтобы узнать метку диска, можно использовать команду vol. (vol дисковод:)
Примеры: label a: — сообщить меткe диска а:.
В третьей части цикла статей об основных командах MS-DOS мы рассмотрим применение наших знаний на практике при установке операционной системы на старое железо.
Комментировать Отменить
Для отправки комментария вам необходимо авторизоваться.
Тема: Утилиты для работы с дисками TR DOS из Windows NT
Опции темы
Отображение
Линейный вид
Комбинированный вид
Древовидный вид
TeleDisk умеет только считывать сами сектора (это как раз не проблема) вопрос как я понял в том чтобы прочитать всю дорожку вместе с разметкой (межсекторными промежутками, зонами синхронизации и т.д.).
писать из образа на дискету, кажется, куда проще
Это идеальный случай для особо навороченных защит (таких я встречал токо одну и не на спеке).
Более менее прояснилась ситуация с утилитами. Вобщем — взял я другой дисковод и вроде нормально его подрубил.Но когда пытаюбсь вашими утилитами считать диск — пишет ошибку на первых секторах упорно. Диск на реале читается. Попробовал таким образом — отформатировал диск утилитой formatt, записал туда образ writetrd, затем начал считывать диск с записанным образом утилитой maketrd — стала читать без вопросов!
В Real Spectrum при попытке сделать List или Cat — пишет также ошибку на 1-х секторах.
Александр говорил что то про индексное отверстие. Нельзя ли подробнее .
Резюмируя всё ещё раз — Help Me !!
Про частичную заклейку индексного отверстия я впервые услышал наверное году в 1995, пробовал на практике: ничего не получается.
например в документации к эмулятору UKV:
Элементарно, если диск битый, то и ошибки будут.
Откопал вчерась сотню своих спековских дисков на антресолях, с кучей всякого барахла, которое я писал лет 10 назад. Поднять диски удалось только сей утилитой, остальные читать отказывались.
В пять утра спать лег, не мог оторваться от ностальгических созерцаний своих трудов десятилетней давности.
уфф! Прочитал тред, попробовал сделать, не получилось. Хееелп.
Вчерась вечером достал купленый у Романа Турбо. До этого баловался только дискетами 5.25 записанными на реале. Вчера подрубил 3.5 флоп 1.44 от писюка, поработал, пописал. решил перетащить с РС WinХР софт. Не тут-то было! В обсчем мои поиски после полуночи закончились достаточно плачевно. Сегодня с утра нашел этот тред, откопал дискетку (сложное это дело по нынешним временам), сел пробовать. По порядку: 1. Поставил драйвер. 2. Запустил Formatt 3. Запустил RealSpec попробовал почитать. Error на 3 или 9 секторе 4. Попробовал копирнуть имидж на дискету. Результат ниже.
ЗЫ Форматер работает классно! Приятно слушать.
Была и у меня такая проблема. скорее всего дело в так называемом интерливе. Попробуй дискеты отресторить на реале в DCU или FUT.
Пару месяцев назад я то ж пытался разобраться с этими утилитами — но не получилось. Наловчился перегонять другим способом — загружаюсь под ДОС и работаю в Spectrum Navigator.
а я на спеке под исдосом на мс-диски кидаю трд, сцл, тексты, а потом спокойно копирую. 2do_se: у меня тож с этой прогой проблемы были, а потом просто ключики правилные подобрал и все ок:
Выходим в DOS, в нормальный, чистый DOS
Иногда нужно заргузится в DOS, например для того чтобы запустить систему диагностики hdd (типа mhdd) или посмотреть 256 байтную демку. Но не нужно судорожно перерывать чердак в поисках старой дискетки и продувать дисковод, не нужно даже переразмечать разделы на hdd для fat16, даже не надо портить болванку и искать олдскульного друга с чернобелым монитором, 386 процессором и большой бородой. Дос вполне можно загрузить через memdisk.
1) Ставим пакет syslinux 2) Находим файл memdisk из этого пакета (у меня он был в /usr/share/syslinux) 3) Копируем memdisk в /boot 4) Берём образ дискетки с msdos (можно у меня, уже с mhdd и демкой puls) 5) Копируем образ тоже в /boot 6) Дополняем /boot/grub/menu.lst таким пунктом: title MSDOS root(hd0,0) # Номер диска изменить на нужный kernel /memdisk initrd /Dos6.22.img 7) Перезагружаемся и ностальгируем
UPD: Я знаю что есть 9000 способов загрузится в дос сидюка, флешки, зипа, стриммера, перфокарты, однако это всё требует дополнительного оборудования и носителей. Данный способ не требует ничего, кроме установленного grub и интернета.
UPD/2: Таким способом можно диагностировать винт на котором находится сам образ mhdd.
Приложение Б Функции DOS (INT 21h)
Приложение Б Функции DOS (INT 21h)
DOS, функция 00h
CS – сегмент PSP завершающегося процесса
Описание. Передает управление на вектор завершения в PSP (выходит в родительский процесс). Идентична функции INT 20h (Terminate). Регистр CS должен указывать на PSP. Восстанавливает векторы прерываний DOS 22h-24h (Завершение, Ctrl-Break и Критическая ошибка), устанавливая значения, сохраненные в родительском PSP. Выполняет сброс файловых буферов. Файлы должны быть предварительно закрыты, если их длина изменилась.
Данная функция не рекомендуется к использованию. Для выхода из программы лучше использовать функцию DOS 4Ch.
DOS, функция 01hСчитать со стандартного устройства ввода
Выход: AL – символ, полученный из стандартного ввода
Описание. Считывает (ожидает) символ со стандартного входного устройства. Отображает этот символ на стандартное выходное устройство (эхо). При обнаружении Ctrl-Break выполняется INT 23h.
Ввод расширенных клавиш ASCII (F1-F12, PgUp, курсор и другие) требует двух обращений к этой функции. Первый вызов возвращает AL=0. Второй вызов возвращает в AL расширенный код ASCII.
DOS, функция 02hЗаписать в стандартное устройство вывода
DL – символ, выводимый в стандартный вывод
Посылает символ из DL в стандартное устройство вывода. Обрабатывает символ Backspace (ASCII 8), перемещая курсор влево на одну позицию и оставляя его в новой позиции. При обнаружении Ctrl-Break выполняется INT 23h.
DOS, функция 03hСчитать символа со стандартного вспомогательного устройства
Выход: AL – символ, введенный со стандартного вспомогательного устройства
Описание. Считывает (ожидает) символ со стандартного вспомогательного устройства, COM1 или AUX и возвращает этот символ в AL.
Ввод не буферизуется и должен опрашиваться (не управляется прерываниями). При запуске DOS порт AUX (COM1) инициализируется так: 2400 бод, без проверки на четность, 1 стоп-бит, 8-битные слова. Команда DOS MODE используется для установки иных характеристик.
DOS, функция 04hЗаписать символ в стандартное вспомогательное устройство
DL – символ, выводимый в стандартное вспомогательное устройство
Посылает символ, находящийся в регистре DL, на стандартное вспомогательное устройство, COM1 или AUX.
DOS, функция 05hВывести на принтер
DL – символ, записываемый на стандартный принтер
Посылает символ в DL на стандартное устройство печати, обычно LPT1.
DOS, функция 06hКонсольный ввод-вывод
DL=00h-FEh – символ, посылаемый на стандартный вывод
DL=FFh – запрос ввода со стандартного ввода
ZF=0, если осуществлялся ввод символа и символ готов при запросе ввода
AL – считанный символ
ZF=1, если осуществлялся ввод символа и символа в консоли нет
При DL=0FFh выполняет ввод с консоли «Без ожидания», возвращая включенный флаг нуля ZF, если на консоли нет готового символа. Если символ готов, сбрасывает флаг ZF и возвращает считанный символ в AL. Если DL не равен 0FFh, то DL направляется на стандартный вывод.
DOS, функция 07hНефильтрующий консольный ввод без эха
Выход: AL – символ, полученный через стандартный ввод
Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. Не проверяет на Ctrl-Break, BackSpace и другие.
Для ввода расширенного символа ASCII должна быть вызвана дважды. Для проверки статуса используется функция DOS 0Bh (чтобы не ожидать нажатия клавиши).
DOS, функция 08hКонсольный ввод без эха
Выход: AL – символ, полученный через стандартный ввод
Описание. Считывает (ожидает) символ со стандартного входного устройства и возвращает этот символ в AL. При обнаружении Ctrl-Break выполняется прерывание INT 23h.
Для ввода расширенного символа ASCII должна быть вызвана дважды.
DOS, функция 09hЗапись строки на стандартный вывод
DS:DX – адрес строки, заканчивающейся символом «$» (ASCII 24h)
Строка, исключая завершающий ее символ «$», посылается на стандартный вывод. Символы Backspace обрабатываются как в функции 02h (вывод на дисплей). Чтобы перейти на новую строку, обычно включают в текст пару CR/LF (ASCII 0Dh и ASCII 0Ah). Строки, содержащие «$», можно передать на стандартное устройство вывода с помощью функции 40h (BX=0).
DOS, функция 0AhВвод строки в буфер
DS:DX – адрес входного буфера (Таблица Б-1)
Таблица Б-1. Формат входного буфера
Буфер содержит введенные данные, в конце – символ CR (ASCII 0Dh)
DOS, функция 0BhПроверка статуса ввода
Выход: AL=FFh, если символ доступен со стандартного ввода AL=00h, если нет доступного символа
Описание. Проверяет состояние стандартного ввода. При распознавании Ctrl-Break выполняется INT 23h.
Используется перед функциями 01h, 07h и 08h, чтобы избежать ожидания нажатия клавиши.
Эта функция дает простой неразрушающий способ проверки Ctrl-Break в процессе длинных вычислений или другой обработки, обычно не требующей ввода. Это позволяет снимать счет по нажатию Ctrl-Break.
DOS, функция 0ChВвод с очисткой
AL – номер функции ввода DOS:
AL=01h – ввод с клавиатуры
AL=06h – ввод с консоли
AL=07h – нефильтрующий без эха
AL=08h – ввод без эха
AL=0Ah – буферизованный ввод
Очищает буфер опережающего ввода стандартного ввода, а затем вызывает функцию ввода, указанную в AL. Это заставляет систему ожидать ввод очередного символа.
DOS, функция 0DhСброс диска
Сбрасывает диск (записывает на диск все файловые буферы). Файл, размер которого изменился, должен быть предварительно закрыт (при помощи функций 10h или 3Eh).
DOS, функция 0EhУстановить текущий диск DOS
DL – номер диска (0 – A, 1 – B и так далее), который становится текущим
Выход: AL – общее число дисководов в системе
Описание. Диск, указанный в DL, становится текущим. Проверка: используется функция 19h (дать текущий диск). В регистре AL возвращается число дисководов всех типов, включая жесткие диски и «логические» диски (как диск B: системе с одним гибким диском).
AL имеет то же значение, что и LASTDRIVE, указанное в файле CONFIG.SYS, и по умолчанию равно 5.
DOS, функция 0FhОткрыть файл через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
Таблица Б-2. Формат FCB
AL=00h, если функция выполнена успешно (FCB заполнен)
AL=FFh, если файл не найден или доступ к файлу не разрешен
Файл, описываемый неоткрытым FCB, должен существовать в текущем оглавлении на диске, специфицированном в FCB (0 – текущий, 1 – A, 2 – B и так далее). Если файл не существует, возвращается AL=0FFh. Файл открывается в режиме совместимости. Если поле «Номер диска» в FCB равно нулю в момент вызова, то оно заполняется номером текущего дисковода (1 – A, 2 – B и так далее). Поле FCB «Номер текущего блока» устанавливается в ноль. Поле FCB «Размер логической записи» устанавливается в 80h. Поля даты и размера файла в FCB устанавливаются из оглавления.
DOS, функция 10hЗакрыть файл через FCB
DS:DX – адрес открытого FCB (Таблица Б-2)
AL=00h, если функция выполнена успешно
AL=FFh, если файл не найден там, где он находился при открытии с помощью функции 0Fh
Закрывает файл, открытый функцией 0Fh. Файл должен находиться на своем первоначальном месте в текущем оглавлении диска, на котором он был открыт. Если файл найден, оглавление обновляется, файловые буфера сбрасываются и возвращается AL=00h. Если файл не найден, оглавление не обновляется и возвращается AL=FFh.
DOS, функция 11hНайти первый совпадающий файл через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
AL=00h, если подходящее имя найдено
AL=FFh, если подходящего имени нет
В текущем оглавлении DOS происходит поиск файлов с именем, соответствующим заданному шаблону. При неудаче возвращается AL=0FFh. Если имя найдено, AL очищается, в первый байт DTA помещается номер дисковода (A – 1, B – 2 и так далее), а в следующие 32 байта помещается элемент оглавления для найденного файла.
Можно использовать при вызове расширенный FCB, чтобы выбирать файлы с указанными атрибутами. В этом случае в DTA помещаются: байт FFh, 7 байт нулей, номер диска и элемент оглавления.
DOS, функция 12hНайти следующий совпадающий файл через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
AL=00h, если подходящее имя найдено
DTA заполнен AL=FFh, если подходящего имени нет
Используется после вызова функции 11h (Найти первый совпадающий файл через FCB) с обобщенным именем файла. Каждый последующий вызов заполняет DTA очередным подходящим элементом оглавления и возвращает AL=00h. Если подходящих имен больше нет, возвращается AL=FFh.
Резервируемая область в FCB сохраняет информацию, необходимую для продолжения поиска. Поэтому не стоит открывать и изменять FCB между вызовами.
DOS, функция 13hУдалить файл через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
AL=00h, если функция выполнена успешно
AL=FFh, если файл не найден или доступ к файлу не разрешен
Эта функция удаляет все подходящие файлы в текущем оглавлении указанного диска согласно спецификации в FCB. Если подходящие файлы не найдены или если доступ отвергнут (как при попытке удалить файл с атрибутом Read-Only), функция возвращает в регистре AL значение FFh.
DOS, функция 14hПоследовательное чтение из файла через FCB
DS:DX – адрес открытого FCB (Таблица Б-2)
AL=00h, если чтение было успешным и DTA содержит данные
AL=01h, если достигнут конец файла (EOF) и данные не считаны
AL=02h, если произошел выход за сегмент (чтения не было)
AL=03h, если EOF и считана усеченная запись (дополнена нулями)
Функция читает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.
Перед началом последовательной обработки файла нужно сбрасывать CurRec в ноль, так как функция 0Fh не инициализирует это поле.
DOS, функция 15hПоследовательная запись в файл через FCB
DS:DX – адрес открытого FCB (Таблица Б-2)
AL=00h, если запись была успешной
AL=01h, если ошибка переполнения диска (данные не записаны)
AL=02h, если произошел выход за сегмент (записи не было)
Функция записывает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.
Перед началом последовательной обработки файла нужно сбрасывать «Номер текщей записи» в ноль, так как функция 0Fh не инициализирует это поле.
DOS буферизует данные, записывая полный сектор за один раз.
DOS, функция 16hСоздание файла через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
AL=00h, если функция выполнена успешно FCB заполнен
AL=FFh, если при выполнении функции возникли ошибки
Описание. Файл, специфицированный неоткрытым FCB, создается на диске, указанном в FCB (0 – текущий, 1 – A и так далее). Он открывается в текущем оглавлении этого диска. FCB заполняется аналогично функции 0Fh. Если файл существует в момент вызова, его элемент оглавления перекрывается новым файлом, а длина файла сбрасывается в ноль.
Handle-ориентированные функции DOS 2.0+ гораздо удобнее в работе.
DOS, функция 17hПереименовать файл через FCB
DS:DX – адрес измененного FCB (Таблица Б-2)
AL=00h, если функция выполнена успешно
AL=FFh, если при выполнении функции возникли ошибки
Переименовывает файл в текущем оглавлении.
DOS, функция 19hПолучить текущий диск DOS
Выход: AL – номер текущего диска (0 – A, 1 – B, и так далее)
Возвращает номер дисковода текущего диска DOS.
DOS, функция 1AhУстановить адрес DTA
DS:DX – адрес DTA
Устанавливает адрес DTA. Все FCB-ориентированные операции работают с DTA. DOS не позволяет операциям ввода/вывода пересекать границу сегмента. Функции поиска 11h, 12h, 4Eh и 4Fh помещают данные в DTA. DTA глобальна, поэтому надо проявлять осторожность при назначении ее в рекурсивной процедуре. При запуске программы ее DTA устанавливается по смещению 80h относительно PSP.
DOS, функция 1BhПолучить информацию FAT для текущего диска
DS:BX – адрес байта FAT ID, отражающего тип диска (Таблица Б-3)
DX – всего кластеров (единиц распределения) на диске
AL – секторов на кластер
CX – байт на сектор
Таблица Б-3. Значения >
Возвращает информацию о размере и типе текущего диска. Размер диска (в байтах) равен DX*AL*CX. Свободную память можно найти функциями 36h или 32h.
Версии: DOS 1.x держит FAT в памяти и возвращает DS:BX => FAT. DOS 2.0+ может держать в памяти лишь часть всей FAT.
Эта функция изменяет содержимое регистра DS.
DOS, функция 1ChПолучить информацию FAT для указанного диска
DL – номер диска (0 – текущий, 1 – A и так далее)
DS:BX – адрес байта FAT ID, отражающего тип диска (приведен в описании функции 1Bh)
DX – всего кластеров (единиц распределения)
AL – секторов на кластер
CX – байт на сектор
Аналогична функции 1Bh с той разницей, что регистр DL указывает диск, для которого нужно получить информацию.
DOS, функция 21hСчитать произвольную запись файла
DS:DX – адрес открытого FCB (Таблица Б-2)
AL=00h, если чтение было успешным и DTA заполнена данными
AL=01h, если достигнут конец файла (EOF) и чтения не было
AL=02h, если произошел выход за сегмент (чтения нет)
AL=03h, если встречен EOF и усеченная запись дополнена нулями
Данная функция читает из файла с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».
DOS, функция 22hПисать произвольную запись файла
DS:DX – адрес открытого FCB (Таблица Б-2)
AL=00h, если запись была успешной
AL=01h, при переполнении диска
AL=02h, если DTA+FCB выходит за сегмент (нет записи)
Данная функция записывает в файл с текущей позиции как с указанной в полях FCB «Запись с текущей позиции» и «Номер записи при непосредственном доступе к файлу».
DOS, функция 23hПолучить размер файла через FCB
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
AL=00h, если функция выполнена успешно
AL=FFh, если при выполнении функции возникли ошибки
Проще определить размер файла при помощи функции 3Dh с последующим выполнением 42h (при AL=2).
DOS, функция 24hУстановить адрес произвольной записи в файле
DS:DX – адрес открытого FCB (Таблица Б-2)
Устанавливает поле «Номер записи при непосредственном доступе к файлу» в FCB на файловый адрес, соответствующий значениям полей «Текущий блок» и «Запись с текущей позиции».
DOS, функция 25hУстановить вектор прерывания
AL – номер прерывания
DS:DX – вектор прерывания – адрес программы обработки прерывания
Описание. Устанавливает значение элемента таблицы векторов прерываний для прерывания с номером AL, равным DS:DX. Это равносильно записи 4-байтового адреса в 0000:(AL*4), но, в отличие от прямой записи, DOS знает, что происходит, и гарантирует, что в момент записи прерывания будут заблокированы.
Восстановить DS (если необходимо) после этого вызова.
DOS, функция 26hСоздать новый PSP
DX – адрес сегмента (параграфа) для нового PSP
CS – сегмент PSP, используемый как шаблон для нового PSP (Таблица Б-4)
Описание. Устанавливает PSP для порождаемого процесса по адресу DX:0000. Текущий PSP (100h байт, начиная с CS:0) копируется в DX:0000h, поле MemTop соответственно корректируется, векторы Terminate, Ctrl-Break и Critical Error копируются в PSP из векторов прерываний INT 22h, INT 23h и INT 24h. После этого можно загрузить программу с диска и передать ей управление посредством FAR JMP.
Если перехватывается INT 21h, нужно позаботиться о помещении в стек корректного CS: IP. Еще лучше использовать функцию 4Ch.
Таблица Б-4. Формат PSP
DOS, функция 27hЧитать произвольный блок файла
DS:DX – адрес открытого FCB (Таблица Б-2)
CX – число считываемых записей
Выход: AL=00h, если чтение успешно и DTA заполнена данными AL=01h если достигнут конец файла (EOF) и данные не считаны AL=02h, если при чтении произошел выход за границу сегмента AL=03h, если EOF и считана усеченная порция (дополнена нулями) CX – действительное число считанных записей
Читает несколько записей из файла, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Помещает данные в память, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).
DOS, функция 28hПисать произвольный блок файла
DS:DX – адрес открытого FCB (Таблица Б-2)
CX – число записываемых блоков (если CX равен нулю, то размер файла усекается до указанного в поле FCB «Номер записи при непосредственном доступе к файлу»)
AL=00h, если запись успешна
AL=01h, при переполнении диска
AL=02h, если при записи произошел выход за границу сегмента
CX – действительное число сделанных записей
Описание. Записывает несколько блоков в файл, начиная с файлового адреса, указанного полем «Номер записи при непосредственном доступе к файлу» в FCB. Читает данные из памяти, начиная с адреса DTA. Соответствующие поля FCB корректируются, чтобы указывать на следующую запись (первую за прочитанными).
DOS, функция 29hРазобрать имя файла
DS:SI – адрес исходной текстовой строки для разбора
ES:DI – адрес буфера для результирующего неоткрытого FCB (Таблица Б-2)
AL – битовые флаги, указывающие опции разбора (Таблица Б-5).
AL=00h, если результирующий FCB не содержит обобщенных символов
AL=01h, если результирующий FCB содержит обобщенные символы
AL=FFh, если неверно обозначение диска в имени файла
DS:SI – изменен – указывает на символ сразу вслед за именем файла
ES:DI – не изменен – указывает на неоткрытый FCB
Создает неоткрытый FCB из строки текста или параметра команды. Текст, начиная с DS:SI, анализируется как имя файла в формате D: FILENAME.EXT, и буфер по адресу ES:DI заполняется как соответственно форматированный FCB.
Таблица Б-5. Битовые флаги
DOS, функция 2AhПолучить системную дату
AL – день недели (0 – воскресенье, 1 – понедельник, … 6 – суббота), DOS 3.0+
CX – год (от 1980 до 2099)
DH – месяц (1 до 12)
DL – день (1 до 31)
Описание. Возвращает текущую дату, которая известна системе.
DOS 2.x не гарантирует возврата в AL значения дня.
DOS 1.0+ возвращает правильный день недели.
Версии до 2.1 имеют проблемы с переходом через дату.
DOS, функция 2BhУстановить системную дату
CX – год (от 1980 до 2099)
DH – месяц (от 1 до 12)
DL – день (от 1 до 31)
AL=00h, если дата корректна
AL=FFh, если дата некорректна и не изменена
Устанавливает системную дату DOS.
DOS, функция 2ChПолучить время DOS
CH – часы (от 0 до 23)
CL – минуты (от 0 до 59)
DH – секунды (от 0 до 59)
DL – сотые доли секунды (от 0 до 99)
Описание. Возвращает текущее время, которое известно системе.
Поскольку системные часы имеют частоту 18.2 Гц (интервал 55мс), DL имеет точность примерно 0.04 сек.
DOS, функция 2DhУстановить время DOS
CH – часы (от 0 до 23)
CL – минуты (от 0 до 59)
DH – секунды (от 0 до 59)
DL – сотые доли секунды (от 0 до 99)
AL=00h, если время корректно
AL=FFh, если время некорректно и не изменено
Устанавливает системное время DOS.
DOS, функция 2EhУстановить/сбросить переключатель верификации
AL=00h – отключить верификацию
AL=01h – включить верификацию
Описание. Задает, должна ли DOS верифицировать (считывать обратно) каждый сектор, записываемый на диск. Это замедляет операции записи на диск, но гарантирует максимальную надежность записи.
DOS, функция 2FhПолучить адрес текущей DTA
Выход: ES:BX – адрес начала текущей DTA
Описание. Возвращает адрес начала области ввода-вывода (DTA). Поскольку DTA глобальна для всех процессов, в рекурсивной процедуре (например, при проходе по дереву оглавления) может потребоваться сохранить адрес DTA, а впоследствии восстановить его посредством функции 1Ah.
Примечание. Эта функция изменяет сегментный регистр ES.
Версии: DOS 2.00 и выше DOS, функция 30hПолучить номер версии DOS
AL – старший номер версии
AH – младший номер версии
BL:CX – 24-битный серийный номер (большинство версий не поддерживают этот параметр)
Описание. Возвращает в AX значение текущего номера версии DOS. Например, для DOS 3.20 в AL возвращается 03h, в AH – 14h.
Примечание. Если в AL возвращается 00h, можно предполагать, что работает DOS более ранней версии, чем DOS 2.0.
Версии: DOS 2.00 и выше. DOS, функция 31hЗавершиться и остаться резидентным
DX – объем памяти, оставляемой резидентной (в параграфах)
Описание. Выходит в родительский процесс, сохраняя код выхода в AL. Код выхода можно получить через функцию 4Dh. DOS устанавливает начальное распределение памяти, как специфицировано в DX, и возвращает управление родительскому процессу, оставляя указанную память резидентной (число байт равно DX*16). Эта функция перекрывает функцию INT 27h, которая не возвращает код выхода и не способна установить резидентную программу, размер которой превышает 64 Кбайт.
Команды работы с каталогами и файлами в операционной системе Ms DOS
Цели урока:
Выработка умений работы в операционной системе с использованием командной строки, применения теоретических знаний и возможностей операционной системы MS DOS на практике.
Формирование информационной компетентности.
Развитие интеллектуальных способностей и познавательных интересов школьников.
ХОД УРОКА
Организационная часть:
Проверка присутствующих, готовности класса и обучающихся к уроку (чистота в классе, наличие учебно-наглядных пособий, внешний вид обучающихся).
Проверка знаний обучающихся:
Путь к файлу.
Операции над файлами.
Операционная система: назначение и состав.
3. Теоретическая часть. Объяснение нового материала
Общие сведения о командах MS DOS
Команды — способ общения пользователя с компьютером в операционной системе.
Работа на компьютере в операционной системе MS DOS организуется командами. Они вызывают определенное действие в компьютере: организуют передачу информации; вырабатывают необходимый управляющий сигнал; подключают внешнее устройство для организации процесса ввода-вывода информации и т.д.
Команда технически реализована программой в машинных кодах и хранится либо в файле на диске, либо входит в состав командного процессора операционной системы MS DOS. Ввод команды осуществляется в командной строке в соответствии с определенными правилами, заданными в виде формата.
Командная строка — строка экрана, начинающаяся с приглашения операционной системы.
Формат команды — правило формирования команды пользователем с клавиатуры.
При формировании команды в соответствии с установленным форматом запомните правила:
формат команды состоит из имени команды латинскими буквами (без типа) и отделенных от нее одним пробелом параметров, уточняющих ее действие;
в большинстве случаев параметры между собой пробелом не разделяются, а в качестве разделителя часто используется символ / или \;
параметрами могут быть: имя дисковода, путь, имя файла, тип файла, латинские буквы, символы, цифры;
присутствие параметров в формате часто бывает необязательным.
Процедура ввода команды состоит в следующем:
В соответствии с форматом в командной строке вы набираете ее имя и необходимые параметры.
Нажимаете клавишу ввода, что служит сигналом начала анализа ее структуры: при отсутствии ошибок в формате команды будет выполнено указанное действие; при наличии ошибок на экране выдается сообщение Bad kommand or file name (Неверная команда или имя файла).
При невыполнении команды вы внимательно просматриваете заданную конструкцию команды и вновь вводите ее, но уже в откорректированном варианте.
Примечание. Появление ошибок возможно как во время выполнения команды, так и после ее окончания. Об этом будет свидетельствовать сообщение, указывающее на причину ошибки.
4. Опорный конспект:
Основные команды DOS
Команды работы с каталогами
Команды работы с файлами
Команда смены текущего дисковода.
А: — переход на дисковод А:
С: — переход на дисковод С:
D: — переход на дисковод D:
Создание текстовых файлов. сopy con имя-файла
После ввода этой команды нужно будет поочередно вводить строки файла. В конце каждой строки нужно нажимать клавишу Enter, а после ввода последней – нажать клавишу F6 и затем Enter.
Создание каталога.
md [дисковод:] путь
Копирование файлов. copy имя-файла1 имя-файла2 или copy имя-файла1 [имя-каталога]
Изменение текущего каталога.
cd [дисковод:] путь
Переименование файлов. ren имя-файла1 имя-файла2
Уничтожение каталога.
rd [дисковод:] путь
Соединение (конкатенация) файлов.
copy имя-файла [+ имя-файла]. имя-файла
Удаление каталога со всем содержимым. deltree имя-файла-или-каталога [/Y]
Удаление файлов.
del имя-файла
Просмотр каталога. dir [дисковод:][путь\][имя-файла] [параметры]
Вывод файла на экран.
type имя-файла
Другие команды
Очистка экрана монитора.
cls
Вывод информации о дате и установка даты в компьютере.
date
Вывод информации о времени и установка времени в компьютере.
time [часы:минуты]
Получение информации о версии DOS.
5. Практическая часть.
Выполнение лабораторной работы.
Лабораторная работа №1
Работа с операционной системой MS DOS
Задание
Выполнение
Запустить Командную строку
Пуск – Программы – Стандартные — Командная строка
Выполнить команду просмотра логического устройства
dir
В корневом каталоге диска создайте директорий, назовите своей фамилией.
md IVANOV
Проверить наличие созданного каталога при помощи команды DIR.
Сделать каталог IVANOV текущим
cd IVANOV
Создать в каталоге IVANOV каталог с номером лабораторной работы
md LAB1
Сделать каталог LAB_1 текущим
cd LAB1
Создать в текущем каталоге файл с расширением .txt и именем, соответствующем вашему реальному имени. Ввести фамилию, дату выполнения работы.
copy con IVAN.txt
Нажать F6 для выхода из режима редактирования.
Создать текущем каталоге файл text1.txt. Ввести “Я изучаю DOS”
copy con text1.txt
Я изучаю DOS F6
Создать в текущем каталоге каталог с именем COPYTEST
md COPYTEST
Копировать файл text1.txt в каталог COPYTEST
copy text1.txt D:\IVANOV \LAB1\COPYTEST
Копировать файл IVAN.txt в каталог COPYTEST с переименованием на PETR.txt
copy IVAN.txt D:\IVANOV \LAB1\COPYTEST\PETR.txt
Переместиться в на уровень выше
cd ..
Выполнить команду просмотра каталога
Dir
Переместить файл text1.txt в каталог IVANOV:
move text1.txt D:\ IVANOV
Переместить файл IVAN.txt в каталог IVANOV с переименованием на MARIA.txt
move IVAN.txt D:\ IVANOV\ MARIA.txt
Проверить наличие файла в каталоге IVANOV при помощи команды DIR.
6. Практическая работа (раздаточный материал)
Работа с файлами и каталогами в DOS
Создать каталог d:\ (Своя фамилия)
Создать систему подкаталогов в каталоге d:\ (Своя фамилия) по следующему ОБРАЗЦУ:
В каталоге DIR1 создать файл wan.txt
В каталоге DIR2 создать файл tu.txt.
Скопировать файл wan.txt в каталог INF2 с переименованием на tir.txt
Переместить файл tu.txt d в каталог INF2 с переименованием на tir.txt
На диске D в личном каталоге создать каталог CHET
Создать систему подкаталогов в каталоге CHET по образцу
В каталоге DOS1 создать файл ban.txt.
В каталоге ZAH2 создать файл mu.txt.
Скопировать файл ban.txt в каталог DOS2 с переименованием на tvr.txt
Переместить файл mu.txt в каталог DOS2 с переименованием на bir.txt
Вывести на экран содержимое каталога DOS2
На диске D в личном каталоге создать каталог TROL
Создать систему подкаталогов в каталоге TROL :
В каталоге KONT1 создать файл ran.txt.
В каталоге KONT2 создать файл man.txt. редакторами текстов.
Скопировать файл man.txt в каталог BOSS1 с переименованием на tnt.txt
Переместить файл ran.txt в каталог BOSS2 с переименованием на bat.txt/
Вывести на экран содержимое каталога BOSS2
Создать каталог d:\ (Своя фамилия)
Создать систему подкаталогов в каталоге d:\ (Своя фамилия) по следующему ОБРАЗЦУ:
В каталоге DAR1 создать файл dan.txt.
В каталоге DАR2 создать файл din.txt.
Скопировать файл dan.txt в каталог LAIT2 с переименованием на tan.txt
Переместить файл din.txt d в каталог LAIT2 с переименованием на tin.txt
Вывести на экран содержимое каталога LAIT2
На диске D в личном каталоге создать каталог RIM
Создать систему подкаталогов в каталоге RIM по образцу
В каталоге ROS1 создать файл bon.txt.
В каталоге RAH2 создать файл son.txt.
Скопировать файл bon.txt в каталог ROS2 с переименованием на ton.txt
Переместить файл son.txt в каталог ROS2 с переименованием на don.txt
Вывести на экран содержимое каталога ROS2
На диске D в личном каталоге создать каталог TRON
Создать систему подкаталогов в каталоге TRON :
В каталоге KON1 создать файл ron.txt.
В каталоге KON1 создать файл mon.txt.
Скопировать файл ron.txt в каталог BOR2 с переименованием на ton.txt
Переместить файл mon.txt в каталог BOR2 с переименованием на bon.txt
Вывести на экран содержимое каталога BOR2
Создать каталог c:\ RABOTA_1
Создать систему подкаталогов в каталоге c:\RABOTA_1 по следующему дереву:
В каталоге PAP1 создать файл wan.txt,
В каталоге РАР2 создать файл tu.txt
Скопировать файл wan.txt в каталог LIST2
Перенести файл tu.txt в каталог LIST2
Вывести на экран содержимое каталога LIST2
Опорный конспект, основные команды работы с файлами и каталогами в операционной системе MS DOS
MS-DOS для программиста
3.1. Получение справочной информации
В этом разделе мы опишем наиболее нужные, на наш взгляд, функции MS-DOS, предназначенные для получения справочной информации о состоянии дисковой системы.
Текущий диск и текущий каталог
В любой момент времени программа может определить текущий диск или текущий каталог, а также сменить текущий диск или текущий каталог. Для этого она должна использовать специальные функции прерывания INT 21h .
Для того чтобы узнать номер текущего диска, программа может воспользоваться функцией 19h:
На входе:
AH
19h
На выходе:
AL
Номер текущего устройства НГМД или НМД (0 — А:, 1 — В:, и т. д.).
Для установки текущего диска можно использовать функцию 0Eh, которая имеет следующие параметры вызова:
На входе:
AH
0Eh
DL
Номер устройства НГМД или НМД (0 — А:, 1 — В:, и т. д.)
На выходе:
AL
Общее количество дисковых устройств в системе. Эта величина соответствует параметру LASTDRIVE из файла CONFIG.SYS
Для того чтобы узнать текущий каталог, вы можете воспользоваться функцией 47h:
На входе:
AH
47h
DL
Номер устройства НГМД или НМД (0 — текущий, 1 — А:, 2 — В:, и т. д.)
DS:SI
Адрес буфера для записи пути текущего каталога
На выходе:
AX
Код ошибки, если установлен флаг переноса CF
Буфер должен иметь размер не менее 64 байт. Функция 47h возвращает текущий каталог в формате ASCIIZ (то есть строку, закрытую двоичным нулем, например: «path\dirname»,0) без символа, обозначающего диск. Если текущим является корневой каталог, регистровая пара DS:SI будет указывать на нулевую строку (состоящую из одного двоичного нуля).
Функция 3Bh предназначена для установки текущего каталога:
На входе:
AH
3Bh
DL
Номер устройства НГМД или НМД (0 — текущий, 1 — А:, 2 — В:, и т. д.)
DS:DX
Адрес буфера, содержащего путь к каталогу, который должен стать текущим
На выходе:
AX
Код ошибки, если установлен флаг переноса CF
Буфер может иметь максимальный размер 64 байт. Он должен содержать путь в формате ASCIIZ. Строка не должна содержать символ, обозначающий диск. Если текущим должен стать корневой каталог, строка должна состоять только из одного двоичного нуля.
Определение размера кластера и сектора
Функции MS-DOS могут помочь вам в получении информации, необходимой для организации доступа к диску на уровне секторов и кластеров. При этом вы будете избавлены от необходимости читать в память и анализировать содержимое загрузочного сектора логического диска.
Информация о таблице размещения файлов FAT для текущего диска может быть получена с помощью функции 1Bh прерывания INT 21h , имеющего следующие параметры вызова:
На входе:
AH
1Bh
На выходе:
DS:BX
Адрес первого байта FAT . Это байт идентификации среды носителя данных, соответствует байту media в блоке параметров BIOS
DX
Общее количество кластеров на диске
AL
Количество секторов в одном кластере
CX
Количество байт в одном секторе
Дополнительно эта функция возвращает общее количество кластеров на диске, размер кластера в секторах и размер сектора в байтах.
Для старых версий MS-DOS регистровая пара DS:BX указывала на FAT , считанный в память. Более поздние версии операционной системы могут содержать по этому адресу только часть таблицы размещения файлов .
Для получения аналогичной информации не о текущем, а о любом диске, используйте функцию 1Ch. Эта функция полностью аналогична предыдущей, за исключением того, что в регистре DL должен быть указан номер НГМД или НМД: 0 — текущий, 1 — А:, 2 — В: и т. д.
Определение размера свободного пространства
Если вас интересует размер свободного места на диске, вы можете его узнать с помощью функции 36h:
На входе:
AH
36h
DL
Номер устройства НГМД или НМД (0 — текущий, 1 — А:, 2 — В:, и т. д.)
На выходе:
AX
Количество секторов в кластере или 0FFFFh, если был задан неправильный номер устройства
BX
Количество свободных кластеров на диске
CX
Количество байт в одном секторе
DX
Общее количество кластеров на диске
Эта функция возвращает в регистре AX число 0FFFFh, если вы неправильно указали номер устройства.
Блок управления устройством DDCB
При обсуждении векторной таблицы связи в предыдущем томе «Библиотеки системного программиста» мы рассказывали о блоках управления устройствами DDCB . Поле dev_cb векторной таблицы связи содержит дальний адрес цепочки этих блоков.
Для получения адреса блока DDCB можно воспользоваться недокументированной функцией 32h:
На входе:
AH
32h
DL
Номер устройства НГМД или НМД (0 — текущий, 1 — А:, 2 — В:, и т. д.)
На выходе:
AL
0, если был задан правильный номер устройства; 0FFh, если был задан неправильный номер устройства
DS:BX
Адрес блока DDCB
Для получения адреса блока DDCB текущего диска можно также воспользоваться недокументированной функцией 1Fh, которая имеет формат, аналогичный функции 32h, за исключением того, что для нее не надо задавать номер устройства в регистре DL.
Флаг прерывания
С помощью функции 33h программа может проверить или установить флаг прерывания при помощи комбинации клавиш и, кроме того, узнать номер диска, с которого выполнялась загрузка операционной системы:
На входе:
AH
33h
AL
Код операции: 0 — Проверить текущее состояние флага прерывания при помощи комбинации клавиш ; 1 — Установить флаг прерывания при помощи комбинации клавиш ; 5 — Определить номер диска, который был использован для загрузки операционной системы
DL
Значение флага прерывания при помощи комбинации клавиш операции с кодом 1:0 — запретить прерывание,1 — разрешить прерывание
На выходе:
DL
Текущее состояние флага прерывания при помощи комбинации клавиш для операции с кодом 0; Номер диска, использованного для загрузки операционной системы для операции 5 (1 — А:, 2 — В:, и т. д.)
Сведения о диске, который был использован для загрузки операционной системы, могут понадобиться вам, например, для поиска файла командного интерпретатора.
Состояние флага прерывания при помощи комбинации клавиш влияет на возможность прервать выполнение программы. Если прерывание запрещено, MS-DOS проверяет эту комбинацию клавиш только при вызове функций стандартного ввода/вывода на консоль, принтер и последовательный порт. Если же прерывание разрешено, указанная комбинация клавиш проверяется и при вызове других функций MS-DOS. Если пользователь нажал комбинацию клавиш , операционная система выполняет прерывание INT 23h , которое завершает работу текущей программы.
Адрес области DTA
Функция 2Fh возвращает в регистровой паре ES:BX адрес текущей области DTA (Disk Transfer Area ), которая используется при поиске файлов в каталогах. Этот адрес необходим резидентным программам, о чем мы говорили в предыдущем томе «Библиотеки системного программиста».
Флаг проверки записи
Функция 54h позволяет программе узнать текущее состояние флага проверки записи информации на диск. В регистре AL эта функция возвращает текущее состояние флага.
Если содержимое регистра равно 1, после записи сектора операционная система считывает его для проверки. Разумеется, такая проверка снижает скорость работы программы. Если после вызова функции регистр AL содержит 0, проверка записи не выполняется.
Для установки флага проверки записи можно использовать функцию 2Eh. Перед вызовом функции в регистр AL необходимо занести новое значение флага проверки: 0 — проверка не нужна; 1 — должна выполняться проверка записанной информации.
Функции библиотеки Borland C++
Стандартная библиотека Borland C++ содержит несколько функций, облегчающих получение справочной информации о состоянии дисковой системы.
_dos_getdiskfree
Функция _dos_getdiskfree использует функцию 36h для получения информации о диске. Файл dos.h содержит такое описание этой функции:
Параметр drive задает номер используемого устройства: 0 — текущий, 1 — А:, и т. д.
Информация возвращается в структуре diskfree_t, которая определена также в файле dos.h:
Поля этой структуры описаны ниже:
Поле
Описание
unsigned total_clusters
Общее количество кластеров на диске
unsigned avail_clusters
Количество свободных кластеров
unsigned sectors_per_cluster
Количество секторов, занимаемых одним кластером
unsigned bytes_per_sector
Размер сектора в байтах
_dos_getdrive и _dos_setdrive
Для получения номера текущего диска и для установки номера текущего диска можно использовать, соответственно, функции _dos_getdrive и _dos_setdrive .
Функция _dos_getdrive имеет следующий прототип:
Она пользуется функцией 19h для получения номера текущего диска, который записывается по адресу, задаваемому параметром drive. Значение 1 соответствует диску А:, 2 — В:, и т. д.
Функция _dos_setdrive предназначена для установки текущего диска и может быть использована для определения общего числа дисков в системе:
Параметр drive определяет текущий диск (1 — А:, и т. д.). В переменную, адрес которой передается через второй параметр, функция записывает общее количество логических дисков, установленных в системе. Функция _dos_setdrive использует функцию 0Eh прерывания INT 21h .
Программа DISKINF2
Для иллюстрации способов использования функций _dos_getdrive , _dos_setdrive и _dos_getdiskfree мы составили программу DISKINF2 (листинг 3.1).
Листинг 3.1. Файл diskinf2\diskinf2.cpp
КОМАНДЫ MS-DOS ДЛЯ РАБОТЫ С ДИСКАМИ
A:\> — дисковод А:, корневой каталог;
C:\DOS> — дисковод C:, каталог DOS.
Для ввода команды следует набрать эту команду на клавиатуре и нажать Enter. Ввод команды может осуществляться как строчными, так и прописными латинскими буквами или их комбинацией
Для смены текущего дисковода надо набрать имя дисковода, который должен стать текущим, и затем двоеточие, например, если текущим является диск С:, а необходимо сделать текущим диск А:, то в командной строке следует набрать А:, т. е. командная строка будет выглядеть следующим образом: диск:
При этом приглашение MS DOS принимает вид:
Как указывалось выше, после ввода любой команды MS DOS надо нажать клавишу Enter. Не следует делать текущим дисковод на дискетах, если на дисководе нет дискеты, или дискета не форматирована.
Самой, пожалуй, распространенной командой является форматирование диска format, она выполняет разметку поверхности диска, записывает на нем системную информацию (загрузочный сектор, таблицу размещения файлов и корневой каталог), а также проверяет диск на наличие дефектов. Нужно всегда помнить, что команда format уничтожает всю информацию на диске!. format диск: /b /s /v /u /q /f:емкость_диска /n:секторов /t:дорожек
Могут применяться следующие параметры:
/b — на диске резервируется место для системных файлов, которые могут быть скопированы в дальнейшем на диск командой sys;
/s — запись на диск системных файлов IO.SYS, MSDOS.SYS, COMMAND.COM, в результате чего диск становится системным;
/v — запрос перед форматированием метки тома;
/u — форматирование диска с уничтожением всех данных;
/q — быстрое форматирование; /f:емкость — выбор емкости, на которую форматируется диск, например, 1440 — 1,44 МБ;
/n:секторов и /t:дорожек — устанавливает количество дорожек и секторов для нестандартных дисков.
Системные файлы также могут быть скопированы на диск командой sys.
Команда diskcopy полностью копирует всю информацию с одной дискеты на другую:
diskcopy диск1: диск2:
diskcopy a: a: — копирование информации одной дискеты на другую, устанавливаемую на тот же самый дисковод;
format a:/s/v — форматирование дискеты с копированием на нее системных файлов и выводом метки тома;
sys a: — копирование системных файлов на диск А.
Операционная система MS-DOS располагает также дополнительными командами предназначеными для работы с подкаталогами и обслуживания жестких и гибких дисков. Ярким примером является загрузочная дискета, сделанная в Windows 98. На этой дискете располагается операционная система MS-DOS с нужными и полезными программами.
Самыми распространенными являются FORMAT.COM, SYS.COM, FDISK.EXE, SCANDISK.EXE. Несколько слов было сказано о FORMAT.COM и SYS.COM. Теперь краткая характеристика FDISK.EXE и SCANDISK.EXE:
Предназначена для проверки поверхности диска, файловой системы и каталогов. Например, нужно проверить из-под DOS диск С, для этого набираем команду: scandisk c:
FDISK.EXE Достаточно мощная программа для разбиения на разделы винчестера (HDD) из-под DOS. Конечно, есть более продвинутая программа, которая также работает из-под DOS это Partition Magic, но именно FDISK способен сделать на новом винчестере загрузочный сектор. FDISK делит HDD на разделы с форматированием каждого раздела, поэтому, нужно помнить, что при разбиении HDD на разделы программой FDISK вся информация будет удалена. Синтаксис запуска: fdisk.
Если установлена операционная система Windows 98, то в DOS можно загрузиться при загрузке компьютера, удерживая клавишу F8. После чего нужно выбрать 5 пункт Command prompt only. Выбрав пункт Command prompt only пользователь попадает в командную строку или в DOS. Кстати, из командной строки можно восстановить реестр из копии командой scanreg /restore или оптимизировать реестр сжатием командой scanreg /opt.
2. ТЕКСТОВЫЙ ПРОЦЕССОР MICROSOFT WORD. БАЗОВЫЕ ПРИЕМЫ
Текстовой редактор – это программа обработки текста, которая используется для создания новых документов (писем, отчетов, бюллетеней) или изменения уже существующих. Современные текстовые редакторы (в том числе и редактор Word) иногда называются текстовыми процессорами, поскольку содержат очень большое количество функций обработки текста.
В мощном текстовом процессоре Microsoft Word для Windows удобно готовить самые разнообразные документы. Вводимый текст отображается на экране именно в том виде, в каком он будет выведен на печать. Мощные средства редактирования текста приближают его по своим возможностям к настольным издательским системам, сохраняя при этом простоту использования.
Пользователю доступны разнообразные средства редактирования: изменение типа и стиля шрифта, выравнивание абзацев, установка межстрочных интервалов, выделение рамками, многоколонный текст, выделение абзацев, висячие отступы, авто нумерация и многое-многое другое. В текст можно вставлять таблицы, ячейки которых могут содержать как текст, так и числа. Встроенное средство построения диаграмм позволяет с легкостью выбирать любой из множества доступных типов графиков. Более того, в ячейки можно вставлять формулы, автоматически пересчитывающие результат при изменении параметров.
Текст может сопровождаться графикой, которую можно вставлять из уже существующих файлов в различных форматах или создавать, используя встроенный графический редактор. Если документ имеет большой размер, то для удобства работы с ним можно автоматически создавать оглавление или алфавитный указатель.
Большое внимание в Word для Windows уделено работе с письмами. Для любого письма можно автоматически создавать конверт, адрес для которого будет выбран из базы данных фактически любого формата. При необходимости отправить одно письмо по нескольким адресам, достаточно просто указать в базе данных соответствующие адреса, и они будут автоматически напечатаны на конвертах.
Новые версия Word для Windows позволяют писать без ошибок. В нем имеется встроенная программа коррекции ошибок. Поддерживается режим динамической проверки орфографии. Каждое написанное вами слово будет проверяться немедленно, и если оно содержит ошибку — вы сразу заметите это по специальной маркировке, которой отмечается слово, написанное неправильно. Для того чтобы произвести коррекцию неверно написанного слова, достаточно будет щелкнуть по нему правой кнопкой мыши, и Вам будет предложен список возможных замен.
В новой версии Microsoft Word можно воспользоваться новым механизмом проверки орфографии. Пользователи также по достоинству оценят возможность автоматического форматирования текста.
Microsoft Word позволяет вводить, редактировать, форматировать и оформлять текст и грамотно размещать его на странице. С помощью этой программы можно вставлять в документ графику, таблицы и диаграммы, а также автоматически исправлять орфографические и грамматические ошибки. Текстовый редактор Word обладает и многими другими возможностями, значительно облегчающими создание и редактирование документов. Наиболее часто используемые функции:
Программа предлагает также ряд функций, экономящих время и усилия. Среди них:
Graph, Equation, WordArt – благодаря этой группе программ возможно вставлять в документ различные диаграммы (Graph), математические формулы (Equation – редактор формул) и текстовые эффекты (WordArt). Эти программы устанавливаются в подкаталог MSAPPS в каталоге WINDOWS, т.е. на тот диск, на котором установлена среда Windows. Это особенно важно в том случае, когда основная часть пакета Word устанавливается на другой диск. На обоих дисках должно быть достаточно свободного места.
Средства проверки (Proofing Tools) – эти программы предназначены для проверки орфографии, исправления опечаток и подбора синонимов.
Конверты, фильтры и ODBC (Converters, Filters and Data Access) – у документов, созданных в других текстовых редакторах, форматы файлов отличаются от того формата, который использует редактор Word. Чтобы Word мог работать с такими файлами, нужны специальные программы преобразования форматов, или конвертеры.
Справка и примеры (Online Help, Examples and Demos) – справочная система Word занимает около 5МБ пространства на жестком диске. Она содержит информацию о каждой команде и описывает шаги, которые необходимо выполнить для получения требуемого результата. В частности, она содержит информацию о WordBasic (встроенном языке программирования для создания новых функций обработки текстов), описания которого нет в печатной документации.
Мастера, шаблоны и письма (Wizards, Templates and Letters) – мастера и шаблоны позволяют экономить время при оформлении типовых документов. С помощью шаблонов Word возможно быстро создавать письма, факсы, надписи на конвертах и т.п.
Инструменты (Tools) – в эту группу входят программа установки, позволяющая изменить конфигурацию MS Word,программа Dialog Editor, программа MS Info, предназначенная для получения информации о текущей системной конфигурации Windows, и программа Редактор диалогов, которая используется для создания макрокоманд (макросов).
Графика (Clip Art) – в графической библиотеке находится более 50 рисунков, которые можно использовать для оформления документов.
Форматирование документа. Текстовый редактор Word для Windows – мощное средство для профессиональной подготовки документов с помощью эффективное использование всего многообразия его функций. Редактор Word позволяет создавать огромное количество специальных эффектов.
Форматированием называется изменение внешнего вида текста, при котором не изменяется его содержание. Например, какое либо слово можно изобразить различными шрифтами.
Создание и оформление документа на компьютере начинается с вызова формы (шаблона), на базе которой будет создаваться документ. Это может быть встроенный шаблон Word, бланк организации, унифицированная форма, разработанная в организации, или чистый лист.
Для автоматизации делопроизводственных процессов чаще всего используются заранее созданные шаблоны всех основных видов документов. Это ускоряет процесс создания, обработки и поиска документа, а главное, избавляет от многочисленных ошибок в их оформлении. Рекомендуется создавать следующие виды шаблонов: общий бланк организации, бланк письма, бланки конкретных видов документов (приказы, распоряжения, акты и т. д.).
При первоначальном открытии Word документ по умолчанию создается на основе шаблона Обычный, который содержит информацию о стилях абзацев и символов, о параметрах страниц, панелях инструментов, которые будут выведены на экран.
Далее рассматриваются возможности текстового процессора Word для создания документов и/или шаблонов.
После того как выбран шаблон документа и установлены параметры страницы, можно вводить текст документа.
Тексты, набранные на компьютере, отличаются от набранных на машинке. Кроме знаков, доеденных с клавиатуры, если установлен соответствующий реж и м, на экране могут появляться так называемые непечатаемые символы:
¶ — символ конца абзаца;
— символ конца строки без окончания абзаца и др.
По умолчанию Word выводит на экран все непечатаемые символы. Эти символы помогают видеть расположение текстовых объектов на странице документа и выводятся на экран, но не на печать. Удалить их можно с помощью клавиш Delete или Backspace.
Для того чтобы скрыть или вновь отобразить эти символы, надо нажать кнопку на панели инструментов Стандартная.
Ввод нового текста осуществляется в активном окне в позиции, на которой установлен курсор.
При перемещении мыши указатель меняет форму в зависимости от положения на экране. В области текста он имеет вид вертикальной черты с насечками I.
Курсор в тексте имеет вид мигающей вертикальной черты |.
При вводе текста обратите внимание на место указателя мыши и курсора. Их легко спутать.
Ввод текста поверх существующего осуществляется в режиме Замены .
Для установки режима Замены/Вставки дважды щелкните на кнопку Зам (замена) в строке состояния.
Пропущенную букву можно вставить при вводе в режиме Вставки, при этом строка автоматически раздвигается вправо.
Удалить текст можно с помощью клавиш Delete или Backspace.
При вводе текста с помощью встроенного алгоритма переноса обеспечивается автоматический переход на следующую строку.
Нажатие клавиши Enter фиксирует конец текущего абзаца и переход к следующему.
Разбиение на строки для создания новой строки в рамках одного абзаца осуществляется одновременным нажатием клавиш Shift + Enter.
Разбиение на страницы при вводе текста осуществляется автоматически, при этом создаются так называемые «мягкие» разделители страниц.
Иногда необходимо начать текст с новой страницы, когда предыдущая еще не заполнена; нажатие клавиш Ctrt+Enter создает «жесткое» разделение текста в определенном месте документа.
Жесткий разделитель страниц представляется на экране (просмотр в меню Вид, Обычный) в виде линии из точек со словами Разрыв страницы.
Для удаления жесткого разделителя страниц следует поместить курсор в конец абзаца, предшествующего разделению, и нажать клавишу Delete.
Редактирование текста начинается с его выделения. Над выделенным текстом могут быть произведены следующие операции:
Для выделения объектов используются мышь, клавиши и так называемая колонка маркировки.
Колонка маркировки — это необозначенная часть экрана в левой части окна документа, которая используется для выделения текста. Когда указатель мыши находится в этой области, то он меняется на стрелку выделения. Колонка маркировки представляет собой простейший способ выделения строки, абзаца или целого документа.
Таблица 1 – Способы выделения текста
Текстовый объект
Способы выделения
Щелкните дважды в границах слова
Удерживая клавишу Ctrl щелкните в границах предложения
Щелкните на колонке маркировки слева от нужной строки
Протащите указатель мыши в колонке маркировки от первой до последней строки
Щелкните дважды на колонке маркировки слева от нужного абзаца
Три раза щелкните или, удерживая клавишу Ctrl щелкните на колонке маркировки
Область выделенного текста может быть расширена. Для этого, удерживая клавишу Shift, щелкните на последнем объекте выделяемого текста.
Область выделения может быть расширена на один символ, если, удерживая клавишу Shift, нажать на нужную клавишу перемещения курсора.
При выделенном текстовом блоке нажатие клавиши Enter удаляет текст.
В Word различают форматирование отдельных символов и форматирование целых абзацев. Если форматирование символов сводится к выбору шрифта, размера символов и начертания, то форматирование абзацев заключается в установке отступов между соседними абзацами, а также от краёв листа бумаги, создания красной строки и выбора выравнивания текста: по центру, по левому краю, по правому краю, по левому и правому краю вместе (по ширине) и т.д. Для этого в панели инструментов существуют соответствующие кнопки.
В Word реализованы два принципиально отличных способа форматирования текста — прямое (или непосредственное) форматирование и форматирование с использованием стилей. При прямом форматировании выделенному фрагменту поочередно назначаются необходимые параметры оформления. Преимущество стилевого форматирования заключается в том, сто выбранному объекту (обычно это абзац) назначается целый набор параметров форматирования (стиль форматирования), который формируется заранее и имеет уникальное имя. Стиль форматирования может содержать параметры шрифта, абзаца, табуляции, обрамления и заливки, кадра, нумерации и указание на используемый язык для расстановки переносов и проверки орфографии. Стили форматирования могут быть назначены выделенным абзацам или абзацу, внутри которого находится курсор.
Для придания тексту читабельного вида обычно используют не больше трех шрифтов и для текстовых выделений, подписей, заголовков изменяют начертание или кегль шрифта. Оформление документа должно соответствовать его содержанию. Текст воспринимается лучше, если на странице остается немного свободного места, поля по краям страницы, свободное пространство между колонками текста и перед заголовками. На удобочитаемость текста в большой степени влияет также правильный выбор гарнитуры, начертания и размера шрифта, расстояния между строками текста, отбивок, абзацных отступов и т.д.
ЗАДАНИЕ 2
Выполнение данного задания предусматривает перевод числе из одной системы счисления в другую, представление числе в форме с плавающей точкой и фиксированной точкой, представление чисел в нормальной форме, осуществление арифметических операций и представление знаковых целых в прямом, обратном и дополнительном кодах. В первом и втором примерах необходимо перевести числа из десятичной системы счисления (10 сс) в двоичную (2сс), восьмеричную (8сс) и шестнадцатеричную (16сс). В третьем и четвертом примерах необходимо перевести числа из 2 сс в 10сс, 8сс, 16сс. В пятом и шестом примерах числа заданные в форме с плавающей точкой (ТП) фиксированной необходимо представить в форме с фиксированной точкой (ФТ). В седьмом и восьмом – нормализовать числа. В девятом – выполнить арифметическую операцию. В десятом – представить знаковое целое в прямом, обратном и дополнительном кодах. В отчетах на первый четвертый примеры следует представить полные математические выкладки, точность представления чисел –до пятого знака после запятой.
Для перевода указанного числа в двоичное число необходимо целую часть делить на основание 2
0 56 28 / 2
Полученные результаты записываем с права налево.
Внутренние и внешние команды DOS. Создание файла в MS-DOS. Основные виды оперативной памяти (ОЗУ).
I. Основные внутренние команды DOS. Внутренние команды DOS выполняет командный процессор command.com.
Применение внутренних и внешних команд DOS относится к области системного программирования.
1. Команда смены текущего дисковода: a: — переход на дисковод a:
b: — переход на дисковод b:
c: — переход на дисковод c:
2. Команда вывода оглавления каталога: dir
Поэкранный (постраничный) вывод оглавления каталога, если оглавление очень большое: dir/p
dir a:\ — команда вывода оглавления корневого каталога на диске а:.
Команда dir>dir.txt позволяет сохранить оглавление текущего каталога в виде текстового файла dir.txt. Это общее правило записи результатов работы программ в текстовом режиме в текстовый файл. Пример: ide.com > ide.txt.
3. Команда смены текущего каталога: cd имя каталога
Переход в корневой каталог текущего диска: cd\
Переход из подкаталога в каталог: cd..
4. Команда создания каталога: md имя каталога
5. Команда удаления пустого каталога: rd имя каталога
6. Команда вывода содержимого текстового файла на экран:
7. Команда очистки экрана монитора: cls
8. Команда копирования файлов:
copy имя файла1 имя файла2 — копирование одного файла в другой
copy имя файла имя каталога — копирование файла в каталог;
copy имя файла prn — распечатка файла на принтере.
9. Создание текстового файла:
copy con: имя файла, нажать Enter, ввести построчно текст,
в конце каждой строки Enter, затем в конце F6 или Ctrl+Z и Enter.
10. Объединение содержимого двух и более текстовых файлов
(конкатенация файлов): copy имя 1-го файла + имя 2-го файла имя нового файла
11. Команда удаления файла: del имя файла или erase имя файла
12. Переименование файла: ren имя файла новое имя файла
13. Вывод версии DOS: ver
14. Вывод метки диска: vol
15. Ввод текущей даты: date
16. Ввод текущего времени: time
17. Exit — выход из командного процессора DOS.
Примечание: После ввода с клавиатуры указанных команд в командную
строку следует нажать клавишу Enter.
II. Основные внешние команды DOS (для версии MS-DOS 6.22). Внешние команды DOS выполняют вспомогательные программы (утилиты),
расположенные в каталоге DOS на диске С:.
1. format имя диска: — форматирование диска (для дискет format a:
или format b:). Создание системного диска: format имя диска: /s
Будьте внимательны: при форматировании диска (дискеты) вся информация на нем уничтожается!
2. fdisk — разбиение жесткого диска на разделы (логические диски С, D, E и так далее).
Внимание: при разбиении жесткого диска на разделы вся информация на нем уничтожается!
3. sys имя диска: — перенос файлов ядра DOS на диск (дискету), создание системного диска (дискеты). Используется также для смены (обновления версии) DOS.
4. mem — вывод карты оперативной памяти. Чаще используется команда mem/c/p или mem/d/p (ключ p — постраничный вывод информации).
5. chkdsk c: /f — проверка файловой системы и восстановление потерянных кластеров.
6. scandisk — проверка файловой системы и диска на наличие логических сбоев. Для дискет scandisk a: или scandisk b:
7. label имя диска: — создание или обновление метки на диске, дискете.
8. undelete имя диска: — восстановление случайно стертых файлов.
9. diskcopy имя диска: имя диска: — создание точной копии дискеты.
10. print имя файла prn — печать файла на принтере в фоновом режиме. Отмена фоновой печати: print /t
11. graphics — поддержка печати информации с экрана (при нажатии клавиши Print Screen).
12. defrag c: /fd — устранение фрагментации файлов и оптимизация размещения информации на жестком диске (эта программа аналогична программе Speed Disk из комплекта Norton Utilities).
13. deltree имя каталога — удаление дерева каталогов (с файлами).
Внимание: Использовать эту команду можно только, если Вы уверены в необходимости удаления данного дерева каталогов! В противном случае будет утрачена важная информация!
Форматы команд для утилиты MS-DOS mem.exe: mem — стандартная карта ОЗУ;
mem/c/p — выдает список загруженных программ;
mem/d/p — выдает информацию о внутренних устройствах (например:
con, prn, LPT1 и т.д.) с адресацией;
mem/f/p — объем свободной памяти с адресацией
mem/m имя программы — размер памяти, занимаемый указанной
загруженной программой (резидентной, c расширением com и exe);
ключ /p дает постраничный вывод информации.
Создание файла в MS-DOS Для создания файла в MS-DOS необходимо:
1. Ввести команду в командную строку: copy con: имя файла и нажать Enter.
Пример: copy con: c:\mark\proba.txt
2. Ввести текст и нажать F6 или Сtrl-Z, что означает конец строки, и нажать Enter. Будет создан файл proba.txt в каталоге MARK. Имя файла надо указывать с полным путем.
3. Если файл создается в текущем каталоге, то можно не указывать
полный путь (маршрут).
Пример: copy con: name.txt и далее как указано выше в п. 2.
Назначение функциональных клавиш в MS-DOS F1 -копирует по одному символу из буфера на экран.
F2 -копирует все символы из буфера на экран до заданного символа.
F3 -копирует все символы из буфера на экран.
F4 -пропускает все символы в буфере до определенного символа.
F5 -переносит все символы с экрана в буфер, не пытаясь выполнить их
F6 -означает конец строки (или CTRL-Z).
Остальные клавиши в MS-DOS не используются, но применяются в
большинстве прикладных программ.
Использование команды создания виртуального диска SUBST Для создания виртуального диска (например, E), содержащего файлы из каталога ME, в командную строку надо записать: subst e: c:\me или subst e: c:\mark\refis для файлов из каталога REFIS. Переход на диск Е: производится по общему правилу для любого диска. Это в ряде случаев облегчает запуск программ, когда в команду Path уже нельзя вставить новый каталог (общая длина каталогов в команде Path не может превышать 128 байт). Данную команду можно вставить в файл autoexec.bat, тогда виртуальный диск будет устанавливаться постоянно. Команда subst еще называется командой определения синонима для имени каталога и используется, чтобы не набирать имени каталога, который часто используется. При создании и удалении файлов и каталогов на виртуальном диске E: тоже самое будет происходить синхронно и в каталоге ME на диске С:.
Создать таким способом еще один 2-й виртуальный диск F: уже нельзя. Каких-либо видимых изменений в оперативной или дисковой памяти при создании виртуального диска не происходит. Команда удаления виртуального диска E: subst e: /d. Команда subst относится к внешним командам DOS.
О некоторых внутренних командах DOS. Если ввести в командную строку команды echo и verify, то можно
узнать их текущее состояние: echo is on или echo is off;
verify is on или verify is off.
Если ввести команду path, то будет выдана команда path из файла
autoexec.bat, т.е. текущий список каталогов, указанный в команде path.
Если ввести команду set, то будет указано ее текущее состояние,
то есть будет выдана та часть файла autoexec.bat, которая отно-
сится к заданию переменной окружения: path, prompt, set, а также
УКАЗАТЕЛЬ КОМАНД И УТИЛИТ MS-DOS
(Внутренние (*) и внешние команды MS-DOS)
ANSY.SYS установка драйвера консоли
ASSIGN переназначение дисковых устройств
ATTRIB установка атрибута файла
BATCH пакетные командные файлы (*.bat) *
BACKUP создание резервных копий для файлов
BREAK прерывание программы *
BUFFERS создание буферов в ОЗУ *
CHDIR (CD) переход в новый каталог *
CHKDSK проверка дисков
CLS очистка экрана *
COMMAND: второй командный процессор *
COMP сравнение дисковых файлов
COPY копирование файла *
COUNTRY установка формата даты и времени
CTTY переназначение консоли
DATE установка даты *
DEBUG отладчик программ
DEVICE установка новых драйверов устройств *
DIR просмотр каталогов *
DISKCOMP сравнение дисков
DISKCOPY дублирование дискет
DRIVER.SYS установка драйвера блочно-ориентированных устройств
ERASE (DEL) удаление файлов *
FCBS блоки управления файлами *
FDISK разбиение жесткого диска на разделы
FILES установка числа одновременно открытых файлов *
FIND поиск данных
FORMAT форматирование диска
GRAFTABLE загрузка дополнительных символов для графического режима
GRAPHICS распечатка графических изображений
JOIN логическое объединение каталога на одном диске с другим диском в один каталог
LASTDRIVE установка максимального числа доступных дисководов *
LINK загрузчик (редактор) связей
MKDIR (MD) создание каталога *
MODE изменение режимов работы выходных устройств
MORE постраничный вывод файлов на экран
PATH указание пути поиска *
PRINT вывод на печать данных
PROMPT изменение формата приглашения DOS *
RENAME (REN) переименование файлов *
REPLACE селективная замена и копирование файлов
RESTORE восстановление файлов, резервированных по команде BACKUP
RMDIR (RD) удаление пустого каталога *
SELECT установка MS-DOS на новый диск с заданным типом клавиатуры, форматом даты и времени
SET установка переменной окружения *
SHELL применение дополнительного командного процессора *
SORT сортировка данных
SUBST создание виртуальных дисков
SYS копирование MS-DOS
TIME установка времени *
TREE вывод дерева каталогов
TYPE вывод на дисплей содержимого файла *
VDISK.SYS установка драйвера виртуального диска
VER вывод версии MS-DOS *
VERIFY проверка записи на диск *
VOL вывод метки диска *
XCOPY выборочное копирование групп файлов и каталогов
Основные виды оперативной памяти (ОЗУ) Оперативная память (ОЗУ) — это устройство для временного хранения информации (только в процессе работы компьютера), обеспечивает быстрый доступ процессора к программе и обрабатываемым данным.
1. CMA — основная оперативная память (Conventional Memory Area).
(область 0 — 640K).
2. UMA — верхняя память (Upper Memory Area).
(область 640K — 1M).
3. UMB — блоки верхней памяти (Upper Memory Block).
4. HMA — высокая память (High Memory Area).
(область 1M + 64K).
5. XMA — расширенная память (Extended Memory Area).
(область, выше > 1M + 64K).
6. EMS — дополнительная память (Expanded Memory).
(расположена на отдельной плате).
Проблема 640 Кбайт У IBM PC с процессором 8088 и 8086 оперативная память, доступная для DOS и прикладных программ, составляет не более 640 Кбайт. Это было шагом вперед для начала 80-х годов, по сравнению с 64 Кбайт для остальных компьютеров. Однако с появлением процессоров 80286, 80386 и старше, а также современных программ, например Windows, ограничение в 640 Кбайт превратилось в проблему, которая была успешно решена с появлением дополнительной памяти и особенно расширенной памяти. Расширенная память (Extended Memory) — это память выше, чем 1M + 64K. Благодаря появлению расширенной памяти, процессоры 80286, 80386SX и 80486SX могут непосредственно обращаться к 16 Мб памяти, а процессоры 80386DX, 80486DX и старше — к 4 Гб.
Дополнительная память (Expanded Memory) сейчас не применяется.