
- •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. Окончание процесса
5. Операции с файлами
Для открытия файла используется функция fopen(), которая имеет следующий прототип:
FILE * fopen( const char *имя_ файла, const char *режим ).
Режим указывает на строку, содержащую желаемый режим открытия файла. Файл может быть открыт как для записи, так и для чтения. Для записи используется режим w, для чтения – режим r.
Для закрытия файла используется функция fclose(), которая имеет прототип:
Int fclose(FILE *fp)
Fp- это указатель на файл, возвращенный fopen().
file = fopen( file_name, "w" );//по умолчанию текстовый файл
while ((ch=getchar())!='.') { fprintf(file,"%c",ch); }fclose( file );
Запись в файл.
Для записи в файл используется функция fprintf(). Она имеет следующий прототип:
Int fprintf(FILE *fp, const char *форматная строка,…)
Fp- это указатель на файл, возвращенный fopen(), форматная строка определяет способ вывода последующих аргументов, содержит два типа элементов: спецификаторы формата и символы, записываемые в файл.
Так же есть функция putc(), которая читает символы с клавиатуры и записывает их в файл, пока не встретится точка. Имя файла указывается в командной строке.
Чтение из файла.
Функция getc() и fgetc() используются для чтения символов из открытого для чтения файла: Int fgetc(FILE *fp)
Эта функция возвращает EOF при достижении конца файла.
Так же для чтения можно использовать функцию fscanf(FILE *fp, const char *форматная строка,… ). Эта функция аналогична предыдущей.
file = fopen(cFilename, "rb"); //чтение двоичного файла
while(!feof(file)){ cCh = fgetc(file);if (cCh=='\n') iCount++;printf("%c",cCh);} fclose(file);
6. Организация данных на внешних носителях. Внешняя память на дисках
При использовании дисковых накопителей возникает проблема: как ОС определить в каком кластере размещается файл и етк.
7. Файловая система fat. Структура и расположение системной информации файловой системы.
FAT (от англ. File Allocation Table — «таблица размещения файлов») — файловая система, используемая в операционных системах DOS и Windows. Логический диск, отформатированный в системе FAT, имеет следующие разделы:
загрузочный сектор;
таблица размещения файлов — собственно FAT (традиционно в двух экземплярах);
корневой каталог;
файлы.
Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определенный кластер на жестком диске. Если кластер принадлежит файлу, то его ячейка содержит номер следующей ячейки этого же файла. Если ячейка указывает на конец файла, она содержит значение «FFFF». Неиспользуемые кластеры помечены нулём. «Плохие» кластеры помечены специальным кодом.
Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма.
8. Структура boot
Сектор, содержащий загрузочную запись, является самым первым на логическом диске. Boot Record состоит из двух частей – disk parameter block (DPB) и system bootstrap (SB). Структура блоков параметров диска служит для идентификации физического и логического форматов логического диска, а загрузчик system bootstrap играет существенную роль в процессе загрузки DOS.
MBR (Master Boot) расположен в нулевом секторе (цилиндр 0, сторона 0, сектор 1). Здесь содержится информация о разделах диска – их количестве, типе (первичный или расширенный) и адресе начального сектора. Каждый логический раздел начинается с BR (Boot Record) – загрузочной записи, которая указывает на адрес сектора, содержащего загрузочный файл операционной системы.