Цитата(path_finder @ Jan 22 2007, 00:35)

Кстати, раз пошла такая пьянка, может подскажет кто - что есть почитать на тему правильного написания программ с использованием всех имеющихся механизмов.
Просто очень много литературы о том как создать механизм (т.е. драйвер), как работать с сокетами, тридами, синхронным и асинхронным I/O, с fork/exec и т.д. А о том что в каких местах применять - информации не нашел. Приходится пользоваться какими-то обрывочными сведениями.
1. посмотрите для начала:
http://www.books.ru/shop/books/357604- и не потому, что это чем-то лучше, чем другие источники - но это результаты экспериментирования в коде, и коды эти все приведены, и результаты там совсем не ожидаемые и даже временами неожиданные - вы можете всё это повторить в своей любимой ОС

и проанализировать выявленные артефакты...
2. ... и конечно - 2 Стивенса

:
У. Стивенс "UNIX: взаимодействие процессов" - СПб.: Питер, 2002 - 576 стр.
У. Стивенс "UNIX: разработка сетевых приложений" - СПб.: Питер, 2003 - 1088 стр.
(при чём здесь сетевые приложения?

- а при том, что основная доля асинхронностей и параллелизмов "вылезает" именно в сетевых приложениях).
Цитата(path_finder @ Jan 22 2007, 00:35)

Например, как решается задача планировки в user space? Допустим имеется последовательная шина, на которой висит несколько устройств с разным приоритетом опроса. Есть ли какие-то штатные средства для создания очереди запросов, возможно с различной приоритетностью и раздачи результатов тем кто ожидает результатов? Или как всегда все надо делать самому? Как правильно такие задачи декомпозировать в среде Linux?
3. параллельность - это одно, а параллельность при вмешательстве приоритетов - это уже совсем другое; 1-е как нельзя лучше (даже исчерпывающе) проанализировано Э.Дейкстра и Хоаром (их публикации и результаты вы легко найдёте) - 2-е ... при наличии приоритетов очень сложно создать формальную модель (это не я оцениваю, а те кто работают в этой области) - посмотрите в сторону частотно-монотонной диспетчеризации, вот 2 перевода здесь:
http://qnxclub.net/modules.php?name=Conten...wpage&pid=7(2 самых верхних

).