Linux
发布时间:2013-03-26 23:57:25
BSD socketsocket是用户API与网络协议栈之间的一个中间接口层,用户通过调用socket api将报文传给协议栈,或者从协议栈读取报文。对于用户来说,socket就是一个打开的文件,linux内核中为socket定义了sockfs文件类型:static struct file_system_type sock_fs_type = {.name = "sockfs",.get_sb = sockfs_get_sb.........【阅读全文】
发布时间:2013-03-26 21:53:55
Tcp的处理中使用了三个队列,receive_queue,backlog_queue,pre_queue,在数据包到达tcp协议栈时,持有sk自旋锁,然后检查当前使用有进程上下文操作sk的逻辑,通过sock_owned_by_user判断,如果sk_lock.owned被赋值说明进程持有sk,如果为0则可以在当前软中断上下文中,继续数据报文的处理。&.........【阅读全文】