Cтраница 4
Теоретики компьютерных наук и программисты интенсивно исследуют и другие применения таблиц символов, кроме упомянутых основных, поскольку эти таблицы - незаменимое вспомогательное средство при организации программного обеспечения в компьютерных системах. Таблица символов служит словарем для программы: ключи - это символические имена, используемые в программе, а элементы содержат информацию, описывающую именованные объекты. Начиная с зари развития компьютерной техники, когда таблицы символов позволяли программистам переходить от использования числовых адресов в машинных кодах к символическим именам языка ассемблера, и завершая современными приложениями нового тысячелетия, когда символические имена имеют определенное значение в рамках всемирных компьютерных сетей, быстрые алгоритмы поиска играли и будут играть важную роль при компьютерной обработке. [46]
Использование адресов для указания нужных нам слов имеет принципиально важное значение при программировании. В программе ( которая составляется до того, как по ней будут производиться фактические вычисления) приходится иметь дело с переменными величинами, принимающими в процессе счета целую серию различных значений, которые нам заранее не известны. Однако, если мы знаем, какие ячейки памяти отведены для хранения значений этих переменных, то путем указания их адресов мы имеем возможность описать все необходимые действия над этими переменными, несмотря на то, что их значения еще не известны. Наряду с этим использование адресов позволяет достичь полного единообразия при указании любого нужного нам с. [47]
![]() |
Дерево процесса. Процесс А создал два дочерних процесса В и С. Процесс В создал три дочерних процесса D, Е и F. [48] |
Если по истечении определенного количества секунд ответа нет, операционная система посылает процессу сигнал тревоги. После завершения обработки сигнала работающий процесс запускается заново в том состоянии, в котором он находился до сигнала. Сигналы являются программными аналогами аппаратных прерываний и могут быть сгенерированы по различным причинам, а не только из-за истечения какого-либо интервала времени. Многие аппаратные прерывания ( например, вызванные выполнением недопустимой команды или использованием неправильного адреса) также преобразуются в сигналы процессу, в котором произошла ошибка. [49]
Каждый такой вектор прерываний вызывает выполнение соответствующей процедуры прерываний. Следует отметить, что по-казанные на рис. 6.24 операции ЗАПОМНИТЬ СОСТОЯНИЕ СИСТЕМЫ, ВЫЗОВ: РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ (), ВОССТАНОВИТЬ СОСТОЯНИЕ СИСТЕМЫ и ВОЗВРАТ должны повторяться в каждой процедуре ОБРАБОТКИ. Это необходимо потому, что операции проверки и вызова являются теперь аппаратными операциями и могут выполняться в различной последовательности, как показано на примере модифицированной процедуры ИСПОЛНЕНИЯ ПРЕРЫВАНИИ на рис. 6.26. На рис. 6.27 показана процедура ОБРАБОТКИ ПРЕРЫВАНИИ ТАЙМЕРА, иллюстрирующая формат такой процедуры. Этот рисунок следует сравнить с рис. 4.30. На рис. 6.28 показаны команды ассемблера, необходимые для реализации части этой процедуры вместе с соответствующими командами перехода в ячейках памяти 0 - 63 для некоторых векторов прерываний. Техника прерываний, автоматически вызывающая выполнение процедур прерываний с использованием заранее определенных адресов памяти и векторов прерываний, известна под названием векторных прерываний. [50]
Алгоритм маршрутизации сообщений, при котором сообщение передается всем узлам сети. Ethernet), способность к широковещательной передаче является их неотъемлемым свойством. Для ограничения числа сообщений, воспринимаемых каждым отдельным ведущим узлом сети ( ВУС), используется так называемая адресная фильтрация. Сетевая служба, отвечающая за доставку сообщений в широковещательном режиме, называется службой широковещательной рассылки; доставка сообщений всем станциям реализуется этой службой с использованием специального адреса, при получении которого каждая станция осуществляет прием соответствующего сообщения. [51]
При страничной организации сообщение записывается в любые свободные участки, разбросанные по всему ЗУ. Для хранения данных о порядке размещения частей сообщения могут использоваться таблицы. Каждому сообщению, помещаемому в ОБП, соответствует запись, содержащая последовательность адресов участков, занятых соответствующими частями сообщения. При освобождении участков памяти запись уничтожается. Недостатком табличной организации является большая емкость служебной памяти таблиц, выбираемая из учета хранения записей для максимального числа сообщений, одновременно помещаемых в ОБП. Использование адресов связи для объединения размещенных частей сообщения в цепной список позволяет снизить требования к емкости служебной памяти. Для организации частей сообщений в цепной список за каждым абонентом закрепляется фиксатор Ft, хранящий адреса только первого ( стартового) и последнего участков, так как все промежуточные участки соединяются между собой с помощью адресов связи Lk. После полного накопления сообщения содержимое фиксатора Ft передается средствам организации очередей сообщений. [52]