Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
February 26 2026 17:19:54   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 36243
Учимся удалять!... 33115
Примеры, синони... 24345
Декартовы коорд... 23747
Просмотр готовы... 23668
FAST (методика ... 22412
содержание - се... 21799
Просмотр готовы... 20679
Работа с инстру... 16126
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
10.3.1 Символьные списки
Строковый интерфейс обрабатывает данные в символьных списках. Символьный список (clist) представляет собой переменной длины список символьных блоков с использованием указателей и с подсчетом количества символов в списке. Символьный блок (cblock) содержит указатель на следующий блок в списке, небольшой массив хранимой в символьном виде информации и адреса смещений, показывающие место расположения внутри блока корректной информации (Рисунок 10.10). Смещение до начала показывает первую позицию расположения корректной информации в массиве, смещение до конца показывает первую позицию расположения некорректной информации.
Рисунок 10.10. Символьный блок
Ядро обеспечивает ведение списка свободных символьных блоков и выполняет над символьными списками и символьными блоками шесть операций.
1. Ядро назначает драйверу символьный блок из списка свободных символьных блоков.
2. Оно также возвращает символьный блок в список свободных символьных блоков.
3. Ядро может выбирать первый символ из символьного списка: оно удаляет первый символ из первого символьного блока в списке и устанавливает значения счетчика символов в списке и указателей в блоке таким образом, чтобы последующие операции не выбирали один и тот же символ. Если в результате операции выбран последний символ блока, ядро помещает в список свободных символьных блоков пустой блок и переустанавливает указатели в символьном списке. Если в символьном списке отсутствуют символы, ядро возвращает пустой символ.
4. Ядро может поместить символ в конец символьного списка путем поиска последнего символьного блока в списке, включения символа в него и переустановки адресов смещений. Если символьный блок заполнен, ядро выделяет новый символьный блок, включает его в конец символьного списка и помещает символ в новый блок.
5. Ядро может удалять от начала списка группу символов по одному блоку за одну операцию, что эквивалентно удалению всех символов в блоке за один раз.
6. Ядро может поместить блок с символами в конец символьного списка.
Символьные списки позволяют создать несложный механизм буферизации, полезный при небольшом объеме передаваемых данных, типичном для медленных устройств, таких как терминалы. Они дают возможность манипулировать с данными с каждым символом в отдельности и с группой символьных блоков. Например, Рисунок 10.11 иллюстрирует удаление символов из символьного списка; ядро удаляет по одному символу из первого блока в списке (Рисунок 10.11а-в) до тех пор, пока в блоке не останется ни одного символа (Рисунок 10.11 г); затем оно устанавливает указатель списка на следующий блок, который становится первым блоком в списке. Подобно этому на Рисунке 10.12 показано, как ядро включает символы в символьный список; при этом предполагается, что в одном блоке помещается до 8 символов и что ядро размещает новый блок в конце списка (Рисунок 10.12 г).
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
2.6.3. Сжатие данных
10.1.3 Программы о...
6.2.4 Пространство...
Протоколы физическ...
6.5.8 Копирование ...
Просмотр готовых ч...
Примеры и идентифи...
Карты в руки!
Канал передачи данных
6.6.1 События, выз...
Какую аппаратуру и...
9.5 УПРАЖНЕНИЯ
Глава 12. Fortuna...
Почему САПР не "эл...
DVD в России: част...
Что такое альманах?
Установка антенны
1.6 Технология “...
Движение по маршруту
5.2. Ближайшие задачи
5.2 READ
6.4 СОХРАНЕНИЕ КОН...
Как работают лазер...
Индукция Джона Ст...
8.3.2 Внутренние с...
1.5 ПРЕДПОЛАГАЕМАЯ...
OZIEXPLORER
Первая настройка с...
Дуги в уникальных ...
Определение связи
3.2. Уровни зрелости
Декартовы координа...
Характеристики при...
ГЛАВА 4. ВНУТРЕННЕ...
2.3.2.1 Сигналы те...
Экран отметки точек
4.12.4.1 Общие све...
По законам джунглей
Комбинированный ка...
Избыточная связь
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009