dengan pengalaman Anda hanya membaca sumber kernel akan membantu.)
Eimantas
3
RTFS selalu yang terbaik, tetapi terkadang sedikit membaca lite membuat sumbernya sedikit lebih mudah dimengerti.
Stephen Jazdzewski
Seseorang yang memiliki hak mengedit benar-benar harus mengedit judul itu.
jjclarkson
1
Saat ini saya mengikuti saran Matt Might dalam artikelnya, Apa Yang Harus Diketahui Setiap Ilmu Komputer . Dia merekomendasikan Lingkungan Pemrograman Unix oleh Kernighan dan Pike, Linux Server Hacks, UNIX dan Linux System Administration Handbook oleh Nemeth, Synder, Hein dan Whaley, Pengembangan Kernel Linux oleh Love, dan Pemrograman Jaringan Unix oleh Stevens, Fenner dan Rudoff.
Anthony
1
@Anthony, itu adalah sumber yang bagus, tetapi lebih berorientasi ke userland / baris perintah. Juga, khususnya Linux berubah sangat cepat sekarang, Anda harus tetap up to date. Sumber daya yang bagus adalah LWN dan kernelnewbies .
vonbrand
Jawaban:
36
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.
+1 untuk buku Lions. Xv6 MIT adalah versi modern Lions v6 yang berjalan pada mesin x86 dan menggunakan ANSI C. Baik kode sumber dan buku teks terkait dapat diunduh.
Daniel Näslund
8
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.
Singkatnya kernel Linux adalah tentang bagaimana membangun dan menginstal kernel, tidak benar-benar tentang internal Linux / Unix. Bukan untuk mengatakan itu bukan buku yang bagus, tapi saya agak bias. Oh, kedua buku ini gratis online jika Anda ingin melihatnya di sana.
Greg KH
5
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.
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.
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.
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.
sumber
Anda pasti ingin membaca Pemrograman Lanjutan di Lingkungan Unix oleh Stevens . Jangan biarkan judul tingkat lanjut membuat Anda takut, itu sangat mudah dibaca.
sumber
sumber
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.
Beberapa buku tentang manajemen memori virtual
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 .
sumber
Kernel Linux O'REILLY secara singkat
dan Driver Perangkat O'REILLY Linux
sumber
Pemrograman Sistem Linux atau buku lain oleh Robert Love (ini semua buku O'Reilly):
http://oreilly.com/catalog/9780596009588
sumber
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.
sumber
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/
sumber
Linux Device Drivers adalah sumber yang bagus. Itu akan memberi Anda cara lain untuk masuk ke pekerjaan batin. Dari kata pengantar:
sumber
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.
sumber
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.
sumber