Cтраница 4
Куча необходима, только когда в программе используются переменны или структуры данных с классом памяти BASED или CONTROLLED, которые могут создаваться и уничтожаться в произвольные моменты времени в ходе выполнения блока или подпрограммы, где они описаны. Поскольку использование кучи довольно ограничено, она занимает сравнительно немного места. Управление памятью в куче не вызывает затруднений. Память выделяется и освобождается только с помощью явного использования инструкций ALLOCATE и FREE, и не делается никаких попыток избежать появления мусора и висячих ссылок. Свободная память в куче выделяется в виде блоков переменной длины. Типичная техника управления памятью состоит в поддержании списка свободного пространства, соединяющего вместе все свободные блоки в куче в порядке возрастания адресов памяти. При запросе памяти из списка свободного пространства выделяется первый подходящий или наиболее подходящий блок, а возвращаемые блоки опять включаются в список в соответствующих точках, но перед этим выполняется частичное уплотнение списка путем слияния смежных блоков. Эти методы обсуждаются в разд. [46]
Функции размером более одной или двух строк обычно определяются вне тела определения класса - это помогает отделить интерфейс класса от его реализации. Если функция-элемент определена в определении класса, то она автоматически становится встроенной. Элементы-функции, определенные вне определения класса, можно сделать встроенными путем явного использования ключевого слова inline. He забывайте, что компилятор оставляет за собой право не делать встроенной любую функцию. [47]
Вычислительная система Интел 432 во многих аспектах является необычной. С другой стороны, в эту систему заложены свойства, встречающиеся в основном лишь в больших ЭВМ - многопроцессорность, виртуальная память и архитектура, позволяющая создавать серию из все более мощных, но совместимых процессоров. Большое внимание уделено выбору языка программирования Ада как в качестве языка реализации операционной системы, так и в качестве базового языка для создания прикладных пакетов программ и систем управления базами данных. Система Интел 432 представляет собой одну из последних разработок архитектуры ЭВМ в направлении усложнения системы команд процессора вплоть до явного использования абстрактных типов данных и управления объектами. Существует и противоположная линия развития ЭВМ, которая состоит в максимально возможном упрощении системы команд и переносе реализации сложных программных объектов на компиляторы с языков программирования. В настоящее время трудно сказать, какая линия развития в конце концов получит преобладание в вычислительной технике. По-видимому, оба направления будут на первых порах развиваться параллельно и покажут свои преимущества. Сами принципы, положенные в основу архитектуры системы Интел 432, еще нуждаются в проверке практикой, так как эта система пока остается экспериментальной и не получила достаточно широкого применения в вычислительной технике. [48]
Прежде всего за фундамент рассуждений он взял три предложения, названные им леммами: I. Теорему о том, что непрерывная функция принимает по крайней мере один раз всякое промежуточное значение между двумя ее заданными значениями; II. Теорему о не более чем счетности множества непересекающихся интервалов на прямой; III. Каждое из этих предложений было тогда доказано таким образом, что хотя рассуждения и не содержали явного использования аксиомы выбора, но она необходимо присутствовала в них или в форме какого-либо эквивалента, или в форме пробела в рассуждениях. И Кантор неоднократно пользуется ими. Кроме того, он обращался к предшествующим теоремам данной статьи, доказательства которых, как было сказано несколько выше, тоже опирались на эту аксиому. [49]
Естественно, может возникнуть вопрос, а почему бы для описания газа не воспользоваться стандартным аппаратом квантовой механики. Поскольку в разреженном газе взаимодействие атомов мало, то наиболее подходящей кажется теория возмущений. Они показали, что прямое применение теории возмущений приводит к расходимостям. Связано это с тем, что классический газ представляет собой типичный пример большой системы Пуанкаре, обладающей внутренней стохастичностью. Соответственно, в квантовой теории возникает парадокс саморассеяний, аналогичный проблеме малых знаменателей в классической теории. Чтобы обойти трудности с квантовыми расходимостями, Петроски и Пригожий развивают сложный аппарат описания квантовых систем в представлении Лиувилля. Но более предпочтительным является подход с явным использованием коллапсов волновых функций. [50]