
- •1, Этапы развития спо.
- •3. Назначение и функции ос.
- •4. Классификация ос.
- •5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.
- •6. Методы реализации многозадачного режима. Многопотоковость.
- •8. Физические и виртуальные ресурсы. Задачи распределения ресурсов.
- •9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации.
- •10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики.
- •11. Сравнение реализации взаимодействующих процессов и многопотокового приложения.
- •12. Средства взаимод-вия процессов в Unix.
- •13.Организация памяти вычислительной системы. Задачи управления оперативной
- •14.Методы статического распределения памяти, динамическое управление памятью.
- •15.Принципы организации виртуальной памяти.
- •16.Страничная и сегментная организация виртуальной памяти. Схемы преобразования адресов.
- •17.Сегментный уровень виртуальной памяти в процессорах Intel x86.
- •18.Сpедства защиты памяти в процессорах Intel x86.
- •19.Механизм шлюзов. Передача управления через Call Gate и Task Gate.
- •20.Прерывания в защищенном режиме работы процессора. Interrupt Gate и Trap Gate.
- •21.Модели сегментации памяти в 32-pазpядных пpоцессоpах. Страничный уровень виртуальной памяти.
- •33.Процесс форматирования. Доступ к диску на физическом уровне.
- •34.Логическая структура диска в ms-dos.
- •35.Файловая система ms-dos. Командные и программные средства управления файлами.
- •36.Сравнительная характеристика файловой системы dos fat и высокопроизводительных файловых систем ntfs, hpfs.
- •37.Система прерываний в реальном режиме процессора. Управление прерываниями в ms-dos.
- •38.Управление программами в ms-dos. Схема создания резидентных программ.
- •39.Системный программный интерфейс bios. Системная область данных bios.
- •40.Системный программный интерфейс dos.
9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации.
Дисциплина распределения ресурсов складывается из дисциплины формирования очередей и дисциплины обслуживания. Система массового обслуживания (СМО)-теория правила об упр-нии и распред-нии ресурсов.
Дисциплина формир-ия очереди зависит от инф-ции о классах и приоритетах задач.
Дисциплина обслуживания делится на системы со статическими приоритетами (приоритеты назнач. до обработки запроса), системы с динамическ. приоритетами (приоритеты меняются в процессе вып-ния запроса).
Дисциплина обслуживания с абсолютными приоритетами предусматр-ет прер-ния обслужив-я низкоприоритетной заявки при поступлении более приоритетной.
Дисциплина обслуживания с относительными приоритетами-обслуж-ние более приоритетной заявки начинается только после окончания обслуж-я менее приоритетной заявки.
Типовые дисциплины обслуживания.
1. одноочередные
а) очередь в порядке поступления FIFO.
Недостаток: запросы м. быть разными по времени обслуживания.
б) очередь по принципу стека LIFO
Плюс: простота реализации, среднее время ожидания не зависит от типа запроса, дает минимум дисперсии времени ожидания.
в) круговой циклический алгоритм.
Тк-квант времени. Если запрос за Тк не успел обслуж-ся, то он встает в конец очереди. Такая схема исп-ся при реализации разделения времени процессора, нет явных приоритетов, но в
более выгодных условиях оказ-ся более выгодные запросы.
2. многоочередные
а) бесприоритетные. Новый запрос поступает в конец оч.1.
На обслуживание выбир-ся запрос из очереди с номером i, если все очереди с младшим номером пустые. Не до конца обслуж-ныйзапрос возвращ-ся в очередь с номером i+1. Минус: затраты
времени при перемещении запросов из одной очереди в другую. Плюс: более быстрое обслуживание коротких запросов.
б) приоритетные. Новый запрос помещается в очередь i, соотв-щую приоритету запроса. Приоритет задается числом-номером. ур.пр.=0 более приоритетный, чем ур.пр.=1. Такие схемы исп-ся чаще всего.
Пр. Диспетчеризация в системе VAX/VMS. Имеется 32 уровня приоритета, для каждого из к-рых нужно построить очереди.
При создании процесса опред-ся его начальный приоритет, помещ-ся в очередь соотв-щего уровня, планировщик предоставляет Тк процессу из очереди с наивысшим приоритетом. Чтобы высокоприоритетный процесс не захватил процессор полностью, в системе вып-ся динамическое изменение приоритетов. Уменьшение приоритета м. происх-ть по истечению Тк ; завершение терминального вв/вывода, завершение обмена с внеш. устр-вом, освобождение ресурса приводит к увеличению приоритета. Динамич. приоритеты изменяются внутри своего класса и не м.быть ниже начального приоритета. Диспетчер-извлекает процессы, а планировщик-строит процессы.
10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики.
Задача взаимодействия процессов:
1. процессы взаимод-ют по передаче упр-ния.
2. процессы взаимод-ют по данным.
В обоих случаях нужно синхронизировать работу. Напр, взаимод-вие по схеме поставщик-потребитель.
а) Для исключения одновременного обращения к общему ресурсу исп- ся механизм семафоров. Семафор-двоичная переменная. S=0, если ресурс недоступен и S=1, если ресурс доступен. Если S=0- приостановленный процесс, помещается в очередь с данным семафором.
б) Сигнал- двоичная переменная, исп-емая для сообщения др. процессу о совершении некоторого события. Сигналы выполняют синхронизацию процессов. (е=0 или е=1)
в) флаг события. Примитивы семафор и сигнал реализуют низкий уровень управления процессами.
Схема обращения к буферу с исп-нием семафора и сигнала:
I. Проверка семафора делается 2-мя процедурами:
1. оградить (s). Суть этой процедуры-проверка состояния переменной семафора.
if (s==1) then s=0;
else приостановить процесс в очередь (s).
2. освободить (s). Проверяется очередь, связанная с семафором.
if (очередь (s) пуста) then s=1
else возобновить 1-ый процесс.
II. 1. Послать (е)-устанавливает сигнал.
if (очередь (е) пуста) then e=1
else возобновить 1-ый процесс.
2. Ждать (е)
if (e=1) then e=0
else приостановить процесс, поместив его в очередь (е).
В терминах примитивов семафор и сигнал задача поставщик-потребитель может решаться след. образом:
Поставщик:
Объявления: данные: х;
семафор: s;
Сигнал: {неполон, непуст}
do выработать (х)
оградить (s)
if (полон) then освободить (s);
ждать (неполон);
оградить (s);
занести (х);
освободить (s);
послать (не пуст);
enddo
end
Потребитель:
Объявления: данные: х;
семафор: s;
Сигнал: {неполон, непуст}
do оградить (s)
if (пуст) then освободить (s);
ждать (непуст);
оградить (s);
endif
выбрать (х);
освободить (s);
послать (не полон);
enddo
end
Критической секцией наз. часть прог-мы, в к-рой осущ-ся доступ к разделяемым ресурсам. Чтобы исключить эффект гонок в критической секции по отношению к опред-ному ресурсу должен находиться т. один процесс
Тупик (deadlocks или clinch)-взаимная блокировка процессов.
Пр. Пусть 2-ум процессам в многозадачном режиме нужно исп-ть 2 ресурса: принтер и диск.
Процесс А: А1-занять принтер; А2-занять диск; А3-освободить принтер; А4-освободить диск.
Процесс В: В1- занять диск; В2- занять принтер; В3- освободить диск; В4- освободить принтер.
Могут быть 3 ситуации:
а) последовательное вып-ние проессов, никакой блокировки нет.
б) Протекают 2 процесса А, затем идет прер-е и вып-ся проц-с В1, но дальше он не может выполняться, т.к. ресурс занят и происх. блокировка и заускается процесс А3, А4. Потом ресурс освободился и продолжается проц. В
в) произошла взаимная блокировка (тупик)
Проблема тупиков включает задачи:
- предотвращение тупиков
- распознавание тупиков
- восстановление системы после тупиков.
ОС при распознавании тупика можно 1) снять часть процессов 2) может быть совершен откат процесса до контрольной точки 3)нек-рые процессы можно вернуть в обл-ть лоадинга.
Для упр-я ресурсами желательно исп-ть высокоуровневые ср-ва синхронизации, называемые мониторами. Монитор включает набор процедур и стр-ру данных. Внеш. процесс м. вызывать процедуры монитора, но не иметь доступа к данным. Только 1 процесс м. быть активен по отношению к монитору в данный момент.