Документирование среды программирования для операционной системы L4Ka (Documenting the programmer environment for L4ka) Yury Chebiryak urriy@wjpserver.cs.uni-sb.de.

Презентация:



Advertisements
Похожие презентации
Системное программное обеспечение. Вычислительная система 2.
Advertisements

Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Демидов А.В г.1 Операционные системы Лекция 1 Определение, история, классификация ОС, Архитектура ЭВМ.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
1 Назначение операционных систем Автор проекта: Евтина М. Г. Петрова М. В. Трубицын Д.А. Худяков А. Ю.
Операционная система MS Windows* Развитие ОС: пакетная обработка, интерактивные системы, ОС реального времени, системы с разделением времени. Истинная.
Архитектура операционных систем Семестр 2, Лекция 1.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Учебный курс Операционные среды, системы и оболочки Лекция 5 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Операционная система это комплекс взаимосвязанных системных программ, назначение которых организовать взаимодействие пользователя с компьютером и выполнение.
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Системное программное обеспечение Лекция 4 Кооперация процессов.
Распределенная система мониторинга и диспетчеризации процессов гетерогенной среды студент Костюков В.В., профессор к.ф-м.н Крючкова Е.Н., АлтГТУ / ПОВТ.
Операционная система. Базовые понятия Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием.
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Основы операционных систем. Литература к курсу (основная) В.Е.Карпов, К.А.Коньков Основы операционных систем.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Учитель информатики Трашков О.Л.. Для оперативного обмена информацией и совместного использования общих ресурсов компьютеры объединяют в сеть. Ресурсами.
Транксрипт:

Документирование среды программирования для операционной системы L4Ka (Documenting the programmer environment for L4ka) Yury Chebiryak University of Saarland Department of Computer Science Хабаровский Государственный Технический Университет Институт Информационных Технологий (Khabarovsk State University of Technology) (Institute of Information Technologies)

2 Цель работы Главными задачами диплома являются: Работа раскрывает два аспекта: управление памятью (memory management) и взаимодействие между процессами (ВМП) (IPC – inter-process communication) документирование системных вызовов (system calls) среды программирования операционной системы L4Ka создание полноценного руководства программиста расширение функциональности менеджера памяти σ 0 написание процедуры обработки аппаратных прерываний (interrupt service routine)

3 Управление памятью выделение (mapping) регионов физической памяти выделение/освобождение (unmapping) и передача (granting) регионов памяти между задачами (tasks)

4 Взаимодействие между процессами написание сервиса для аппаратных прерываний (interrupt service routine) расширение функциональности менеджера памяти σ 0 обмен сообщениями между задачами (tasks) и нитями (threads)

5 Операционные системы (ОС) ОС – это программа, предназначенная для управления всеми ресурсами вычислительной машины с целью предоставления возможности пользователям эффективно решать прикладные задачи Классификация по структуре ядра (kernel) : операционные системы без ядра (MS-DOS) операционные системы с макро-ядром (Unix, Windows) операционные системы с микро-ядром (L4, Mac OS X, Mach, Nomad OS)

6 Схема ОС с макро-ядром

7 Схема ОС с микро-ядром

8 L4Ka – ОС с микро-ядром Основные механизмы: нити (threads) – процессы, имеющие единое адресное пространство и выполняющиеся параллельно ВМП (IPC) – фундаментальный способ взаимодействия между нитями адресное пространство (address space) – защищенный набор преобразований виртуальных адресов в физические планирование машинного времени (scheduling) – обеспечи- вает контроль над порядком и длительностью выполнения нитей Системные вызовы: 7 системных вызовов для изменения состояния системы

9 Адресное пространство (АП) АП – это набор преобразований (translations) из виртуальных адресов в физические; содержит все регионы памяти доступные для нити напрямую.

10 Адресное пространство (2) map – регион памяти в общем владении grant – регион памяти передается с потерей прав

11 Адресное пространство (3) Задача – набор нитей, использующих адресное пространство совместно (shared) Нить определяется: используемым адресным пространством уникальным идентификатором (unique ID) набор регистров (register set) менеджер памяти (pager – page fault handler) Менеджер памяти – нить, которая обрабатывает ошибки из-за отсутствия страницы памяти (page faults) σ 0 – корневой менеджер памяти, владеющий всей памятью после запуска L4Ka

12 Менеджер памяти

13 Корневой менеджер памяти σ 0

14 Планирование машинного времени

15 Типы данных OC L4Ka Основные типы данных: уникальный идентификатор (UID – unique ID) flex-pages тайм-аут (timeout) результат ВМП (IPC result status) параметр планирования (schedule parameter word)

16 Уникальный идентификатор

17 Flex-pages Flex-page – это непрерывные регионы адресного пространства необходимы для операций map и grant передаются как часть ВМП сообщений (IPC messages) имеют размер 2 s (для х86 архитектуры s12) базовый адрес b выровнен по значению 2 s

18 Тайм-аут (timeout) Тайм-аут используется для контроля ВМП. В 32-х битном поле определены четыре тайм-аута.

19 Тайм-аут (timeout) (2)

20 Результат одной коммуникации между нитями возвращается в 32х-битном поле. Поле «mwords» говорит о числе принятых 32х-битных слов. Поле «strings» говорит о числе принятых строк. Младшие восемь бит представляют «код условия» (condition code), в котором закодирован код ошибки и тип сообщения. Результат ВМП (IPC result status)

21 В L4Ka имеется только один параметр для планирования. Он содержит поля в которых закодирован приоритет и длина кванта времени (в соответствии со спецификацией тайм- аута). Параметр планирования (schedule parameter word)

22 Системный вызов l4_myself Системный вызов возвращает уникальный идентификатор текущей нити.

23 Системный вызов l4_unmap Регион памяти, описанный входным параметром fpage, будет освобожден (удален из адресного пространства нити).

24 Системный вызов l4_thread_ex_regs С помощью этого системного вызова можно получить или изменить регистры EIP и ESP набора регистров нити. Таким образом, можно создать новую нить, указав в качестве входных параметров значения для EIP, ESP, уникальный идентификатор менеджера памяти.

25 Системный вызов l4_thread_switch Вызывающая нить добровольно освобождает ресурсы процессора. Планировщик выбирает следующую нить.

26 Системный вызов l4_thread_schedule Изменение значений приоритета и длины кванта времени нити производится посредством передаче в качестве входного параметра структуры schedule param word. Системный вызов также возвращает время процессора в микросекундах, израсходованное нитью.

27 Системный вызов l4_task_new Этот системный вызов удаляет и/или создает задачу. Удаление задачи означает удаление адресного пространства задачи и всех ее нитей. Задачи могут быть созданы активными или пассивными. При создании активной задачи создается новое адресное пространство вместе с полным набором нитей (64). Пассивная задача пуста – не поглощает ресурсов процессора, не имеет ни адресного пространства, ни нитей, коммуникация с ней невозможна. Пассивная задача по сути не существует и представляет собой лишь возможность, право создать активную задачу с данным уникальным идентификатор.

28 Системный вызов l4_ipc_call Основной системный вызов для ВМП и синхронизации. Вызов предоставляет несколько прототипов для коммуникации: l4_ipc_send – послать сообщение другой нити l4_ipc_receive – получить сообщение от указанной нити l4_ipc_reply_and_wait – ответить на сообщение указанной нити и ждать сообщения от произвольной нити l4_ipc_wait – ждать сообщения от произвольной нити Вышеприведенные примитивы позволяют реализовать различные схемы взаимодействия (например, клиент-сервер).