LINUX.ORG.RU

блок схема драйвера ?


0

0

К мне подходит руководитель и говорит: "Для облегчения понимания можно ли нарисовать блок схему работы драйвера ?" По опыту знаю, что за этим следует. Но не верить людям не хочется, что посоветуете ?

anonymous

Послать его рисовать блок-схему бобруйска :)

yuriy123
()

Посоветуем нарисовать. Станете начальником будете сами диктовать правило, а так - извольте

anonymous
()
Ответ на: комментарий от anonymous

> Посоветуем нарисовать.

А почему Вы во множественном числе ? Я начальником никогда не стану, мне это не грозит. Командовать не умею. Это был не приказ а вопрос, "Можно ли " - читайте выше. Поэтому и советуюсь. Диктовать то-же не в моих правилах - только паритетные отношения и помощь если кому, что нужно, но не все я могу знаю и умею, что убить меня нужно, когда общались ничего не скрывал. В общении не отказываю, рассказываю, что там происходит, куда, что записывается, откуда ноги растут, какие проблемы стоят, как их собираюсь решать, если нужно, делаю как говорят, стараюсь не тормозить прцесс. Раньше уже рассказывал как устроен драйвер в общих чертах. Может кто-то объяснить, посоветовать, без эмоций ?

anonymous
()
Ответ на: комментарий от anonymous

Менеджеры любят картинки, вот и нарисуй им их, желательно в цвете :) Если не хочешь связываться, докажи, что рисунок блок схемы бесполезная трата Х человекочасов.

mezantrop
()
Ответ на: комментарий от anonymous

> Это был не приказ а вопрос, "Можно ли " - читайте выше.

Вообще, там слишком много связей, слижком низкоуровневых. Очень неприятно это делать.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Спасибо. я правда уже сказал что нельзя. но не распространялся почему, там действительно все наворочено, есть обратные вызовы из ядра. слабо себе представляю себе такую штуку. Да и сам драйвер большой я не до конца его хорошо знаю, а неприятно когда в твой-же рисунок носом тычат и говорят, что мол фигня какая, сам знаю, что не все знаю. А ведь делают, любят такое. Но есть еще грустное подозрение, испытательный срок ещё не прошел вот и размышляю. но всё равно спасибо. Рисовать красиво, но бестолково не выйдет так как, достаточно грамотные люди, да и не люблю я парить мозги тем на кого работаю, я априори уважаю своих работодателей, правда немного странно, не ожидал. В общем не жалко ничего, но доделать бы, хоть было бы о чем говорить при поиске работы, а так ...

anonymous
()
Ответ на: комментарий от anonymous

умение графически представить работу - очень важное качество программиста. Взаимодействие частей, time-line, основные алгоритмические блоки, диаграммы наследования etc etc - это всё способы представления Вашей работы коллегам (и себе самому не повредит) - Вы же не в вакууме работаете.

К примеру руководитель проекта не обязан знать все языки и инструменты используемые в проекте, но должен представлять взаимодействие отдельных частей, и кстати времени у него на ознакомление с Вашей работой - минимум на порядок меньше чем у Вас на разработку.

Так что учитесь рисовать :) Писать документацию и делать делать краткие популярные доклады :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

> ознакомление с Вашей работой - минимум на порядок меньше чем у Вас на разработк

Вы говорите общие вещи, которые мне известны. Я изложил ситуацию согласно которой a)не знаю как поступать, б)очень хорошо представляю, что хотят, но для этого нужно очень не плохо разбираться - этого нет, ну нет. Вы знаете как на уровне ядра устроен стек протокола TCP/IP в деталях? У меня весьма слабые на данный момент знания, можите блок схему нарисовать работы сетевой подсистемы ядра ? я не могу.

> представления Вашей работы коллегам Кому я буду представлять, народ от меня шарахается, можно с Вами на эту тему поговорить ? Хотя может Вы и знаете MKuznetsov. :)

doxygen - спасибо, смотрю. Но у меня man-ов почему-то нет, RH9 или к ней нет man-ов. Можно подумать я специально не делаю из вредности.

anonymous
()
Ответ на: комментарий от anonymous

драйвер Вы делали ? и при этом не разбирались как и что работает ?? куда мир катится :-)

> У меня весьма слабые на данный момент знания

ну дык подтяните, http://www.kernelnewbies.org/documents/ipnetworking/linuxipnetworking.html

> .., народ от меня шарахается, можно с Вами на эту тему поговорить ?

:-) я не психотерапевт, и даже не визажист..Ну если уж очень наболело - высказывайтесь - тут на форуме, народ не пугливый, не шарахается :-)

p.s. если Вас просили нарисовать поэлементную блок-схему a-la советский гост,то это одно, а если просто проиллюстрировать работу Вашей программы (не важно драйвера, модуля или любого приклада) то это совсем другое..

Сдаётся мне что начальник просил Вас именно о втором варианте - отказ от него в принципе аннулирует всю Вашу работу. В нормальных местах такая работа считается невыполненной.

Неужели сложно, потратить день, и в dia (да хоть на бумажке в клетку) нарисовать работу драйвера, так как Вы её видите ?

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

doxygen + graphviz

Пользуйтесь на здоровье :)

anonymous
()
Ответ на: комментарий от MKuznetsov

Да не проиллюстрировать работу программы. Блок схема. Программа еще не сделана. Нужно знать какие элементы рисовать. Мое представление уже было, оно уже не интересно.

> - высказывайтесь - тут на форуме, народ не пугливый, > не шарахается :-)

Да не на форуме, а в конторе. Дают задачу, начинаешь разбираться, начинаешь рассказывать, что нужно дальше чуть продвинуться, дают отбой, говорят не нужно нам это, ты давай реши нам задачу, но не лезь. Не лезишь.

За ссылку спасибо.

>Неужели сложно, потратить день, и в dia (да хоть на >бумажке в клетку) нарисовать работу драйвера, так как > Вы её видите ?

Я и не знаю что такое dia, только бумажклй в клетку пользовался. :( Вот видите какой я дремучий.

Ну что мне сделать, чтоб достучаться в закрытую дверь? Устал уже объяснять, была бы сделана работа - была бы схема. Нет представления что именно рисовать. Не сделана работа, нет представления что рисовать, говорил об этом руководству и Вам.

У Вас как у руководителя вероятно стереотип срабатывает, что все подчиненные собатируют работу и скрывают. Ну почему априори нужно плохо думать о людях ?

> драйвер Вы делали ? и при этом не разбирались как и что работает ?? куда мир катится :-)

Если делали может сможите помочь, пожалуйста, очень нужно.

anonymous
()
Ответ на: комментарий от anonymous

dia - это несложная программка для рисования всяческих диаграмм, http://www.gnome.org/projects/dia/

по теме - практически нереально дать совет, не зная даже ориентировочно Вашу задачу. Как я понял - Вы делаете (или собираетесь) некий драйвер и никак не можете договориться с руководством, что первичнее - код или схема ;-) Давать советы по ведению разговоров с начальством ? вряд-ли это именно то, что Вам нужно :)

по большому счёту Ваш руководитель во многом прав - проектирование ПО начинается с различных схем и диаграмм (к примеру RUP,UML), да и их рисование во многом упрощает разработку задачи. На месте заказчика драйвера я бы в первую очередь требовал схему взаимодействия и интерфейсы с другими компонентами. Соответсвенно на Вашем месте,наверное, именно этим и занимался в первую очередь.

p.s. вы несколько раз помянули слово блок-схема, в моём понимание блок-схема это просто алгоритм переведённый в графический вид. Не особенно нужная в проектировании вещь, которую даже с советские годы делали пост-фактум, то есть по написанному и отлаженному коду. Если начальник требует именно это, то надо просто менять работу, ибо ничего полезного под таким руководством, Вы не подчерпнёте.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

не ожидал что напишите.

> я бы в первую очередь требовал схему взаимодействия >и интерфейсы с другими компонентами. Соответсвенно на > Вашем месте,наверное, именно этим и занимался в >первую очередь.

Я этим и занимался в первую очередь. Но руководство испугалось, что идет все медленно. сначало я разобрался в общем, доложил. сказал, что не мешало-бы разобраться с уровнями стека TCP/IP, и как он ложиться на драйвер, посмотреть, что драйвер дергает из ядра. Мне шлепнули по рукам и сказали заниматься инициализацией, я не стал особо дергаться так как мне по людому стучаться в регисты. Затем мне нужно было начать грузить драйвер, но встала проблема, загрузка параметров. Драйвер компилируется в ядро, Загрузчик передает параметры ядру и в частности MAC-адрес. Ядро вызывает функцию драйвера ***_setup(), в которой выбирается нужный мне параметр, MAC-адрес, и прописывается в ОЗУ микросхемы LAN-а, EEPROM, это конструктивная особенность железа. Когда я въехал, что я не могу просто загрузить руками драйвер - а мне это нужно, так как мне нужно правильно его проинициализировать. Я сообщил об этом руководству и сказал, что нужно смотреть область данных ядра empty_zero_page, дает ли возможность обращения из модулей или расширять параметры. На следующий день мне сказали заниматься так как есть регистами. Как только что-то нужно смотреть в ядре меня тормозят. Людей в дрожь кидает, когда нужно лезьть я ядро. Не на форуме, мне здесдь помогают. И очень здорово, спасибо. В общем все правы - без инициализации трудно понять что да как. Задача разогнать данную микросхему с 10 Mbit до 70 Mbit - хотябы. Есть некий режим Auto-Negotistion - позволяющий микросхеме автоматом настраиваться на скорость среды. Есть шина SRAM-like интерфейс, есть куча регистров, где нужно разобраться как, что подключается и конфигурируется, есть криво работающий драйвер, и на подходе новая микросхема для которой нужно писать с нуля сеть, есть железо, которое периодически у меня отбирают, есть конфликтные моменты, так как руководство не получает то, что хочет, а я пока не могу его удовлетворить. Блок схема - это системные вызовы драйвера ядра - описание взаимодействия ядро - драйвер, MAC,ARP,Eternet уровни и как они лежат в драйвере, Как драйвер отрабатывает пакеты IP уровень, В общем все подробно. Из своего опыта скажу, что это им нужно для полного контроля над процессом - я не против, я и так лезу из кожи чтоб все подробно рассказывать. А блок-схему хорошую в данной ситуации я не могу сделать так как чтоб ее сделать мне нужно вернуться к тому с чего я мачал и меня тормознули. > ибо ничего полезного под таким руководством, Да мне работа нужна и время на ее выполнение. У меня самостоятельных проектов порядка семи. Сам знаю, что делать и как продавливать. Конечно дружеский коллектив и поддержка всега на пользу. Извините что все это пишу, мне не нужны ни психологи ни мунуальные терапевты, хотя от хорошего не откажусь, просто Вы наехали и зацепили недоверием. За ссылки спасибо буду разбираться.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.