Состояние процессора –значения регистров и значение счетчика команд.
Счетчик команд– адрес текущей выполняемой или прерванной команды процессора.
Таблица состояния устройств– таблица, хранимая и используемая операционной системой, в которой каждому устройству соответствует элемент, содержащий тип устройства, его адрес и состояние, а для занятого устройства – ссылку на очередь обрабатываемых запросов к нему.
Таймер –системный регистр, содержащий некоторое установленное специальной командой значение времени, которое уменьшается через каждый квант (такт) процессорного времени. Когда значение таймера становится равным нулю, происходит прерывание.
Флэш-память (флэшка)– модуль внешней памяти компактного размера (как правило, – 5 см), подключаемый через USB-порт и имеющий емкость до 128 ГБайт.
Цилиндр– часть жесткого диска, представляющая собой совокупность дорожекодного диаметра, находящихся на всех его параллельно расположенных магнитных дисках.
Race condition- несогласованный доступ из параллельных процессов к общим данным.
Атомарная (atomic) операция– операция, такая, что, если один из параллельных процессов начал ее выполнять, никакой другой процесс до ее завершения не может также начать выполнять эту же операцию над теми же данными.
Графическая оболочка– подсистема ОС, реализующая графический пользовательский интерфейс пользователей и системных администраторов с операционной системой.
Взаимное исключение (mutual exclusion)– режим выполнения критической секции, в котором в каждый момент времени ее может выполнять не более чем один из параллельных процессов.
Двоичный семафор (binary semaphore)– системная переменная, над которой определены операции открытия и закрытия, обеспечивающая в закрытом состоянии прерывание процесса, пытающегося ее закрыть, и добавление его к очереди к закрытому семафору; используется для синхронизации процессов по общим ресурсам.
Конвейер (pipe)– конструкция командных языков (shell) системы UNIX, позволяющая использовать стандартный вывод процесса – первого аргумента как стандартный ввод процесса – второго аргумента.
Критическая секция- код, который может выполняться несколькими процессами параллельно и осуществляет доступ к некоторому общему для всех процессов ресурсу – например, глобальной области памяти или общему файлу.
Монитор (как средство синхронизации)– многовходовый модуль в котором определены общие для параллельных процесов данные и набор операций (в виде процедур) над ними, таких, что в каждый момент времени не более чем один из параллельных процессов может выполнять какую-либо операцию монитора.
Облегченный процесс(lightweight process) – процесс, выполняемый в том же пространстве виртуальной памяти, что и процесс-родитель.
Cкрипт (script)– командный файл, содержащий часто используемые последовательности команд ОС.
Стек– системный резидентный массив в памяти, создаваемый операционной системой для поддержки выполнения процедур некоторого процесса и хранящий их локальные данные и связующую информацию между ними.
Тупик (взаимная блокировка, deadlock ) – ситуация, при которой образуется циклическая цепочка блокированных процессов, бесконечно ждущих друг друга.
Основная память – большой массив слов или байтов. Байты в слове могут нумероваться двумя способами, по которому различают big endian- и little endian – архитектуры.
Файл (набор данных) – логически взаимосвязанная совокупность информации во внешней памяти. Вторичная память (например, на диске) используется как расширение основной памяти.
Системный вызов – интерфейс программ с ОС в виде вызовов процедур, методов или макросов, являющихся частью ОС. Способы передачи параметров системному вызову: через регистр, через таблицу, адрес которой в регистре, или через стек. Системные вызовы выполняютуправление процессами, файлами, устройствами, выдают сопровождающую информацию, осуществляют коммуникации.
MS DOS – однозадачная операционная система. Одновременно система обрабатывает только одну задачу, размер памяти которой не может превышать 640 килобайт.
Системные программы – более удобный и чаще применяемый пользовательский интерфейс с ОС, чем системные вызовы.
Just-In-Time (JIT) – компилятор– компонента JVM,выполняющая при первом вызове каждого метода его компиляцию в объектный кодцелевой платформы ( native –код), что позволяет повысить суммарную производительность выполнения программ на Java.
OS/2– ОС, разработанная фирмой IBM для персональных компьютеров PS/2.
POSIX (Portable Operating Systems of unIX type) –стандарт для библиотек, системных вызовов и системных программ для операционных систем типа UNIX.
Win32- Библиотеки ( API ) ОС Windows для 32-разрядных процессоров.
Байт-код (bytecode) –команды виртуальной Java-машины, построенные на основе постфиксной записи операндов.
Верификатор классов(class verifier) – компонента JVM, выполняющая при загрузке класса проверку корректности его байт-кода, контроль типов и другие необходимые проверки.
Виртуальная машина– программный интерфейс, полностью аналогичный интерфейсу обычного компьютера без базового программного обеспечения.
Виртуальная машина Java (JVM) –виртуальная машина, исполняющая Java байт-код.
Загрузка (booting)– запуск компьютера посредством загрузки ядра ОС.
Загрузчик классов(class loader) – компонента JVM,выполняющая загрузку классов в виртуальную машину во время выполнения программы.
Инсталляция– установка ОС на конкретный компьютер.
Интерфейс прикладного программирования (application programming interface – API)- набор библиотечных функций, реализующий некоторую функциональность, используемую программой.
Механизм- метод реализации некоторой функциональности в ОС.
Микроядро (micro-kernel)– принцип разработки ОС, который заключается в переносе максимально возможного числа модулей из системного в пользовательское "пространство", т.е. ОС разрабатывается таким образом, что большинство ее модулей выполняются в пользовательском режиме, а размер ядра минимизируется.
Политика- набор требований, целей, условий для реализации некоторой функциональности в ОС.
Политика безопасностив ОС – совокупность правил, по которым программе или пользователю предоставляются некоторые полномочия для выполнения действий.
Программа раскрутки (bootstrap program)– код, запускаемый первым при включении компьютера, хранящийся в постоянной памяти (ROM) базовой системы ввода-вывода (BIOS) компьютера, который находит ядро ОС, загружает его в память и запускает.
Блок управления процессом (Process Control Block – PCB)– системная структура данных, используемая ОС для управления процессом.
Готовый к выполнению (ready) –Состояние процесса, при котором он ожидает получения ресурсов процессора для его исполнения.
Диспетчеризация– поочередное выделение процессам планировщиком операционной системы квантов процессорного времени.
Долговременный планировщик (планировщик заданий)- планировщик ОС, определяющий, какие процессы должны быть перемещены вочередь готовых процессов.
Допущен (admitted) -статус процесса, который он получает от ОС после его допуска в систему (включения в очередь всех процессов).
Завершен (terminated) –состояние процесса, при котором исполнение его программы завершено.
Запись активации ( другие названия: activation record, стековый фрейм - stack frame, область локальных данных - local data area) –область памяти в стеке, в которой хранятся локальные данные текущего поколения (запуска)процедуры.
Исполняемый (running) -Состояние процесса, при котором исполняются его команды на процессоре или процессорах компьютерной системы под управлением ОС.
Кратковременный планировщик (планировщик процессора)– планировщик ОС, определяющий, какие процессы должны быть выполнены следующими и каким процессам должен быть предоставлен процессор.
Новый (new) -Состояние процесса, при котором он создан операционной системой, но еще не начал выполняться.
Ожидающий (waiting) –состояние процесса, при котором он ожидает наступления некоторого события, например, завершения ввода-вывода. В состоянии ожидания процесс не занимает процессор.
Ориентированный на ввод-вывод (I/O-bound)– процесс, который тратит больше времени на ввод-вывод, чем на вычисления.
Ориентированный на использование процессора (CPU-bound)– процесс, который тратит основное время на вычисления.
Очереди процессов, ожидающих ввода-вывода (device queues)– множества процессов, ожидающих результата работы устройств ввода-вывода (для каждого устройства организуется своя очередь).
Очередь готовых процессов (ready queue)– очередь, содержащая множество всех процессов, находящихся в основной памяти и готовых к выполнению.
Очередь заданий (job queue)– очередь, содержащая множество всех процессов в системе.
Переключение контекста (context switch) –действия ОС при переключении с одного процесса на другой по сохранению состояния старого процесса и загрузки сохраненного состояния для нового процесса.
Планировщик (scheduler)- компонента ОС, планирующая и осуществляющая перевод процессов из состояния готовности в состояние выполнения.
Планировщик откачки и подкачки процессов– планировщик ОС, определяющий, какие пользовательские процессы должны быть подкачаны в память или откачаны на диск.
Поток управления (control flow) –последовательность выполняемых процессом команд.
Процесс-демон- процесс, постоянно находящийся в системе до ее перезапуска.
Секция данных( data section ) – статическая (постоянно выделенная, неизменного размера) область основной памяти, выделяемая операционной системой процессу, в которой хранятся его глобальные переменные, массивы, структуры, объекты.
Стек (stack)– резидентная область основной памяти, выделяемая операционной системой при создании процесса, в которой хранятся локальные данные процедур процесса, их параметры (аргументы) и связующая информация между ними, необходимая для организации вычислений.
Степень (коэффициент) мультипрограммирования– число процессов, которое обслуживает система в единицу времени.
Счетчик команд (program counter - PC)– адрес текущей выполняемой команды процесса; обычно хранится в специальном системном регистре аппаратуры.
Send– операция отправки сообщения другому процессу.
Receive– операция получения сообщения от другого процесса.
Взаимодействующий (совместный) процесс– процесс, который может влиять на исполнение других процессов или испытывать их влияние.
Выстраивание (marshaling) –механизм преобразования параметров удаленной процедуры (метода) для их передачи по сети в виде последовательного потока.
Косвенная коммуникация (indirect communication) –способ взаимодействия процессов с помощью сообщений, при котором сообщения направляются и получаются через почтовые ящики, или порты.
Независимый процесс– процесс, никак не связанный с другими процессами, который не может влиять на исполнение других процессов или испытывать их влияние.
Непосредственная коммуникация (direct communication)– способ взаимодействия процессов с помощью сообщений, при котором они именуют друг друга явно – по именам или по адресам (указателям), которые указываются в вызовах коммуникационных примитивов.
Очередь сообщений (message queue) –системная структура (буфер) для хранения сообщений между процессами.
Переполнение буфера (buffer overrun)– ошибочное или преднамеренное превышения размера буфера, которое может привести к обращению в чужую область памяти и используется для внешних атак.
Подчиненный процесс– процесс, зависящий от процесса-родителя; уничтожается при уничтожении родительского процесса; процесс-родитель перед своим завершением должен ожидать завершения всех своих подчиненных процессов.
Почтовый ящик (порт) –системная структура, предназначенные для приема, хранения и передачи сообщений.
Рандеву (rendezvous)– механизм коммуникации процессов, при котором оба процесса приостанавливаются до момента окончания передачи сообщения.
Сокет (socket) –метод клиент-серверного сетевого взаимодействия процессов, при котором информация передается через последовательныйпоток через порт с определенным номером.
Сопроцесс (coprocess, coroutine)– процесс, равноправно взаимодействующий с другими такими же процессами по управлению с помощью операций типа resume (Q),возобновляющих приостановленный процесс. Переходит в завершенное состояние операцией detach.
Удаленный вызов метода (Remote Method Invocation – RMI) –разработанный фирмой Sun объектно-ориентированный механизм Java-технологии для вызова метода Java на другом компьютере сети, аналогичный удаленному вызову процедуры.
Удаленный вызов процедуры (Remote Procedure Call – RPC) –разработанный фирмой Sun механизм вызова процедуры на другом компьютере локальной сети с использованием процедур- заглушекна клиенте и на сервере, передающих информацию и выстраивающихпараметры и результат удаленной процедуры.
Mac C-threads – пользовательские потоки в системе MacOS.
POSIX Pthreads – потоки, специфицированные стандартом POSIX и используемые в POSIX-приложениях.
Solaris threads – пользовательские потоки в ОС Solaris.
Thread – класс, представляющий поток, в языке Java.
Атрибуты потока – совокупность атрибутов POSIX-потока, описываемая типом pthread_attr_t.
Группа потоков (thread group) – совокупность потоков, имеющей свое собственное имя, над потоками которой определены групповыеоперации.
Дескриптор потока– ссылка на POSIX-поток, описываемая типом pthread_t.
Задача (task)– название потока в Linux.
Исключение (exception) –высокоуровневый механизм обработки ошибочных ситуаций в объектно-ориентированных языках и операционных системах.
Локальные данные потока (thread-local storage - TLS)– данные, принадлежащие только определенному потоку и используемые только этим потоком.
Модель многопоточности– способ отображения пользовательских потоков в потоки ядра.
Модель много / много- модель многопоточности,при которой различные пользовательские потокимогут быть отображены в различные потоки ядра.
Модель много / один- модель многопоточности, при которой несколько пользовательских потоковмогут быть отображены в одинпоток ядра.
Модель один / один– модель многопоточности, при которой каждый пользовательский потокотображается в один определенныйпоток ядра.
Мьютекс (mutex)– аналог семафоров, обеспечивающий взаимное исключение, используемый в операционных системах.
Облегченный процесс (lightweight process)– процесс, работающий в общем пространстве виртуальной памяти с процессом-родителем.
Поток (thread)– запускаемый из какого-либо процесса более эффективный вариант параллельного процесса, выполняемый в том же адресном пространстве, что и процесс-родитель.
Поток пользовательского уровня (user thread)- высокоуровневый поток, операции над которым включены в интерфейс пользователя ОС.
Поток ядра (kernel thread)- низкоуровневый системный поток, поддержанный и использующийся на уровне ядра операционной системы; используется для реализации потоков пользовательского уровня.
Пул потоков (ThreadPool)– эффективный механизм структурирования потоков в группы в .NET.
Сигналы(в UNIX) – низкоуровневый механизм обработки ошибочных ситуаций.
"Тяжеловесный" (heavyweight) процесс –название классического процесса, работающего в собственном адресном пространстве, в противоположность облегченному процессу.
Условная переменная (conditional variable)- синхронизирующий объект, используемый в операционных системах, с операциями wait иsignal.
Возраст( aging ) процесса– повышение операционной системой приоритета длительное время находящегося в системе процесса.
Время обработки процесса (turnaround time)– время, необходимое для исполнения какого-либо процесса.
Время ожидания (waiting time) –время, которое процесс ждет в очереди процессов, готовых к выполнению.
Время ответа (response time)– время, требуемое от момента запроса (команды) пользователя до первого ответа системы.
Голодание (starvation)- ситуация в системе, когда процессы с низким приоритетом длительное время ждут и не получают квантов времени процессора.
Диаграмма Ганта (Gantt chart)– схема в виде "временной линейки", изображающая имена процессов и временные диапазоны их выполнения, выраженные в некоторых единицах времени.
Диспетчеризация (процессора) –распределение времени процессора между процессами в системе путем поочередного выделенияпланировщикомоперационной системы процессам квантов процессорного времени.
Диспетчеризация без прерывания процессов (non-preemptive) –стратегии диспетчеризации, не использующие прерывания работы процессов при поступлении в систему более коротких или более приоритетных.
Диспетчеризация с прерыванием процессов (preemptive) –стратегии диспетчеризации, использующие прерывания работы процессов при поступлении в систему более коротких или более приоритетных.
Использование процессора (CPU utilization)– поддержание его в режиме занятости максимально возможный период времени.
Многоуровневая очередь– совокупность системных очередей, содержащих в отдельных очередях процессы различных классов и приоритетов (например, пакетные и интерактивные).
Планировщик (scheduler) –компонента ОС, которая выбирает один из нескольких процессов, загруженных в память и готовых к выполнению, и выделяет процессор для одного из них.
Пропускная способность системы (throughput)– (среднее) число процессов, завершающих свое выполнение за единицу времени.
Скрытая активность (латентность) диспетчера (dispatch latency)– время, требуемое для диспетчера, чтобы остановить один процесс и стартовать другой.
Стратегия First-Come-First-Served (обслуживание в порядке поступления)– стратегия диспетчеризации, при которой ресурсы процессора предоставляются процессам в порядке их поступления в систему, независимо от потребляемых ими ресурсов.
Стратегия Round Robin (RR, круговая система)– стратегия диспетчеризации, при которой всем процессам по очереди предоставляются одинаковые кванты времени.
Стратегия Shortest Job First (SJF, обслуживание самого короткого задания первым)– стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь наиболее короткому процессу из имеющихся в системе.
Стратегия Shortest-Remaining-Time-First (SRTF, обслуживание процесса с минимальным оставшимся временем выполнения) -стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь процессу с минимальным оставшимся временем выполнения.
Цикл CPU / I-O– чередование периодов использования процессора и ожидания ввода-вывода.
Interleaving –одновременное выполнение нескольких машинных команд, работающих с общими данными.
Абстрактный тип данных (АТД) –определение типа данных как совокупности описания его конкретного представления и абстрактных операций над ним.
Адаптивный мюьтекс (adaptive mutex) –эффективное средство синхронизации доступа к данным при их обработке короткими сегментами кода в операционной системе Solaris.
Алгоритм булочной (bakery algorithm) –алгоритм синхронизации процессов (Л. Лампорт), основанный на присвоении каждому процессу уникального номера в очереди (приоритета).
Блокировщик читателей-писателей (reader-writer lock; rwlock)– средство синхронизации в ОС Solaris для поддержки схем синхронизации типа " читатели-писатели ".
"Вертушка" (turnstile)– синхронизирующий примитив в ОС Solaris, который позволяет использовать для синхронизации, при необходимости, либо адаптивный мьютекс, либо блокировщик читателей-писателей.
"Вертящийся замок" (spinlock)- средство синхронизации в ОС Windows 2000, используемое в многопроцессорных системах.
Взаимное исключение– режим совместного выполнения процессов, при котором, если некоторый процесс исполняет свою критическую секцию, то никакой другой процесс не должен в этот момент исполнять свою.
жуж -В системе "Эльбрус": "жужжать" на процессоре; Специализированная операция (для системных процессов) ожидания на закрытом семафоре без прерываний; занятие процессора, пока семафор не будет открыт операцией открыть(S).
Конкуренция за общие данные (race condition)- ситуация, при которой взаимодействующие процессы могут параллельно (одновременно) обращаться к общим данным без какой-либо синхронизации.
Критическая область (critical region) –высокоуровневая конструкция для синхронизации, основанная на описаниях разделяемых (shared) ресурсов и конструкции region, обеспечивающей взаимное исключение при работе с общим ресурсом.
Монитор– высокоуровневый механизм синхронизации: многовходовый модуль, который содержит описания общих данных и операций над этими данными в виде процедур; пользователи монитора – параллельные процессы – имеют доступ к общим данным только через егооперации; в каждый момент не более чем один процесс может выполнять операцию монитора; остальные желающие процессы должны ждать, пока первый процесс закончит выполнять мониторную операцию.
Обедающие философы (dining philosophers)– классическая задача синхронизации следующего содержания: имеется круглый стол, за которым пять философов. Перед каждым из них тарелка с едой, слева и справа – две китайские палочки. Философ может находиться в трех состояниях: проголодаться, думатьи обедать. На голодный желудок философ думать не может. Начать обедать философ может, только если обе палочки слева и справа от него свободны.
Общий семафор (counting semaphore) -целая переменная S, над которой определены две атомарных семафорных операции wait (S)иsignal (S).
Объект-диспетчер (dispatcher object) –средство синхронизации в ОС Windows 2000, которое может функционировать как мьютекс и как семафор; генерирует события, семантика которых аналогична семантике условной переменной.
Ограниченный буфер (bounded buffer):схема взаимодействия процессов, при которой имеются процесс-производитель и процесс-потребитель, взаимодействующие с помощью циклического буфера ограниченной длины; производитель генерирует элементы информации и записывает в буфер; потребитель использует информационные элементы из буфера и удаляет их.
Семафорный бит– В вычислительных комплексах Burroughs 5000 и "Эльбрус": особый бит слова, над которым выполняется командасемафорного считывания; по определенному значению бита (например, 1) происходит прерывание.
Синхронизация процессов по критическим секциям- обеспечение режима параллельного выполнения процессов, при котором, если один процесс вошел в свою критическую секцию, то до ее завершения никакой другой процесс не сможет одновременно войти в свою критическую секцию.
Условная переменная (condition variable) –часть конструкции монитор:Переменная с описанием вида condition x, доступ к которой возможен только операциями waitи signal ; операция x.wait()задерживает выполнивший ее процесс до момента, пока другой процесс не выполнит операцию x.signal().
Читатели-писатели: схема взаимодействия процессов, при которой имеется общий ресурс и две группы процессов: читатели(которые могут только читать ресурс, но не изменяют его) и писатели(которые изменяют ресурс). В каждый момент работать с ресурсом может сразу несколько читателей (когда ресурс не изменяется писателями), но не более одного писателя.
Reserved graph –ориентированный граф, содержащий, кроме обычных вершин, также супервершины ; дуга в таком графе может вести из обычной вершины в супервершинуили из подвершины супервершины в обычную вершину.
Вершина-процесс– вершина в графе распределения ресурсов, изображающая процесс.
Вершина-ресурс– супервершинав графе распределения ресурсов, изображающая каждую единицу ресурса какого-либо типа.
Взаимное исключение– одно из необходимых условий тупика: только один процесс в каждый момент времени может получить доступ к ресурсу.
Граф распределения ресурсов– граф, описывающий состояние распределения ресурсов в системе, состоящий из множества вершин (типавершина-процесси вершина-ресурс)и множества дуг ( дуги типа запроси дуги типа присваивание ).
Дуга типа "запрос" (request edge)– направленная дуга из вершины-процесса в вершину-ресурс.
Дуга типа "присваивание" (assignment edge)– направленная дуга из подвершины, изобращающей конкретную единицу ресурса, в вершину-процесс.
Запрос (request)- действие процесса по запросу к ОС о необходимости выделения ему ресурса какого-либо вида.
Использование (use) –владение и потребление процессом полученной от ОС единицей некоторого вида ресурса.
Освобождение (release) –возврат процессом операционной системе единицы использованного и более не требующегося процессу ресурса.
Отсутствие прерываний– одно из необходимых условий тупика :процесс может освободить ресурс только добровольно, когда завершит свою работу.
Паспорт задачи –в ранних ОС: список максимальных потребностей процесса в ресурсах каждого типа – оперативной и внешней памяти, времени выполнения, листах печати и др.
Супервершина(в составе reserved graph ) – структурированная вершина, содержащая одну или несколько подвершин, из которых могут вести дуги.
Тупик (deadlock) –циклическая последовательность заблокированных процессов, каждый из которых владеет некоторым ресурсом и ожидает ресурса, которым владеет какой-либо другой процесс из этого множества.
Удержание и ожидание– одно из необходимых условий тупика: процесс, удерживающий один ресурс, ожидает приобретения других ресурсов, которыми обладают другие процессы.
Циклическое ожидание– одно из необходимых условий тупика: существует множество {P0, P1, … P0},такое, что P0ожидает ресурса, которым обладает P1; P1ожидает ресурса, которым обладает P2 … Pnожидает ресурса, которым обладает P0.
Алгоритм банкира (banker’s algorithm)- алгоритм Э. Дейкстры для избежания тупиков при распределении ресурсов операционной системой.
Безопасная последовательность процессов –такая последовательность процессов <P1, … Pn>, что для каждого процесса Pi ресурсы, которые он может запросить, могут быть выделены из текущих доступных ресурсов и ресурсов, удерживаемых процессами Pj, где j < i.
Безопасное состояние– состояние, перевод системы в которое не приведет к появлению тупиков.
Граф wait-for- ориентированный граф, вершины в которой соответствуют процессам, а дуга проводится из вершины Pi в вершину Pj, если процесс Pi ожидает процесса Pj .
Дуга потребности (claim edge)– дуга в графе распределения ресурсов, которая ведет из вершины-процесса в вершину-ресурс, обозначается пунктирной линией и означает, что данный процесс может потребоватьданный ресурс.
Бинарный образ программы в памяти– файл, содержащий образ программы для ее считывания в память и запуска, формируемыйзагрузчиком.
Время (фаза) загрузки, или линковка (linking)- фаза вызова редактора связейи загрузчикадля получения бинарного образа программы в памяти.
Время (фаза) компиляции– этап обработки программы, на котором исходный кодпрограммы компилируется в объектный модуль.
Входная очередь– совокупность процессов на диске, ожидающих размещения в памяти для выполнения своих программ.
Динамическая загрузка- загрузка подпрограммы в память при первом обращении к ней из пользовательской программы.
Динамическая линковка - линковкаво время исполнения программы.
Динамически линкуемые библиотеки (dymanically linked libraries)– библиотеки подпрограмм, загружаемые в память во время исполнения, при первом обращении к ним из пользовательской программы.
Драйвер оверлея (overlay driver)– системная программа, выполняющая поочередную загрузку в одну и ту же область памяти то одной,то другой группы модулей из пользовательской программы.
Заглушка для исполнения (execution stub) –фрагмент кода в бинарном коде программы, выполняющий системный вызов модуля ОС, размещающего в памяти код динамически линкуемой библиотечной подпрограммы.
Загрузчик (loader)– системная программа, которая получает на вход загрузочный модуль и файлы с бинарными кодами системных библиотек, используемых программой и, объединяя код программы с кодами системных библиотек, создает бинарный образ программы в памяти.
Исходный код (source code)– код программы (в виде текстового файла) на языке высокого уровня или на языке ассемблера.
Линковка( linking ) – то же, что и редактирование связейи загрузка.
Логический адрес -адрес, генерируемый процессором при выполнении машинной команды.
Объектный модуль– файл бинарного кода программы, генерируемый компилятором, содержащий выполняемые машинные команды итаблицу символов.
Оверлейная структура (overlay ) – организация программы при недостаточном объеме основной памяти, при которой система выполняет поочередную загрузку в одну и ту же область памяти то одной, то другой исполняемой группы модулей программы.
Перемещаемый код (relocatable code)– код, в котором адресация происходит относительно значения регистра перемещения,и адрес в памяти равен сумме значения регистра перемещения и адреса, вычисляемого в команде.
Регистр перемещения (relocation register)– регистр, содержащий начальный адрес области памяти, отведенной операционной системой для загруженной в память программы.
Редактирование связей (linking)– этап обработки программы, на котором редактор связейформирует из объектных модулей загрузочный модуль,разрешая все межмодульные ссылки.
Редактор связей (linkage editor)– систeмная программа, формирующая из объектных модулей загрузочный модуль,разрешая все межмодульные ссылки.
Редактор связей и загрузчик (linker and loader)- системная программа, в которой объединены функции редактора связейизагрузчика.
Связывание адресов во время загрузки (load-time)– схема адресации, при которой генерируемый код адресует данные и программу относительно регистра перемещения, значение которого определяется при загрузке программы.
Связывание адресов во время исполнения (runtime),или динамическое (позднее) связывание –гибкая схема адресации, при которой абсолютный адрес программы или данных определяется только во время выполнения программы; для реализации используется аппаратная поддержка отображения адресов – например, регистры базы и границы.
Связывание адресов во время компиляции (compile-time)- если адреса программы и данных в памяти априорно известны, генерация компилятором кода с абсолютными адресами.
Cтатически линкуемая библиотека– библиотека подпрограмм, код которой объединяется с кодом использующих ее объектных модулейв загрузочный модульна этапе редактирования связейи загрузки.
Таблица символов– таблица в объектном модулеили загрузочном модуле, содержащая символы (переменных, процедур и др.), определенные или используемые в данном модуле кода.
Устройство управления памятью (Memory Management Unit – MMU)– модуль аппаратуры, выполняющий адресацию памяти и связанный с процессором и другими устройствами системной шиной; преобразует логические адресав физические адреса.
Физический адрес –реальный адрес в памяти, который "видит" и "понимает" устройство управления памятью.
Roll out / roll in- откачка и подкачка на базе приоритетов; более приоритетные процессы исполняются, менее приоритетные – откачиваются на диск.
Ассоциативная память (кэш) страниц, буфер трансляции адресов (translation lookaside buffer – TLB)– сверхбыстродействующаяассоциативная память, содержащая номера наиболее часто используемых страниц и их адреса в основной памяти.
Бит valid-invalid– бит в элементе таблицы страниц, указывающий, принадлежит ли страница логической памяти процесса.
Внешняя фрагментация– ситуация, когда в системе имеется достаточно большая область свободной памяти, но она не является непрерывной.
Внутренняя фрагментация –ситуация в системе, при которой неэффективно расходуется свободная память, вследствие применения стратегии выделения памяти с точностью до страницы.
Иерархическая таблица страниц –организация таблиц страниц в виде иерархии (как правило, двухуровневой), результатом доступа к которой является адрес фактической страницы физической памяти.
Инвертированная таблица страниц –таблица страниц, при обращении к которой выполняется поиск требуемой физической страницы пономеру процесса и логическому номеру страницы.
Компактировка (compaction) –сдвиг или перемешивание памяти с целью объединения всех не смежных свободных областей в один непрерывный блок.
Метод наиболее подходящего –метод решения общей задачи распределения памяти,при котором выбирается по списку свободный участок минимального размера, не меньшего, чем n.
Метод наименее подходящего –метод решения общей задачи распределения памяти,при котором выбирается по списку свободный участок максимального размера, не меньшего, чем n.
Метод первого подходящего –метод решения общей задачи распределения памяти,при котором выбирается первый по списку свободный участок подходящего размера (не меньшего, чем n ).
Общая задача распределения памяти- Имеется список свободных областей памяти и список занятых областей разного размера; реализовать оптимальный алгоритм выделения свободного смежного участка памяти длины n.
Откачка (swap out)- запись образа неактивного процесса на диск.
Откачка и подкачка (swapping) –действия операционной системы по откачке(записи) образа неактивного процесса на диск илиподкачке(считыванию) активного процесса в основную память.
Подкачка (swap in)- считывание активного процесса с диска в основную память.
Разделяемые страницы– страницы, совместно используемые несколькими процессами и имеющие в их таблицах страниц одинаковые логические номера.
Регистр таблицы страниц (page table base register – PTBR) –регистр, указывающий на таблицу страниц и хранящий ее длину.
Регистр таблицы страниц пользователя (РТСП) –в системе " Эльбрус ": регистр, содержащий дескриптор таблицы страниц.
Cмежное распределение памяти– распределение памяти для пользовательских процессов в одной смежной области основной памяти.
Среднее время доступа (Effective Access Time - EAT)– оценка математического ожидания числа обращений к памяти при страничной организации.
Страничная организация (paging) –стратегия управления памятью, при которой логическая и физическая память делится на страницы одинаковой длины, и в основной памяти образы логических страниц могут размещаться произвольным образом.
Страницы– смежные области логической и физической памяти одинаковой длины, обычно – степень 2, используемые при страничной организации.
Таблица страниц( page table)– системная структура, выделяемой процессу операционной системой для трансляции его логических адресовв физические.
Файл откачки (backing store) -область дисковой памяти, используемая операционной системой для хранения образов откачанных процессов.
Фрагментация– дробление памяти на мелкие несмежные свободные области маленького размера как результат выполнения системой большого числа запросов на память, таких, что размеры подходящих свободных участков памяти оказываются немного больше, чем требуемые.
Фрейм –образ страницыв основной памяти.
Хешированная таблица страниц– таблица страниц, при обращении к которой выполняется поиск, основанный на хешировании номера логической страницы.
Базовый регистр таблицы сегментов - segment-table base register (STBR)– регистр, содержащий адрес таблицы сегментов в памяти.
Логический адрес при сегментной организациипамяти - пара:
<segment-number, offset>,где segment-number – номер сегмента, offset – смещение в сегменте.
Признаки защиты –информация для защиты сегмента в элементе таблицы сегментов: validation-бит(признак корректности номера сегмента для процесса), биты защиты от записи, от чтенияи от исполнения.
Разделяемые (общие) сегменты– сегменты, общие для нескольких процессов и имеющие одинаковые логические номера в их таблицах сегментов.
Регистр длины таблицы сегментов - segment-table length register (STLR) –регистр, содержащий число сегментов, используемое программой.
Сегмент– логическая единица распределения памяти, предназначенная для размещения в памяти одного модуля программного кода или данных.
Сегментная организация памяти (segmentation) -схема распределения памяти в виде сегментов переменной длины, соответствующая пользовательской трактовке распределения памяти, т.е. логической структуре программ и данных.
Сегментно-страничная организация памяти– модификация сегментной организации памяти для борьбы с фрагментацией, основанная настраничной организации каждого сегмента.
Таблица сегментов– системная таблица для отображения логических адресов в физические при сегментной организации памяти. Каждый ее элемент содержит начальный адрес сегмента в физической памяти, длину сегмента и признаки защиты.
mmap (memory map) –команда и системный вызов в ОС Solaris для организации файла, отображаемого в память.
Thrashing –ситуация критической нехватки основной памяти в системе, при которой процессор занят в основном откачкой и подкачкой страниц.
Алгоритм FIFO (First-In-First-Out) замещения страниц -наиболее простой алгоритм замещения страниц, при котором в качестве жертвы всегда выбирается фрейм, первым из имеющихся считанный в основную память.
Алгоритм Least Frequently Used (LFU) замещения страниц –алгоритм, при котором замещается страница с минимальным значением счетчика обращений (к которой было меньше всего обращений).
Алгоритм Least Recently Used (LRU) замещения страниц –алгоритм, при котором замещается та страница, которая раньше всего использовалась.
Алгоритм Most Frequently Used (MFU) замещения страниц– алгоритм, при котором замещается страница с максимальным значением счетчика обращений (к которой было больше всего обращений).
Алгоритм второго шанса (second chance) при замещении страниц –алгоритм, в котором замещается не та страница, к которой дольше всего не было обращения, а следующая за ней по списку страниц, упорядоченному в порядке возрастания времен обращений.
Аномалия Belady– рост числа отказов страниц в алгоритме FIFOпри четырех свободных фреймах у процесса, по сравнению с числом отказов страниц при трех свободных фреймах.
Бит модификации- бит элемента таблицы страниц, указывающий на модификацию страницы, с целью откачки на диск только модифицированных страниц.
Бит ссылки (reference bit)– бит элемента таблицы страниц, равный 0, если к странице не было обращения, и 1, если обращение к странице было.
Бит "valid/invalid" –бит элемента таблицы страниц, указывающий на присутствие или отсутствие страницы в основной памяти.
Виртуальная память– метод управления памятью, основанный на принципах отделения логической памяти пользователя от физической памяти и расширения логической памяти путем хранения ее образа на диске.
Выделение фреймов по приоритетам– выделение процессам фреймов страниц в основной памяти, в соответствии с приоритетами процессов: при замещении страниц замещается страница процесса с более низким приоритетом.
Глобальное выделение фреймов– выделение процессам фреймов страниц в основной памяти, при котором набор свободных фреймов – общий для всех процессов, так что один процесс может взять фрейм у другого.
Замещение страницы (page replacement)– подкачка операционной системой страницы, к которой произошло обращение, вместо другой страницы, с откачкой последней, если она требуется.
Копирование при записи (Copy-on-Write)– стратегия создания процесса, при которой новый процесс разделяет адресное пространство с процессом-родителем до первой записи в адресное пространство, после чего для дочернего процесса создается новое адресное пространство – копия родительского.
Коэффициент отказов страниц (Page Fault Rate)– число от 0 до 1, характеризующее вероятность отказа страницы.
Локальное выделение фреймов– выделение процессам фреймов страниц в основной памяти, при котором наборы свободных фреймов выделяются для каждого процесса отдельно.
Оптимальный алгоритм замещения страниц -алгоритм замещения страниц, при котором замещается та страница, которая не использовалась в течение наибольшего периода времени.
Отказ страницы( page fault) –прерывание по отсутствию страницы в основной памяти.
Пропорциональное выделение фреймов– выделение процессам фреймов страниц в основной памяти, пропорционально размерам процессов в памяти.
Рабочее множество– набор страниц, используемых процессом.
Сегментная организация по требованию (segmentation on demand)– метод организации виртуальной памяти, основанный на сегментной организации, при котором каждый сегмент загружается в память, только если он реально требуется при выполнении программы – содержит код или данные, к которым произошло обращение.
Страничная организация по требованию (paging on demand) –метод организации виртуальной памяти, основанный на страничной организации, при котором каждая страница загружается в память, только если она реально требуется при выполнении программы – содержит код или данные, к которым произошло обращение.
Файл, отображаемый в память (Memory-Mapped File)– файл, блоки которого отображены в основную память через таблицу страниц.
Фиксированное выделение фреймов –выделение фреймов страниц в основной памяти процессам либо равномерно, либо пропорционально размерам процессов в памяти.
Эффективное время доступа (Effective Access Time - EAT)– математическое ожидание времени доступа к странице.
Network File System (NFS)– широко распространенная система общего доступак файлам через локальную сеть.
Абсолютный путь- полный путь доступа к файлу, начиная от логического имени раздела, либо от корневой системной директории.
Атрибуты файла– общие свойства, описывающие содержимое файла.
Блок– логическая единица информации (часть) файла, как правило, объединяющая несколько записей, с целью оптимизации операций ввода-вывода.
Блок управления файлом (File control block - FCB)– структура в памяти, содержащая информацию о файле и используемая операционной системой.
Директория (справочник, папка)- directory, folder– структура во внешней памяти, содержащая символьные имена файлов и других директорий и ссылки на них.
Дополнение к файлу объектного кода (ДФОК):в системе "Эльбрус" - файл, содержащий в унифицированном виде таблицы именованных сущностей, определенных в программе и ее процедурах (метаданные).
Заголовок файла –головная записьфайла, в которой содержатся его атрибуты.
Запись (record) –элементарная единица, часть файла, в терминах которых выполняются операции обмена с файлом.
Защита (Protection)– управляющая информация, задающая полномочия чтения, изменения и исполнения файла.
Контейнер(в системе "Эльбрус") – хранилище файлов на одном или нескольких дисках.
Монтирование– подсоединение отдельного поддерева еще не смонтированной файловой системы к какой-либо вершине (точке монтирования)общего дерева доступных файловых систем.
Набор данных (data set)- термин фирмы IBM для обозначения файла.
Общий доступ (sharing)– возможность доступа к файлам и директориям различным пользователям, в том числе – по локальной сети.
Относительный путь- путь доступа к файлу относительно некоторой текущей директории.
Память файла -его записи, содержащие собственно хранимую в нем информацию.
Путь (path)– многослоговое имя файла или директории, состоящее из имени корневой директории (или логического диска) и последовательности имен директорий последующих уровней.
Раздел (partition) –смежная область дисковой памяти, имеющая свое логическое имя (обычно одна из первых букв латинского алфавита).
Резервное копирование (back-up)– копирование файлов и директорий на внешние носители – ленту (стример), flash-память, внешний переносной жесткий диск, компакт-диск (CD, DVD), с целью их сохранности.
Символическая ссылка– ссылка из элемента одной директории на другую директорию или файл, уже имеющий другой путь доступа.
Cправочник внешних ссылок (СВС)– в системе "Эльбрус": справочник, имеющийся у каждого файла и используемый для хранения его внешних ссылок на другие файлы; элементы СВС адресуются по номерам, а не по именам.
Точка монтирования (mount point)– узел в дереве файловых систем, к которому подсоединяется новая файловая система примонтировании.
Файл (file) –смежная область логического адресного пространства, как правило, хранящаяся во внешней памяти.
Файл объектного кода (ФОК)– в системе "Эльбрус": файл, в котором хранится двоичный код исполняемой программы.
Файловая система– поддерево директорий на некоторой машине, расположенных в одном разделе.
File-allocation table (FAT)– файловая система со ссылочным размещением файлов, используемая в MS DOS и в Windows.
NFS (Network File System) -распространенная сетевая файловая система, используемая в системе Solaris.
Veritas File System (Vx-FS)– основная файловая система в ОС HP-UX (Hewlett-Packard).
Виртуальная файловая система (VFS)– файловая система, обеспечивающая объектно-ориентированный способ реализации файловых систем, единый интерфейс системных вызовов для различных типов файловых систем, включая сетевые файловые системы.
Виртуальный диск –диск для временного хранения файлов, организованный в основной памяти, с целью улучшения производительности персонального компьютера.
Индексируемое размещение файлов- метод размещения, при котором все указатели на блоки файла собраны вместе в индексный блок; используется индексная таблица, ссылающаяся на блоки данных файла.
Индексный блок (i-node, superblock)– специальный блок при индексируемом размещении файлов, в котором хранятся указатели на блоки данных файла.
Кэширование диска– использование специальной области основной памяти для копирования часто используемых блоков диска.
Опережающее считывание (read-ahead) -метод оптимизации последовательного доступа к диску, при котором вместе с очередным блоком файла считываются в основную память и несколько следующих блоков.
Освобождение прочитанного (free-behind)- метод оптимизации последовательного доступа к диску, при котором основная память, где хранились копии прочитанных блоков, автоматически освобождается при считывании следующих блоков.
Расширение (extent) -смежный блок на диске для хранения части файла; файл состоит из одного или нескольких расширений.
Cмежное размещение файлов –метод размещения, при котором каждый файл занимает набор смежных блоков на диске.
Ссылочное размещение файлов –метод размещения, при котором каждый файл представляется в виде связанного списка дисковых блоков.
Унифицированная буферная кэш-память -кэш-память, использующая один и тот же кэш страниц для кэширования и файлов, отображаемых в память, и обычных операций ввода-вывода через файловую систему.
Файловая система с журналом транзакций (log structured filesystem)- файловая система, фиксирующая любое изменение как транзакцию; все транзакции записываются в журнал.
PCI (Peripheral Computer Interface)– системная шина, используемая в персональных компьютерах, к которой подключены процессор,память и внешние устройства.
SCSI ID– номер SCSI-устройства в цепочке SCSI-устройств(от 0 до 9), устанавливаемый непосредственно на корпусе устройства специальным переключателем.
Буферизация– запись данных в память в процессе передачи между устройствами.
Буферизация вывода (spooling)– задержка вывода на устройство, с целью поддержания целостности информации, выводимой одним и тем же процессом.
Ввод-вывод с прямым доступом к памяти (Direct Memory Access – DMA)- эффективная схема организации ввода-вывода, основанная на использовании фрагмента основной памяти в качестве буфера устройства для выполнения ввода-вывода.
Вектор прерываний– резидентный массив, содержащий адреса обработчиков прерыванийв операционной системе.
Виртуальный порт– реально в физическом воплощении не существующий порт, организуемый и инсталлируемый операционной системой для унификации обработки внешних устройств; как правило – коммуникационный порт с большим номером (COM10, COM15), используемый для обмена с устройствами беспроводной связи – например, мобильными телефонами и органайзерами.
Контроллер (host adapter)– специализированный микропроцессор для управления внешним устройством и портом.
Маскируемый (maskable) сигнал о прерывании– сигнал о прерывании, заблокированный с целью игнорирования или задержки прерывания.
Обработчик прерывания– модуль ядра ОС, осуществляющий обработку прерывания с заданным номером.
Опрос устройств– периодический анализ состояния каждого внешнего устройства, выполняемый операционной системой при обработке прерывания по таймеру.
Порт– контроллер и разъем (либо беспроводное устройство) для передачи данных между устройством ввода-вывода и компьютером.
Резервирование устройства– обеспечение операционной системой монопольного доступа пользовательских процессов к устройству ввода-вывода.
Сетевое соединение (network connection)– высокоуровневая концепция, абстракция сетевого устройства, поддерживаемая операционной системой для пользователя.
Цепочка (гирлянда) SCSI-устройств– физически соединенные друг с другом SCSI-устройства, подключенные к одному SCSI-порту и имеющие разные номера SCSI ID.
Цикл busy-wait– взаимодействие процессора с внешним устройством, при котором, если устройство занято, процесс ждет его освобождения.
Шина (bus)- цепочка устройств прямого доступа в компьютерной системе, через которую передается информация от одних устройств к другим.
Шлейф– широкий плоский кабель, используемый внутри корпуса компьютера для подсоединения дисков и оптических дисков к системной шине.