
- •Введение. Основные понятия и определения.
- •Раздел 1. Организация программ.
- •1 .1. Модульный принцип разработки и организации программ
- •1.2. Связи между модулями.
- •Связь по управлению
- •Связь по данным
- •1.3. Структура объектного модуля
- •1.3.1. Принцип редактирования связей9.
- •1.4. Структура программ.
- •1. Программы простой структуры
- •2. Структуры с перекрытиями12
- •1.5. Первоначальная загрузка (Initial Program Loading) – ipl.
- •1.6. Замечание об адресных пространствах:
- •1.7. Динамическая организация программ
- •1.7.1. Загрузка модуля
- •1.7.2. Выделение памяти под загружаемый модуль
- •1.7.3. Реентерабельные14 программы
- •1.7.4. Замечание о динамических параллельных процессах:
- •Раздел 2. Организация мультиобработки
- •Типы систем обработки данных
- •Раздел 3. Управление процессами.
- •3.1 Понятие Процесс. Состояния процесса
- •3.2. Планирование процессов. Понятие очереди.
- •3.3. Взаимодействие процессов. Пользовательский уровень.
- •3.4. Планирование процессора.
- •3.4.1. Критерии планирования процессора.
- •3.4.2. Стратегии планирования процессора. Первый пришел – первый обслуживается (fifo). First Come – First Served (fcfs)
- •Стратегия наиболее короткая работа —sjf
- •Приоритетное планирование.
- •Планирование с использованием многоуровневой очереди.(Multilevel queue scheduling)
- •Планирование с использованием многоуровневой очереди с обратными связями (multilevel feedback queue sheduling)
- •3.5. Многопотоковые процессы
- •Раздел 4. Файловая система.
- •4.1. Основные понятия организации данных
- •4.2. Организация файла
- •4.2.1. Последовательная и произвольная обработка
- •4.3. Организация дисковой памяти
- •4.3.1. Диски – физическая структура
- •4.3.2. Диски – логическая структура
- •4.3.3. Распределение дискового пространства
- •4.3.4. Особенности жестких дисков
- •4.4. Древовидная файловая организация
- •4.4.1. Организация каталогов
- •4.4.2. Создание и удаление файла
- •4.5. Управление дисковым пространством и способы размещения файлов на поверхности
- •4.5.1. Непрерывное распределение
- •4.5.2. Распределение в разброс
- •2. Индексирование кластеров.
- •4.6. Связь программ с файлами.
- •4.6.1. Проблема обеспечения независимости программ от расположения и характеристик файлов
- •4.6.2. Действия open.
- •4.6.2. Действия close.
- •4.7.3. Логическая буферизация.
- •Раздел 5. Управление невиртуальной памятью.
- •5.1. Своппинг. (swapping)
- •5.2. Смежное размещение процессов.
- •5.2.1. Однопрограммный режим.
- •5.2.2 Мультипрограммный режим с фиксированными границами.
- •5.2.3. Мультипрограммирование с переменными разделами. (multiprogramming with a variable number of tasks (mvt).
- •5.2.4. Мультипрограммирование с переменными разделами и уплотнением памяти.
- •5.2.5. Основные стратегии заполнения свободного раздела.
- •5.3. Страничная организация памяти.
- •5.3.1. Базовый метод.
- •5.3.2. Аппаратная поддержка страничной организации памяти.
- •5.4. Сегментная организация памяти.
- •5.4.1. Базовый метод сегментной организации памяти.
- •5.4.2. Разделение сегмента между несколькими процессами.
- •5.4.3. Фрагментация.
- •Раздел 6. Управление виртуальной памятью.
- •6.1. Страничирование по запросу (demand paging).
- •6.2. Замещение страниц.
- •6.3.1. Fifo.
- •6.3.2. Оптимальный алгоритм.
- •6.3.3. Lru — алгоритм (least recently used)
1.5. Первоначальная загрузка (Initial Program Loading) – ipl.
Первоначальная загрузка, загрузка операционной системы (operating system loading) – это считывание операционной системы из ВЗУ в ОП, ее настройка и запуск. Обычно загрузка операционной системы запускается специальной программой, хранящейся в ПЗУ компьютера. Эта программа сначала производит тестирование устройств компьютера, а затем считывает из ВЗУ в ОП программу загрузчик основных модулей ОС и передает ей управление. После того как основные модули окажутся в ОП, дальнейшая загрузка и настройка основных частей системы может осуществляться по мере считывания ее модулей. При этом управление загрузкой может передаваться от одного считанного модуля к другому.
1.6. Замечание об адресных пространствах:
Существуют:
ЛАП - логическое адресное пространство. Логический адрес, виртуальный адрес (logical address, virtual address) – символический или условный адрес ячейки или области памяти, устройства или узла сети, указанный в программе логический адрес не зависит от конкретной конфигурации компьютера и мест в памяти, которые займут данные и программа в процессе ее выполнения. При загрузке программы в ОП при редактировании связей, а также при переадресации логический адрес преобразуется соответствующим программным обеспечением и аппаратными средствами в физический адрес, закрепленный в вычислительной системе за реально существующим ЗУ или его частью. Условность логического адреса и механизм управления памятью в ВС позволяет сделать программу относительно независимой от размера реальной ОП, имеющейся у компьютера.
ФАП - физическое адресное пространство. Абсолютный адрес, физический адрес (absolute address, physical address) – адрес в виде цифрового кода, однозначно идентифицирующий реально существующие в вычислительной системе байт, ячейку памяти или устройство. Абсолютный адрес непосредственно интерпретируется аппаратными средствами или микропрограммами центрального процессора вычислительной системы. Абсолютный адрес либо указывается как неизменяемый адрес в машинной команде, либо вычисляется, исходя из логического адреса, и не может быть далее уточнен программными средствами.
АППР - адресное пространство программы - множество логических адресов, по которым может обращаться задача. Система управления памятью устанавливает соответствие между адресным пространством задачи и физической памятью ЭВМ, и при выполнении задачи для каждого логического адреса вычисляет физический адрес. Адресное пространство программы может быть больше физического адресного подхода. Существует два подхода:
структурно преодолевать проблему - создание соответствующих программ
исполнение в режиме виртуальной организации памяти.
Обслуживание виртуальной памяти13- функция операционной системы. Физическое адресное пространство расширяется до логического адресного пространства. Различия есть, но они прозрачны для программиста. Такой режим работы называетсявиртуальным режимом.