Inside Linux
От: Sergey J. A. Беларусь  
Дата: 17.05.04 09:44
Оценка:
Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...

А то недавно прочёл одну книжку, и понял, что мои представления о внутреннем устройстве OS несколько однобокие и больше склоняються к архитектуре NT.

И ещё маааленький вопрос :
Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
Re: Inside Linux
От: raskolnikov  
Дата: 17.05.04 10:32
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


Dlja ponjatija draiverov eto vrode kak standartnaja kniga:
http://www.xml.com/ldd/chapter/book/

Sei4as Besplatno!!! (blin, a kogtato sa bolshie dengi pokupal)


SJA>И ещё маааленький вопрос :

SJA>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?

Esli u tebja jadro s funktionalnostju "devfs", to oni sami pojavljajutsja, i tolko dlja
sagruzhenyh draiverov.

S Uvazheniem.
Re: Inside Linux
От: glyph  
Дата: 17.05.04 14:01
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...

Она в сорсах идет, что еще надо?
Я сам ищу такую вещь: в "Unix для профессионалов" в гритсах покойным в самом начале упомянту некий Лайонз. И написано, что он в свое время выпустил книгой комментарии более чем к 10 тыс. строк кода Юникс. Потом из-за проблем с авторскими правами книгу изъяли, но она еще долго циркулировала в виде самиздата. Говорят, что можно найти где-то в сети, но я уже год ищу без толку.
SJA>И ещё маааленький вопрос :
SJA>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
makedev? butcher щас поправит...
В некоторых появляется. Например в FreeBSD 5.x
Re: Inside Linux
От: Аноним  
Дата: 17.05.04 14:05
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

Не совсем по Linux, но по UNIX Ю. Вахалия "UNIX изнутри"
http://www.ozon.ru/context/detail/id/1485458/
Есть в цифре на английском.
Re: Inside Linux
От: duan Россия  
Дата: 17.05.04 14:07
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


У меня была такая проблемма. Читай исходники. Если проблем с си нет начни с 2.2. А затем 2.4. В сети ОГРОМНОЕ количество материала комметирующее те или иные моменты исходного кода ядра. Авторы — собственно те кто писали исходный код. Я так вполне сносно освоил создание и управление процессов в 2.2 — 2.4.
Re[2]: Inside Linux
От: Sergey J. A. Беларусь  
Дата: 17.05.04 14:14
Оценка:
Здравствуйте, glyph, Вы писали:

G>Здравствуйте, Sergey J. A., Вы писали:


SJA>>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...

G> Она в сорсах идет, что еще надо?

Ага... Изучать всю эту тучу кода ? У меня столько времени нету...

G> Я сам ищу такую вещь: в "Unix для профессионалов" в гритсах покойным в самом начале упомянту некий Лайонз. И написано, что он в свое время выпустил книгой комментарии более чем к 10 тыс. строк кода Юникс. Потом из-за проблем с авторскими правами книгу изъяли, но она еще долго циркулировала в виде самиздата. Говорят, что можно найти где-то в сети, но я уже год ищу без толку.

SJA>>И ещё маааленький вопрос :
SJA>>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
G> makedev? butcher щас поправит...
G> В некоторых появляется. Например в FreeBSD 5.x
Re[2]: Inside Linux
От: Sergey J. A. Беларусь  
Дата: 17.05.04 14:18
Оценка:
Здравствуйте, duan, Вы писали:

D>Здравствуйте, Sergey J. A., Вы писали:


SJA>>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


D>У меня была такая проблемма. Читай исходники. Если проблем с си нет начни с 2.2. А затем 2.4. В сети ОГРОМНОЕ количество материала комметирующее те или иные моменты исходного кода ядра. Авторы — собственно те кто писали исходный код. Я так вполне сносно освоил создание и управление процессов в 2.2 — 2.4.


Проблес с С нету. Есть большие проблемы со временем... Да и не настолько подробно мне это нужно знать. Хочу просто посмотреть, как там что внутри работает, без особых подробностей на уровне кода. Хочу сравнить структуру с NT-шной...
Re: Inside Linux
От: Сергей Глазунов Украина  
Дата: 17.05.04 14:27
Оценка: 1 (1)
Здравствуйте, Sergey J. A., Вы писали:

У самого дома подобные "Inside Windows 2000" книги:
  • Ю. Вахалия "UNIX изнутри"

  • У. Стивенс "UNIX: взаимодействие процессов"

  • У. Стивенс "UNIX: разработка сетевых приложений"

    Книгами доволен
  • Re[3]: Inside Linux
    От: duan Россия  
    Дата: 17.05.04 14:34
    Оценка: 1 (1)
    Здравствуйте, Sergey J. A., Вы писали:



    SJA>Ага... Изучать всю эту тучу кода ? У меня столько времени нету...

    Так только кажется. Возьми ядро попроще 1.#.# и описание именно от тех кто писал эти строки кода.
    На http://www.opennet.ru/docs/ есть например дока с названием "Управление процессами и прерываниями". Это про ядро 2.4. Точно меньше чем у руссиновича. Лично для меня, кода из ядра только ускорил процесс понимания.

    Ну уж точно не дольше, чем прочитать книгу руссиновича. И уж точно точнее.

    Да, кстати архитектура довольно серьезно менялась от ядра к ядру.
    Re[2]: Inside Linux
    От: Sergey J. A. Беларусь  
    Дата: 17.05.04 14:37
    Оценка:
    Здравствуйте, Сергей Глазунов, Вы писали:

    СГ>Здравствуйте, Sergey J. A., Вы писали:


    СГ>У самого дома подобные "Inside Windows 2000" книги:

    СГ>
  • Ю. Вахалия "UNIX изнутри"
    СГ>здесь была картинка

    Попробую её купить в эти выходные, пока зарплату не пропил Название у неё самое подходящее Если найду, конечно её у нас в Минске...
  • Re[3]: Inside Linux
    От: duan Россия  
    Дата: 17.05.04 14:46
    Оценка: 12 (1)
    Здравствуйте, Sergey J. A., Вы писали:

    SJA>Здравствуйте, Сергей Глазунов, Вы писали:


    SJA>Попробую её купить в эти выходные, пока зарплату не пропил Название у неё самое подходящее Если найду, конечно её у нас в Минске...


    Есть еще парочка бесплатных. Может, что полезное найдете.
    http://www.linux.org/docs/online_books.html
    Re[2]: Inside Linux
    От: Аноним  
    Дата: 17.05.04 14:49
    Оценка:
    G> Я сам ищу такую вещь: в "Unix для профессионалов" в гритсах покойным в самом начале упомянту некий Лайонз. И написано, что он в свое время выпустил книгой комментарии более чем к 10 тыс. строк кода Юникс. Потом из-за проблем с авторскими правами книгу изъяли, но она еще долго циркулировала в виде самиздата. Говорят, что можно найти где-то в сети, но я уже год ищу без толку.
    Не эту случайно? К сожалению эта страничка заброшена и я также не нашел ее ни в одном он-лайн магазине мира. Контактировал их. Сказали, что возможно новое издание появится, но пока не слышно.

    А вообще, тот код, что изложен в этой книге есть в сети. Там вся ОСь с утилитами и директории Кена Томпсона и Денниса Ритчи. Кода не так уж и много по сравнению со всеми этими FreeBSD, Линуксами... Я бы сказал, что даже мало.

    Автору: читай Маккузика, Баха, Вахалию а также Рубини и Энди Танненбаума. Есть еще книга по устройству Солариса, но автора не помню.
    Re[2]: Inside Linux
    От: butcher Россия http://bu7cher.blogspot.com
    Дата: 17.05.04 14:56
    Оценка:
    Здравствуйте, glyph.

    Вы писали 17 мая 2004 г., 18:01:39:

    SJA>>Почему нужно явно создавать файлы устройств с помощъю mknod

    SJA>>(вроде). Почему не сделано так — файлы сами появляються когда
    SJA>>драйвер загружен ?
    g> makedev? butcher щас поправит...
    g> В некоторых появляется. Например в FreeBSD 5.x
    Много не скажу, не слишком компетентен, скажу что знаю.
    Файлы устройств в /dev служат для создания интерфейса между
    приложениями пользователя и драйверами устройств.
    В Линухах на сколько я знаю, довольно давно есть поддержка devfs,
    которая избавляет пользователя от этой мороки. В 4STABLE и 5-ой
    версии FreeBSD тоже используется devfs.
    На счёт создания этих "файлов", да, создаются они командой mknod, во
    многих юнихах есть шелл скрипт /dev/MAKEDEV который "знает" какие
    параметры передавать в mknod для создания файла определённого
    устройства.
    --
    С уважением, butcher
    Posted via RSDN NNTP Server 1.8 beta

    Нет ничего невозможного..
    Re: Inside Linux
    От: CyberLord_  
    Дата: 18.05.04 09:44
    Оценка:
    Здравствуйте, Sergey J. A., Вы писали:

    SJA>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


    SJA>А то недавно прочёл одну книжку, и понял, что мои представления о внутреннем устройстве OS несколько однобокие и больше склоняються к архитектуре NT.


    SJA>И ещё маааленький вопрос :

    SJA>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
    Андрей Робачевский "Операционная система UNIX" — очень хорошая книга по архитектуре и программированию UNIX основанных систем.
    Марк Митчелл, Джеффри Оулдем, Алекс Самьюэл "Программирование для Linux. Профессиональный подход" — просто хорошая книга, рекомендуется всем.
    Re: Inside Linux
    От: vikont Россия  
    Дата: 19.05.04 05:18
    Оценка:
    Э. Таненбаум
    "Свременные операционныу системы"
    Re: Inside Linux
    От: stasik_garifulin  
    Дата: 20.05.04 09:31
    Оценка:
    Здравствуйте, Sergey J. A., Вы писали:

    SJA>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


    SJA>А то недавно прочёл одну книжку, и понял, что мои представления о внутреннем устройстве OS несколько однобокие и больше склоняються к архитектуре NT.

    Вообще, если вдуматься, принципиальных отличий между NT и Unix нет. Хочешь разнообразия почитай о таких вещах как AS/400 .

    SJA>И ещё маааленький вопрос :

    SJA>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
    А почему драйвер должен это делать? В общем случае нет никаких правил, определяющих как должен называться (где должен располагаться) файл устройства.
    Конечно, многим (всем) хочется, чтобы при обнаружении в системе устройства, грузился бы драйвер для него и создавался соответствующий файл. Юниксы решают это по-разному. Например, в linux 2.6 такую работу системы обеспечивают sysfs (виртуальная файловая система, представляющая в виде обычных файлов структуры ядра, описывающие устройства), hotplug (скрипты, вызываемые ядром при обнаружении нового устройства в системе) и udev (програмулина, вызываемая hotplug'ом, создающая файлы устройств по заданным пользователям правилам).
    ... << RSDN@Home 1.1.3 stable >>
    Re[2]: Inside Linux
    От: Sergey J. A. Беларусь  
    Дата: 20.05.04 09:49
    Оценка:
    Здравствуйте, stasik_garifulin, Вы писали:

    _>Здравствуйте, Sergey J. A., Вы писали:


    SJA>>Может кто подскажет какую ссылочку на описание архитектуры Linux. Что-нибудь наподобие "Inside Windows 2000" от М.Руссинович и Д.Соломона. Много встречал доков, которые описывают архитектуру, но поверхносно... Хотелось бы знать как допустим организованы драйвера, как поддерживается PnP, потоки, процессы...


    SJA>>А то недавно прочёл одну книжку, и понял, что мои представления о внутреннем устройстве OS несколько однобокие и больше склоняються к архитектуре NT.

    _>Вообще, если вдуматься, принципиальных отличий между NT и Unix нет. Хочешь разнообразия почитай о таких вещах как AS/400 .

    Я по Unix-у найти не могу, а уж о AS/400 и говорить нечего... По крайней мере у нас на книжном рынке я ничего такого не встречал...

    SJA>>И ещё маааленький вопрос :

    SJA>>Почему нужно явно создавать файлы устройств с помощъю mknod (вроде). Почему не сделано так — файлы сами появляються когда драйвер загружен ?
    _>А почему драйвер должен это делать? В общем случае нет никаких правил, определяющих как должен называться (где должен располагаться) файл устройства.

    Файлы устройства могут располагаться не в /dev/ ? Хм... Не слышал я что-то такого....
    Re[2]: Inside Linux
    От: butcher Россия http://bu7cher.blogspot.com
    Дата: 20.05.04 09:55
    Оценка:
    Здравствуйте, stasik_garifulin.

    Вы писали 20 мая 2004 г., 13:31:43:

    s> Вообще, если вдуматься, принципиальных отличий между NT и Unix

    s> нет. Хочешь разнообразия почитай о таких вещах как AS/400 .
    Всётаки отличия я думаю есть..

    s> А почему драйвер должен это делать? В общем случае нет никаких

    s> правил, определяющих как должен называться (где должен
    s> располагаться) файл устройства.
    Правила есть, на счёт их точно сказать не могу, но покрайней мере
    существует договорённость (возможно даже на уровне стандарта), как,
    где и какие должный быть файлы устройств.
    --
    С уважением, butcher
    Posted via RSDN NNTP Server 1.8

    Нет ничего невозможного..
    Re[3]: Inside Linux
    От: butcher Россия http://bu7cher.blogspot.com
    Дата: 20.05.04 10:02
    Оценка:
    Здравствуйте, Sergey.

    Вы писали 20 мая 2004 г., 13:49:11:

    SJA> Файлы устройства могут располагаться не в /dev/ ?

    SJA> Хм... Не слышал я что-то такого....
    На сколько я знаю, например в Solaris они находятся в каталоге
    /devices, хотя есть симлинк /dev
    --
    С уважением, butcher
    Posted via RSDN NNTP Server 1.8

    Нет ничего невозможного..
    Re[3]: Inside Linux
    От: SlothMind  
    Дата: 15.06.04 13:40
    Оценка: 1 (1)
    Здравствуйте, Sergey J. A., Вы писали:


    SJA> Файлы устройства могут располагаться не в /dev/ ? Хм... Не слышал я что-то такого....


    Файлы устройств могут располагаться в любой точке локально смонтированной файловой системы.
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.