- •Понятие вычислительной системы(вс) и ее составные части.
- •Основные принципы организации современных вс.
- •Архитектура эвм. Основные виды архитектуры эвм
- •Ос: назначение, состав, классификация.
- •Ос как виртуальная машина.
- •Ос как система управления ресурсами.
- •Функциональные компоненты ос. Управление процессами.
- •Функциональные компоненты ос. Управление памятью.
- •Функциональные компоненты ос. Управление файлами и внешними устройствами.
- •Функциональные компоненты ос. Защита данных и администрирование.
- •Функциональные компоненты ос. Интерфейс прикладного программирования.
- •Требования к современным ос.
- •Архитектура ос. Макроядерные ос. Ядро и слои ядра.
- •Микроядерная архитектура ос.
- •Понятие вычислительного процесса. Диаграмма состояния процесса.
- •Понятие ресурса в вс, виды ресурсов, методы учета.
- •Методы учета ресурсов. Параметрический метод.
- •Методы учета ресурсов. Метод связных списков и использование его для управления оп.
- •Методы учета ресурсов. Метод двоичных шкал и использование его для управления оп.
- •Методы учета ресурсов. Табличный метод.
- •Методы управления ресурсами и их особенности.
- •Понятия задачи, процесса, потока в вс. Управление процессами и потоками.
- •Способы организации многозадачных ос
- •24.. Дисциплины диспетчеризации.
- •27. Пакетные файлы ms-dos. Команды передачи управления в пакетных файлах.
- •28. Пакетные файлы ms-dos. Параметры и их использование в пакетных файлах.
- •29. Организация диалога с пользователем в пакетных файлах.
- •30. Мультиконфигурационные возможности ms-doc (многовариантность загрузки)
- •31. Проблема критической секции, ее решение по Дейкстра.
- •32. Семафоры и семафорные примитивы. Их использование для решения проблемы критической секции.
- •33. Семафоры и семафорные примитивы. Использование семафоров для синхронизации процессов.
- •43. Физическая и математическая память. Способы организации математической памяти. Сегментно-страничное распределение памяти.
- •34. Семафоры и семафорные примитивы. Задача «поставщик-потребитель».
- •44. Физическая и математическая память. Способы организации математической памяти. Страничное распределение памяти.
- •35. Семафоры и семафорные примитивы. Задача «писателей-читателей» с приоритетом писателей.
- •36. Семафоры и семафорные примитивы. Задача «писателей-читателей» с приоритетом читателей.
- •37. Функции ос по управлению памятью
- •38. Распределение памяти фиксированными разделами.
- •39. Типы адресов. Понятие виртуального адресного пространства
- •40. Распределение памяти динамическими разделами.
- •41. Особенности использования перемещаемых разделов при управлении оперативной памятью.
- •42. Физическая и математическая память. Способы организации математической памяти. Сегментное распределение памяти.
- •45. Преобразование виртуального адреса в физический при 2-уровневой организации адресного пространства.
- •47. Схема выполнения запросов с системах с кэш-памятью.
- •Способы защиты оперативной памяти. Защита по ключам:
- •1.Понятие вычислительной системы(вс) и ее составные части.
- •2.Основные принципы организации современных вс.
- •3.Архитектура эвм. Основные виды архитектуры эвм
32. Семафоры и семафорные примитивы. Их использование для решения проблемы критической секции.
Под семафором понимается переменная, принимающая целые неотрицательные значения.
Семафорная технология:
Дейкстра и Деккер предложили 2 семафорных примитива
S={0;1} – семафор
P(S) – понижающий примитив
V(S) – повышающий примитив
При помощи семафорных примитивов проблема критической секции решается следующим образом:
Процесс 1: программа 11; P(S); CS1; V(S); программа 12; goto L1.
Процесс 2: программа 21; P(S); CS2; V(S); программа 22; goto L2.
33. Семафоры и семафорные примитивы. Использование семафоров для синхронизации процессов.
Под семафором понимается переменная, принимающая целые неотрицательные значения.
Семафорная технология:
Дейкстра и Деккер предложили 2 семафорных примитива
S={0;1} – семафор
P(S) – понижающий примитив
V(S) – повышающий примитив
Использование
Семафоры можно использовать для синхронизации процессов. Пусть есть 2 процесса П1 и П2. Процесс П2 запускается после выполнения части кода П1. На время выполнения П2 П1 «засыпает». Выполнение процесса П1 продолжается только после полного завершения процесса П2.
Р ешение:
S = 0;
П1: П11; P(S); П12;
П2: П12; V(S);
S=0, потому что синхронизация
Если S=1 – не синхронно
S- выбираем сами, т.е выбирается в зависимости от поставленной задачи.
43. Физическая и математическая память. Способы организации математической памяти. Сегментно-страничное распределение памяти.
Как и в сегментном способе распределения памяти, программа разбивается на логически законченные части — сегменты — и виртуальный адрес содержит указание на номер соответствующего сегмента. Вторая составляющая виртуального адреса — смещение относительно начала сегмента — в свою очередь может быть представлено состоящим из двух полей: виртуальной страницы и индекса. Другими словами, получается, что виртуальный адрес теперь состоит из трех компонентов: сегмента, страницы и индекса. Этот способ организации виртуальной памяти вносит еще большую задержку доступа к памяти. Необходимо сначала вычислить адрес Дескриптора сегмента и прочитать его, затем определить адрес элемента таблицы страниц этого сегмента и извлечь из памяти необходимый элемент и уже только после этого можно к номеру физической страницы приписать номер ячейки в странице (индекс). Задержка доступа к искомой ячейке получается, по крайней мере, в 3 раза больше, чем при простой прямой адресации. Чтобы избежать этой неприятности, вводится кэширование, причем кэш, как правило, строится по ассоциативному принципу. Другими словами, просмотры двух таблиц в памяти могут быть заменены одним обращением к ассоциативной памяти.
34. Семафоры и семафорные примитивы. Задача «поставщик-потребитель».
Под семафором понимается переменная, принимающая целые неотрицательные значения.
Семафорная технология:
Дейкстра и Деккер предложили 2 семафорных примитива
S={0;1} – семафор
P(S) – понижающий примитив
V(S) – повышающий примитив
Задача «поставщик-потребитель».
Процесс поставщик создает информацию и помещает ее в общую область (буфер). Процесс потребитель извлекает информацию из буфера и осуществляет ее дальнейшую обработку.
1)Работа с простым, разделенным буфером.
Есть 2 процесса: поставщик и потребитель. Обмен информацией происходит через буфер, кот. в текущий момент времени может быть доступен либо на чтение, либо на запись. Необходимо так запрограммировать процесс, чтобы сообщение, помещенное в буфер не перезаписывалось без прочтения, и в то же время было прочитано 1 раз.
П оставщик: создание информации(П11);
Работа с буфером (П12);
Потребитель: работа с буфером(П21);
Обработка информации (П22);
Поставщик: П11; P(S); П12; V(S); goto L1;
Потребитель: P(S); П21; V(S); П22; goto L2;
Состояние буфера: Пустой = 1;
Полный =0;
L1: поставщик: П11; Р(пустой); П12; V(полный); goto L1;
L2: Р(полный); П12; V(пустой); П22; goto L2;
Это была задача с разделенным семафором.
2)Работа с составным буфером.(буферный пул)
Е сть процесс поставщик, кот. может помещать информацию в буферный пул вплоть до его заполнения, даже если информация не извлекается. Есть процесс потребитель, кот извлекает информацию из буферного пула вплоть до его опустошения. В текущий момент времени доступ к буферу открыт либо по чтению, либо по записи, за одно обращение записывается или освобождается 1 ячейка пула. Необходимо так запрограммировать процесс, что бы в любой момент времени было известно число свободных и занятых ячеек, и процесс не выполнял чтение из несуществующей ячейки или запись в нее. (все равно в каком порядке происходит запись и забирается информация).
Поставщик: L1: П11; P(e); P(S); П12; V(f); V(S); goto L1;
Потребитель: L2: P(f); P(S); П21; V(e); V(S); П22; goto L2;
е- количество свободных ячеек
f – количество занятых ячеек
3)Работа с кольцевым буфером.
Пусть есть 2 процесс: поставщик и потребитель. В текущий момент времени буфер содержит очередь помещенных, но еще не прочитанных сообщений. Введем 2 переменных, 1-для чтения(индекс 1 ячейки, кот. нужно прочитать – 1ЧТ), и одну для заполнения(1ая свободная ячейка после очереди – 1ЗП). Необходимо запрограммировать работку процесса так, что бы информация заносилась и очищалась в определенном порядке, при этом доступ к буферу был открыт как по чтению, так и по записи.
П оставщик: P (пустой)
Buf(1ЗП)=сообщение
1ЗП= (1ЗП+1)%N
V (полный)
Потребитель: Р (полный)
ДАТА = Buf(1ЧТ)
1ЧТ=(1ЧТ+1)%N
V (пустой)
Пустой = число свободных ячеек;
Полный = число занятых ячеек;
Р(пустой) – пока это не = 0 будем писать, когда станет 0, процесс прекратиться.