ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
1
ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ root Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ. Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΡΠ»ΡΠΆΠ±Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Ρ ΠΏΠ°ΡΠ°Π½ΠΎΠΈΠ΄Π°Π»Π΅Π½.
2
Π Π²Π΅ΡΡΠΈΠΈ 2.0, Π² Π²Π΅ΡΡΠΈΠΈ 2.2 ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ inode Π² Π½ΠΎΠ»Ρ.
3
Π Π°Π·Π»ΠΈΡΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π° inode ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΏΡΡΡΠΌΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ°ΠΉΠ», ΡΠΈΠΏΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ Ρ Π½ΠΈΠΌ.
4
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡ ΡΠ½ΠΎΠ²Π° , ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ioctl Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ»Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ΄ΡΡ Π° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΡΠ΄ΡΠ°.
5
ΠΡΠΎ Π½Π΅ ΡΠΎΡΠ½ΠΎ. ΠΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ioctl. ΠΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ.
6
ΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ C ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΠΎ Π½Π΅ ΠΈΡ ΡΠΈΠΏ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ
7
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡΡΠΌ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ tail -f.
8
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ β Π²ΡΠ΅ Π΅ΡΠ΅ Π² ΡΠ΄Π΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ β Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΡΠΎΠ½ΡΡ, ΠΎΠ½ Π²ΡΠ΄Π°Π» ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² open ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΠ»ΡΡ. ΠΡΠΎΡΠ΅ΡΡ Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» CPU Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ, Π²ΡΠ΄Π°ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠΌ
9
ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ module_interruptible_sleep_on. ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ module_sleep_on Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ, Π½ΠΎ ΡΡΠΎ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΅ΡΠ΄ΠΈΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ΅ΠΉ Ctrl-C ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
10
Teletype, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ, Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Unix ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Unix, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ, xterm Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ X, ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ telnet ΠΈ Ρ.Π΄.
11
ΠΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅.
12
ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π²Π΅ΡΡ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Intel, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠ°Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Linux.
13
queue_task_irq Π·Π°ΡΠΈΡΠ΅Π½ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ. Π Π²Π΅ΡΡΠΈΠΈ 2.2 queue_task_irq ΠΈ queue_task Π·Π°ΡΠΈΡΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ.
14
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: threaded-ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ CPU ΡΡΠ°Π·Ρ.
15
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ SMP.