
- •1. Управление процессами
- •1.1 Операции над процессами
- •1.2 Обработка прерываний
- •2. Иерархическая структура ос.
- •2.1 Понятие параллельных и асинхронных процессов
- •2.2 Алгоритм Деккера.
- •2.3 Аппаратная реализация взаимоисключения
- •2.4 Реализация взаимоисключения с помощью семафоров
- •3. Тупиковые ситуации
- •3.1 Четыре необходимых условия возникновения тупика
- •3.2 Основные направления исследований по проблеме тупиков
- •3.3 Предотвращение тупиков, 3 стратегических принципа.
- •3.5 Обнаружение тупиков
- •3.6 Восстановление после тупиков
- •4. Управление памятью
- •4.1 Организация памяти
- •4.2 Стратегии управления памятью
- •4.3 Связное и несвязное распределение памяти
- •4.4 Мультипрограммирование с фиксированными разделами
- •4.5 Мультипрограммирование с переменными разделами
- •4.6 Стратегии размещения информации в памяти
- •5. Организация виртуальной памяти
- •5.1 Страничная организация памяти
- •5.2 Сегментная организация памяти
- •5.3 Странично-сегментная организация памяти
- •5.4 Стратегии управления виртуальной памятью
- •5.5 Принцип локальности
- •5.6 Стратегии вталкивания страниц
- •6. Управление процессорами
- •6.1 Уровни планирования загрузки процессоров
- •6.2 Цели планирования
- •6.3 Принципы планирования
- •7 Управление внешней памятью
- •8. Производительность
- •8.1 Методы оценки производительности
- •9. Операционная система ms-dos – структура и механизмы
- •9.1 Этапы загрузки ms-dos
- •9.2 Параметры загрузки ms-dos
- •9.3 Структура диска в ms-dos
- •9.4 Использование памяти системой ms-dos
- •9.5 Средства использования памяти
- •10. Операционная система windows 9.X
- •10.1 Сравнение dos и Windows 9.X
- •10.2 Windows 9.X Функции операционной системы
- •10.3 Виртуальная адресация памяти Windows 9.X
- •10.4 Виртуальные машины ос Windows 9.X
- •10.5 Процессы и сообщения в ос Windows 9.X
- •10.6 Планирование приоритетов
- •10.7 Файловая система Windows 9.X
- •11. Операционная система unix
- •11.1 Структура ос unix
- •11.2 Файловая система ос unix
- •11.3 Типы файлов.
- •11.4 Структура файловой системы unix.
- •11.4.1 Базовая файловая система. System V (s5fs).
- •11.4.2 Файловая система ffs.
- •11.5 Архитектура виртуальной файловой системы.
- •11.6 Подсистема управления процессами
- •11.6.1 Типы процессов
- •11.6.2 Атрибуты процесса.
- •11.6.3 Состояния процесса.
- •11.7 Принципы управления памятью
- •11.8 Планирование выполнения процессов
- •11.9 Взаимодействия между процессами
- •12. Загрузка ос windows 2000
- •12.3 Загрузка и инициализация драйверов устройств
- •12.6.1 Раздел [boot loader]
- •12.6.2 Раздел [operating systems]
- •13 Файловая система windows nt (ntfs)
- •13 Новые возможности ntfs 5.0
- •14 Структура ntfs
- •14.1 Главная файловая таблица
- •14.2 Атрибуты файла ntfs
- •14.3 Системные файлы ntfs
- •14.4 Сравнение ntfs с hpfs и fat
- •15 Конфигурирование системы
5.2 Сегментная организация памяти
В системах с сегментной организацией снимается ограничение необходимости выполнения программы в одном блоке смежных ячеек реальной памяти. Программа может занимать много отдельных блоков первичной памяти и не обязательно одинакового размера. Однако сложнее становится проблема защиты программы каждого пользователя от несанкционированного доступа со стороны других пользователей. Один из способов реализации защиты памяти в системах с сегментной организацией – использование ключей защиты. Когда в УП для ключа защиты памяти устанавливается значение 2, соответствующее пользователю B, программа этого пользователя может обращаться только к тем блокам памяти, которые имеют именно этот ключ защиты (2). Управление ключами защиты осуществляет только операционная система. Виртуальный адрес в сегментной системе – упорядоченная пара V=(s,d), где s – номер сегмента, а d – смещение в рамках этого сегмента. Одним из достоинств сегментных систем является именно возможность чёткого управления доступом к сегментам. Для этого каждому процессу предоставляются определенные права доступа к каждому сегменту и фактически полностью запрещается доступ ко многим сегментам. К наиболее распространенным видам управления доступом относятся Read (чтение), Write (запись), Execute (выполнение), Append (дополнение). Read – можно сделать копию сегмента. Write – можно изменить любой элемент, содержащийся в сегменте, можно уничтожить всю информацию сегмента. Execute – процесс может работать с этим сегментом как с программой. Процесс которому разрешено дополнение некоторого сегмента, может записать дополнительную информацию в конце сегмента, но не может изменить существующую информацию.
В системе, предусматривающей все эти четыре вида управления доступом можно создать 16 различных режимов управления доступом, разрешая или запрещая каждый вид. Восемь наиболее полезных комбинаций видов доступа для чтения, записи и выполнения.
-
01234567
R
00001111
W00110011
X01010101
Как и при страничной организации, в сегментных системах существует много стратегий реализации преобразования адресов сегментов. Это можно делать путём прямого, ассоциативного или комбинированного отображения. Формат типичной строки полной таблицы сегментов представляется следущим образом:
-
r
a
l
R
W
E
A
S
r – бит-признак присутствия сегмента в текущий момент времени в первичной памяти. Если сегмента в первичной памяти нет, то a – адрес внешней памяти, по которому следует выбрать сегмент. l – длина сегмента. После загрузки сегмента смещение d сравнивается с длиной сегмента l. Если d больше l, вырабатывается прерывание по выходу за пределы сегмента, ОС принимает управление на себя и прекращает выполнение данного процесса.
Если смещение d находится в рамках сегмента, то осуществляется контроль по битам-признакам защиты, чтобы удостовериться в том, что соответствующая операция доступа разрешена. Если да, то базовый адрес сегмента s суммируется со смещением d и образуется случайный адрес r= s+d. Если указанная операция доступа не разрешена, то происходит прерывание по защите сегмента и ОС прекращает выполнение данного процесса.