Программа - распределение - Большая Энциклопедия Нефти и Газа, статья, страница 3
Всякий раз, когда я вспоминаю о том, что Господь справедлив, я дрожу за свою страну. Законы Мерфи (еще...)

Программа - распределение

Cтраница 3


Они осуществляются программами обработки очередей запросов на выполнение ввода / вывода, распределения запросов между устройствами, распределения устройств и каналов конкретным программам, программами распределения наборов данных и организации различных механизмов доступа к ним, программами обработки прерываний ввода / вывода.  [31]

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

Тем не менее человек углеводородной эры не хотел так легко расставаться с благополучием послевоенного периода, и новая реальность вызвала к жизни процесс широкомасштабной адаптации. Были разработаны механизмы действия программы распределения энергоносителей на случай чрезвычайного положения, а также планы создания контролируемых правительствами стратегических резервов нефти для восполнения нехватки при срыве поставок. Помимо этого МЭА стала и платформой для дискуссий по оценке политики государств и по научно-исследовательским разработкам в области обычных и новых энергоносителей.  [33]

Дополнительные функциональные возможности, рассчитанные на различные сферы, применения, на различные конфигурации машин, оформляются как необязательные и включаются в операционную систему по требованию пользователя во время генерации системы. Это вызвано прежде всего тем, что каждая дополнительная возможность увеличивает объем основной памяти, занимаемой операционной системой. Наиболее важными из дополнительных управляющих программ являются: программы распределения основной памяти, ее защиты, выполнения заданий в соответствии с их приоритетами. Этот принцип нашел отражение и в том, что с каждого входного языка, включаемого в состав программного обеспечения, имеется несколько транслирующих систем.  [34]

И здесь вновь можно привести очень веские доводы в пользу международного сотрудничества, хотя опыт, накопленный в этой области, не внушает доверия. Когда совместные действия производителей нефти впервые подверглись реальному испытанию во время снижения поставок нефти и введения эмбарго в 1973 - 1974 гг., Западная Европа и основные нефтепотребляющие государства являли собой в целом необычную картину паники, разрозненности и нерешительности. Призывы нефтяных компаний принять основанную на правительственной поддержке программу распределения нефти остались пустым звуком, поскольку потребители опасались, что такая мера может вызвать лишь еще большее сопротивление производителей. Попытки же распределять нефть, предпринятые самими компаниями, натолкнулись на ожесточенное противодействие тех, чье положение было более надежным.  [35]

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

В трансляторах реализованы различные методы оптимизации программы, необходимость которых определяется уровнем языка и назначением программы. Меньше всего оптимизация реализуется в трансляторах с автокодов. В них производится ( и то не во всех) только экономия рабочих ячеек. В трансляторах с алгоритмических языков применяются оптимизирующие программы распределения памяти, в том числе: рабочих ячеек, индексных регистров, оптимизация циклов, экономия выражений. Подобная оптимизация требует сложных методов и значительного времени работы транслятора.  [37]

Висячие ссылки могут привести к полному хаосу. При попытке программы изменить с помощью висячей ссылки структуру данных, которая уже уничтожена, может измениться содержимое элемента списка свободного пространства. Если это изменение затронет указатель, связывающий этот элемент со следующим элементом списка свободного пространства, то весь остаток списка свободного пространства, вероятно, превратится в мусор. Что еще хуже, последующие попытки программы распределения памяти воспользоваться указателем в измененном элементе приведут к совершенно непредсказуемым результатам, например в качестве свободного пространства может быть выделена и позднее изменена область внутри выполняемой программы. Аналогичные проблемы возникают в случае, когда перед употреблением висячей ссылки элемент, на который она указывает, был уже перераспределен для других целей.  [38]

Здесь возможны два решения: либо выделять память блоками установленных размеров, либо передавать программам ровно столько памяти, сколько им требуется. Если распределение проводится стандартными блоками, то легко поддерживать нужную информацию в таблице свободного пространства. В такой таблице каждому блоку соответствует определенный двоичный разряд, который с помощью специальной программы управления содержимым памяти устанавливается равным 1, если блок распределен некоторому заданию, и равным 0, если он свободен. При обработке очередного запроса на выделение памяти программа распределения просматривает таблицу свободного пространства, пытаясь найти непрерывную область подходящих размеров. Когда это удается, все входящие в найденную область блоки становятся занятыми. В противном случае в ответ на запрос в той или иной форме выдается отказ.  [39]

Современные информационные системы могут работать с пользователями, расположенными у терминалов, в двух режимах. Первым из них является режим выполнения заданий, сущность которого заключается в том, что пользователь дает машине задание. В нем говорится о том, какую нужно взять прикладную программу и как выполнить процесс обработки соответствующих данных. Например, пользователь требует, чтобы машина использовала программу распределения материальных ресурсов по организациям и предприятиям министерства.  [40]

Процессоры командного языка и связанные с ними сервисные подпрограммы. В рамках TSO предусмотрена возможность вызова нескольких процессоров для интерпретации команд пользователей. Несмотря на то что вся совокупность процессоров обеспечивает выполнение семантически единого функционального набора, каждый из них служит для реализации специфических функций, например синтаксического анализа и грамматического разбора последовательностей команд, обмена сообщениями с терминалами, а также для выборки команд из содержащих их файлов. Помимо этого при интерпретации команд обращения к компиляторам приходится вызывать программы распределения, снабжающие компиляторы соответствующими ресурсами из комплекса ресурсов подсистемы.  [41]

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

Проблемой, с которой мы сталкиваемся в любой системе управления памятью, использующей элементы переменного размера, является проблема фрагментации памяти. Мы начинаем с одного большого блока свободного пространства. В ходе вычислений этот блок разбивается на все более мелкие части операциями распределения, утилизации и повторного использования памяти. Если для распределения используется только простой метод первого подходящего или наиболее подходящего, то ясно, что блоки свободного пространства все время уменьшаются. В конце концов мы достигнем такого положения, когда программа распределения памяти не сможет удовлетворить запрос на блок из N слов, поскольку не окажется ни одного достаточно большого блока, хотя в целом список свободного пространства может содержать значительно больше, чем N слов.  [43]

В системе IBM 360 применяется более совершенная форма памяти с защитой по чтению и записи, а также по записи: защищаются не отдельные слова, как в IBM 1800, а блоки, или сегменты, главной памяти. С каждым блоком нз 2048 ячеек связан четырехразрядный регистр ключей. Специальной командой эти регистры ключей могут быть установлены в любое из 16 возможных состояний. При каждом обращении к главной памяти четырехразрядный ключ, присвоенный текущей программе, сопровождает адрес ячейки ЗУ. Этот ключ должен соответствовать содержимому регистра ключей, связанного с блоком памяти, содержащим адрес, с тем чтобы разрешить или не разрешить обращение. Таким образом, каждая из 15 программ допускается к работе только с определенными блоками главной памяти. Программа распределения памяти, или супервизор, назначает ключи программам и блокам памяти. Супервизор сам пользуется ключом О, который позволяет ему обращаться к любой ячейке независимо от содержимого соответствующего регистра ключей. Возможность обхода защиты и легкость изменения ключей делает эту систему защиты более подходящей для предотвращения пагубного влияния плохо отлаженных программ.  [44]

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



Страницы:      1    2    3