Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Виртуальная машина (ВМ), Экзоядро




Объектно-ориентированный подход в проектировании ОС.

Лекция №4

 

Используется для добавления многих расширений к ядру ОС.

Одним из примеров Объектных систем является программное обеспечение промежуточного уровня (ППО, middleware).

COM (OLE/ActiveX)

DCOM/COM+

Apple OpenDoc

CORBA – OO технология, ориентированная на различных архитектурных производителей (интероперабельность).

 

Машина VM/370 разработана в центре IBM, (Кембридж, Массачусетс).

Проект ОС основан на следующих наблюдениях:

Система с разделением времени обеспечивает:

· Многозадачность

· Расширенную машину

Идея заключалась в полном разделении этих функций.

Многозадачность обеспечивает VM/370, а расширенную машину может обеспечить любая другая однопользовательская ОС.

Монитор ВМ работает с оборудованием и обеспечивает многозадачность. Но представленная ВМ не является расширенной, т.к. любая ВМ идентична оборудованию, на каждой может работать любая ОС, которая работает на аппаратуре.

Используется в технологии виртуализации в серверах.

Экзоядро развивает идею виртуальной машины, но обеспечивает каждого пользователя копией реального компьютера с подмножеством ресурсов. Например, виртуальным машинам отводится блоки на дисках от 0 до 1023, от 1024 до 2047 и т. д.

Преимущества: можно минимизировать реализацию уровня отображения и реализует многозадачность с меньшими затратами.

 

Управление локальными ресурсами. Управление процессами

Процесс – абстракция, описывающая выполняющуюся последовательно программу.

Процесс представляет собой единицу работы и заявку на потребление системных ресурсов.

Состояние процессов:

  1. Выполнение – активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно исполнения процессором.
  2. Ожидание – пассивное состояние процесса, процесс заблокирован, не может выполниться по своим внутренним причинам (завершение операции ввода/вывода, получение сообщение от другого процесса, освобождение ресурсов).
  3. Готовность – пассивное состояние процесса, процесс заблокирован в связи с внешними обстоятельствами. Процесс готов выполниться, но процессор занят выполнением другого процесса.

Эти состояния присущи любому процессу.

Как только процесс создаётся, он переходит в режим «Готов». Процессы группируются в очередь, откуда они переходят в состояние «Выполнение», если исчерпан определённый лимит. При истечении лимита (например, процессорного времени) процесс снова переходит в состояние «Готов», или в состояние «Ожидания».

Если процессу потребовалось ожидать некоторого события, то он переходит в состояние «Ожидания», т.е. он попадает в очередь, связанную с определённым событием (например, в очередь ожидающих завершения события ввода/вывода).

После наступления соответствующего события, процесс переходит из состояния ожидания в состояние готовности (переходит из очереди «Ожидание» в очередь «готовых» процессов).

 

Контекст и дескриптор процесса

На протяжении своего существования, выполнение процесса может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса необходимо восстановить состояние его операционной среды (состояние регистров, состояние программного счётчика, состояние режима работы процессора, информацию о незавершенных операциях ввода/вывода, указатели на открытые файлы и т.д.). Эта информация называется контекстом процесса.

Однако, для реализации планировщика процессов требуется дополнительная информация (идентификатор процесса, данные о степени привилегированности процесса, данные о нахождении процесса в системных очередях планировщика, указатель на контекст). Эта информация называется дескриптором процесса.

Программный код начнет выполняться, когда для него ОС-ой будет процесс.

Создание процесса состоит из таких этапов:

1. Создать информационные структуры, описывающие процесс.

2. Включить дескриптор процесса в очередь готовых процессов.

3. Загрузить кодовый сегмент процесса в ОП или в область свопинга.

WIN32.API скрывает от пользователя реальные системные вызовы (для совместимости с разными версиями Windows).

WIN32.API – CreateProcess() - NT CreateProcess() - NTCreateThread ()

Алгоритм планирования решает следующие задачи: определение момента времени смены выполняемого процесса, выбор процесса из очереди готовых процессов.

Переключение контекстов между старым и новым процессом (аппаратно-зависимая задача).

Множество алгоритмов планирования можно разделить на 2 группы:

1. Алгоритмы, основанные на квантовании.

2. Алгоритмы, основанные на приоритетах.

Кванты, выделяемые процессу, могут быть одинаковыми для всех процессов, а могут и не быть. Могут быть как фиксированной величиной, так и изменяться в течение жизни процесса. Процессы, не использующие кванты времени могут получить, а могут и не получить компенсацию при последующем обслуживании. Возможны разные дисциплины организации очередей готовых процессов (FIFO; LIFO).

Приоритет – число, характеризующее степень привилегированности. Чем выше приоритет, тем меньше времени процесс проводит в очередях. Приоритет может назначаться директивно или вычисляться ОС по определенным правилам. Приоритет может быть постоянный или изменяющийся в течение жизни процесса. Может быть абсолютным или относительным. При относительном приоритете активный процесс не прекращает своего выполнения при появлении более приоритетного процесса, в противном случае – абсолютный приоритет.

Невытесняющая многозадачность: способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он по собственной инициативе не отдаст управление ОС (планировщику, чтобы он выбрал следующий процесс для исполнения).

Вытесняющая многозадачность – способ планирования, при котором решение о переключении на новый процесс, принимает планировщик ОС, а не активная задача.

Распределение функций между планировщиком и приложением в невытесняющей многозадачности может давать определенный преимущества: возможность самостоятельно проектировать алгоритм планирования, решается проблема совместно используемых ресурсов, более высокая скорость переключения с задачи на задачу.

Нити

Это потоки, облегченные процессы. В некоторых ОС, например, Windows NT, управление единицами работы и управление ресурсами разделены между собой (NTCreateProcess(), NTCreateThread()).

Нити – те сущности, которые отвечают за управление единицами работы.

Планировщик ОС (NT) “видит” только нити и ничего не знает о процессах. Нити имеют собственные:

· программные счетчики;

· регистры;

· стеки;

· состояния.

Нити разделяют адресное пространство, глобальные переменные, открытые файлы, статическую информацию.

 




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 451; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.