Skip to content

Latest commit

 

History

History
57 lines (57 loc) · 1.39 KB

README.md

File metadata and controls

57 lines (57 loc) · 1.39 KB

LinuxKernelSourceAnalyze

Here are some system call source code analyze based on Linux2.6, include

linux process data structure

struct task_struct
struct thread_info
struct mm_struct
struct vm_area_struct
struct wait_queue..

file-system data structure

vfs
mapping layer
generic block layer
I/O scheduler layer
driver
hard disck..

TCPIP data structure

struct tcp_sock
struct inet_sock
struct sock
struct sock_common
struct sk_buf
struct rtable
struct dst_entry..

read/write for file-system

read/write for direct IO/indirect IO
epoll_create
epoll_ctl
epoll_wait..

send for TCPIP

user space process->socket layer->transport control layer->network layer->network interface card.
send()
sock_sendmsg()
tcp_sendmsg()
tcp_write_xmit()
ip_queue_xmit()
ip_output()
e1000_xmit_frame()
e1000_tx_queue()

recv for TCPIP

network interface card->interrupt context->network layer->transport control layer, socket layer->user space process.
e1000_intr()
netif_receive_skb()
ip_rcv()
tcp_v4_rcv()
tcp_v4_do_rcv()
skb_queue_head()
tcp_recvmsg()
sock_recvmsg()
recv()

AliOS-things

task_and_ipc.vsd

任务数据结构、状态转换、消息队列RingBuffer、IPC相关

kernel

内核源码中文注释

EMQ

EMQ_source_analyze.doc

EMQ源码分析