πŸ–ΌοΈ 1 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ πŸ–ΌοΈ

πŸ” ОписаниС

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ взаимосвязанных Π±Π»ΠΎΠΊΠΎΠ², соСдинСнных линиями. Π‘Π»ΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ†Π²Π΅Ρ‚Π°. Π’Π²Π΅Ρ€Ρ…Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π΅ΡΡ‚ΡŒ Π»Π΅Π³Π΅Π½Π΄Π°, которая описываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π»ΠΎΠΊΠ°.

πŸ“ ВСкст Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅

Kernel entry point
Function call
File at which function appears
Driver specific function
Data of type T
Data copying entries to or from I/O
Virtual copy
Efficient function through position 1
Thread scheduling levels up or down
Immediate thread
НС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½.

πŸ–ΌοΈ 2 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ πŸ–ΌοΈ

πŸ” ОписаниС

Π‘Ρ…Π΅ΠΌΠ°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с тСкстовыми Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ графичСскими элСмСнтами. Π’Π²Π΅Ρ€Ρ…Ρƒ схСмы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚Ρ€ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° с тСкстом, располоТСнныС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ. НиТС располоТСны Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° с тСкстом, располоТСнныС Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ. Π’ ΠΏΡ€Π°Π²ΠΎΠΉ части схСмы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ полоса, раздСлСнная Π½Π° Ρ‚Ρ€ΠΈ сСкции, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… располоТСны графичСскиС элСмСнты. Π’Π½ΡƒΡ‚Ρ€ΠΈ полосы располоТСны стрСлки, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° графичСскиС элСмСнты.

πŸ“ ВСкст Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅

RAM
PACKETS / SKB_BUFF
POINTER TO SKB_BUFF
NIC
rx/tx buffer ring
$ ethtool -g eth0
$ ethtool -G eth0 tx value tx value
qdisc
IN $ sysctl net.core.netdev_max_backlog
OUT $ ifconfig eth0 txqueuelen 10000
ALGO $ sysctl net.core.default_qdisc
RT
Bulky
Else
IP/TCP
send/rcv buffer
IN $ sysctl net.ipv4.tcp.rmem
OUT $ sysctl net.ipv4.tcp.wmem
Application
sk_buff DMA'ed by NIC

πŸ–ΌοΈ 3 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ πŸ–ΌοΈ

πŸ” ОписаниС

Π‘Ρ…Π΅ΠΌΠ°. На схСмС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ процСсс ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ TCP/IP. Π‘Ρ…Π΅ΠΌΠ° состоит ΠΈΠ· ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΊΡ€ΡƒΠ³ΠΎΠ², соСдинСнных стрСлками. Π’ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°Ρ… написаны названия элСмСнтов процСсса, Π° Π² ΠΊΡ€ΡƒΠ³Π°Ρ… - названия слоСв.

πŸ“ ВСкст Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅

Application
DATA
net.core.rmem_default
net.core.rmem_max
tcp_mem: min default max
tcp_mem: min pressure max
TCP Recv Buffer
TCP Process
tcp_wr_snd
TCP
DATA
IP Layer
ip_rcv()
IP
TCP
DATA
Kernel memory
Packet data
Interrupt Handler
net.core.default_qdisc
NIC
Link Layer
MAC
IP
TCP
DATA
Interrupt Generator
DMA
NIC Memory
Receive