Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты_ОС_full.doc
Скачиваний:
186
Добавлен:
10.05.2015
Размер:
525.82 Кб
Скачать

10. Объект синхронизации «мьютекс».

Мью́текс (англ. mutex, от mutual exclusion — «взаимное исключение») — одноместный семафор, служащий в программировании для синхронизации одновременно выполняющихся потоков.

Мьютексы — это один из вариантов семафорных механизмов для организации взаимного исключения. Они реализованы во многих ОС, их основное назначение — организация взаимного исключения для потоков из одного и того же или из разных процессов.

Мьютексы — это простейшие двоичные семафоры, которые могут находиться в одном из двух состояний — отмеченном или неотмеченном (открыт и закрыт соответственно). Когда какой-либо поток, принадлежащий любому процессу, становится владельцем объекта mutex, последний переводится в неотмеченное состояние. Если задача освобождает мьютекс, его состояние становится отмеченным.

Задача мьютекса — защита объекта от доступа к нему других потоков, отличных от того, который завладел мьютексом. В каждый конкретный момент только один поток может владеть объектом, защищённым мьютексом. Если другому потоку будет нужен доступ к переменной, защищённой мьютексом, то этот поток засыпает до тех пор, пока мьютекс не будет освобождён.

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

Мьютекс отличается от семафора общего вида тем, что только владеющий им поток может его освободить, т.е. перевести в отмеченное состояние.

11. Понятие операционной системы. Назначение и функции операционной системы.

ОС – это совокупность ПО, предназначенного для обеспечения вычислительного процесса пользовательских программ, организации взаимодействия с пользователем и обеспечения непрерывного функционирования аппаратного обеспечения информационной системы.

Операционные системы служат для:

• Запуск и выполнения пользовательских программ init (в Linux) userexe (в Windows 98)

• Ввод/Вывод (интерпретатор команд)

• Работа оборудования(драйверы)

Назначение операционных систем . Операционные системы нужны, если:

• вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими.

• различные программы нуждаются в выполнении одних и тех же рутинных действий.

• между программами и пользователями системы необходимо распределять полномочия

Основные функции:

• Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).

• Загрузка программ в оперативную память и их выполнение.

• Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

• Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

• Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

12. Классификация операционных систем.

В зависимости от алгоритма управления процессором, операционные системы делятся на:

• Однозадачные

• Многозадачные

- Кооперативная (Windows до 95)

- Вытесняющая

• Однопользовательские (Windows 95, Windows 98)

• Многопользовательские (Windows 98>)

По архитектуре (типу ядра):

• С монолитным ядром (все ф-ции системы находятся внутри одного большого исполняемого файла)

• С модульным ядром (различные компоненты представлены в виде отдельных исполняемых файлах)

• С большим ядром (Mac OS, Windows… все ф-ции выполняются в ядре в привилегированном режиме)

• С микро ядром (IOS, Win CE, Win Phone… выполняются только основные операции)

• С нано ядром (операции выполняются в режиме ядра – прерывание, ввод-вывод, планирование)

• С пико ядром (выполняется только обработка прерываний)

• Сетевые

• Несетевые (DOS)

• RT (Real Time)

- Жесткие

- Мягкие

• NRT (отложенного времени)