Внутри указателя
Внутри указателя
Указатель используется в AS/400 для доступа к объектам. В этом разделе мы сосредоточимся исключительно на формате разрешенного указателя. У разрешенного указателя две функции: он описывает объект и полномочия пользователя на этот объект; а также задает адрес объекта в одноуровневом хранилище. Иначе говоря, 16-байтовый указатель разделен на две 8-байтовые части: первая —описание объекта, а вторая — виртуальные адрес.
В первой части разрешенного указателя находятся биты состояния, которые, кроме всего прочего, задают, что это за указатель: системный, пространственный, данных, команд или процедуры. В этой же части содержится информация об объекте и данных, доступных через этот указатель. Например, системный указатель задает для объекта тип системного объекта MI и подтип, определенный OS/400; а указатель данных описывает тип данных. Прочая информация первой части указателя касается полномочий пользователей на операции с объектом. Как отмечалось ранее, поле полномочий используется, только если указателем оперирует сама ОС в системном состоянии. В указателях, созданных пользовательскими программами в пользовательском режиме, поле полномочий не заполнено.
Информация первой части указателя не занимает все 8, а лишь 4 байта. Это означает, что 4 байта указателя не используются. Они зарезервированы для будущих расширений адреса. Дополнительные 32 разряда вместе с 64 адресными разрядами указателя дают возможность расширить адрес AS/400 до 96 разрядов (12 байтов) без изменений каких-либо программ поверх MI. Если потребуется еще большее пространство, то можно будет удалить из указателя информацию типа и полномочий, и увеличить длину адреса сверх 96 разрядов.
Вторая часть разрешенного указателя содержит 64-разрядный адрес. Так было всегда, и многие годы это вызывало путаницу: каков все же размер виртуального адреса System/38 и AS/400, 48- или 64-разрядный? С появлением новых RISC-моделей AS/400 путаница прекратилась: теперь адрес 64-разрядный. А в System/38 и ранних моделях AS/400 он был и таким, и таким. В MI адрес всегда был 64-разрядным, а аппаратура работала с 48-разрядным адресом. Как они уживались вместе — тема следующего раздела.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
13.4.2. Игнорирование указателя файла
13.4.2. Игнорирование указателя файла Программы, использующие бинарные файлы, часто выглядят, как показано ниже.lseek(fd, SEEK_SET, offset1);read(fd, buffer, bufferSize);offset2 = someOperation(buffer);lseek(fd, SEEK_SET, offset2);read(fd, buffer2, bufferSize2);offset3 = someOperation(buffer2);lseek(fd, SEEK_SET, offset3);read(fd, buffer3, bufferSize3);Необходимость поиска нового
Положение указателя текущей позиции
Положение указателя текущей позиции feofУказатель конца файла.Синтаксис:int feof(int $f)Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла).Пример:$f=fopen("myfile.txt","r");while(!feof($f)){ $str=fgets($f); // Обрабатываем очередную строку
Внутри процесса ILE
Внутри процесса ILE В этом разделе мы заглянем внутрь процесса ILE. Структура процесса ILE сложна, и, подобно многим другим затронутым нами темам, ее описание насыщено таким количеством имен, сокращений и терминов, что может загнать в угол любого специалиста по компьютерам. И
Создание указателя
Создание указателя Предметные (или алфавитные) указатели используются в научной и справочной литературе для быстрого ориентирования читателя в тексте. Специальный раздел в конце книги содержит список тем, изложенных в ней, и страницы, на которых идет речь об этих темах.В
Создание указателя
Создание указателя Когда набор текста будет завершен и фразы, которые должны присутствовать в указателе, будут в него внесены, можно переходить к созданию указателя. Для этого сделайте следующее.1. Установите курсор в то место текста, куда должен быть вставлен указатель.2.
Удаление элемента из указателя
Удаление элемента из указателя Для удаления элемента из указателя нужно удалить весь текст, помещенный в фигурные скобки. Чтобы текст указателя был виден, нужно включить режим отображения непечатаемых символов при помощи кнопки Отобразить все знаки в группе Абзац
Автоматическое наведение указателя мыши на активную кнопку
Автоматическое наведение указателя мыши на активную
Описание и инициализация указателя на структуру
Описание и инициализация указателя на структуру Вот самое простое описание, какое только может быть: struct guy *him;Первым стоит ключевое слово struct, затем слово guy, являющееся именем структурного шаблона, далее * и за нею имя указателя. Синтаксис тот же, как для описаний
Доступ к элементу структуры при помощи указателя
Доступ к элементу структуры при помощи указателя him ссылается на структуру fellow[0]. Каким образом можно использовать him для получения значения элемента структуры fellow[0]? Третья выведенная строка даст для этого два способа. Первый способ, наиболее общий, использует
Объявление указателя
Объявление указателя Указатель — это переменная, предназначенная для хранения адреса объекта некоторого типа. Указатель на функцию содержит адрес точки входа в функцию.Синтаксис:[<спецификация типа]> *<описатель>;Объявление указателя специфицирует имя
7.9.1. Тип указателя на функцию
7.9.1. Тип указателя на функцию Как объявить указатель на функцию? Как выглядит формальный параметр, когда фактическим аргументом является такой указатель? Вот определение функции lexicoCompare(), которая сравнивает две строки лексикографически:#include stringint lexicoCompare( const string sl, const
Что находится внутри?
Что находится внутри? Пока нетбук находится на гарантии, разбирать его не стоит. Лучше познакомимся с его внутренним устройством на картинках. Процессор обрабатывает информацию — это «мозг» компьютера.По производительности процессоры, которые устанавливают в нетбуки,