
- •1. Назначение, основные этапы развития операционных систем
- •2. Современные ос и их классификация
- •3. Основные принципы построения ос
- •4. Мультипрограммность и мультизадачность
- •1. Процесс, ресурс, свойства, классификация
- •2. Концепция виртуализации
- •3. Принципы построения интерфейсов операционных систем. Интерфейсы прикладного программирования
- •4. Концепция прерывания
- •1. Система управления процессами. Процессы, потоки.
- •2. Средства распределения ресурсов
- •3. Система распределения оперативной памяти. Контроль и распределение памяти в ms-dos
- •4. Алгоритм распределения памяти ms_dos
- •5. Блок управления памятью (mcb)
- •1. Файловая система. Концепция управления файлами
- •2. Текстовые файлы. Двоичный файлы
- •2. Создание файла и создание связи с файлом
- •3. Удаление файла и связи с файлом
- •4. Модификация файлов
- •5. Операции с файлами
- •6. Организация данных на внешних носителях. Внешняя память на дисках
- •7. Файловая система fat. Структура и расположение системной информации файловой системы.
- •8. Структура boot
- •9. Таблица расположения файлов fat
- •10. Структура корневого директория root
- •11. Структура директория
- •12. Алгоритм поиска расположения файлов на диске
- •13. Определение начального кластера расположения файла на диске
- •14. Расчет номеров цепочки кластеров расположения фала на диске
- •15. Методы доступа к информации на дисках
- •16. Изменение элементов таблиц fat и root при выполнении команд dos: copy, move, del, rename.
- •1. Общие сведения о механизме прерываний
- •1. Аппаратные прерывания
- •2. Программные прерывания
- •3. Таблица векторов прерываний
- •4. Перехват прерывания
- •5. Каскадная обработка прерывания
- •1. Загрузка и запуск программ ms dos
- •2. Заголовок *.Exe
- •3. Psp текущей задачи
- •4. Дочерние процессы и их запуск
- •5. Среда процесса, наследование среды
- •6. Системные управляющие блоки dos (таблица векторной связи)
- •7. Завершение процесса
- •1. Архитектура ос Windows. Функционирование и взаимосвязь модулей операционной системы
- •2. Понятие окна. Принципы организации графического пользовательского интерфейса.
- •3. Операции с объектом – окно
- •4. Событийное управление программами
- •5. Сообщение. Цикл обработки сообщений. Очередь сообщений.
- •6. Процедура обработки сообщений, ее формат и правила написания
- •7. Синхронные и асинхронные сообщения, их передача и обработка
- •8. Ввод данных с клавиатуры
- •9. Коды oem, ansi, ascii, виртуальные коды
- •10. Фокус ввода
- •11. Обработка сообщений мыши
- •12. Таймер. Программирование таймера
- •1. Графические устройства и их контекст
- •2. Атрибуты контекста устройств
- •3. Логическая и физическая система координат
- •4. Режимы преобразования координат
- •5. Объекты gdi. Создание и использование
- •6. Gdi и векторная модель рисования
- •7. Быстрая векторная графика
- •8. Шрифт. Классификация, параметры шрифта, установка в контексте устройства.
- •Структура logfont
- •9. Атрибуты контекста устройств, влияющие на вывод текста
- •10. Методы gdi вывода текста
- •11. Управление направлением, размером и расстоянием между символами
- •1. Создание процесса
- •2. Описатель процесса
- •3. Командная строка процесса
- •4. Среда процесса.
- •5. Наследование объектов ядра дочерним процессом.
- •6. Класс процесса.
- •7. Текущий директорий процесса.
- •8. Получение инф-ции о процессе
- •9. Окончание процесса
3. Psp текущей задачи
Для программы, вызванной на выполнение, DOS выделяет блок памяти, называемый программным сегментом. Программный сегмент всегда начинается на границе параграфа. В начале программного сегмента DOS строит PSP (Program Segment Prefix - Префикс Программного Сегмента), который занимает 256 байт. (Для построения PSP в DOS имеются функции 0x26, 0x55, но это чисто внутренние функции DOS, мы оставим их без внимания).
Программы могут получить из PSP такую информацию, как параметры командной строки при запуске, размер доступной памяти, найти сегмент области переменных среды и т.д.
Структура PSP
Адрес сегмента psp иногда называют идентификатором процесса или PID. Каждая программа, работающая под управлением MS-DOS, называется процессом. Каждому процессу соответствует уникальный PID, по которому процессы различаются опеpационной системой. Адрес сегмента psp всегда совпадает с PID.
PSP - это управляющая область в 256 байт, которая строится в памяти в начале каждой программы. Она содержит различные поля, используемые ДОС для управления выполнением программы. В операциях DOS по управлению программами, данными и памятью программа представляется прежде всего адресом своего PSP. Этот адрес в системе часто именуется. Функции 0x51, 0x62 позволяют программе получить сегментный адрес активного PSP.
00h |
2 БАЙТА |
ПРЕРЫВАНИЕ ПРОГРАММЫ. Первые два байта psp всегда содержат значения CD и 20. Эти два шестнадцатеричных числа являются кодом прерывания "нормальное завершение программы" (INT 20H). |
02h |
СЛОВО |
ГРАНИЦА ПАМЯТИ. В поле находятся начальные адреса сегментов (записанные в "обратном порядке") свободных участков памяти (не занятые выполняемыми программами пользователя). |
04h |
БАЙТ |
Резерв |
05h |
5 БАЙТ |
ДИСПЕТЧЕР ФУНКЦИЙ. |
0Ah |
ДВ. СЛОВО |
АДРЕС ПРЕРЫВАНИЯ. В поле (в "обратном" порядке) находится адрес, на который передается управление при завершении работы программы. |
0Eh |
ДВ. СЛОВО |
ЗАПИСЬ Ctrl-Break. Поле содержит адрес (записанный в "обратном" порядке), по которому передается управление при нажатии клавиш Ctrl-Break. |
12h |
ДВ. СЛОВО |
ЗАПИСЬ КРИТИЧЕСКОЙ ОШИБКИ. Поле содержит адрес (в "обратном" порядке), по которому передается управление в случае критической ошибки. |
16h |
СЛОВО |
PSP ВЫЗЫВАЮЩЕЙ ПРОГРАММЫ. В поле хранится адрес сегмента psp вызывающей программы (в "обратном" порядке). |
18h |
20 БАЙТ |
ТАБЛИЦА ССЫЛОК НА УПРАВЛЯЮЩУЮ ЗАПИСЬ ФАЙЛА. Поле используется для хранения ссылок на управляющие записи файлов, занятых в данном процессе. |
2Ch |
СЛОВО |
АДРЕС СРЕДЫ. Поле содержит адрес сегмента (в "обратном" порядке) операционной среды данной программы. |
2Eh |
ДВ. СЛОВО |
Резервируются для системного пользования. |
32h |
СЛОВО |
РАЗМЕР ТАБЛИЦЫ ССЫЛОК НА УПРАВЛЯЮЩУЮ ЗАПИСЬ ФАЙЛА. В поле содержится размер памяти, занимаемый таблицей ссылок на управляющую запись файла. |
34h |
ДВ. СЛОВО |
АДРЕС ТАБЛИЦЫ ССЫЛОК. В первых двух байтах поля содержится короткий адрес таблицы (в "обратном" порядке). Вторые два байта - адрес сегмента, в котором расположена таблица. |
38h |
24 БАЙТА |
Резервируется для системного пользования |
50h |
3 БАЙТА |
ВОЗВРАТНЫЙ КОД ФУНКЦИИ-ДИСПЕТЧЕРА. |
53h |
2 БАЙТА |
Резервируется для системного пользования. |
55h |
7 БАЙТ |
Расширение первого FCB |
5Ch |
16 БАЙТ |
БЛОК УПРАВЛЕНИЯ ФАЙЛОМ. Данный блок используется, если первым параметром в командной строке после имени программы является имя файла. |
6Ch |
16 БАЙТ |
БЛОК УПРАВЛЕНИЯ ФАЙЛОМ. |
7Сh |
ДВ. СЛОВО |
Резервируется для системного пользования. |
80h |
128 БАЙТ |
ХВОСТ КОМАНДНОЙ СТРОКИ, DTA. |