聊聊Linux用户态驱动设计 序言 设备驱动可以运行在内核态,也可以运行在用户态,用户态驱动的利弊网上有很多的讨论,而且有些还上升到政治性上,这里不再多做讨论。不管用户态驱动还是内核态驱动,他们都有各自的缺点。内核态驱动的问题是:系统调用开销大;学习曲线陡峭;接口稳定性差;调试困难;bug致命;编程 ...
分类:
系统相关 时间:
2018-05-14 22:59:22
阅读次数:
232
在Linux下,CPU的状态分为系统态,用户态和空闲态,分别指系统内核执行时间,处于用户态的时间和空闲系统进程执行的时间。三者之和就是CPU的总时间。 CPU的利用率就是非空闲进程占用时间的比例。 100%: 50%: ...
分类:
其他好文 时间:
2018-05-02 13:23:30
阅读次数:
167
一、什么是协程 协程又叫微线程,是一个在单一线程下实现并发效果的一个概念,一句话解释来说就是:协程是一种用户态的轻量级线程,它可以由用户自定程序来控制和调度。 这其中需要注意的有两点: 1. python的线程属于内核级别的,即由操作系统控制调度(如单线程遇到io或执行时间过长就会被迫交出cpu执行 ...
分类:
编程语言 时间:
2018-04-27 02:17:59
阅读次数:
205
asmlinkage作用就是告诉编译器,函数参数不是用用寄存器来传递,而是用堆栈来传递的 采用asmlinkage,原因是因为用户态寄存器在系统调用进入内核态时,会把用户态的寄存器全部压栈,通过合理的构造。正好满足用户态通过寄存器传递参数,内核态通过栈取参数的标准要求。这是很巧妙的安排!其实还可以发 ...
分类:
其他好文 时间:
2018-04-23 12:14:36
阅读次数:
105
教材总结 Windows操作系统基本框架 windows基本结构分为运行于处理器特权模式的操作系统内核以及运行在处理器非特权模式的用户,即为内核态和用户态。 内核态:windows执行体、windows内核体、设备驱动程序、硬件抽象层、windows窗口与图形界面接口。 用户态:系统支持进程、环境子 ...
分类:
其他好文 时间:
2018-04-22 22:03:01
阅读次数:
224
介绍 最近在工作中使用到了DirectBuffer来进行临时数据的存放,由于使用的是堆外内存,省去了数据到内核的拷贝,因此效率比用ByteBuffer要高不少。之前看过许多介绍DirectBuffer的文章,在这里从源码的角度上来看一下DirectBuffer的原理。 用户态和内核态 Intel的 ...
分类:
其他好文 时间:
2018-04-22 21:40:24
阅读次数:
251
协程,又称微线程,纤程。什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次 ...
分类:
Web程序 时间:
2018-04-17 18:06:52
阅读次数:
252
1,内核态协议栈可以为多个网络应用服务,用户态协议栈就不行。比如DPDK,它会将网卡从内核unbind,然后自己独占。 2,内核态协议栈提供了丰富的协议支持/调试手段,稳定性也经过时间的检验。反观用户态协议栈处于起步阶段,对网络协议的支持有限, 大都是适配应用场景的二次开发。 如果是小型设备,通用需 ...
分类:
系统相关 时间:
2018-04-15 16:17:38
阅读次数:
297
防火墙RHEL6操作系统防火墙服务iptablesiptables的组成:内核态:集成在内核里的功能用户态:安装服务的软件包后提供的管理命令[root@web103~]#rpm-qiptablesiptables-1.4.7-16.el6.x86_64]#serviceiptablesstart|status|stop]#chkconfigiptableson]#whichiptables/sbi
分类:
其他好文 时间:
2018-04-13 16:16:44
阅读次数:
169
keepalived——高可用性故障转移的首选方案名词:failaver(故障转移)failback(回复)内核态 ?用户态224-239的网段是组播网段 可以 ?多个机器共用一个IP要使用keepalived需要开启VRRP协议 ? ?将会自动加入224.0.0.18组 ? 优先级0-255.越高越优先**********************
分类:
其他好文 时间:
2018-04-11 00:25:10
阅读次数:
244