发布时间:2013-01-09 12:28:03
作者:李强,华清远见嵌入式学院讲师。 semaphore是内核中比较重要和常用的同步方式之一,他主要的特点是实现了Sleep机制下的同步。也就是当获取一个semaphore但是又不能立刻获取的时候,他使当前的执行进程进入到Sleep状态中等待,当semaphore可以获取的时候,从新开始运行,而不像splin lock在获取锁的时候是BusyWait。 首先看其定义: struct semaphore {  ......【阅读全文】
发布时间:2013-01-09 12:27:46
作者:曾宏安,华清远见嵌入式学院讲师。 在网络编程中,connect函数经常用来在套接字上初始化连接。无论是流式套接字还是数据报套接字都可以使用connect函数,但含义却不一样。下面我们分别来讨论一下: 一、 流式套接字 流式套接字通常使用的是面向连接的协议,如TCP协议。该类型套接字在双方通信之前要先建立连接。具体说就是服务器端创建监听套接字并绑定地址,客户端调用connect函数建立连接。该函数原型如下: int connect(int sockfd, const struct sockaddr &serv_addr, socklen_t addr_l......【阅读全文】
发布时间:2013-01-09 12:27:41
作者:丁冬,华清远见嵌入式学院讲师。 这篇文章主要是介绍Qt 当中经常使用的类, 采取的是使用字母索引的方式, 下面的类是被经常使用的。 QDataStream 为QIODevice提供了一串的二进制的数据 QDataWidgetMapper 提供了从数据模型到部件的映射 QData 日期的功能 &nbs......【阅读全文】
发布时间:2013-01-09 12:27:21
作者:曹忠明,华清远见嵌入式学院讲师。 在UNIX/linux中有4中IO模型,分别为: 1、 阻塞IO 2、 非阻塞IO 3、 IO多路复用 4、 信号驱动IO 这几种IO模型,阻塞IO是最长用到的......【阅读全文】
发布时间:2013-01-09 12:27:17
作者:李智敏,华清远见嵌入式学院上海分中心讲师。 initrd是在Linux系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd 文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM 磁盘卸载,并释放内存。 initrd 与内核绑定在一起,并作为内核引导过程的一部分进行加载。内核然后会将这个 initrd 文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系统。initrd 中包含了实现这个目标所需要的目录和可执行程序的最小集合,如在initrd解......【阅读全文】