Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 15 Безопасность.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
795.14 Кб
Скачать

Включение

Экземпляры объекта, которые содержат в себе другие объекты, называются составными объектами (composite objects). Включение может быть достигнуто путем использования в объекте указателя на другой объект. Преимущество со­ставных объектов заключается в том, что они позволяют представлять сложные структуры. Например, объект, который входит в составной объект, сам может быть составным.

Обычно из составных объектов конструируются структуры, имеющие древо­видную топологию — т.е. нельзя использовать никаких циклических ссылок, и каждый экземпляр дочернего объекта может иметь только один экземпляр роди­тельского объекта.

Важно понять различие между иерархией наследования классов объектов и иерархией, возникающей в составных объектах. Они никак не связаны между собой. Наследование просто позволяет с минимальными усилиями определять различные типы объектов. Включение объектов позволяет создавать сложные структуры данных.

Б.З. ПРЕИМУЩЕСТВА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

В [CAST92] перечислены такие преимущества объектно-ориентированного подхода.

  • Лучшая организация сложных наследственных отношений. Используя наслед­ственность, можно эффективно определять взаимосвязанные понятия, ресурсы и другие объекты. С помощью включения можно конструировать произвольные структуры данных, отражающие поставленную задачу. Объектно- ориентированные языки программирования и структуры данных позволяют разработчикам описывать ресурсы и функции операционной системы таким способом, который отражает представление об этих ресурсах и функциях.

  • Снижение усилий, затрачиваемых на разработку, за счет повторного использования. Повторное использование классов объектов, которые уже на­ писаны, протестированы и опробованы другими, сокращает время, необхо­димое для разработки и тестирования.

  • Повышение степени расширяемости и облегчение поддержки систем.

Обычно на протяжении всего времени жизни продукта 65% его стоимости затрачивается на поддержку этого продукта, включая его улучшение и уст­ранение недостатков. Объектно-ориентированный подход сокращает этот показатель. Использование объектно-ориентированных программ помогает сократить число возможных взаимодействий между различными частями этих программ, обеспечивая тем самым минимальное воздействие, которое может оказать изменение в реализации класса на остальную часть системы.

Эти преимущества способствуют тому, что разработка операционных систем ведется в направлении объектно-ориентированных систем. Объекты позволяют разработчикам изменять операционную систему так, чтобы она удовлетворяла новым требованиям, не нарушая ее целостности. Кроме того, объекты являются строительными блоками, использующимися при разработке распределенных сис­тем. Благодаря тому, что объекты взаимодействуют между собой с помощью со­общений, не имеет значения, находятся ли обменивающиеся сообщениями объ­екты в одной и той же системе или в двух разных системах, подключенных в одну сеть. Данные, функции и потоки могут быть динамически назначены рабо­чим станциям и серверам. Благодаря всем перечисленным достоинствам объект­но-ориентированного подхода растет его роль при разработке операционных сис­тем, предназначенных для персональных компьютеров и рабочих станций.

Словарь терминов

Адресное пространство (Address space). Диапазон адре­сов, доступный компьютерной программе.

Архитектура коммуникаций (Communications architec­ture). Аппаратное и программное обеспечение, реа­лизующее функции коммуникации.

Асинхронная операция (Asynchronous Operation) Опера­ция, которая выполняется без точной связи с неко­торым событием или в непредсказуемое время; примером может служить подпрограмма диагности­ки ошибок, которая может получить управление в любой момент работы основной программы.

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

Базовый адрес (Base address). Адрес, используемый в качестве начального при вычислении адресов в про­цессе выполнения программы.

Бактерия (Bacteria). Программа, потребляющая систем­ные ресурсы путем самовоспроизведения.

Беовульф (Beowulf). Класс кластеризованных вычисли­тельных систем, применяемых для уменьшения со­отношения цена/производительность системы в це­лом при сохранении возможности выполнения вы­числений, для которых предназначена данная система. Большинство таких систем реализовано на компьютерах Linux.

Бинарный семафор (Binary semaphore). Семафор, при­нимающий только два значения — 0 или 1.Блок (Block). 1) Набор последовательных записей, представляющих собой еди­ную группу; группы разделены промежутками. 2) Группа битов, передавае­мая как единое целое.

Бригадное планирование (Gang scheduling). Планирование множества связанных потоков при одновременной работе на множестве процессоров по одному по­току на процессор.

Буфер поиска трансляции (Translation Lookaside buffer, TLB). Высокоскорост­ной кэш, использующийся как часть схемы страничной виртуальной памя­ти для хранения записей таблицы страниц, к которым недавно были обра­щения. TLB снижает частоту обращений к основной памяти для выборки записей таблицы страниц.

Взаимоблокировка (Deadlock). 1) Тупиковая ситуация, возникающая при ожи­дании несколькими процессами доступности ресурса, который не может быть освобожден, будучи захвачен процессом, находящимся в аналогичном состоянии ожидания. 2) Тупиковая ситуация, возникающая при ожидании несколькими процессами некоторого действия или ответа от процесса, кото­рый находится в аналогичном состоянии ожидания.

Взаимоисключение (Mutual exclusion). Ситуация, в которой существует множе­ство процессов, но получить доступ к некоторому ресурсу или выполнить некоторую функцию в определенный момент времени может лишь один из них. См. critical section.

Виртуальный адрес (Virtual address). Адрес ячейки виртуальной памяти.

Вирус (Virus). Секретная недокументированная подпрограмма, внедренная в обычную программу, выполняющую полезные действия. Запуск такой про­граммы приводит к выполнению этой секретной подпрограммы. Отличается способностью самостоятельного внедрения в другие программы (заражения).

Включенное прерывание (Enabled interrupt). Условие (обычно осуществляемое операционной системой), при котором процессор отвечает на сигналы запро­сов прерываний определенного класса.

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

Внутренняя фрагментация (Internal fragmentation). Происходит при разделении памяти на части фиксированного размера (например, кадры страниц в ос­новной памяти или физические блоки на диске). Если блоку данных отво­дится одна или несколько частей, в последней из них может оказаться не­используемое пространство. Это происходит, когда размер данных в послед­ней части меньше ее размера.

Время отклика (Response time). Время, прошедшее между концом передачи со­общения с запросом и началом получения ответного сообщения, измеряемое на запрашивающем терминале.

Вторичная память (Secondary memory). Память, расположенная вне вычисли­тельной системы, например диски или магнитные ленты.

Выборка по требованию (Demand paging). Передача страницы из вторичной па­мяти в основную в тот момент, когда эта страница оказывается запрошен­ной процессом. См. prepaging.

Вытеснение (Preemption). Возврат ресурса, захваченного процессом, до оконча­ния его использования этим процессом.

Голодание (Starvation). Ситуация, когда выполнение процесса бесконечно откла­дывается в связи с тем, что предпочтение отдается другим процессам.

Дескриптор процесса (Process descriptor). To же, что и управляющий блок про­цесса (process control block).

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

Диспетчеризация (Dispatch). Распределение времени процессора между задания­ми, готовыми к выполнению.

Драйвер устройства (Device driver). Модуль операционной системы (обычно на­ходящийся в ядре), который работает непосредственно с устройством или контроллером ввода-вывода.

Задание (Job), Последовательность вычислительных этапов, собранных для за­пуска как единое целое.

Задача (Task). To же, что и процесс (process).

Задача реального времени (Real-time task) Задача, которая выполняется в связи с некоторыми процессами, функциями или событиями, внешними по отно­шению к компьютерной системе, и которая должна реагировать на внешние события за приемлемое для них время.

Запись (Record). Группа элементов данных, рассматриваемая как единое целое.

Злонамеренное программное обеспечение (Malicious software) Программное обеспечение, разработанное с целью вызвать повреждения или использовать ресурсы целевого компьютера. Зачастую такое программное обеспечение маскируется под полезное; нередко оно самораспространяется по электрон­ной почте или через инфицированные дискеты. Включает в себя вирусы, троянских коней, червей, программы для исчерпания ресурсов.

Индексированный файл (Indexed file). Файл, обращение к записям которого производится в соответствии со значениями ключевых полей. Индекс дол­жен указывать положение каждой записи на основе значения ее ключа.

Индексно-последовательный доступ (Indexed sequential access). Организация за­писей и доступ к записям во вторичной памяти посредством индексов клю­чей, хранящихся в файлах или отдельно от них. Сами файлы имеют после­довательную организацию области данных.

Индексно-последовательный файл (Indexed sequential file). Файл, записи в кото­ром упорядочены в соответствии со значениями ключевого поля. Основной файл данных сопровождается индексным файлом, содержащим частичный список значений ключей. Индекс обеспечивает быстрый поиск и доступ к требуемой записи. Область индекса может быть частью основного файла.

Индексный доступ (Indexed access). Организация записей и доступ к записям в памяти с использованием индексов.

Интерфейс прикладного программирования (Application programming interface, API). Стандартизованная библиотека программных средств, используемая разработчиками программного обеспечения для создания приложений, со­вместимых с определенной операционной системой и принятым графиче­ским пользовательским интерфейсом.

Кадр (Frame). В системе виртуальной страничной памяти — блок фиксирован­ной длины основной памяти, использующийся для хранения одной страни­цы виртуальной памяти.

Кадр страницы (Page frame). Блок фиксированного размера в основной памяти, используемый для хранения страницы.

Канал (Pipe). Циклический буфер, позволяющий двум процессам сообщаться в соот­ветствии с моделью производитель/потребитель. Канал представляет собой оче­редь "первым вошел — первым вышел", в который пишет один из процессов, а второй — читает. В некоторых системах используется обобщение каналов, что обеспечивает возможность выборки любого элемента из очереди.

Квантование времени (Time slicing). Режим работы, при котором два или несколько процессов получают кванты времени на одном и том же процессоре.

Кластер (Cluster). Группа взаимосвязанных компьютеров, работающих как еди­ный вычислительный ресурс (что создает иллюзию работы одной машины). Каждый из компьютеров кластера представляет собой систему, которая мо­жет работать и вне кластера.

Клиент (Client). Процесс, который запрашивает сервисы у процесса-сервера, от­правляя ему сообщения.

Контекст выполнения (Execution context). To же, что и состояние процесса (process state).

Критический раздел (Critical section). В асинхронной процедуре компьютерной про­граммы — часть, которая не может выполняться одновременно со связанным критическим разделом другой асинхронной процедуры. См. mutual exclusion.

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

Кэш диска (Disk cache). Буфер, обычно размещаемый в основной памяти, кото­рый работает в качестве кэша дисковых блоков между дисковой памятью и остальной частью основной памяти.

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

Ловушка (Trap). Непрограммируемый условный переход к определенному адре­су, автоматически активируемый аппаратным обеспечением; позиция, из которой был выполнен переход, записывается.

Логическая запись (Logical record) Структура данных в прикладной программе, не зависящая от ее физического окружения; части одной логической записи могут располагаться в различных физических записях, так же как и не­сколько логических записей или их частей могут располагаться в одной фи­зической записи.

Логический адрес (Logical address). Ссылка на местоположение в памяти, не за­висящее от текущего размещения данных в памяти. Перед тем как полу­чить данные из памяти, должно быть выполнено преобразование этого адре­са в физический.

Люк (Trap door). Секретная недокументированная входная точка в программу, ис­пользуемая для получения доступа минуя обычные методы аутентификации.

Макроядро (Macrokernel). Большое ядро операционной системы, обеспечивающее широкий диапазон сервисов.

Метод доступа (Access method). Метод, используемый для поиска в файле записи или множества записей.

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

Многозадачность (Multiprogramming). Режим работы, при котором обеспечива­ется чередующееся выполнение двух или большего количества программ одним процессором. Синоним термина multitasking.

Многозадачность (Multitasking). Режим работы, при котором обеспечивается па­раллельное или чередующееся выполнение двух или большего количества программ. Синоним термина multiprogramming.

Многопроцессорная система (Multiprocessor). Компьютер, имеющий два и более процессора с общим доступом к основной памяти.

Многопроцессорность (Multiprocessing). Режим работы, при котором параллель­ные вычисления обеспечиваются двумя или более процессорами многопро­цессорной системы.

Многопроцессорные системы с неоднородным доступом к памяти (Nonuniform memory access (NUMA) multiprocessor). Многопроцессорная система с общей памятью, в которой время доступа данного процессора к слову в памяти за­висит от местоположения этого слова.

Многоуровневая безопасность (Multilevel security). Управление доступом на не­скольких уровнях классификации данных.

Модель взаимодействия открытых систем (Open systems interconnection (OSI) refer­ence model). Модель взаимосвязи между сотрудничающими устройствами. Оп­ределяет семиуровневую архитектуру коммуникационных функций.

Модуль данных протокола (Protocol data unit). Информация, передаваемая по сети как единый модуль, который может содержать управляющую инфор­мацию, адрес или данные.

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

Монолитное ядро (Monolithic kernel). Большое ядро, виртуально содержащее всю операционную систему, включая планировщик, файловую систему, драйве­ры устройств и управление памятью. Все функциональные компоненты яд­ра имеют доступ ко всем его внутренним структурам данных и подпрограм­мам. Обычно монолитное ядро реализуется как единый процесс, в котором все элементы разделяют одно и то же адресное пространство.

Непривилегированное состояние (Nonprivileged state). Контекст выполнения, не позволяющий выполнять привилегированные команды, такие, как останов процессора или команды ввода-вывода.

Обнаружение взаимоблокировки (Deadlock detection). Методика, состоящая в удовлетворении по возможности всех запросов на ресурсы при периодиче­ской проверке наличия состояния взаимоблокировки.

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

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

Образ процесса (Process image). Все составляющие процесса, включая программ­ный код, данные, стек и управляющий блок процесса.

Ожидание занятости (Busy waiting). Повторяющееся выполнение цикла в коде программы в процессе ожидания некоторого события.

Операционная система (Operating system). Программное обеспечение, управ­ляющее выполнением программ и предоставляющее различные сервисы, та­кие, как распределение ресурсов, планирование, управление вводом-выводом и управление данными.

Организация файла (File organization). Физический порядок записей в файле, определяемый методом доступа, использовавшимся для их сохранения и выборки.

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

Отключенное прерывание (Disabled interrupt). Условие (обычно осуществляемое операционной системой), при котором процессор игнорирует сигналы запро­сов прерываний определенного класса.

Относительный адрес (Relative address). Адрес, вычисляемый как смещение от­носительно некоторого базового адреса.

Пакетная обработка (Batch processing). Метод выполнения потока компьютер­ных программ, при котором запущенная программа полностью завершается до запуска следующей программы из множества.

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

Первым вошел — первым вышел (First-in-first-out, FIFO). Метод построения очереди, при котором следующим выбираемым элементом будет элемент, находившийся в очереди наибольшее время.

Переключение потоков (Thread switch). Операция переключения процессора с выполнения одного потока на выполнение другого потока в пределах одного процесса.

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

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

Перенос процесса (Process migration). Перемещение достаточного количества со­стояния процесса.

Планирование (Schedule). Выбор задания для выполнения. В некоторых опера­ционных системах планироваться могут и другие единицы, например опе­рации ввода-вывода.

Повторно используемый ресурс (Reusable resource). Ресурс, который может безопасно использоваться в определенный момент времени только одним процессом и не расходуется им. Процесс получает единицы повторно ис­пользуемого ресурса, которые позже освобождает для их повторного ис­пользования другими процессами. Примерами повторно используемых ре­сурсов могут служить процессоры, каналы ввода-вывода, основная и вто­ричная память, устройства и структуры данных, такие, как файлы, базы данных и семафоры.

Подкачка страниц (Paging). Перемещение страниц между основной и вторичной памятью.

Поле (Field). 1) Определяет логические данные, являющиеся частью записи. 2) Элементарная единица записи, которая может содержать элемент данных, совокупность данных, указатель и т.п.

Последним вошел — первым вышел (Last in first out, LIFO). Метод организации очереди, при котором следующим выбираемым элементом будет последний помещенный в нее элемент.

Последовательный доступ (Sequential access). Возможность запоминания данных в устройстве хранения в той последовательности, в которой эти данные пре­доставляются прикладной программой, а также получения данных в том порядке, в котором они были запомнены.

Последовательный файл (Sequential file). Файл, в котором записи расположены в соответствии с порядком их формирования и обрабатываются в той же по­следовательности от начала файла.

Посредник запросов к объектам (Object request broker). В объектно-ориентированной системе действует в качестве посредника для запросов, посылаемых клиентами серверу.

Поток (Thread), Независимо планируемый контекст выполнения, разделяющий единое адресное пространство с другими потоками.

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

Предварительная выборка (Prepaging). Выборка страниц до запроса в связи с прерыванием из-за обращения к странице. Тем самым снижается количест­во операций дискового ввода-вывода. Сравните с выборкой по требованию (demand paging).

Предотвращение взаимоблокировки (Deadlock prevention). Методика предотвра­щения возникновения состояния взаимоблокировки путем устранения одно­го из необходимых условий ее осуществления.

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

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

Привилегированное состояние (Privileged state). Контекст выполнения, разре­шающий выполнение любых аппаратных команд.

Привилегированные команды (Privileged Instruction). Команды, которые могут вы­полняться только в определенном режиме, обычно операционной системой.

Проверенная (сертифицированная) система (Trusted system). Компьютер и опе­рационная система, которые могут быть проверены на соответствие данной стратегии безопасности.

Процесс (Process). Выполняемая программа. Процесс управляется и планируется операционной системой. То же, что и задача (task).

Прямой доступ (Direct access). Возможность получения данных из устройства хранения или внесения их туда в последовательности, не зависящей от их относительного расположения, посредством использования адреса физиче­ского размещения данных.

Прямой доступ к памяти (Direct memory access, DMA). Способ ввода-вывода, при котором специальный контроллер DMA управляет обменом данных между устройством ввода-вывода и основной памятью. Процессор посылает кон­троллеру DMA запрос на пересылку блока данных; по завершении этой опе­рации процессор уведомляется об этом прерыванием.

Псевдоблокировка (Livelock). Ситуация, когда два или большее количество про­цессов изменяют свое состояние в ответ на изменение состояния другого процесса(процессов) без выполнения какой-либо полезной работы. Эта ситуация похожа на взаимоблокировку тем, что процессы, по сути, ничего не делают, но при этом ни один из них не заблокирован и не находится в со­стоянии ожидания.

Рабочее множество (Working set). Рабочее множество с параметром Д в вирту­альный момент времени t процесса (обозначается W (лД)), представляет со­бой множество страниц, к которым процесс обращался за последние Д еди­ниц времени. Сравните с резидентным множеством (resident set).

Разделение времени (Time sharing). Параллельное использование устройства не­сколькими пользователями.

Рандеву (Rendezvous). Ситуация в передаче сообщений, когда и отправитель, и получатель сообщения блокируются до окончания доставки сообщения.

Распределение памяти (Memory partitioning). Разделение памяти на независи­мые разделы.

Распределенная операционная система (Distributed operating system). Общая операционная система, совместно используемая сетью компьютеров. Рас­пределенная операционная система обеспечивает поддержку для межпро­цессного взаимодействия, перемещение процессов, взаимоисключения, а также предотвращение и обнаружение взаимоблокировок.

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

Реентерабельная процедура (Reentrant procedure). Подпрограмма, вход в кото­рую может быть выполнен до завершения ее предыдущего выполнения.

Резидентное множество (Resident set). Часть процесса, находящаяся в конкрет­ный момент времени в основной памяти. Сравните с рабочим множеством (working set).

Результативность поиска (Hit ratio). В двухуровневой памяти — доля обраще­ний к памяти, запрашиваемые данные которых находятся в быстрой памя­ти (кэше).

Свопинг (Swapping). Передача сегмента или страницы данных из вторичной па­мяти в основную или в обратном направлении,

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

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

Сегментация (Segmentation). Разделение программы или данных на сегменты как часть схемы виртуальной памяти.

Семафор (Semaphore). Целое значение, используемое в целях передачи сигналов между процессами. С семафором могут быть выполнены три атомарные операции: инициализация, увеличение и уменьшение. В зависимости от определения конкретного семафора операция уменьшения может приводить к блокированию процесса, а операция увеличения — к разблокированию.

Сервер (Server). 1) Процесс, отвечающий на запросы клиента посредством сооб­щений. 2) В сети — компьютер, предоставляющий определенные устройства или услуги другим компьютерам, например файл-сервер, сервер печати, почтовый сервер.

Сессия (Session). Набор из одного или нескольких процессов, представляющий еди­ное интерактивное пользовательское приложение или функцию операционной системы. Весь ввод информации, поступающий от клавиатуры и мыши, на­правляется к сессии переднего плана, и весь ее вывод направляется на экран,

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

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

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

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

Синхронная операция (Synchronous operation). Операция, выполняющаяся регу­лярно или предсказуемо в связи с определенным событием в другом процес­се, например вызов подпрограммы ввода-вывода в определенном, заранее известном месте программы.

Система реального времени (Real-time system). Операционная система, которая может планировать задачи реального времени и управлять ими.

Система управления файлами (File management system). Набор системных про­грамм, предоставляющих пользователям и приложениям возможности ра­боты с файлами, включая обращение к файлу, работу с каталогами и управление доступом.

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

Снижение пропускной способности (Thrashing). Явление в схемах виртуальной памяти, когда процессор тратит больше времени на перемещение данных, чем на выполнение команд.

Создание процесса (Process spawning). Создание (порождение) нового процесса другим процессом.

Сообщение (Message). Блок информации, которым в качестве средства взаимо­связи могут обмениваться процессы.

Состояние процесса (Process state). Вся информация, требующаяся операцион­ной системе для управления процессом, а процессору — для корректного выполнения данного процесса. Состояние процесса включает содержимое различных регистров процессора, таких, как счетчик команд и регистров данных, а также информацию, используемую операционной системой, та­кую, как приоритет процесса, и о том, находится ли процесс в ожидании завершения операции ввода-вывода. То же, что и контекст выполнения (execution context).

Спулинг (Spooling). Использование вторичной памяти в качестве буфера для снижения задержек при передаче данных между периферийным оборудова­нием и процессорами компьютера.

Стек (Stack). Список, созданный и поддерживаемый таким образом, чтобы оче­редным выбираемым из него элементом был элемент, внесенный в список последним («последним вошел — первым вышел»).

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

Таблица размещения файлов (File allocation table, FAT). Таблица, указывающая физическое расположение на устройстве вторичной памяти пространства, выделенного файлам.

Таблица распределения диска (Disk allocation table). Таблица, указывающая, какие блоки дисковой памяти свободны и доступны для размещения файлов.

Транслятор адреса (Address translator). Функциональный модуль, преобразую­щий виртуальные адреса в реальные.

Троянский конь (Trojan horse). Секретная недокументированная подпрограмма, вне­дренная в обычную программу, выполняющую полезные действия. Запуск та­кой программы приводит к выполнению этой секретной подпрограммы.

Удаленный вызов процедуры (Remote procedure call, RPC). Методика, в соответ­ствии с которой две программы на различных машинах взаимодействуют с использованием синтаксиса и семантики вызова процедуры и возврата из нее. Как вызываемая, так и вызывающая программы ведут себя так, как если бы обе программы выполнялись на одной и той же машине.

Уплотнение (Compaction). Методика, используемая при разделении памяти на части разных размеров. Время от времени операционная система перемеща­ет части так, чтобы они занимали непрерывную область, а свободная па­мять была размещена отдельным блоком.

Управляющий блок процесса (Process control block). Структура данных, содер­жащая информацию о характеристиках и состоянии процесса.

Уровень многозадачности (Multiprogramming level). Количество процессов, пол­ностью или частично резидентных в основной памяти.

Условие гонки (Race condition). Ситуация, в которой доступ к совместно исполь­зуемым данным и работа с ними со стороны нескольких процессов зависит от их синхронизации.

Устранение взаимоблокировки (Deadlock avoidance). Динамическая методика ис­следования каждого нового запроса ресурса с точки зрения возможности возникновения взаимоблокировки. Если удовлетворение запроса может привести к взаимоблокировке, запрос отклоняется.

Файл (File). Множество однотипных записей, рассматриваемых как единое целое.

Физический адрес (Physical address). Абсолютное положение адресуемой едини­цы данных в памяти (например, слова или байта в основной памяти, блока во вторичной памяти).

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

Хеш-файл (Hash file). Файл, обращение к записям которого выполняется по значениям ключевого поля. Для поиска положения записи используется хеширование — вычисление позиции в файле на основе значений ключей.

Червь (Worm). Программа, которая может перемещаться с компьютера на ком­пьютер по сетевым соединениям. Может содержать вирус.

Шифрование (Encryption). Преобразование обычного текста или данных в нераспо­знаваемый вид путем применения обратимых математических вычислений.

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

Язык управления заданиями (Job control language, JCL). Язык, разработанный для описания заданий и их требований к операционной системе.