Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Атцовская шпора по ОСям.doc
Скачиваний:
12
Добавлен:
27.09.2019
Размер:
1.27 Mб
Скачать
  • Контекст процесса. Содержит менее информативную, но более объёмную информацию:

    • аппаратное состояние (контекст)

    • образ памяти

    • информация обо всех открытых файлах данного процесса

    Системная таблица процессов

    Для управления процессами Unix создает следующие таблицы:

    • системную таблицу процессов, ее элементами являются дескрипторы выполняющихся процессов

    • таблица USER – таблица контекста процесса.

    Системные вызовы управления процессами.(Создание)

    Порождение процессов в Unix происходит с помощью специального системного вызова fork () следующим образом – при создании нового процесса строится образ процесса, являющегося точной копией образа, породившего процесс. Сегмент данных и сегмент стека копируется на новое место, а сегмент стека копируется, только если он не является разделяемым. После выполнения системного вызова fork() вып. с одного и того же места. С помощью системного вызова execve загружается код потомка. Если необходимо синхронизировать окончание выполнения кода родителя и кода потомка, то используются системные вызовы exit и wait.

    Управление процессами

    1. Создание процессов - с помощью специального системного вызова fork(). При создании процесса строится образ порождённого процесса, который является точной копией породившего процесса, сегменты данных и стека копируются на новое место, а сегмент текста копируется, если он неразделимый. Если код содержит дочерний процесс, вызывается системный вызов execvi()

    1. Создание процессов при инициализации системы. Создаётся структура данных ресурсов системы, монтируется файловая система, создаётся процесс «процесс-0» (который превращается в swapper после создания init()), порождающий процессы для каждой терминальной линии с помощью fork(), после – wait().

    1. Планирование процессов. На основе динамических приоритетов процессы в состоянии ядра имеют более высокий приоритет. При блокировании присваиваются приоритеты в зависимости от события, которое процесс будет ожидать. Пользовательские процессы диспетчеризуются в соответствии с принципом квантования времени. Алгоритм диспетчеризации учитывает коэффициент использования процессом ЦП и назначает соответствующий динамический приоритет (128 уровней):

    96-127 – процессы реального времени

    66-95 – процессы в режиме ядра (недопускающие и допускающие прерывания)

    0-65 – процессы в пользовательском режиме

    Диаграмма (граф) состояний

    Вопрос 42. Управление оперативной памятью в ос Unix.

    Адресное пространство процессов.

    Разделено на 2 части:

    1. Резидентно располагается ядро UNIX. Для каждого процесса адрес ядра один и тот же. При выполнении процесса в пользовательском режиме диспетчер памяти блокирует доступ к ядру.

    2. Пользовательская часть. Состоит из трёх сегментов:

      • сегмент текста (сегмент программного кода) – защищен от записи, поэтому этот код может разделяться многими процессами

      • сегмент данных

      • сегмент стека – локальные для каждого процесса.

    Данные и стек приватны/уникальны для каждого процесса и логически непрерывны.

    Код проц. защищен от записи, значит, может быть разделяем несколькими процессами.

    Сегмент данных и стек являются уникальными для данного процесса. Они логически непрерывны для процесса и физически могут располагаться в разном адресном пространстве.

    Свопинг и страничная подкачка

    Свопинг – процедура полного переноса процесса из основной памяти на жест диск. Существует специальный свопер процессов. Процесс свопер удаляет процессы заблокированные из оперативной памяти и помещает другие процессы. В современной версии используется свопинг страниц (в старых свопинг процессов).

    Вопрос 43. Логическая организация файловых систем ос Unix. Логическая организация.

    Иерархическая структура с единым корнем, все файловые системы включаются с помощью mount в эту структуру.

    Файл – неструктурированный байтовый поток с произвольным доступом.

    Типы файлов

    1. Обычный (регулярный). Последовательность байтов интерпретирующих производительность прикладных программ.

    2. Каталоги (директории). Содержат имена файлов и указатели на метаданные файлов, индексных узлов (i-node).

    3. Специальные файлы устройств. Предназначены для доступа к устройствам и взаимодействия между процессами (именованные каналы, предназначенные для связи между процессами, файлы для косвенной адресации, семантических ссылок, файлы для организации взаимодействия между файлами (socket)). Это механизмы межпроцессорного взаимодействия (?).

    Доступ обеспечивается как к файлам. К ним относятся: именованные каналы, предназначенные для связи между процессами, файлы для организации семантических ссылок, файлы для организации взаимодействия между файлами (socket) и link (для косвенной адресации). Это механизмы межпроцессорного взаимодействия.

    Работа с файлами и каталогами

    С каждым файлом связаны каталоги. Определены текущий (рабочий) и начальные каталоги. Для специальных файлов устройств существуют стандартные имена для распознавания устройства.

    Для каждого файла определены владельцы. Различают три категории пользователей:

    1. Создатели

    2. Члены группы (группа файлов)

    3. Остальные пользователи

    Определены классы доступа к файлам:

    1. для владельца-пользователя

    2. для членов группы владельца файла

    3. Для остальных, кроме суперпользователя.

    Для каждого класса созданы права доступа.

    Жёсткие и символические ссылки

    Файлы могут быть удалены, но на них останутся ссылки. Для организации ссылок существуют специальные команды. В индексном узле может быть несколько жёстких ссылок, они подсчитываются для того, чтобы файл не удалялся (?).

    Вопрос 44 Физическая организация файловых систем ос Unix.

    Раздел файловой системы делится на 4 области (?):

      1. загрузочный блок

      2. суперблок (содержит самую общую информацию о файловой системе)

      3. массив индексных дескрипторов в (i-node List)

      4. собственно данные.

    Физическая реализация основана на использовании i-node, содержащего полную информацию о файле (владелец, разрешения доступа, время последнего обращения, размер файла, счётчик ссылок, адреса дичковых блоков). Размер дисковых блоков может быть различен. Также, как и число указателей на дисковые блоки. Указатели на дисковые блоки задаются в i-node в виде таблицы указателей. Первые несколько элементов указывают непосредственно на адресуемые блоки, далее следуют блоки для косвенной адресации, содержащие адреса блоков хранения данных или ссылок. Использование косвенной адресации позволяет адресовать большие файлы без изменения длины i-node.

    Основное отличие ФС Unix – отделение имени файлов и характеристик файла, который находится в индексном узле, что позволяет организовать ссылки на файлы из различных каталогов.

    Структуры данных файловой системы в оперативной памяти

    Данные при работе с файлами хранятся в оперативной памяти. У каждого процесса существует своя таблица открытых файлов, в которой указаны системные идентификаторы файлов, общесистемная таблица файлов, содержащая информацию о каждом открытом файле. Когда файл закрывается, то вся необходимая информация переписывается из таблицы системы в i-node.

    1. Определение ОС. Место ОС в иерархической архитектуре вычислительной системы. 1

    2. Процессы. Определение процесса. Логическая и физическая модели процесса Графы состояний процесса для логической и физической модели. Контекст процесса. 1-3

    3. Классификация процессов ОС. 3

    4. Ресурсы. Определение ресурса, Классификация ресурсов. 4

    5. Формальная модель ОС. 4-5

    6. Управление процессами. Таблицы управления процессами. Дескриптор процесса. Операции над процессами. Прерывания процессов. 5-6

    7. Синхронизация параллельных процессов. Назначение синхронизации. Виды отношений между процессами. Типичные задачи синхронизации параллельных процессов. 6-7

    8. Синхронизация параллельных процессов, Механизмы синхронизации. Аппаратная и программная реализация взаимоисключений. Семафорные примитивы Дейкстры. 7-10

    9. Дедлок( тупиковая ситуация). Условия возникновения. 10-11

    10. Дедлок( тупиковая ситуация). Стратегии предотвращения и обхода дедлоков. 10-11

    11. Управление ресурсами. Дескрипторы воспроизводимых и потребляемых ресурсов. Операции над семафорами ресурсов. Распределение ресурсов ОС. Задачи распределения. 11-13

    12. Дисциплины распределения ресурсов, используемые в ОС. Дисциплины формирования очередей на ресурсы и дисциплины обслуживания очереди. Централизованная и децентрализованная схемы распределения ресурсов. 11-13

    13. Мультипрограммирование. Планирование и диспетчеризация процессов при МП. 13-16

    14. Мультипрограммирование. Дисциплины диспетчеризации для невытесняющей и вытесняющей многозадачности. 13-16

    15. Мультипрограммирование. Приоритетные и многоочередные дисциплины диспетчеризации. 13-16

    16. Структуры объектных модулей программ. Способы использования объектных модулей. 16-17

    17. Отображение программных модулей на оперативную память. Частные случаи отображения. 17-18

    18. Управление оперативной памятью. Свопинг, смежное и несмежное размещение процессов. 18-20

    19. Управление оперативной памятью. Страничная, сегментная и сегментно-страничная организация оперативной памяти. 18-20

    20. Технология виртуальной памяти. Алгоритмы замещение страниц. 20-21

    21. Двухуровневая страничная организации виртуальной памяти. 20-21

    22. Задачи программного обеспечения ввода/вывода(в/в). В/в без использования и с использованием прерываний. Прямой доступ к памяти. Синхронный и асинхронный в/в. 21-25

    23. Уровни управления вводом-выводом. Буферизация и синхронизация данных. 25-26

    24. Логическая структура файла Типы файлов. Атрибуты файлов. Операции с файлами. Каталоговые системы. Операции с каталогами. 26-28

    25. Методы физической реализации файлов и каталогов. 28-31

    26. Принципы построения интерфейсов ОС. Интерфейс прикладного программирования(АРI). Варианты реализации АРI. 31

    27. Основные структуры операционных систем. Структуры многопроцессорных операционных систем. 31-32

    28. Архитектура операционной системы MSDOS. Основные модули ОС. 32

    29. Операционная система MS DOS. Управление оперативной памятью. 32-33

    30. Операционная система MSDOS Архитектура файловых систем FАТ. 33

    31. Архитектура операционной системы Windows 95/98. Основные компоненты. 33-34

    32. Управление процессами в Windows 95/98. Мультапрограммирование. 34

    33. Управление оперативной памятью в Windows 95/98. 34

    34. Поддержка приложений в Windows 95/98. 34

    35. Архитектура операционной системы WindowsNT. Подсистема среды и исполняющая система. 34-35

    36. Управление процессами в WindowsNT. Мультипрограммирование. 35

    37. Управление оперативной памятью в WindowsNT. 35-36

    38. Обьектная модель WindowsNT. Менеджер объектов. 36

    39. Взаимодействие между приложениями и подсистемами среды в WindowsNT. 36-37

    40. Структура системы и ядро ОС Unix. 37-38

    41. Управление процессами в ОС Unix. Граф состояния процесса. 38-40

    42 Управление оперативной памятью в ОС Unix. 40

    43 Логическая организация файловых систем ОС Unix. 40-41

    44 Физическая организация файловых систем ОС Unix. 41-42