Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63933
Модуль Forms 63639
ТЕХНОЛОГИИ ДОСТ... 60505
Пример работы с... 59942
Имитационное мо... 55984
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,079
новичок: Openair
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Сравнение двух бинарных деревьев на Turbo Pascal + отчет
Компьютерный магазин на Turbo Pascal (База данных) + Пояснительная записка
Программа тестирования (тест) - вступительные экзамены (математика, физи...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
STREAMS и ядро системы
При первом открытии устройства STREAMS ядро системы создает для него поток и устанавливает на этот поток ссылки через объект snode и общий объект snode. Если через некоторое время другой (или текущий) процесс откроет тот же файл устройства, ядро обнаружит, что файл уже имеет поток (то есть поток уже был создан), поэтому новый процесс будет использовать новый поток.

Также на сайте shinajcb.ru можно узнать много интересного на тему http://www.shinajcb.ru/. Что означает вообще тема шины для спецтехники - про это написано на сайте shinajcb.ru. Спасибо сайту за информацию.



Новый поток будет создан и в случае, если другой процесс откроет иной файл устройства, имеющий такие же младшие и старшие номера устройства. Ядро распознает тот факт, что данное устройство было открыто ранее (так как обратится к единственному общему объекту snode), и предоставит возможность двум процессам разделять между собой один и тот же поток. В данном случае мультиплексирование не используется.



Совсем другая ситуация возникает, если второй процесс открывает другой младший номер устройства. В этом случае ядро создает для него отдельный поток, а также объект snode и общий snode. Так оба потока имеют один и тот же старший номер устройства, они обслуживаются одним драйвером. Процедура open драйвера будет вызвана дважды, по одному разу на каждый поток. Драйвер будет управлять двумя наборами очередей, возможно даже с неодинаковыми комбинациями помещенных в них модулей. После получения данных из устройства драйвер производит их проверку и решает, какому из потоков передать их далее. Как правило, это решение обусловлено информацией, содержащейся в данных, либо портом контроллера, на который они поступили.


Оба потока могут содержать разные наборы модулей. Например, один из потоков использует модуль IP, в то время как другой — модуль ICMP. При получении данных из сети драйвер проверяет их содержимое и в зависимости от характера информации принимает решение о том, в какой из потоков их следует передать.
Опубликовал katy June 25 2015 00:49:48 · 0 Комментариев · 1497 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
XPcontrol
iComm v.6.1 - выв...
Domen Name IP
Delphi. Готовые а...
MiniChat
Adapter (пример D...
Page Promoter 7.7...
Графика в проекта...
PHP: обучение на ...
mp3tag
PHP 5
Dnavigator
Фундаментальные а...
Pirc
Задача о 8ми ладьях
3D Тетрис [Исходн...
Паскаль и Дельфи....
Распознавание иде...
Delphi7 Для профе...
Создание фракталов

Топ загрузок
Приложение Клие... 100450
Delphi 7 Enterp... 85845
Converter AMR<-... 20067
GPSS World Stud... 12518
Borland C++Buil... 11579
Borland Delphi ... 8507
Turbo Pascal fo... 7023
Visual Studio 2... 4989
Калькулятор [Ис... 4739
FreeSMS v1.3.1 3536
Случайные статьи
Изменение последов...
Прямой метод решен...
Зашита обмена данн...
Вырезание, вставка...
4.2. Отсечение
Функция MessageBox...
Связанные списки в...
Основные принципы ...
Частотная манипуляция
Настройки приватности
WDQTABLE (ВЗВЕШЕНН...
В свою очередь эта...
Как нажать кнопку ...
Открытие очереди
Microsoft Word 2007
Особенности агреги...
Создание пользоват...
Процедура LineTo -...
Существует мнение,...
Планирование разве...
Отражайте корпорат...
учетными записями ...
Обновление баз дан...
Шаблоны
Абстрактные типы д...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?