Select I/O复用,可以调用系统调用select和poll!在这两个系统调用中的某一个阻塞,而不是真正的阻塞I/O系统调用! select() 函数的重点在于它可以同时...
Linux异步通知 fasync 我们知道,驱动程序运行在内核空间中,应用程序运行在用户空间中,两者是不能直接通信的。 但在实际应用中,在设备已经准备好的时候,我们希望通知用...
fcntl是计算机中的一种函数,通过fcntl可以改变已打开的文件性质。fcntl针对描述符提供控制。参数fd是被参数cmd操作的描述符。针对cmd的值,fcntl能够接受第...
信号处理函数 sigaction的用法 int sigaction ( int signo, const struct sigaction *act, struct siga...
信号种类 信号分为可靠信号与不可靠信号,可靠信号又称为实时信号,非可靠信号又称为非实时信号。 不可靠信号 信号代码从1到32是不可靠信号,不可靠信号主要有以下问题: (1)每...
pause pause函数使调用进程挂起直到有信号递达! int pause(void); 处理方式: 如果信号的处理动作是终止进程,则进程终止,pause函数没有机会...
信号的基本概念 信号被认为是一种软件中断(区别于硬件中断),信号机制提供了一种在单进程/线程下处理异步事件的方法。 每个信号都有一个编号和一个宏定义名称 ,这些宏定义可以在s...
UDP编程框架 由以上框图可以看出: 客户端要发起一次请求,仅仅需要两个步骤(socket和sendto) 而服务器端也仅仅需要三个步骤即可接收到来自客户端的消息(socke...
流程: 服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。 在这时如果有个客户端初始化一个Soc...
一、概述 TCP(传输控制协议)和UDP(用户数据报协议)是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。 TCP:传输控制协议,一种面向连接的协议,给用户...
socket的基本概念 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少要一对端口号(socket)。sock...
sleep_on()函数 该函数的作用是定义一个等待队列(wait),并将当前进程添加到等待队列中(wait),然后将当前进程的状态置为 TASK_UNINTERRUPTIB...
wake_up()与wait_event()或者wait_event_timeout成对使用, wake_up_intteruptible()与wait_event_intt...
wait_event()宏: 在等待会列中睡眠直到condition为真。在等待的期间,进程会被置为TASK_UNINTERRUPTIBLE进入睡眠,直到condition变...
问:如何唤醒? 答:唤醒源有三个:1.数据可用的唤醒,2.接收到信号的唤醒,3.超时唤醒 如果是数据可用的唤醒,那就预示着表明硬件设备可用,如果判断硬件设备可用呢,一般要不轮...
案例:当串口设备不可读的时候(没有数据可读),那么应用程序应该怎么办? 案例:当按键设备没有操作时(按键数据不可读),那么应用程序应该怎么办? 答:应用程序对设备的这种状态(...