- •Системное программное обеспечение
- •Основные понятия теории операционных систем
- •Прерывания
- •Классификация операционных систем
- •Архитектура аппаратных и программных средств персонального компьютера
- •Регистры микропроцессоров Intel 8086/88
- •Формирование физического адреса
- •Прерывания
- •Особенности архитектуры микропроцессоров i80x86
- •Реальный и защищенный режимы работы процессора
- •Новые системные регистры микропроцессоров i80х86
- •Адресация в 32-разрядных микропроцессорах i80х86 при работе в защищенном режиме
- •Система прерываний 32-разрядных микропроцессоров i80х86
- •Управление задачами в операционных системах
- •Планирование процессов и диспетчеризация задач
- •Стратегии планирования (диспетчеризации)
- •Дисциплины диспетчеризации
- •Диспетчеризация задач с использованием динамических приоритетов
- •Управление памятью в операционных системах
- •Память и отображение, виртуальное адресное пространство
- •Простое непрерывное распределение и распределение с перекрытием
- •Распределение статическими и динамическими разделами
- •Разрывные методы распределения памяти
- •Распределение оперативной памяти в современных ос для пк
- •Управление вводом/выводом в операционных системах
- •Основные системные таблицы ввода-вывода
- •Файловая система
- •Структура магнитного диска
- •Файловая система fat
- •Файловая система ntfs
- •Структура тома с файловой системой ntfs
- •Основные отличия fat от ntfs
- •Управление параллельными взаимодействующими вычислительными процессами
- •Использование блокировки памяти при синхронизации параллельных процессов.
- •Синхронизация процессов посредством операции «проверка и установка»
- •Семафорные примитивы Дейкстры
- •Мониторы Хоара
- •Почтовые ящики
- •Конвейеры (программные каналы)
- •Очереди сообщений
- •Проблема тупиков и методы борьбы с ними
- •Предотвращение тупиков
- •Обход тупиков
- •Распознавание тупика
- •Современные операционные системы
- •Семейство операционных систем unix
- •Основные понятия системы unix
- •Функционирование системы unix
- •Файловая система
- •Межпроцессорные коммуникации
-
Распределение оперативной памяти в современных ос для пк
-
Microsoft Windows 95/98
Это 32-разрядные, многопотоковые ОС с вытесняющей многозадачностью. Основной пользовательский интерфейс – графический.
В системе фактически действует только страничный механизм преобразования виртуальных адресов в физические, т.к. используется плоская модель памяти (имеется только один сегмент). Этот сегмент отображается непосредственно в область виртуального линейного адресного пространства, состоящего из 4 Кбайт страниц. Каждая страница может располагаться где угодно в оперативной памяти или может быть перемещена на диск, если не запрещено использовать страничный файл.
Каждая 32-разрядная программа выполняется в своем адресном пространстве, но все они используют совместно один и тот же системный 32-разрядный код. Виртуальные адресные пространства не используют всех аппаратных средств защиты микропроцессора, поэтому неправильно написанная программа может привести к аварийному сбою всей системы.
Рис. 3. Модель памяти ОС Windows 95/98
Системный код размещается выше границы 2 Гб. Здесь размещаются системные библиотеки DLL (dynamic link library – динамически загружаемый библиотечный модуль), используемые несколькими программами. В микропроцессорах i80x86 имеется четыре уровня защиты (кольца с номерами от 0 до 3). В наиболее привилегированном кольце с номером 0 находится ядро ОС, модули файловой системы, подсистема управления виртуальными машинами, виртуальные драйверы.
-
Microsoft Windows NT
Здесь тоже используется плоская модель памяти. В отличии от Windows 95/98 в гораздо большей степени используется ряд серьезных аппаратных средств защиты, имеющихся в микропроцессоре, а также применено принципиально другое логическое распределение адресного пространства. Все системные программные модули и остальные программные модули самой ОС, выступающие как серверные процессы по отношению к прикладным программам (клиентам), находятся в своих собственных виртуальных адресных пространствах и доступ к ним со стороны прикладных программ невозможен. Логическое распределение адресных пространств приведено на рис.4.
Прикладным программам выделяется 2 Гб локального (собственного) пространства от 64 Кб до 2 Гб (первые 64 Кб полностью недоступны). Они изолированы друг от друга, хотя могут общаться через буфер обмена c помощью механизмов DDE – Dynamic Data Exchange (динамический обмен данными) и OLE – Object Linking and Embedding (связь и внедрение объектов).
Между отметками 2 и 4 Гб находятся ядро ОС, планировщик потоков и диспетчер виртуальной памяти VMM (Virtual Memory Manager – выделение памяти, резервирование, освобождение, подкачка).
Рис. 4. Модель распределения виртуальной памяти в Windows NT
Вся виртуальная память в Windows NT подразделяется на классы:
-
зарезервированная (reserved) – набор непрерывных адресов, которые диспетчер виртуальных адресов (VMM) выделяет для процесса, но не учитывает в общей квоте памяти процесса, пока она не будет фактически использована;
-
память выделена (committed) – если VMM резервирует для нее место в специальном файле Pagefile.sys на тот случай, когда потребуется выгрузить содержимое памяти на диск. Выделенная память ограничивается файлом подкачки;
-
доступная (available) – вся остальная память.