π Linux Kernel Programming, 2nd Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization (2024)
βοΈ ΠΠ²ΡΠΎΡ: Kaiwan N Billimoria
π Π‘ΡΡΠ°Π½ΠΈΡ: 826
ΠΡ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΡΠΎ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ, ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ, Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ΄ΡΠ° Loadable Kernel Module (LKM). Π‘ ΡΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π²Ρ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΠ΅ΡΡ Π² ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅ΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ΄ΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΄ΡΠ° Linux, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (Π·Π°Π΄Π°Ρ). Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅ Π³Π»ΡΠ±ΠΈΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΈ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ/Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡΡΡΠ΅ΠΊΡΠΎΠ², ΡΠΏΠΈΠ½Π»ΠΎΠΊΠΎΠ², ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ/ΡΠ΅ΡΠΊΠ°ΡΠ½ΡΠ΅ΡΠ°, rw-ΡΠΏΠΈΠ½Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ per-CPU ΠΈ RCU).
π@proglb