Я працював над середовищем * nix протягом останніх чотирьох років як розробник додатків (переважно в С).
Будь ласка, запропонуйте кілька книг / блогів тощо для вдосконалення моїх знань * nix.
Я працював над середовищем * nix протягом останніх чотирьох років як розробник додатків (переважно в С).
Будь ласка, запропонуйте кілька книг / блогів тощо для вдосконалення моїх знань * nix.
Відповіді:
Ось кілька пропозицій, як зрозуміти "дух" Unix, на додаток до тонких рекомендацій, зроблених у попередніх публікаціях:
"Середовище програмування Unix" Керніган та Пайк: стара книга, але вона показує суть середовища Unix. Це також допоможе вам стати ефективним користувачем оболонки.
"Unix для нетерплячих" є корисним ресурсом для навчання орієнтуватися в середовищі Unix. Один із моїх улюблених.
Якщо ви хочете стати енергетичним користувачем, не існує нічого кращого, ніж "Унікальні електроінструменти" Unix, що складається з колективних порад та рекомендацій професіоналів Unix.
Ще одна книга, про яку я не бачив, як це веселе світло та просвітницьке читання, - це "Операційні системи, проектування та впровадження", книга Енді Таненбаума, яка включала вихідний код для повноцінної операційної системи Unix у рядках коду 12k.
Ви точно хочете прочитати розширене програмування в середовищі Unix від Stevens . Не дозволяйте розширеному заголовку вас налякати, його дуже легко читати.
Книги / сайти / посібники, якими я часто користуюся:
Ядро Linux : Ця книга опублікована в Інтернеті як частина TLDP (проект документації Linux). Це не сучасний і не внутрішній посібник, але надає корисну інформацію та вступні матеріали про принципи та механізми роботи ядра.
Розуміння Linux Kernel: IMHO, це найкраща книга для початківців, які мають знання про дизайн та концепцію операційних систем. Він прийнятий як сучасний, охоплює версію 2.6 ядра. В Інтернеті є версія HTML -книги, але я вважаю, що це, ймовірно, warez.
Вивчаючи внутрішні файли ядра Linux, вам зазвичай потрібно дізнатися, як працює апаратне забезпечення та яке обладнання надається абстрактно. Intel має чудові посібники для цього.
Інструкції для розробників програмного забезпечення для архітектури Intel 64 та IA-32 : сучасна детальна інформація.
Довідковий посібник для програміста Intel 80386 : Я знаю, що це давно, але я дізнався багато речей з цього посібника.
Якщо вам потрібно вивчити дизайн та концепцію операційних систем, пропоную наступну книгу: Концепції операційної системи .
Програмування систем Linux або будь-яка інша книга Роберта Лава (це все книги O'Reilly):
Я погоджуюся з усіма іншими, і мушу сказати, що APUE Стівенса (у мене друге видання) - це класика. Я також хотів би додати, що Ерік Реймонд " Мистецтво програмування UNIX" займає місце там, а Стівенс у моєму списку.
Що ж, для BSD Unices, існує розробка та впровадження операційної системи 4.4BSD, частини якої тепер, очевидно, доступні безкоштовно на веб- сайті http://www.freebsd.org/doc/en/books/design-44bsd/
Ще один хороший ресурс - драйвери пристроїв Linux . Це дало б вам інший спосіб потрапити у внутрішні розробки. З передмови:
Це, на перший погляд, книга про написання драйверів пристроїв для системи Linux. Це, звичайно, гідна мета; Потік нових апаратних продуктів швидше за все не сповільниться, і комусь доведеться змусити всі ці нові гаджети працювати з Linux. Але ця книга також про те, як працює ядро Linux та як адаптувати його роботи до ваших потреб чи інтересів. Linux - це відкрита система; ця книга, ми сподіваємось, вона є більш відкритою та доступною для більшої спільноти розробників.
Щоб зрозуміти, чому і для чого ядро має підтримуватись, ознайомтеся з програмою The Art of Unix програмуванням Еріка Реймонда. Це сприймає речі на досить високому, філософському рівні, але це було б добре в поєднанні з кричущими деталями інших книг.
Я можу запропонувати наступні дві книги (крім інших):
Я детально згадував про перший (Якби у мене була краща пам'ять і було б більше часу, я б знав набагато більше, ніж зараз, але це вже інша історія). Зараз я читаю другий.