Ключевые термины
Race condition - несогласованный доступ из параллельных процессов к общим данным.
Атомарная (atomic) операция – операция, такая, что, если один из параллельных процессов начал ее выполнять, никакой другой процесс до ее завершения не может также начать выполнять эту же операцию над теми же данными.
Графическая оболочка – подсистема ОС, реализующая графический пользовательский интерфейс пользователей и системных администраторов с операционной системой.
Взаимное исключение (mutual exclusion) – режим выполнения критической секции, в котором в каждый момент времени ее может выполнять не более чем один из параллельных процессов.
Двоичный семафор (binary semaphore) – системная переменная, над которой определены операции открытия и закрытия, обеспечивающая в закрытом состоянии прерывание процесса, пытающегося ее закрыть, и добавление его к очереди к закрытому семафору; используется для синхронизации процессов по общим ресурсам.
Конвейер (pipe) – конструкция командных языков (shell) системы UNIX, позволяющая использовать стандартный вывод процесса – первого аргумента как стандартный ввод процесса – второго аргумента.
Критическая секция - код, который может выполняться несколькими процессами параллельно и осуществляет доступ к некоторому общему для всех процессов ресурсу – например, глобальной области памяти или общему файлу.
Монитор (как средство синхронизации) – многовходовый модуль, в котором определены общие для параллельных процесов данные и набор операций (в виде процедур) над ними, таких, что в каждый момент времени не более чем один из параллельных процессов может выполнять какую-либо операцию монитора.
Облегченный процесс (lightweight process) – процесс, выполняемый в том же пространстве виртуальной памяти, что и процесс-родитель.
Процесс (process) - пользовательская программа при ее исполнении в компьютерной системе.
Скрипт (script) – командный файл, содержащий часто используемые последовательности команд ОС.
Стек – системный резидентный массив в памяти, создаваемый операционной системой для поддержки выполнения процедур некоторого процесса и хранящий их локальные данные и связующую информацию между ними.
Тупик (взаимная блокировка, deadlock) – ситуация, при которой образуется циклическая цепочка блокированных процессов, бесконечно ждущих друг друга.
Краткие итоги
В данной и следующей лекциях рассмотрена архитектура операционных систем, включая следующие вопросы: компоненты системы; сервисы (службы) системы; системные вызовы; системные программы; структура системы; виртуальные машины; проектирование и реализация системы; генерация системы.
Основные компоненты ОС следующие: управление процессами; управление основной памятью; управление файлами; управление системой ввода-вывода; управление внешней памятью; поддержка сетей; система защиты; система поддержки командного интерпретатора; графическая оболочка.
Процесс – программа пользователя при ее исполнении. ОС поддерживает средства создания, удаления, синхронизации, приостановки и возобновления, взаимодействия процессов. Облегченный процесс исполняется в том же пространстве виртуальной памяти, что и процесс-родитель.
Классические средства синхронизации процессов – семафоры и мониторы. Семафор может находиться в открытом и закрытом состояниях и в закрытом состоянии блокирует все, кроме одного, процессы, которым требуется доступ к общему ресурсу. Монитор содержит описание общих для процессов данных и операций над ними, таких, что в каждый момент не более чем один параллельный процесс может выполнять какую-либо операцию монитора.
Набор для практики
Вопросы
-
Назовите компоненты операционной системы.
-
Какие действия по управлению процессами выполняет ОС?
-
Какие действия по управлению основной памятью выполняет ОС?
-
Какие действия по управлению файлами выполняет ОС?
-
Какие действия по управлению системой ввода-вывода выполняет ОС?
-
Какие действия по управлению внешней памятью выполняет ОС?
-
Какие действия по поддержке сетей выполняет ОС?
-
В чем заключается система защиты ОС?
-
Что такое система поддержки командного интерпретатора ОС?
-
Что такое скрипт?
-
Назовите командные процессоры системы UNIX.
-
Что такое графическая оболочка ОС?
-
Что такое процесс?
-
Что такое стек процесса?
-
Что такое облегченный процесс?
-
Что такое семафор и какие операции над ним определены?
-
Что такое критическая секция?
-
В чем суть принципа взаимного исключения критических секций?
-
Что такое атомарная операция?
-
Что такое взаимная блокировка процессов (deadlock)?
-
Что такое монитор?
-
Какое условие для выполнения своих операций обеспечивает монитор?