笔记
TUN/TAP:是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行与操作系统上的软件提供与硬件的网络设备完全相同的功能。
TUN:等同于一个以太网设备,它操作第二层数据包如以太网数据帧
TAP:模拟了网络层设备,操作第三层数据包比如IP数据封包
操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发送数据,反之,用户空间的程序也可以像操作硬件网络设备那样,通过TNU/TAP设备发送数据。在后种情况下,TUN/TAP设备向操作系统的网络栈投递(或“注入”)数据包,从而模拟从外部接受数据的过程。
------
基于优先级抢占式调度:系统中每个任务都有一个优先级,内核总是将CPU分配给处于就绪态的优先级最高的任务运行。如果系统发现就绪队列中有比当前运行任务更高的优先级任务,就把当前运行任务置于就绪队列中,调入高优先级任务运行。系统采用优先级抢占方式进行调度,可以保证重要的突发事件及时得到处理。
笔记摘抄的不错。最近看Java网络编程中的线程,也说到了抢占式调度,不过是JVM的。
回复删除Linux的优先级是负数越高,最高-20?
JVM刚好相反,正数越高。
to谢邵虎:不同的linux发行版好像不一样,有的有64个优先级。
回复删除to李海峰:关于-20最大优先级,这个是之前看《深入解析Linux内核》的时候看到的,那本书是针对哪个版本的内核记不起来了,不过不同的发行版会修改内核级的优先级相关的代码么?
回复删除to谢邵虎:在嵌入式的linux中,各个版本还是有很大的不同的。我觉得会对调度算法进行改变吧,在进入内核的时候不是要调用kernel/sched.c中的sched()么。具体我不大清楚,以后要多读读内核代码
回复删除