Skip to content

hui6075/study-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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源码分析