с вашим опытом помогло бы только чтение исходного кода ядра.)
Eimantas
3
RTFS всегда лучше, но иногда небольшое чтение облегчает понимание источника.
Стивен Яздевски
Тот, кто имеет права на редактирование, действительно должен редактировать этот заголовок.
jjclarkson
1
В настоящее время я следую совету Мэтта Мейта в его статье « Что должен знать каждый специалист по информатике» . Он порекомендовал среду программирования Unix от Kernighan и Pike, Linux Server Hacks, справочник по системному администрированию UNIX и Linux от Nemeth, Synder, Hein и Whaley, разработку ядра Linux от Love и сетевое программирование Unix от Stevens, Fenner и Rudoff.
Энтони
1
@ Энтони, это отличные ресурсы, но больше ориентированные на пользователя / командную строку. Кроме того, особенно Linux сейчас меняется очень быстро, вам нужно быть в курсе. Хорошие ресурсы - LWN и kernelnewbies .
vonbrand
Ответы:
36
Вот несколько советов о том, как понять «дух» Unix, в дополнение к прекрасным рекомендациям, которые были сделаны в предыдущих постах:
«Среда программирования Unix» Кернигана и Пайка: старая книга, но она показывает суть среды Unix. Это также поможет вам стать эффективным пользователем оболочки.
«Unix для нетерпеливых» - это полезный ресурс, чтобы научиться ориентироваться в среде Unix. Один из любимых.
Если вы хотите стать опытным пользователем, нет ничего лучше, чем «Unix Power Tools» от O'Reilly, который состоит из коллективных советов и трюков от профессионалов Unix.
Еще одна книга, о которой я не упомянул, - это забавный свет и учебное чтение - книга «Операционные системы, проектирование и реализация», книга Энди Таненбаума, включающая исходный код полной операционной системы Unix в 12 тысяч строк кода.
+1 за книгу львов. MIT xv6 - это современная версия Lions v6, которая работает на компьютерах с архитектурой x86 и использует ANSI C. Можно загрузить как исходный код, так и соответствующий учебник.
Даниэль Нэслунд
8
Книги / сайты / руководства, которые я часто использую:
Ядро Linux : эта книга опубликована в сети как часть TLDP (Проект документации Linux). Это не современное и не внутреннее руководство, но предоставляет полезную информацию и вводные материалы о принципах и механизмах ядра.
Понимание ядра Linux: ИМХО, это лучшая книга для начинающих, которые имеют представление о дизайне и концепции операционных систем. Он принят как актуальный, охватывает версию 2.6 ядра. В Интернете есть HTML-версия книги, но я думаю, что она наиболее вероятна.
При изучении внутренних компонентов ядра Linux вам, как правило, необходимо узнать, как работает аппаратное обеспечение и какое оборудование оно предоставляет абстрактно. У Intel есть отличные руководства для этого.
Короче говоря, ядро Linux - о том, как собрать и установить ядро, а не о внутренностях Linux / Unix. Не сказать, что это не хорошая книга, но я немного предвзят. Ох, обе эти книги бесплатны в Интернете, если вы хотите посмотреть их там.
Грег К.Х.
5
Программирование систем Linux или любая другая книга Роберта Лава (все это книги О'Рейли):
Я согласен со всеми остальными и должен сказать, что APUE Стивенса (у меня второе издание) - это классика. Я также хотел бы добавить, что « Искусство программирования в UNIX» Эрика Рэймонда стоит в одном ряду с Стивенсом в моем списке.
Драйверы устройств Linux - еще один хороший ресурс. Это даст вам другой способ проникнуть во внутреннюю работу. Из предисловия:
На первый взгляд, это книга о написании драйверов устройств для системы Linux. Это достойная цель, конечно; поток новых аппаратных продуктов вряд ли замедлится в ближайшее время, и кому-то придется заставить все эти новые гаджеты работать с Linux. Но эта книга также о том, как работает ядро Linux и как адаптировать его работу к вашим потребностям или интересам. Linux - открытая система; мы надеемся, что благодаря этой книге она станет более открытой и доступной для более широкого сообщества разработчиков.
Чтобы понять, почему и для чего предназначено ядро, взгляните на «Искусство программирования Unix » Эрика Рэймонда. Это берет вещи на довольно высоком, философском уровне, но это будет соответствовать мелким деталям других книг.
Я подробно описал первый (если бы у меня была лучшая память, и у меня было больше времени, я бы знал намного больше, чем сейчас; но это уже другая история). Я сейчас читаю второй.
Ответы:
Вот несколько советов о том, как понять «дух» Unix, в дополнение к прекрасным рекомендациям, которые были сделаны в предыдущих постах:
«Среда программирования Unix» Кернигана и Пайка: старая книга, но она показывает суть среды Unix. Это также поможет вам стать эффективным пользователем оболочки.
«Unix для нетерпеливых» - это полезный ресурс, чтобы научиться ориентироваться в среде Unix. Один из любимых.
Если вы хотите стать опытным пользователем, нет ничего лучше, чем «Unix Power Tools» от O'Reilly, который состоит из коллективных советов и трюков от профессионалов Unix.
Еще одна книга, о которой я не упомянул, - это забавный свет и учебное чтение - книга «Операционные системы, проектирование и реализация», книга Энди Таненбаума, включающая исходный код полной операционной системы Unix в 12 тысяч строк кода.
источник
Вы определенно хотите прочитать Стивенс: «Расширенное программирование в среде Unix» . Не позволяйте заголовку Advanced пугать вас, он очень читабелен.
источник
источник
Книги / сайты / руководства, которые я часто использую:
Ядро Linux : эта книга опубликована в сети как часть TLDP (Проект документации Linux). Это не современное и не внутреннее руководство, но предоставляет полезную информацию и вводные материалы о принципах и механизмах ядра.
Понимание ядра Linux: ИМХО, это лучшая книга для начинающих, которые имеют представление о дизайне и концепции операционных систем. Он принят как актуальный, охватывает версию 2.6 ядра. В Интернете есть HTML-версия книги, но я думаю, что она наиболее вероятна.
Некоторая книга об управлении виртуальной памятью
При изучении внутренних компонентов ядра Linux вам, как правило, необходимо узнать, как работает аппаратное обеспечение и какое оборудование оно предоставляет абстрактно. У Intel есть отличные руководства для этого.
Руководства разработчика программного обеспечения для архитектуры Intel 64 и IA-32 : актуальная подробная информация.
Справочное руководство для программиста Intel 80386 : я знаю, что это немного устарело, но я многому научился из этого руководства.
Если вам необходимо изучить дизайн и концепцию операционных систем, я предлагаю следующую книгу: Концепции операционной системы .
источник
Ядро O'REILLY Linux в двух словах
и драйверы устройств O'REILLY Linux
источник
Программирование систем Linux или любая другая книга Роберта Лава (все это книги О'Рейли):
http://oreilly.com/catalog/9780596009588
источник
Я согласен со всеми остальными и должен сказать, что APUE Стивенса (у меня второе издание) - это классика. Я также хотел бы добавить, что « Искусство программирования в UNIX» Эрика Рэймонда стоит в одном ряду с Стивенсом в моем списке.
источник
Что касается BSD Unices, есть проект и реализация операционной системы 4.4BSD, части которой теперь, по-видимому, доступны бесплатно по адресу http://www.freebsd.org/doc/en/books/design-44bsd/.
источник
Драйверы устройств Linux - еще один хороший ресурс. Это даст вам другой способ проникнуть во внутреннюю работу. Из предисловия:
источник
Чтобы понять, почему и для чего предназначено ядро, взгляните на «Искусство программирования Unix » Эрика Рэймонда. Это берет вещи на довольно высоком, философском уровне, но это будет соответствовать мелким деталям других книг.
источник
Могу ли я предложить следующие две книги (помимо других):
Я подробно описал первый (если бы у меня была лучшая память, и у меня было больше времени, я бы знал намного больше, чем сейчас; но это уже другая история). Я сейчас читаю второй.
источник