Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
September 16 2026 09:31:01   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 37070
Учимся удалять!... 33612
Примеры, синони... 24669
Декартовы коорд... 24303
Просмотр готовы... 24062
FAST (методика ... 22750
содержание - се... 22125
Просмотр готовы... 21143
Работа с инстру... 16828
Сейчас на сайте
Гостей: 3
На сайте нет зарегистрированных пользователей

Пользователей: 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 г).
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Случайные статьи
1.5 ПРЕДПОЛАГАЕМАЯ...
2.1 АРХИТЕКТУРА ОП...
Процессное управле...
Принцип 3. Обращай...
Поворотный экран
Существуют ли друг...
Избыточная связь
2.2.2.1 Контекст п...
2.4.9 Свёрточные коды
2.2.2.3 Переходы и...
Немного о КПК Mita...
FAST (методика быс...
Виды связи и режим...
Глава 10. Fortuna U2
7.2.1 Обработка си...
4.1 Структура и ха...
Протоколы
Цена до 350 долларов
2.2.1. Проводные к...
NavCompanion
ГЛАВА 8. ДИСПЕТЧЕР...
Идея пятая: Ионосф...
От автора
2.4.8 Итеративные ...
Бенчмаркинг процесса.
Размер и форма блоков
Оглавление
Датчики
4.3. Другие способ...
содержание - сетев...
9.3. Программа обу...
Глава 16. Raymarin...
13.1 ПЕРИФЕРИЙНЫЕ ...
4.9 ВЫВОДЫ
4.11 Технология АТМ
6.4.3 Переключение...
Глава 1. Выбираем ...
2.4.7.4 Построение...
2.6.2.3 Формирован...
Глава 6. Подключен...
Мини-чат
Вам необходимо залогиниться.

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