Ori Pomerantz
ΠΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° Linux
ΠΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π·Π΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π’ΠΎΡΠ³ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΊΠΈ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Ρ ΠΈ/ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΠΊΠΈ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌ. Π― Π½Π΅ Π΄Π΅Π»Π°Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ Ρ ΠΈΠ·Π΄Π΅Π»ΠΈΡΠΌΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΈΠΌΠΈ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ°ΠΊ, ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ΄ΡΠ°. ΠΡ Π·Π½Π°Π΅ΡΠ΅ C, Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠ΄ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π²ΡΠΏΠΎΠ»ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΡΠ΄Π°, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΡΠ΄Π°, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅ΡΠ΅ΡΡ Π²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
Π₯ΠΎΡΠΎΡΠΎ, Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΠΊΠ»ΡΠ±. Π― ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΈΠΌΠ΅Π» ΡΠ°ΠΊΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Ρ ΠΌΠ½Π΅ Π²Π°ΠΆΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ΄ DOS, ΠΈ Ρ Π½Π΅ Π²ΠΈΠΆΡ, ΠΏΠΎΡΠ΅ΠΌΡ Linux Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΡΡΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΡΠΌΠΈ 2.0.35 ΠΈ 2.2.3 ΡΠ΄ΡΠ°, Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Pentium. ΠΠ»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ CPU ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ΄ΡΠ°, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠΉ 2.0.x ΠΈΠ»ΠΈ 2.2.x, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±Π΅ΡΠ°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ. ΠΠ΄Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: Π³Π»Π°Π²Π° 11, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π½Π΅ x86.
ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΈΡΠ°ΡΡ ΡΡΠΎ
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ°. Π₯ΠΎΡΡ Ρ Π±ΡΠ΄Ρ ΠΊΠ°ΡΠ°ΡΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² ΡΠ΄ΡΠ΅, ΡΡΠΎ Π½Π΅ ΠΌΠΎΡ ΡΠ΅Π»Ρ. ΠΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠΎΡΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π°Π²ΡΠΎΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΡ Π»ΡΡΡΡΡ ΡΠ΅ΠΌ ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΌΠΎΠ³ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ°, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ 2.2. ΠΡΠ»ΠΈ ΠΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ, ΠΠ°ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ ΠΏΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². Π‘ΠΏΠΈΡΠΎΠΊ Π½Π΅ Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ, Π½ΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±Π°Π·ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°.
Π―Π΄ΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ Ρ ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈΡ . Π‘ΠΊΠ°Π·Π°Π² ΡΡΠΎ, Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΠΈ Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ·ΠΆΠ΅. ΠΠΎΠ³Π΄Π° Ρ ΡΠ·Π½Π°Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ Π½Π΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡ Ρ ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΠΏΠΈΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ `hello, world'. Π― Π½Π΅ Π²ΠΈΠΆΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ΡΠ΄ΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠ½Π°ΡΠ΅.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΎ ΡΡΠΈΠ»Π΅
Π― Π½Π°Ρ ΠΎΠΆΡ ΠΏΡΠΈΡΡΠ½ΡΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊ Π² ΠΌΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π― ΠΏΠΈΡΡ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡ ΡΡΠΈΠΌ, ΠΈ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΡ ΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΠΎ ΠΏΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅. ΠΡΠ»ΠΈ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅ Π²Π΅ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. Π― ΠΎΠ±Π΅ΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π² Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡΡ .
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.1
1. Π Π°Π·Π΄Π΅Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, 0.3.
2. ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, 2.
3. ΠΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, 2
4. Makefile'Ρ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°, 1.1.
5. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΡΡΡ, 12.
6. ΠΠ»Π°Π²Π° `ΠΠ»ΠΎΡ ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ', 13.
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.1.0
1. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²Π΅ΡΡΠΈΠΈ 2.2 ΡΠ΄ΡΠ° Π²ΠΎ Π²ΡΠ΅Ρ Π³Π»Π°Π²Π°Ρ .
2. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΡΠ΄ΡΠ°, 2.1.
3. Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ 2.0 ΠΈ 2.2, A.
4. ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², 1.2.
5. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΠ° Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΠΏΡΠΈ Π²ΡΠ΄Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rmmod, 7.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
Π― Ρ ΠΎΡΠ΅Π» Π±Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ Weiss Π·Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π·Π° ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π»ΡΠ±ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΡ Π²ΠΈΠ½Π°.
TEX ΡΠΊΠ΅Π»Π΅Ρ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π±ΡΠ» Π±Π΅ΡΡΡΡΠ΄Π½ΠΎ Π·Π°Ρ Π²Π°ΡΠ΅Π½ ΠΈΠ· ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° `Linux Installation and Getting Started', Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ° Π² TEX Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Matt Welsh.
ΠΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ Linus Torvalds, Richard Stallman ΠΈ Π²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π»ΡΠ΄ΡΠΌ, ΠΊΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ Π½Π΅ΡΡΠΎ ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·ΡΠΌΠ΅ΡΡΠ΅Π΅ΡΡ (Π΄Π°, ΠΏΡΠ°Π²ΠΎ, Π·Π°ΡΠ΅ΠΌ Ρ Π³ΠΎΠ²ΠΎΡΡ ΡΡΠΎ?).
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ 1.0.1
Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π²Π½Π΅ΡΡΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΊΡΠΎ ΠΏΠΎΡΠ»Π°Π» ΠΏΠΎ e-mail ΠΌΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π΅ΡΠ»ΠΈ Ρ Π½Π΅ Π²ΠΏΠΈΡΠ°Π» ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΠ°Ρ, Ρ ΠΏΡΠΈΠ½ΠΎΡΡ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π»ΡΠ΄ΠΈ Π±ΡΠ»ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ:
β’ Frodo Looijaard ΠΈΠ· ΠΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΠΎΠ² ΠΠ° ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΊΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΡΠ΄ΡΠ°ΠΌ Π²Π΅ΡΡΠΈΠΉ 2.1.x.
β’ Stephen Judd ΠΈΠ· ΠΠΎΠ²ΠΎΠΉ ΠΠ΅Π»Π°Π½Π΄ΠΈΠΈ ΠΠ° ΠΏΡΠ°Π²ΠΊΡ ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΠΈ.
β’ Magnus Ahltorp ΠΈΠ· Π¨Π²Π΅ΡΠΈΠΈ ΠΠ° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΈ Π±Π»ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ 1.1.0
β’ Emmanuel Papirakis ΠΈΠ· ΠΠ²Π΅Π±Π΅ΠΊΠ°, ΠΠ°Π½Π°Π΄Π° Π·Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² Π²Π΅ΡΡΠΈΡ 2.2 ΡΠ΄ΡΠ°.
β’ Frodo Looijaard ΠΈΠ· ΠΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΠΎΠ² Π·Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° (1.2).
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π»ΡΠ±ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΡ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠ½ΠΈΠ³Ρ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ, ΡΡΠ΅Π±ΡΠΉΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π΄Π΅Π½Π΅Π³, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΡ Π·Π°ΠΏΠ»Π°ΡΠΈΠ»ΠΈ Π·Π° ΠΊΠ½ΠΈΠ³Ρ.
Hello, world
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π²ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ "Hello, world!". Π― Π½Π΅ Π·Π½Π°Ρ, ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Ρ Π»ΡΠ΄ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ²Π°ΡΡ Ρ ΡΡΠΎΠΉ ΡΡΠ°Π΄ΠΈΡΠΈΠ΅ΠΉ, ΠΈ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ Π½Π΅ Π²ΡΡΡΠ½ΡΡΡ.
ΠΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° (Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ) Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: init_module, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΄ΡΠΎ ΠΈ cleanup_module, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ init_module ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΠ΄ΡΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ΄Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ-ΡΠΎ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ). Π€ΡΠ½ΠΊΡΠΈΡ cleanup_module, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ init_module, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ³ΡΡΠΆΠ΅Π½ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ.
hello.c/* hello.c
* Copyright (C) 1998 by Ori Pomerantz
*
* "Hello, world" - Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ°.
*/
/* The necessary header files */
/* Standard in kernel modules */
#include <linux/kernel.h> /* We're doing kernel work */
#include <linux/module.h> /* Specifically, a module */
/* Deal with CONFIG_MODVERSIONS */
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
/* Initialize the module */
int init_module() {
printk("Hello, world - this is the kernel speaking\n");
/* If we return a non zero value, it means that
* init_module failed and the kernel module
* can't be loaded */
return 0;
}
/* Cleanup - undid whatever init_module did */
void cleanup_module() {
printk("Short is the life of a kernel module\n");
}
Makefile'Ρ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°
ΠΠΎΠ΄ΡΠ»Ρ Π½Π΅ ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ»ΠΈΠ½ΠΊΠΎΠ²Π°Π½ ΠΊ ΡΠ΄ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -c. ΠΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ.
β’ __KERNEL__ β ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Π°ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π² ΡΠ΄Π΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (Π½ΡΠ°Π²ΠΈΡΡΡ ΠΌΠ½Π΅ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅), Π° Π½Π΅ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
β’ MODULE β ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Π°ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΡΡΠΎ Π½Π°Π΄ΠΎ Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ.
β’ LINUX β Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΡ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ, ΡΡΠΎ ΠΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΠ°ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ OS-Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ.
ΠΠΌΠ΅ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΡΠ΄ΡΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΠΊΠ°ΠΊ ΡΠ΄ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π² /usr/include/linux/config.h
β’ __SMP__ β Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, Π΅ΡΠ»ΠΈ ΠΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SMPΒ» (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅). ΠΡΠ»ΠΈ ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ, ΠΈΠΌΠ΅ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Ρ ΠΈΡΡΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ (ΡΠΌ. Π³Π»Π°Π²Ρ 12).
β’ CONFIG_MODVERSIONS β ΠΡΠ»ΠΈ CONFIG_MODVERSIONS ΡΠ°Π·ΡΠ΅ΡΠ΅Π½, ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ /usr/include/linux/modversions.h. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ.
Makefile# Makefile Π΄Π»Ρ Π±Π°Π·ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΄Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
CC=gcc
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX
hello.o: hello.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c hello.c
echo insmod hello.o to turn it on
echo rmmod hello to turn if off