π ΠΠ±Π·ΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ Β«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄ΡΠ° LinuxΒ» ΠΠ°ΠΉΠ²Π°Π½Π° ΠΠΈΠ»Π»ΠΈΠΌΠΎΡΠΈΠΈ
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: #proglib_kernel
Π£ΡΠΎΠ²Π΅Π½Ρ: #proglib_middle
ΠΡΠΎ Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΡΡΠ΅ΠΌΡΡΠΈΡ
ΡΡ ΠΎΡΠ²ΠΎΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ΄ΡΠ° Linux ΠΈ Π½Π°ΡΡΠΈΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ°. ΠΠ²ΡΠΎΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΄ΡΠ°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΌΡ ΠΊΠ½ΠΈΠ³ΠΈ:
β ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΡΠ΄ΡΠ° Linux ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΠΊΠΎΠ΄ΠΎΠ².
β Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Loadable Kernel Module (LKM).
β ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΄ΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ.
β ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π·Π°Π΄Π°Ρ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ.
β Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ΄ΡΠ΅.
β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ per-CPU ΠΈ RCU.
ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ
Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Linux ΠΈ ΡΠ·ΡΠΊΠ° C, ΠΆΠ΅Π»Π°ΡΡΠΈΡ
ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
π¬ Π§ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ:
Π§ΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ΄ΡΠ° Linux, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½Π·Π΅Π½ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π±Π΅Π· ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ Linux ΠΈ ΡΠ·ΡΠΊΠΎΠΌ C, Π½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠ΄ΡΠ°.
β ΠΠ»ΡΡΡ:
- ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄ΡΠ° Linux.
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡΠΌΠΈ.
- ΠΠΊΡΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ ΡΠ΄ΡΠ°.
β ΠΠΈΠ½ΡΡΡ:
- ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Π±Π΅Π· ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ Linux ΠΈ ΡΠ·ΡΠΊΠΎΠΌ C.
π ΠΠ± Π°Π²ΡΠΎΡΠ΅:
ΠΠ°ΠΉΠ²Π°Π½ ΠΠΈΠ»Π»ΠΈΠΌΠΎΡΠΈΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 15-Π»Π΅ΡΠ½ΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Ρ Linux, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠΉΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°Ρ
ΡΠ΄ΡΠ° ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ½ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π΄Π΅Π»ΠΈΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΡΠ°ΡΡΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ