Cтраница 3
Пользовательская ( или любая другая) программа для запросов дополнительных областей памяти применяет специальные макрокоманды среды выполнения. [31]
В системах, имеющих механизм виртуальной памяти, загрузка в значительной степени является неявной функцией среды выполнения. В подобных системах загрузчик обычно теряет свое значение как один из основных системных элементов и включается в среду выполнения, где иногда распадается на функцию выборки программ и функцию управления памятью. [32]
Однако, такого рода paccyamthvin уволят нас к свойствам языков программирования, компиляторов, KOMiiououLUHKOi сред выполнения программ, что нссьмл далеко от алгоритмов. Поэтому, чаше нес го булем придерживаться простого, об те при н итого разделения программы на дна фдйлаь где АТД реализуете л н ни е классов О, общедоступные функции-члены составляют интерфейс, а реал мнения объединяется с интерфейсом и отдельном файле, который включается в программы - клиенты н компилируется кажлык раз, когда компилируются клиентские программы. [33]
Однако, такого рода рассуждения уводят нас к свойствам языков программирования, компиляторов, компоновщиков, сред выполнения программ, что весьма далеко от алгоритмов. Поэтому, чаще всего будем придерживаться простого, общепринятого разделения программы на два файла, где АТД реализуется в виде классов C, общедоступные функции-члены составляют интерфейс, а реализация объединяется с интерфейсом в отдельном файле, который включается в программы-клиенты и компилируется каждый раз, когда компилируются клиентские программы. Первопричина связана с тем, что реализация в виде класса - это удобное и компактное средство представления структур данных и алгоритмов. Если для какого-либо отдельного приложения потребуется большая гибкость, которая может быть обеспечена одним из только что упомянутых способов, можно соответствующим образом изменить структуры классов. [34]
Процесс генерации отражает представления разработчиков операционной системы о том, насколько системные службы должны входить в среду выполнения. Стремление к еще большему увеличению гибкости системы может привести к отсрочке принятия некоторых относящихся к генерации решений до начальной загрузки ( IPL - Initial Program Load), когда оператор вычислительной машины с помощью команд, напоминающих команды генерации, определяет значения аналогичных параметров. [35]
При написании процедур с использованием команд ПДО, МВМ и подкоманд редактора пользователь должен предусматривать своевременное переключение среды выполнения команд и установку режимов выполнения команд в этой среде. [36]
С целью увеличения гибкости систем многие функции, ранее относившиеся к предварительной обработке, были перенесены в среду выполнения. [37]
Какие критерии должны быть положены в основу при выработке решения о том, включать ли данную функцию в среду выполнения или присоединять непосредственно к программам. [38]
Для любого опубликованного поля, свойства или метода компилятор генерирует расширенную RTTI-информацию, что позволило бы программе или среде выполнения Delphi запросить у класса его опубликованный интерфейс. Например, каждый компонент Delphi имеет опубликованный интерфейс, используемый IDE, в частности, инспектором объектов. Надлежащее использование опубликованных пунктов важно при самостоятельном создании компонентов. Обычно опубликованная часть компонента не содержит никаких полей или методов, а лишь свойства и события. [39]
Дать четкое определение понятия системной службы довольно трудно, поскольку она, как правило, частично состоит из функций среды выполнения, не принадлежащих ядру, и частично - из функций предварительной обработки. Вообще вопрос о том, какие элементы логических системных служб следует отнести к предварительной обработке, а какие - к среде выполнения, решается разработчиками системы. При этом учитываются предполагаемая интенсивность их использования, максимально допустимые размеры сервисных программ, принятые представления об оптимальном соотношении между гибкостью, нагрузкой на систему, ее функциональной развитостью и производительностью. [40]
Помимо основных элементов, входящих в ядро, операционная система может также содержать огромное число других элементов, формирующих среду выполнения. [41]
Читатель, хорошо освоивший первые шесть глав, наверняка уже имеет достаточно полное представление о функциях, структуре и принципах разработки среды выполнения, поэтому знакомство с дополнительной литературой по этим вопросам для него не составит труда. Например, материалы по PDP-11 помогут разобраться в использовании нескольких режимов работы, поскольку в этой машине предусмотрены 1) режим ядра, 2) режим управляющей программы и 3) режим пользователей. Изучив режим управляющей программы, читатель найдет подтверждение тому факту, что упоминавшиеся нами сервисные программы в целом формируют мониторную подсистему, нуждающуюся в дополнительных привилегиях, в том числе и в привилегии доступа к системным данным. У части монитора, отвечающей за распределение памяти между программами пользователей, может возникнуть необходимость обращения к таблицам, обычно защищенным от доступа. [42]
Символические константы, которые могут использоваться в качестве параметра функции exit для обозначения кода выхода из программы - успешного или неудачного, возвращаемого среде выполнения программы. [43]
Программные средства седьмого уровня выполняют функции управления двумя типами прикладных процессов: пользовательских, реализующих решение конкретных функциональных задач абонентов, и обрабатывающих, обеспечивающих типовую среду выполнения заданий и транзакций пользователей. [44]
В настоящей главе освещаются вопросы структуры среды времени выполнения, называемой далее для краткости ( там, где это не сможет привести к недоразумениям) просто средой выполнения. Здесь вводятся и исследуются такие понятия, как процессы, примитивы, а также взаимоотношения между прикладными программами и средой выполнения. В первом разделе рассматриваются сущность среды выполнения и основные свойства ее функций. [45]