- •13. Преобразование адресов в вс
- •14. Построение загрузочного модуля простой структуры
- •15. Загрузочный модуль оверлейной структуры (с перекрытием)
- •16. Загрузочные модули динамической структуры
- •17. Однократно и повторно используемые и повторно входимые программные модули
- •18. Сопрограммы
- •19. Структура и организация управляющей программы ос
- •20. Оценка времени простоя цп в мультипрограммном режиме
- •21. Управление памятью, распределенной статическими разделами.
- •22. Управление памятью, распределенной динамическими разделами.
- •23. Способы уменьшения фрагментации оп.
- •24. Управление страничной памятью по запросам.
- •25. Методы замещения страниц fifo, lru.
- •26. Явление пробуксовки в страничных системах и стратегия рабочего множества.
- •27. Управление памятью с сегментным распределением.
- •28. Управление памятью с сегментно-страничным распределением.
- •29. Понятие процесса. Представление процессов в ос.
- •30. Понятие ресурса. Виды ресурсов.
- •31. Алгоритмы диспетчеризации процессов.
- •32. Взаимодействие и синхронизация процессов. Проблемы "критической секции", "поставщик-потребитель", "читатели-писатели".
- •34. Механизмы синхронизации: post/wait
- •35. Синхронизация посредством обмена сообщениями.
- •36. Тупиковые ситуации в ос
- •37. Прямой и косвенный ввод-вывод.
- •38. Монопольно используемые, разделяемые и виртуальные устройства.
- •39. Планирование запросов для последовательно-разделяемых устройств
- •42. Организация ввода-вывода в диалоговой системе (прямой вв-в)
- •43. Логическая система вв-в
- •44. Буферизация
- •45. Функции системы управления данными
- •46. Доступ к информационному ресурсу
- •47. Управление оп в unix
- •48. Управление процессами в unix
16. Загрузочные модули динамической структуры
LOAD – загружает с диска в ОП требуемый модуль, но управление ему не передает, а возвращает адрес точки входа
LINK – загружает модуль в ОП, выполняет, получает результат и удаляет
DELETE – вычитает 1 (если не 0) из счетчика загруженных программ – делает память свободной
XCTL – как LINK, Но загрузка идет на место модуля, который ее вызвал.
Все это система управления программами
При LOAD создается блок управление задачей TCB и строится блок запросов PRBA – содержит полезную информацию. Задачи – это функции ядря, к ним обращаются через прерывания
A: START C: START
1. 3.
LOAD B LOAD B
CALL B 2. CALL B
LINK C DELETE B
2. END
DELETE B
1
END
LPRB – это очередь загруженных задач
17. Однократно и повторно используемые и повторно входимые программные модули
Однократно используемые
Загрузочный модуль грузится в ОП (с винта)
for(i=0, i<N, i++)
однократное использование модулей не имело инициализации
{
}
for(; i<N,i++)
{
}
После завершения цикла значение i испортится. При повторном обращении программа работает некорректно.
Пример
SUBROUTINE RAND(L)
DATA N(107) N=107
N=25173+N+13849
N=N-(N/65536)+65536
L=N
RETURN N
END
Повторно используемые – есть инициализация переменных. Удобно использовать копию в памяти.
Повторно входимые
Чистая процедура. Есть задача или процесс T1, T2/ Хотим сделать функцию ресурсом, который выполняет задачи T1,T2/ Активна T1, в некоторой точке прервалась и выполняется T2/ Выполнение Т2 не должно зависеть от того, как выполнилась Т1. должны быть вынесены все зависимые элементы. Как сделать код чистым? Можно использовать косвенную адресацию. При смене контекста нужно загрузить данную таблицу
18. Сопрограммы
Сопрограмма – это способ на однозадачной системе реализовывать многозадачность. Нужно сделать много входов и выходов. В какой-то момент времени управление передается из А в В. Операция, которая передает адрес возврата – resume
A B A B
t→
resume B resume A
19. Структура и организация управляющей программы ос
УП является прослойкой между аппаратной и программной частью ВС. УП во время функционирования ВС размещается в ПЗУ, в основной памяти (резидентная часть) и на диске (транзиты). Для мультипрограммной ОС структура УП следующая:
Начальный загрузчик – тестирует аппаратуру, определяет конфигурацию, загружает ядро УП в ОП, инициализирует системные структуры данных – то есть готовит ОС к работе. Последнее действие –передача управления командному процессору
Командный процессор – обрабатывает и выполняет команды, с помощью которых пользователь управляет работой ВС
Управление заданиями – используется только в пакетных системах и состоит в планировании заданий различных пользователей
Управление задачами –необходимо в мультипрограммных ВС. Функции управления процессами реализуются функциями ядра ОС и состоят в создании процессов, планировании выполнения и диспетчеризации процессов, поддержке их взаимодействия и синхронизации, уничтожении процессов
Управление программами – реализуется во многих ОС, в ядре. Функции – загрузка программы, выгрузке, загрузке и выполнении, загрузке с наложением
Управление ОП – неотъемлемая функция УП, реализуется программами ядра и обеспечивает выделение и освобождение памяти по запросам прикладных и системных программ, а также других модулей ядра
Управление устройствами –реализуется в мультипрограммных ОС и обеспечивает разделение устройств между процессами, планирование запросов к устройствам. Реализуется программами ядра.
Управление вводом-выводом – присутствует во всех ОС. Организация тесно связана с архитектурой аппаратных устройств, зависит от конфигурации и типов периферийных устройств. Система реализует функции доступа к информационному ресурсу и его предоставления по запросу. Реализуется программами ядра на уровне физического ввода-вывода
Управление данными – поддерживается всеми ОС. Обеспечивает работу с файлами и каталогами, управляет информацией на магнитных носителях. На низком уровне реализуется программами ядра, а также поддерживается утилитами