[P&AM Lab] Homework.

Grigoriy A. Sitkarev sitkarev на komitex.ru
Чт Окт 18 00:50:14 MSK 2012


Всех приветствую.

Для начала хотел бы предупредить заранее, я к сожалению не имею 
возможности слушать ваши субботние занятия, т.к. у нас новые люди пришли 
и с ними надо заниматься, потому не всегда имею представление в каком 
контексте вы обсуждали ту или иную подсистему. Здесь, я так понял, речь 
шла о механизмах System V IPC, и я вынужден сделать одно важное 
предупреждение. Наличие этих механизмов в современных Unix-подобных ОС 
может создать ложное впечатление о том, что они ещё актуальны и их надо 
использовать. Тем не менее, эти механизмы (речь идёт о System V shared 
memory, message queues и semaphores) давно legacy, да и были, весьма 
похоже, таковыми ещё с момента своего появления. В Unix System III они 
были включены из-за давления высшего менеджмента, который желал видеть 
эти механизмы в ядре.

Подробнее см. Eric S. Raymond, The Art of Unix Programming

http://www.catb.org/~esr/writings/taoup/html/ch07s03.html

Вообще говоря, System V IPC совершенно не соответствует программной 
модели Unix. Во-первых создаёт дополнительный namespace, во-вторых 
невозможно или затруднительно сочетать традиционные механизмы IPC (такие 
как pipe и сокеты) с ними, потому что сделать poll()/select() ни на 
семафорах ни на очередях нельзя, они не являются файлами.

Традиционными для Unix механизмами IPC являлись pipe и сокеты. Частично 
ряд проблем с System V IPC решены в POSIX IPC, но последние не везде 
поддерживаются и возможны проблемы с переносимостью программ.

Теперь собственно по коду. В английском языке существует единственная 
форма child и множественная форма children. Писать childrens очень 
грубая ошибка. В дочернем процессе лучше вызывать _exit(2), т.к. в таком 
случае не выполняются обработчики, зарегистрированные через atexit(3). 
Сокращать «buffer» до «buff» нежелательно, т.к. это слово означает 
толстую прочную кожу. Поэтому или «buf» или «buffer». Если вы посмотрите 
man-страницы, то там тоже если встречается сокращение, то только как «buf».

Т.к. текст самого задания мне к сожалению не известен, ничего больше 
добавить не могу по существу.

Всего наилучшего и успехов.

--
Г.А.

17.10.2012 00:52, ruyk пишет:
> Здравствуйте всем.
>
> Посылаю свою версию домашнего задания которое задал Руслан:)
> Получилось довольно не компактно и местами криво, но работает так как
> надо.
> Надеюсь кто-нибудь посмотрит и покритикует.
>
> Сейчас занятия как-то медленно идут, может стоит перенести какуюто
> часть заданий и занятий на самостоятельное ковыряние? Например выложить
> какоето подобие общего плана либо простенькие
> задания на следующее занятие.
> Кто как думает?
>
>
>
> _______________________________________________
> Lab mailing list
> Lab на wiki.syktsu.ru
> http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab





Подробная информация о списке рассылки Lab