(5)
(1)
(4)
发布时间:2013-11-20 12:42:21
对于只是实现简单功能的c语言程序,不用考虑代码reorder问题。现在才发现原来在编译程序的时候,通过gcc -o0来避免编译时,编译器将不会对指令重排。但是这样仍然无法避免在运行的时候cpu对指令进行重排。所以使用内存屏障是非常重要的,也是无法避免的。这里我有一个疑问,是否在java中也会遇到指令重排的问题呢?上面.........
发布时间:2012-12-28 17:08:55
网络报文从应用程序产生,通过网卡发送,在另一端的网卡接收数据并传递给应用程序。这个过程网络报文在内核中调用了一系列的函数。下面把这些函数列举出来,方便我们了解网络报文的流程。 发送流程: write |sys_write |sock_sendmsg |inet_sendmsg |tcp_sendmsg |tcp_push_one |tcp_transmit_skb |ip_queue_xmit |ip_route_output |ip_queue_xmit |ip_que......
发布时间:2012-12-28 10:23:19
linux网络编程api函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的api,探究一下当我们调用每个api时,内核中具体做了哪些准备和初始化工作。 1、socket(family,type,protocol) 当我们在开发网络应用程序时,使用该系统调用来创建一个套接字。该api所做的工作如下所示: 该系统调用主要完成两个任务:“创建套接字”和“为套接......
发布时间:2012-12-27 10:37:41
内核中的udp socket流程(5)——inet_create作者:gfree.wind@gmail.com原文:http://blog.chinaunix.net/space.php?uid=23629988&do=blog&id=85911进入函数inet_create static int inet_create(struct net *net, struct socket *sock, int protocol, int kern......
发布时间:2012-12-27 10:30:49
内核中的udp socket流程(4)——sock_create作者:gfree.wind@gmail.com原文:http://blog.chinaunix.net/space.php?uid=23629988&do=blog&id=85910又懒了2天,继续sock_create /* compatibility. this uglymoron is moved from inet layer to here to avoid &nbs......