[ЗАКРЫТО] Как устроено ядро?

Доброго времени суток!
Давно ищу информацию о том, как же всё-таки устроено ядро (на примере х86-й версии, если есть принципиальные отличия веток). Натыкался на пару картинок, где типа блок-схема, но там всё очень глобально, а хотелось бы понять, как этот гигантский набор взаимновызываемых функций работает с железом, что именно и как он делает.
Суть проблемы в том, что я до конца не понимаю ни устройство системы СИшного компилятора, ни архитектуру современного ПК, ни устройство ядра Линукс.
Пытался читать Таненбаума, Ритчи, книжки по ассемблеру для ПК -=- всё равно что гулять по Эрмитажу с веб-камерой вместо глаз. :-| плюс, не встречал книжек про ассемблер для компов с коре-дуо и SDHC-картридером... а именно вот такие мелочи хотелось бы узнать... (и не перелопатив 800 страниц обо всём, что только может к этому относиться, а сразу, суть, чётко, ясно, лаконично - поэтому и задаю этот вопрос живым людям, обладающим интересующими меня знаниями) понять, кто кем как управляет... например, узнал тут, что, оказывается, через тот же SATA можно подцепить не только хард, и можно передавать хитрые команды... или такая фишка, как скорость повтора символа нажатой на клаве кнопки - оказывается, это делает клавиатура, повторно посылая код нажатой клавиши с заданным интервалом, который ей можно изменить (но в определённых пределах)... или интересно - когда клава подключалась в "палец" (пятиконтактный разъём, как на старых мафонах), то она соединялась напрямую со своим контроллером, а как это устроено щас, в эру USB-клавиатур?... короче, хочется узнать, какие именно железяки в компе есть, какие у них функции (вплоть до количества физических линий данных/команд - ибо это наверняка прояснит картину в некоторых ситуация, укажет причинно-следственную связь), как они между собой соединены (физически и логически) и какие куски каких файлов ядра как заставляют их как работать...???

Или же это всё проприетарная информация, ради обладания которой нужно продать душу дьяволу?!?!

Заранее благодарю вас Вас за ответ пропорционально его полезности для меня.

Поищи-ка ты в инетах книжку

Поищи-ка ты в инетах книжку "Ядро Linux с комментариями". 800 страниц, правда, но на примере старой ветки 2.2 разобрано все основательно. Кардинальных изменений с тех пор не было, основы вполне тебе прочтение этой книги заложит. А кратких и лаконичных ответов на свои вопросы ты не найдешь - потому как это ТВОИ вопросы и ответы на них искать ТЕБЕ.

Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"

Направление понял. :-|

Направление понял. :-|

Наткнулся на Роберт Лав -

Наткнулся на Роберт Лав - Разработка ядра Linux - она уже про ветку 2.6

Для начала неплохо было бы

Для начала неплохо было бы познакомиться с азами электроники, дабы иметь представление об принципах и вариантах построения базовых элементов цифровой техники (схемы И, ИЛИ,НЕ). Далее потребуется знание двоичной арифметики и алгебры логики, дабы научиться решать простейшие двоичные арифметические и алгебраические задачки. Затем продолжите кратким курсом системотехники дабы уметь строить из базовых элементов различного вида триггера, регистры, сумматоры. Далее требуется расмотреть хотя бы одну базовую архитектуру центрального процессора, все равно какого и познакомиться с парой тройкой ассемблеров. Танненбаум действительно сложноват, но вот с К. Ритчи вполне себе можно начать. Ну а лучшая информация о ядре - сурсы ядра. Глядишь леть через пять, и 8000 страниц вы узнаете то, что хотите. А пересказывать вам вкратце пятилетний курс института имхо бесполезно.

ЗЫ
Скажу по секрету - невозможно ничему научиццо, если баяццо книг где многа букафф.

Угомонись

У меня высшее образование инженера микроэлектронщика.
Tzar всё сказал.

>>У меня высшее образование

>>У меня высшее образование инженера микроэлектронщика.

Чтож вы тогда нам всем голову морочите? Неужели сложно разобрать клавиатуру и посмотреть где у нее контроллер? Так же сомнительно чтоб микроэлектронщикам не давали бы цифровых автоматов. А ваш вопросик тянет на вышку системотехника.

сложно

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

Tzar указал на книгу, которая, судя по описанию, должна ответить на большинство моих вопросов - скачал, изучаю. Если впоследствии возникнут новые вопросы, я их здесь допишу (если это будет целесообразно)

/

El Pharaoh написал(а):
Tzar указал на книгу, которая, судя по описанию, должна ответить на большинство моих вопросов - скачал, изучаю. Если впоследствии возникнут новые вопросы, я их здесь допишу (если это будет целесообразно)

ИМХО неверный путь.

Некоторое описание общих принципов (за достаточную полноту/актуальность оного в упомянутых книгах я бы не подписался).
Карты гадальные:

И навыки работы с первичной документацией, идущей в комплекте с исходниками (/usr/src/linux/Documentation/).

:wq
--
Live free or die

>>Сложно разобрать южный мост

>>Сложно разобрать южный мост и узнать, что в него напихали

http://ru.wikipedia.org/wiki/%D0%AE%D0%B6%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D1%81%D1%82_%28%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%29

Для этого существует архитектурная схему современной материнки. Различные устройсва требуют различных скоростей, один из используемых принципов построения - объединение устройств в СБИС по уровню скорости. Как правило выделяют высокоскоростные (память,видео == северный мост - разъемы памяти и видео), устройства со средней скоростью (слоты pci... == южный мост), и различные устройсва ввода вывода (usb,lpt,com ===мультиконтроллер).
Вариантов объединения туча. У амд есть решения "все в одном" - для встраиваемых систем. Потому что конкретно с чем объединено - надо читать в документации на микросхему. Вам это зачем? Вы собираетесь стать разработчиком железа? Ведь с точки зрения программиста - без разницы что куда встроено. Это представляет интерес для микроэлетронщиков на предмет вариаций производительности, энергопотребления и теплоотдачи.

>>И как оно там взаимодействует.
Через шину адреса, шину данных и шину управления, как правило. В основном устройства НЕ взаимодействуют друг стругом. Они взаимодействуют с ЦП, он выставляет дрес ячейки памяти или адрес регистра устройства, и затем записывает или считывает из этого регистра некие значения. Исключение составляет режим DMA, в котором устройство самостоятельно работает с памятью. Состав регистров устройства и методика работы с ними определяется спецификацией устройства, без которой достаточно сложно писать драйвера.

Савельев А.Я.
Прикладная теория цифровых автоматов.

По поводу ассембреров. Книг полно. В том числе и по программированию контроллеров. Достаточно набрать волшебные слова "ассемблер книги" в гугле. Зубков пишет достаточно внятно
http://asm-book.narod.ru/LiteraturaKnigiAssemblerAssembler_dlya_DOSWindows_i_UNIX.html
Это чтоб не плавать в вопросах управления устройствами. А за спецификацией ДОПОЛНИТЕЛНЫХ команд того или иного камня необходимо иметь документацию на процессор.

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

Короче не парься. Я хотел

Короче не парься. Я хотел узнать, как мне узнать то, чего я ещё не знаю. Узнал - разбирать исходники ядра (с помощью дефолтных доков и разных книжек) - этим в ближайшем будущем и буду заниматься.
>> Если впоследствии возникнут новые вопросы, я их здесь допишу (если это будет целесообразно)

Вопрос можно считать закрытым. Всем спасибо за участие

Скажу по секрету две вещи. 1.

Скажу по секрету две вещи.

1. Что за К. Ритчи? Знаю Денниса Ритчи. Керниган - это фамилия. Брайан Керниган.
2. С русским, как я погляжу, плоховато, м? ))

Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"

Опасную игру вы затеяли, дай

Опасную игру вы затеяли, дай Бог Вам конечно сил и терпения, но в один момент вы скажете: "А не попить ли мне пивка"?

> Опасную игру вы затеяли;)

> Опасную игру вы затеяли

;) победители переезжают за бугор и пью шампанское. ИМХО это того стоит

El Pharaoh написал(а): ;)

El Pharaoh написал(а):
;) победители переезжают за бугор и пью шампанское. ИМХО это того стоит

Второе стоит, а вот насчёт первого ой как не уверен.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".