- •1.Классификация программного обеспечения эвм
- •2)Второе свойство по – переносимость. Если спо можно ставить на вычислительные системы различной архитектуры то оно переносимо. 3) Третье свойство по – Вариабельность.
- •Транслятор – переводит исходный модуль, написанный на языке высокого уровня в объектный код.
- •3.Структура ос и основные понятия ос
- •4.Управление процессами
- •Procedure dispach:
- •If esbFlag
- •5.Управляет процессами (нитями) – диспетчер процессов.
- •Procedure dispach:
- •If esbFlag Procedure Wait (esb);
- •6.Обслуживание ввода-вывода
- •1990–1994: Windows 3.0–Windows nt — поддержка графики
- •7.Файловая система (фс)
- •Интерфейс Windows 7
- •8.Управление памятью
- •9.Управление ресурсами в ос
- •If Allocator(k,pd) then
- •1) Компьютеры выполняют 2 функции:
- •4) Файлы и файловые системы
- •11.Основные понятия и концепции виртуальной памяти
- •12.Мультипроцессорные системы
- •13.Механизм управления и средства взаимодействия параллельных процессов
- •1)Задача взаимного исключения.
- •2)Задача производитель-потребитель.
- •3)Задача читатели-писатели.
- •4)Задача «Обедающие философы».
- •14.Семафорная техника синхронизации и упорядочивания процессов
- •1.Файловая система hpfs (High Performance File System)
- •15.Тупики
- •16. Графы распределения ресурсов
- •17.Восстановление после тупиков
- •18.Логическая организация файла
- •19.Файловая система (фс)
- •20.Файловая система hpfs (High Performance File System)
- •21.Физическая организация и адресация файла
- •22.Ntfs – New Technology File System
- •23.Логическая организация файла
- •24.Классификация прерываний.
- •25.Тупики и редукция графов
9.Управление ресурсами в ос
Ресурсы системы состоят из повторно-используемых аппаратных и программных средств, таких как: - основная и внешняя память; - блокировки (прерывания), связанные с критическими областями; - потребляемые ресурсы (межпроцессорные сообщения и управляющие сигналы, формируемые прерываниями);
Критической областью в одной или нескольких программах называется группа команд или часть команды, для выполнения которых требуется использовать некоторый разделяемый ресурс. Отсутствие этого ресурса может привести к блокировке программы или её зависанию. Чтобы этого не происходило, надо иметь средства управления критическими состояниями.
Состояние и стратегия выделения ресурса определяется дескриптором конкретного ресурса. Обычно дескриптор в ОС пишется в формате, распространяющемся на все ресурсы, и он имеет следующие поля:
1) указатель на список свободных устройств или сообщений;
2) указатель на список заблокированных процессов;
3) указатель на программу-распределитель данного ресурса;
Заблокированные процессы организуют ссылки на дескрипторы ресурсов через дескрипторы процессов и в каждой очереди списков дескрипторов существуют программы вставки и удаления элементов.
Для работы с ресурсами используются две примитивные операции: get«ресурс» и put«ресурс».
Процесс, требующий ресурс R формирует вызов или запрос: Call R Get(m)
где m – список параметров, т.е. кол-во необходимых устройств.
R – область памяти, в которой содержится сведения о ресурсе.
Запрашивающий ресурс процесс устанавливается в заблокированное состояние до тех пор пока не получит затребованный ресурс.
Процедура put либо возвращает ресурс, полученный предварительно, либо формирует потребляемый ресурс (сообщение). Операции put и get выполняются планировщиком задач как единое целое.
Алгоритм операций put/get.
Procedure get(m);
/* разрешить процедуре get быть текущим процессом ЦП – CP */
/* блокировать процесс CP и вставить данные m в блокированный процесс CP */
CP.Status = ‘ blocked’;
CP.BlockData = m;
call waitList_Insert(CP.List)
/* связать CP со списком ожидания ресурсов */
/* вызвать распределитель ресурсов Allocator(K, PD)
Allocator – это логическая функция, осуществляющая поиск среди имеющихся устройств (ресурсов), способных удовлетворить запросу; PD(i) – указывает на процессы, запросы которых уже выполнены. К – текущий номер запроса на ресурс */
If Allocator(k,pd) then
begin
<выполнить процедуру get>
/* повторить текущий процесс CP */
CP.Status=’running’;
/* включить текущий процесс CP в начало списка в соответствии с его приоритетом */
call ReadyList_Insert2(CP.List)
end
else
/*процедура get не выполняется. Найти другой процесс*/
call Schedular; /* необходимо обратиться к планировщику */
end.{get}
procedure put(m) вызывает распределитель Allocator(K, PD). Затем циклически от 1 до К переводит все процессы в состояние готовности, вставляя их в конец списка, в соответствии с их приоритетом, а затем вызывает планировщик, который вызывает готовый процесс с наивысшим приоритетом. Все потребляемые ресурсы обычно связаны с направленными сообщениями, включающими в себя операции get и put.
ОС UNIX
Система UNIX проектировалась как инструмент. Система для разработки ПО.
Общие черты UNIX систем:
1)мультипрограммная обработка в режиме разделения времени, основання на многозадачности;2)поддержка многозадачного режима, наличие средств защиты данных от несанкционированного доступа;3)использование механизма виртуальной памяти;4)иерархическая ФС, образующая единое дерево каталогов;5)унификация операций в/в, на основе расширенного использования понятия файлов;
6)великолепная переносимость системы (система написана 90% на СИ); 7)кэширование диска для уменьшения среднего времени доступа к файлу;
Существуют версии UNIX для различных компьютерных платформ. UNIX – одна из самых многоплатформенных систем. В ОС UNIX можно использовать компьютер как рабочую станцию или как сервер. Также UNIX внедряется в мир КПК (Карманные ПК) и системного управления.
Основные понятия ОС UNIX
