- •Системное программное обеспечение Учебное пособие
- •Введение
- •1.Основные понятия
- •1.1.Функции и ресурсы ос
- •1.2.Структура программного обеспечения
- •1.3.Режимы функционирования компьютера
- •1.4.Классификация ос
- •1.5.Состав ос
- •2.Управление памятью
- •2.1. Основная память
- •2.2.Регистровая память
- •2.3.Кэш память
- •2.4.Организация основной памяти
- •2.4.1.Режимы работы процессоров Intel
- •2.4.2.Преобразование логического адреса в физический в реальном режиме
- •2.4.3.Адресация памяти в защищенном режиме
- •2.5.Управление памятью
- •2.5.1.Модели памяти
- •2.5.2.Динамическое распределение памяти
- •2.5.3.Динамическое распределение памяти в windows nt
- •2.5.4.Функции ос по управлению основной памятью
- •2.6.Виртуальная память
- •2.6.1.Преобразование виртуального адреса в реальный
- •2.6.2.Страничная организация
- •2.6.3.Сегментная организация
- •2.6.4.Странично-сегментная организация
- •2.6.5.Сплошная модель памяти flat
- •2.6.6.Функции для доступа к виртуальной памяти
- •2.6.6.1Освобождение виртуальной памяти
- •2.6.6.2Фиксирование страниц основной памяти
- •2.6.7.Стратегии управления виртуальной памятью
- •2.6.7.1Определение оптимального размера страниц
- •2.6.7.2Поведение программ при подкачке страниц
- •3.Процессы и задачи. Мультипроцессорные системы
- •3.1.Управление процессами
- •3.1.1.Блок управления процессом (pcb)
- •3.1.2.Управление асинхронными параллельными процессами
- •3.2.Мультизадачность
- •3.2.1.Виды мультизадачности:
- •3.2.2.Процессы и задачи
- •3.2.3.Распределение времени между задачами
- •3.2.4.Процессовая мультизадачность
- •3.2.5.Потоковая мультизадачность
- •3.2.6. Синхронизация задач
- •3.2.6.1Ожидание завершения задачи или процесса
- •3.2.6.2Синхронизация с помощью событий
- •3.2.7.Взаимоисключение
- •3.2.7.1Критические секции в программном интерфейсе windows
- •3.2.7.2Блокирующие функции
- •3.2.8.Семафоры
- •3.3.Тупики
- •3.3.1.Условия возникновения тупика
- •3.3.2.Предотвращение тупиков
- •3.3.3. Обход тупиков
- •3.3.4.Обнаружение тупиков
- •3.3.5.Восстановление после тупика
- •3.4.Средства обеспечения мультизадачности в защищенном режиме работы процессора Intel
- •3.4.1.Переключение задач
- •3.5.Обработка прерываний
- •3.5.1.Обработка прерываний в защищенном режиме
- •3.5.2.Обработка аппаратных прерываний
- •3.6.Управление потоками заданий. Планирование заданий и загрузка процессоров
- •3.6.1.Цели планирования
- •3.6.2.Критерии планирования
- •3.6.3.Дисциплины планирования
- •3.6.4.Многоуровневые очереди с обратными связями
- •3.7.Мультипроцессорные архитектуры. Планирование загрузки ресурсов
- •3.7.1.Параллелизм
- •3.7.2.Цели мультипроцессорных систем
- •3.7.3.Автоматическое распараллеливание
- •3.7.3.1Расщепление цикла
- •3.7.3.2Редукция высоты дерева
- •3.7.4.Мультипроцессорные операционные системы
- •3.7.5.Организация мультипроцессорных операционных систем
- •3.7.6.Производительность мультипроцессорных систем
- •3.7.7.Экономическая эффективность мультипроцессорных систем
- •3.7.8.Восстановление после ошибок
- •3.7.9.Перспективы мультипроцессорных систем
- •4.Управление внешней памятью и файловые системы
- •4.1.Структура дискового тома. Таблица разделов
- •4.2.Управление данными
- •4.2.1.Организация данных
- •4.2.2.Методы доступа
- •4.3. Файловые системы
- •4.3.1.Файловая система fat
- •4.3.2.Файловая система fat32
- •4.3.3.Функции windows api для работы с директориями
- •4.3.4.Файловая система windows 95
- •4.3.5.Файловая система нpfs (os/2)
- •4.3.5.1 Структура тома
- •4.3.5.2Файлы и Fnodes
- •4.3.5.3Каталоги
- •4.3.5.4Расширенные атрибуты
- •4.3.5.5Инсталлируемые файловые системы
- •4.3.5.6Проблемы эффективности
- •4.3.5.7Отказоустойчивость
- •4.3.6.Файловая система ntfs (Windows nt)
- •4.3.6.1Главная файловая таблица
- •4.3.6.2Атрибуты файла ntfs
- •4.3.6.3Длинные и короткие имена файлов
- •4.3.6.4Потоки данных
- •4.3.6.5Согласованность с posix
- •4.4.Асинхронные операции с файлами
- •4.5.Файлы, отображаемые на память
- •4.5.1.Создание отображения файла
- •4.5.2.Выполнение отображения на память
- •5.Средства ввода информации
- •5.1.Аппаратные и программные средства ввода информации с клавиатуры
- •5.1.1.Анализ и преобразование скэн-кода
- •5.1.2.Буфер клавиатуры
- •5.1.3.Схема работы буфера
- •5.1.4.Ввод информации с клавиатуры в Windows
- •5.1.4.1Поддержка горячих клавиш (нot-key)
- •5.1.4.2Языки и локализация
- •5.2.Управление манипулятором "мышь"
- •5.2.1.Аппаратные средства манипулятора
- •5.2.2.Программная поддержка "мыши" (на примере ms dos)
- •5.2.3.Основные функции интерфейса программы с манипулятором "мышь" (int 33н)
- •5.2.4.Чтение позиции курсора и состояния кнопок "мыши"
- •5.2.5.Управление мышью в приложениях Windows
- •5.2.5.1Обработка двойного щелчка (Double-Click Messages)
- •5.2.5.2Сообщения неклиентской области
- •5.2.5.3Активизация окна
- •6.Сетевые операционные системы
- •Литература
- •Оглавление
- •Учебное издание
- •394026 Воронеж, Московский просп., 14
4.2.2.Методы доступа
1. Физические - непосредственный доступ к аппаратуре с помощью команд процессора.
2. Базисные - применяют обычно в тех случаях, когда последовательность обработки записей предусмотреть нельзя, например при произвольном доступе. Кроме того, обращение к базовым методам доступа используют для минимизации накладных расходов. Обмен с внешним устройством осуществляется на уровне физических блоков. Блокирование (т.е. объединение записей в блоки) и деблокирование записей выполняет сама программа пользователя.
3. Методы доступа с очередями - применяют в случаях, когда последовательность обработки данных можно предвидеть, например при последовательной и индексно-последовательной организации. В этих методах предусматривается упреждающая буферизация и планирование операций обмена, то есть приемы, направленные на то, чтобы к концу обработки одной записи следующая была полностью готова. В памяти (основной или кэш) располагается сразу несколько блоков, что позволяет совмещать их обработку с выполнением операций обмена. Блокирование и деблокирование записей осуществляется автоматически. Наиболее распространена двойная буферизация. В памяти существуют два буфера. Сначала блоки помещаются в первый буфер до его заполнения. После этого инициируется передача блока во внешнюю память. В то же время продолжается генерация блоков, которые теперь помещаются во второй буфер. Заполнив второй буфер, система начинает выгружать его во внешнюю память, переключив прикладную программу на первый и т.д.
4. Виртуальные - использование страничной организации памяти и отображения файлов на память.
4.3. Файловые системы
Файловые системы предназначены для поддержания совокупности данных, подлежащих обработке, хранению, передаче, модификации и т.д. Файловые системы содержат следующие средства:
Методы доступа. Определяют конкретную организацию доступа к данным.
Средства управления файлами. Обеспечивают хранение файлов, коллективное использование и защиту.
Средства управления внешней памятью. Обеспечивают распределение пространства внешней памяти для размещения файлов.
Средства обеспечения целостности файлов. Обеспечивают гарантированное разделение пространства между файлами и невозможность пересечений множеств данных.
Файловая система управляет данными без учета их природы, назначения и содержания. Пользователь сам интерпретирует данные в файлах.
Базы данных учитывают природу хранимой информации, обеспечивают ее единство и непротиворечивость. Базы данных ориентированы на коллективное использование информации прикладными программами.
Функции файловой системы:
1. Обеспечение различных структур (организаций) файлов и методов доступа к ним;
2. Управление файлами на разных уровнях:
- на уровне тома - информация о файлах и свободных участках, оглавление тома, метка тома.
- системный уровень обеспечивает построение единой информационной системы. Организуются системные и пользовательские каталоги для поиска файла по имени.
3. Распределение внешней памяти. Осуществляется аналогично распределению основной памяти. Методы борьбы с фрагментацией:
- выделение несмежных различной протяженности участков для размещения файла;
- включение алгоритмов "сборки мусора" (очистки тома).
4. Защита информации и обеспечение коллективного доступа.
Характеристики файлов. Файл - это именованная совокупность связанных данных, расположенная на внешнем устройстве. Информация о файле должна быть известна ОС. Для файлов могут указываться следующие характеристики:
- Изменчивость, которая связана с частотой модификации файла. При малой частоте файл называют статичным, а при большой - динамичным.
- Активность. Определяется процентом записей файла, обрабатываемых во время одного сеанса.
- Размер. Определяет количество информации в файле.
Для выполнения различных операций с файлом как единым целым (открытие, закрытие, создание, уничтожение, копирование, переименование) или как множеством отдельных элементов (чтение, запись, обновление, добавление, удаление) файловая система поддерживает дескриптор файла или блок управления файлом. Безусловно, что структура дескриптора полностью зависит от конкретной системы.
Типичный дескриптор включает в себя:
- имя файла;
- тип файла или расширение имени;
- размещение файла во внешней памяти;
- тип организации;
- тип устройства;
- данные для управления доступом. Обычно применяют доступ к файлам в зависимости от классов пользователей. Предусматриваются следующие категории:
1. Владелец - пользователь, который создал файл.
2. Указанный допущенный пользователь.
3. Группа (проект) - пользователи, имеющие право доступа к файлу и идентифицируемые групповым именем.
4. Общедоступный - доступ к файлу разрешен для всех пользователей.
- диспозицию (постоянный или временный);
- дату и время создания;
- дату уничтожения (для временных);
- дату и время последней модификации;
- счетчики активности доступа.