- •Инструментальное по: назначение и основные компоненты
- •Прикладное по: назначение и основные компоненты
- •Определение операционной системы (ос). Назначение и основные функции ос.
- •Общая схема организации ос эвм: назначение ядра и транзитной части ос.
- •Транзитная часть ос
- •Привилегированный и пользовательский режимы работы аппаратуры эвм. Средства для обеспечения привилегий ос. Системные вызовы ядра.
- •Многослойная архитектура ядра ос.
- •Машинно-зависимые компоненты ос
- •Микроядерная архитектура ос: переносимость, надежность и расширяемость.
- •Эволюция ос: системы пакетной обработки, мультипрограммные ос, сетевые ос.
- •Системы разделения времени
- •Краткая характеристика ос ms-dos. Основные компоненты ос ms-dos: структура ее ядра и транзитной части.
- •Командный язык ms-dos. Синтаксис команды ms-dos. Классификация команд по принципу использования. Классификация команд по функциональному назначению.
- •Командные файлы ms-dos.
- •Структура описателя процесса:
- •Планирование и диспетчеризация потоков. Состояния потока в многозадачной ос.
- •Алгоритмы планирования потоков: вытесняющие и невытесняющие.
- •Алгоритмы планирования, основанные на квантовании.
- •Понятие параллельных процессов. Синхронизация и взаимодействие параллельных процессов. Взаимоисключение. Критические участки. Блокирующие переменные.
- •2. Использование переменных-флажков, которые представляют собой признак, показывающий, не находится ли соответствующий ей процесс в своей критической секции.
- •3.Алгоритм Деккера
- •Понятие семафоров. Виды семафоров. Операции над семафорами. Пример обеспечения взаимоисключения с помощью семафоров.
- •Многоуровневая организация памяти эвм. Управление оперативной памятью: стратегии выборки, размещения, замещения. Способы разделения оперативной памяти между выполняющимися процессами.
- •Механизмы разделения памяти между выполняющимися процессами. Свопинг.
- •Выделение одного Разбиение памяти
- •Управление файлами. Основные функции файловой системы. Возможные действия с файлом
- •Операции над файлом
- •Принципы организации файловых подсистем в современных ос.
- •Файловая подсистема в ос ms dos.
- •Файловая подсистема в ос семейства Windows.
- •Файловая система s5fs.
- •Права r и w на каталоги не действуют без права X.
- •Права доступа к файлам
- •Vhand-диспетчер страничного замещения
- •Атрибуты процесса в ос unix
- •Пакеты лвс: назначение пакетов и их структура.
- •Управление обменом в сети с топологией “звезда”.
- •Управление обменом в сети с топологией “кольцо”.
- •Управление обменом в сети с топологией “шина”.
- •Недостатки топологии “шина”:
- •Глобальная информационная сеть Интернет: история возникновения, основные принципы работы, понятие хост-компьютера. Основные способы доступа к сети Интернет.
- •Понятие о ресурсах Интернет. Адресация ресурсов в Интернет
- •Основные службы сети Интернет: Telnet, ftp, www.
- •Общая характеристика языка гипертектовой разметки html
-
Понятие параллельных процессов. Синхронизация и взаимодействие параллельных процессов. Взаимоисключение. Критические участки. Блокирующие переменные.
Асинхронный параллельный процесс – это такой процесс, состояние которого не зависит от состояния другого параллельного процесса (ПП).
Синхронный ПП – это такой процесс, состояние которого зависит от состояния взаимодействующих с ним ПП.
Для организации взаимодействия параллельных процессов в ВС используются подходы на основе:
“взаимного исключения”;синхронизации через сигналы; обмена информацией (сообщениями).
Взаимное исключение предполагает запрет доступа к общим ресурсам для всех ПП, кроме времени его работы с этими ресурсами.
Синхронизация подразумевает обмен сигналами между двумя или несколькими процессами по установленному протоколу.
Критическая секция (интервал, участок) - это последовательность команд программы, операции которой связаны с обращением к разделяемым данным, причем параллельное выполнение несколькими процессами действий, заданных в критических секциях, может привести к разрушению этих данных.
К блокирующим переменным все процессы имеют прямой доступ, не обращаясь к системным вызовам ОС. Каждому набору критических данных ставится в соответствие двоичная переменная, которой поток присваивает значение 0, когда он входит в критическую секцию и значение 1, когда он ее покидает.
________________________________________________________________________________________
-
Примеры реализации взаимоисключения.
1. использование общей переменной (N), указывающей номер процесса, чья очередь войти в критическую секцию в данный момент.
N –н ачальное значение этой переменной должно быть установлено при инициализации системы (до запуска процессов P1 и P2). Предположим, что первым в критическую секцию должен быть допущен процесс P1.
Процедура инициализации |
Первый процесс |
Второй процесс |
procedure INIT; common integer N ; begin N := 1 ; start(P1) ; start(P2) end INIT .
|
process P1; common integer N ; begin while true do begin BEFORE1 ; while N = 2 do ; CS1 ; N := 2 ; AFTER1 ; end end P1 . |
process P2; common integer N ; begin while true do begin BEFORE2 ; while N = 1 do ; CS2 ; N := 1 ; AFTER2 ; end end P2 . |
Цикл, вставленный в программы перед началом критических секций, позволяет организовать ожидание момента, когда подойдет очередь данного процесса для входа в критическую секцию. Первым при установленном порядке доступ к разделяемым данным должен получить процесс P1. Оба процесса, дождавшись возможности входа в критическую секцию, выполняют заданные в ней действия и сразу после выхода из критической секции передают очередь на вход следующему процессу, установив его номер в переменной N. Первый процесс передает очередь на доступ к разделяемому ресурсу второму процессу, а второй - первому.
Минус: процесс имеющий право на вход в свою критическую секцию, но пока не вошедший в нее блокирует вход в критические секции другим процессам, которые могут быть готовы к обработке общих данных, но не могут получить к ним доступ