首页
学习
活动
专区
圈层
工具
发布

linux内核编程指南_UNIXLINUX

3.3 Linux内核的组成 3.3.1 Linux内核源代码的目录结构 Linux内核源代码包含如下目录。...图3.4 Linux进程状态转换 在设备驱动编程中,当请求的资源不能得到满足时,驱动一般会调度其他进程执行,并使本进程进入睡眠状态,直到它请求的资源被释放,才会被唤醒而进入就绪状态。...有时候,在内核编程中,如果需要几个并发执行的任务,可以启动内核线程,这些线程没有用户空间。...当CPU提供内存管理单元(MMU)时,Linux内存管理对于每个进程完成从虚拟内存到物理内存的转换。Linux 2.6引入了对无MMU CPU的支持。...3.虚拟文件系统 如图3.7所示, 图3.7 Linux虚拟文件系统 Linux虚拟文件系统隐藏了各种硬件的具体细节,为所有设备提供了统一的接口。

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux udp编程_linux中socket编程

    在前面的文件中,我们介绍了linux网络编程中与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。...一、UDP通信中服务端和客户端的基本编程框架 与TCP相比较,UDP是面向无连接的通信方式,不需要connect、listen、accept等函数操作,不用维护TCP的连接、断开等状态。...3.2、组播的使用 组播在基本UDP编程框架的基础上,使用setsockopt()函数和getsockopt()函数来实现,需要设置IP层的相关参数(第二个参数为 IPPROTO_IP),其原型如下:...设置组播的默认默认网络接口,会从给定的网络接口发送,另一个网络接口会忽略此数据 选项IP_ADD_MEMBERSHIP和IP_DROP_MEMBERSHIP:加入或者退出一个组播组其参数为一个结构体 使用组播的一个基本编程流程如下

    13.3K10
    领券