Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СПО.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
157.66 Кб
Скачать

Распределение памяти dos

Соответствует карте памяти x86 архитектуры реального времени (real mode). Все CPU поколения x86 начинают отрабатывать в real mode сразу после включения питания – сделано для обратной совместимости с ПО.

Особенности real mode:

  1. Без драйверов и дополнительных аппаратных расширений процессор может адресовать до 1 МБ ОЗУ.

  2. Только одно приложение, не считая резидентных, монопольно выполняется системой.

  3. Ограничена поддержка доступного множества периферийных устройств, отчасти из-за ресурсов.

(рис 6.1)

Convention Memory (CM) – память для модулей ОС и приложений. Таким образом, целью оптимизации использования в real mode CPU является максимальная разгрузка CM.

Adapters BIOS - адресное пространство для обращения к BIOS плат расширения:

  1. Контроллеры массивов дисков RAID

  2. BIOS сетевых адаптеров для удаленной загрузки тонких клиентов. (Тонкий клиент – бездисковая станция).

Область HMA размерностью в 64КБ может использоваться для размещения части ядра ОС, таким образом, разгружая Convention Memory.

Extended memory ограничена аппаратными возможностями либо ограничениями адресного пространства. Максимум адресуемого пространства чаще всего связан с абсолютной адресацией каждого байта в ОЗУ в соответствии с идеологией 2N, где N – разрядность системы.

В абсолютной адресации ОЗУ адрес ячейки памяти выставляется на шину адреса одной порцией. Таким образом, увеличить адресуемое пространство можно двумя способами:

  1. Добавить сигнальные линии к шине адреса.

  2. Выставлять адрес на шину в 2 приема: адрес начала блока и адрес смещения внутри блока относительно его размещения.

Оба способа требуют аппаратно-программной поддержки и очень часто комбинируются в одном оборудовании.

Текущее распределение памяти можно посмотреть внешней командой DOS “mem”. Автоматическая оптимизация загрузки приложения и драйверов может быть осуществлена внешней командой “memaker”.

Все настройки оптимизации использования ОЗУ осуществляются на базе файловой конфигурации ядра DOS config.sys.

Настройки в config.sys:

- device=himem.sys – драйвер использования памяти в высоких адресах

- dos = high – указания ядру DOS разместится в области HMA

- deviceheigh = mouse.sys – если поддержка HMA настроена, можно использовать драйвер mouse.sys в доступном HMA пространстве.

Динамические диски

Динамические диски – аналог раздела ФС, созданный в оперативной памяти на время жизни текущей сессии пользователя.

Цель – ускорить обращение к экземпляру ФС в ряде прикладных задач:

  1. Справочной системы БД, работающей в режиме read only.

  2. Размещение временных файлов при компиляции крупных продуктов

  3. Буферы для хранения промежуточных данных, графических пакетов и мультимедиа систем.

Поддержка виртуальных дисков в среде Win32 происходит за счет сторонних драйверов.

В DOS виртуальные диски работают на базе

device=ramdrive.sys 2048

где через пробел указана емкость динамического диска к килобайтах.

Программно MS ограничивает размер виртуального диска 32МБ.

Но допускается существование нескольких виртуальных дисков.

Отсутствует возможность принудительного идентификатора виртуального диска. Буква виртуального диска выбирается по принципу: последняя буква идентификаторов накопителей + 1.

Маркер виртуального диска “MS RAMDRIVE”.

Лекция 7

Организовать загрузку системы с автоматической распаковкой ebd.cab на внутрееный диск фиксированного размера, старт системы с флоппи.

Для автоматизации процесса финальной загрузки ОС и приложений используется файл настройки autoexec.bat – пакетный файл (скрипт) в кодировке ASCII для последующего выполнения инструкций после загрузки командной интерпретатора command.com.

Bat файлы могут содержать:

  1. Внешние и внутренние команды

  2. Инструкции по загрузке приложений

  3. Набор собственных команд для реализации проверки условий обработки параметров командной строки, условные\безусловные операторы перехода.

Для платформы Win32 начиная с w2k расширен набор инструкций пакетных файлов:

  1. Полноценное описание типов данных

  2. Расширен диапазон встроенных функций

  3. На основе дополнительных консольных утилит реализуется взаимодействия с регистром, сервисом, приложениями, сетью.

Инструкции по загрузке приложений:

Либо путь с именем исполняемого файла, либо служебный символ @ имя файла; инструкции по загрузке и ожиданию приложений:

start nc.exe /wait ждать выполнения

Пример:

Файл play.bat с исходниками

:start

Start htr.pps /wait

Start bntu.pps /wait

Goto start

Выход прерываниями ctrl+break, ctrl+c.

Наборы инструкций b*.bat

REM – командный

ECHO ON отображать

ECHO OFF заблокировать сообщения внутренних внешних команд

SET A=” “ – объявление локальной переменной (обязательно строковая)

Проверка условий:

If %A%== “ “ goto B

А - Переменная локального модуля

B – строковая переменная

Проверка существования файла:

If exists f.txt goto c

If not…

For %% I in (1,2,3) do echo %%i

Где %% - переменная цикла

s.bat – любое\

call second.bat – загружает другой bat из текущего

pause – ожидание до нажатия клавиши

choice – взаимодействие с пользователями

choice “text”

choice y/n

аналог set/p – в консоли windows

Для обработки параметров командной строки используются ссылки в виде %1 %2

C:>s.bat *.* D: - консоль

Copy *.* - %1

D: - %2

If %1 ==”” goto end

If %2 ==”” goto end

Copy 1% 2%

:end

Shift – последовательно влево переприсваивать параметры командной строки

%1 = %2

%2 = %3

Фактически успешная отработка предыдущей команды отслеживается путем анализа глобальной переменной системы errorlevel

Formac c:

if errorlevel>0 copy .c:/

Deltree c: /y

Echo errorlevel – удаляет все с C:

ECHO TYPE your password

ECHO please finish by ctrl+2

Copy con pass.txt

Вход без ключа

Проверка параметров загрузки ОС

If % config % == “DOS”…

Где, config - обращение к глобальной переменной ОС, содержащей названия меню при загрузке системы.

Если пути к каталогам содержат пробелы, то “адреса”

Set myvar = “D:|Temp|”

Copy *.* %Myvar%

Для обращения к сетевым ресурсам – левый двойной слеш \\.

Copy \\11b-rts-host\userstud\spo\*.*c:\user\my

Winstartup:

copy || server | price.xls

C:|currnet price| →cp.bat

Лекция 8

0 – stdin

1 – stdout

2 – stderr

3-9 – user defined

Dir 1.txt 1>ok.txt 2>>err.txt – логирование ошибок с накоплением

dir 1>1.txt 2>&1 – в 1.txt сохраняется результаты вывода команд + ошибок

Емкие по набору инструкции bat-файлы могут быть откомпилированы в независимые исполняемые модули сторонними системными утилитами.