Saya telah bekerja di lingkungan * nix selama empat tahun terakhir sebagai pengembang aplikasi (kebanyakan di C).
Harap sarankan beberapa buku / blog, dll. Untuk meningkatkan pengetahuan internal * nix saya.
Saya telah bekerja di lingkungan * nix selama empat tahun terakhir sebagai pengembang aplikasi (kebanyakan di C).
Harap sarankan beberapa buku / blog, dll. Untuk meningkatkan pengetahuan internal * nix saya.
Jawaban:
Berikut adalah beberapa saran tentang bagaimana memahami "semangat" Unix, di samping rekomendasi bagus yang telah dilakukan di posting sebelumnya:
"Lingkungan Pemrograman Unix" oleh Kernighan dan Pike: sebuah buku tua, tetapi ia menunjukkan esensi dari lingkungan Unix. Ini juga akan membantu Anda menjadi pengguna shell yang efektif.
"Unix for the Imperatient" adalah sumber yang berguna untuk belajar menavigasi lingkungan Unix. Salah satu favoritku.
Jika Anda ingin menjadi pengguna yang kuat, tidak ada yang lebih baik dari O'Reilly "Unix Power Tools" yang terdiri dari tips dan trik kolektif dari para profesional Unix.
Buku lain yang belum saya lihat menyebutkan bahwa itu adalah cahaya yang menyenangkan dan bacaan pendidikan adalah "Sistem Operasi, Desain dan Implementasi", buku dari Andy Tanenbaum yang memasukkan kode sumber untuk sistem operasi Unix lengkap dalam 12k baris kode.
Anda pasti ingin membaca Pemrograman Lanjutan di Lingkungan Unix oleh Stevens . Jangan biarkan judul tingkat lanjut membuat Anda takut, itu sangat mudah dibaca.
Buku / situs / manual yang sering saya gunakan:
Kernel Linux : Buku ini diterbitkan online sebagai bagian dari TLDP (The Linux Documentation Project). Ini bukan yang terbaru dan bukan manual internal, tetapi memberikan informasi yang berguna dan bahan pengantar tentang prinsip dan mekanisme kernel.
Memahami Kernel Linux: IMHO, ini adalah buku terbaik untuk pemula yang memiliki latar belakang tentang desain dan konsep sistem operasi. Ini diterima sebagai yang terbaru, mencakup versi 2.6 dari kernel. Ada versi HTML buku di web, tapi saya pikir itu kemungkinan besar adalah warez.
Saat mempelajari Linux kernel internal, Anda biasanya perlu mempelajari cara kerja perangkat keras dan perangkat keras apa yang disediakan secara abstrak. Intel memiliki manual yang bagus untuk ini.
Manual Pengembang Perangkat Lunak Arsitektur Intel 64 dan IA-32 : Informasi terkini dan terperinci.
Manual Referensi Programmer Intel 80386 : Saya tahu ini sedikit lama tetapi saya telah belajar banyak hal dari manual ini.
Jika Anda perlu belajar tentang desain dan konsep sistem operasi, saya sarankan buku berikut: Konsep Sistem Operasi .
Kernel Linux O'REILLY secara singkat
dan Driver Perangkat O'REILLY Linux
Pemrograman Sistem Linux atau buku lain oleh Robert Love (ini semua buku O'Reilly):
Saya setuju dengan yang lain dan saya harus mengatakan bahwa APUE Stevens (saya punya edisi kedua) adalah klasik. Saya juga ingin menambahkan bahwa Programming of the UNIX Programming karya Eric Raymond ada di sana bersama Stevens di daftar saya.
Nah, untuk BSD Unices, ada Desain dan Implementasi Sistem Operasi 4.4BSD, bagian yang sekarang tampaknya tersedia secara gratis di http://www.freebsd.org/doc/en/books/design-44bsd/
Linux Device Drivers adalah sumber yang bagus. Itu akan memberi Anda cara lain untuk masuk ke pekerjaan batin. Dari kata pengantar:
Di permukaan, ini adalah buku tentang menulis driver perangkat untuk sistem Linux. Itu adalah tujuan yang layak, tentu saja; aliran produk perangkat keras baru kemungkinan tidak akan melambat dalam waktu dekat, dan seseorang harus membuat semua gadget baru itu bekerja dengan Linux. Tetapi buku ini juga tentang bagaimana kernel Linux bekerja dan bagaimana menyesuaikan kerjanya dengan kebutuhan atau minat Anda. Linux adalah sistem terbuka; dengan buku ini, kami berharap, buku ini lebih terbuka dan dapat diakses oleh komunitas pengembang yang lebih besar.
Untuk mengetahui mengapa dan apa yang dimaksud kernel untuk didukung, lihatlah The Art of Unix Programming oleh Eric Raymond. Dibutuhkan hal-hal pada tingkat filosofis yang cukup tinggi, tetapi akan cocok dengan detail seluk beluk dari buku-buku lain.
Bolehkah saya menyarankan dua buku berikut juga (selain yang lain):
Saya telah merujuk yang pertama secara ekstensif (Jika saya memiliki ingatan yang lebih baik, dan memiliki lebih banyak waktu, saya akan tahu lebih banyak daripada yang saya lakukan sekarang, tetapi itu adalah cerita lain). Saya sedang membaca yang kedua.