Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по курсу ОСс и ОСТ20081.doc
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
1.57 Mб
Скачать

13. Ос unix. Граф состояний процесса.

Процесс - это программа, запущенная пользователем, которая находится в памяти и потребляет ресурсы: выполняется, требует памяти, обменивается данными с системой, внешними устройствами и другими процессами.

При запуске процесс получает уникальный идентификатор процесса (Process IDentifier, PID), по которому он становится доступен другим процессам и планировщику.

Планировщик процессов в UNIX устроен так, что каждая задача из очереди работает в течение всего отведенного ей промежутка времени, только если ей есть чем заняться. Если задача к этому времени работать не может (например, ожидает завершения операции ввода/вывода, или сигнала, или освобождения какого-либо ресурса), она из начала очереди перемещается в конец очереди "спящих" задач. Как только какая-нибудь задача из очереди спящих просыпается, ей тут же отводится место в начале обычной очереди. Таким образом максимально сокращается время простоя (idle) системы,

Процессы в UNIX могут иметь разные приоритеты, сообразно которым идет планирование очередного запуска процесса (например, полностью отработав свой промежуток времени, процесс может помещаться не в конец очереди).

Между собой процессы могут обмениваться данными не только стандартными пользовательскими средствами посредством файлов,( каналов или сокетов) но и с помощью быстрых системных, именуемых средствами межпроцессного взаимодействия (Interprocess Communication, IPC).

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

5

Н

К

2

4

1

3

Н – начало

Г – готовность

В – состояние выполнения

О – состояние ожидания

К – конец

1 – создание процесса

2 – процесс выбран на выполнение

3 – процесс вытеснен

4 – процесс ожидает завершения операции ввода, вывода или другого события

5 – процесс завершен или произошла ошибка

Существует две концепции организации многозадачности:

  1. вытесняющая (принудительная, используется почти во всех ОС) и

  2. согласующая ( отличается от предыдущей отсутствием перехода «процесс вытеснен» в графе состояний процесса).

Абстракция файла служит так же для определения (обращения) к физическим устройствам компьютера, либо для связи процессов.

14. Ос unix и концепция открытых систем.

Факторы популярности UNIX:

1.Исторически система не является принадлежащей какой-либо компании, производ. Программные средства.

2.Технология ОС UNIX и даже ее исх. тексты стали достоянием широкой публики.

3.Осн. концепции ОС UNIX – это интуитивно ясные понятия.

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

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

Масштабируемость – возможность почти линейного возрастания эффективности приложений при возрастании аппаратных возможностей.

Интероперабильность – возможность совместного использования независимо разработанных приложений.

15-16. POSIX – совместимость. POSIX.1, POSIX.2 и POSIX.3.

POSIX (Portal Operating System Interface) – это развивающийся стандарт, призванный обеспечить переносимость исходных текстов программ между ОС разных производителей (не только UNIX - класса). За основу стандарта POSIX были взяты ОС семейства UNIX. В дальнейшем стандарты были дополнены расширениями, включая расширения, касающиеся реального времени.

Разработкой стандартов POSIX занимаются рабочие группы Института Инженеров по Электронике и Радиотехнике (Institute of Electrical and Electronics Engineers = IEEE). Поэтому стандарты POSIX после утверждения имеют маркировку IEEE. Кроме того, существует международная организация по стандартизации (International Organization for Standardization = IOS). Кроме этой существует еще Международная Электротехническая Комиссия (International Electrotecnical Commission = IEC). Эти две организации могут утверждать стандарты IEEE в качестве международных.

Стандарты:

1)стандарт IOS/IEC 9945-1 – определяет интерфейс прикладного программирования (API) для ОС и включает:

- POSIX.1 (IEEE 1003.1) – базовый API операционных систем;

- POSIX.1a (IEEE 1003.1a) – некоторые расширения API;

- POSIX.4 (IEEE 1003.1b) – расширения для поддержки реального времени;

- POSIX.4a (IEEE 1003.1c) – интерфейсы потоков выполняют POSIX-процессы;

- POSIX.1b (IEEE 1003.1d) – дополнительные расширения реального времени;

- POSIX.12 (IEEE 1003.1g) – независимый от протокола интерфейс сокетов;

2)стандарт IOS/IEC 9945-2 (POSIX.2 или IEEE 1003.2) – определяет набор утилит (команд) и командный интерпретатор;

3)стандарт IOS/IEC 13210 (POSIX.3 или IEEE 1003.0) – определяет набор тестов, позволяющих определить POSIX-совместимость ОС.

Замечание:

1)в документах часто используется комбинированное обозначение номеров стандартов, # вместо POSIX.4a или IEEE 1003.1c пишут POSIX 1003.1c;

2)многие ОС реального времени работают внутри некоторого промышленного оборудования с весьма ограниченными встраиваемыми системами (встраиваемые системы не могут и не должны обеспечивать всю POSIX-функциональность), поэтому было решено определенное правило урезания стандартов POSIX в необходимых случаях. Такие урезания названы профилем прикладных контекстов реального времени и они регламентированы стандартом IOS/IEC 15287-2 (POSIX.13 или IEEE 1003.13).

3)Все Unix-подобные системы, как проприетарные (Solaris, например, или AIX), так и свободные (Linux или FreeBSD) по определению являются POSIX-совместимыми, представляя собой конкретные реализации соответствующих стандартов.

4)Термины "Unix-подобная ОС" и "POSIX-совместимая ОС " можно рассматривать в качестве синонимов.

5)Все стандарты POSIX являются открытыми в понимании, близком к Open Sources. То есть они общедоступны - любой человек с "улицы" может получить к ним доступ и создать в соответствии с ними свою открытую систему (откуда и пошел термин Open Systems).

6)Под Open Systems, в отличие от Open Sources, можно понимать просто системы, основанные на открытых (общедоступных) стандартах, а на каких условиях эти системы распространяются – определяется лицензиями.