自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 SCHED_OTHER,SCHED_FIFO,SCHED_RR

linux内核的三种调度方法:1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO实时调度策略,先到先服务3,SCHED_RR实时调度策略,时间片轮转实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu最少的进程将会得到优先调度。SHCED_RR和SCHED_FIFO的不同: 当采用SHCED_RR策略的进程的时间片用完,系统将重新...

2021-09-23 10:50:54 508

转载 原始套接字

在AF_INET地址族下,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三种套接字类型。SOCK_STREAM也就是通常所说的TCP,而SOCK_DGRAM则是通常所说的UDP,而SOCK_RAW则是用于提供一些较低级的控制的;第3个参数依赖于第2个参数,用于指定套接字所用的特定协议,设为0表示使用默认的协议。RAW SOCKET能够对较低层次的协议直接访问,网络监听技术

2016-07-13 15:23:02 465

原创 TCP/IP的四元组、五元组、七元组

四元组:源IP地址

2014-09-12 22:35:31 1380

转载 gdb的使用

源程序:tst.c     1 #include      2     3 int func(int n)     4 {     5         int sum=0,i;     6         for(i=0; i     7         {     8                 sum+=i;     9         }    1

2013-10-10 10:53:52 539

原创 错误: 隐式声明函数‘init_MUTEX’ [-Werror=implicit-function-declaration]

2.6.35及以后的linux内核版本废除了init_MUTEX()函数,新版本的内核使用sema_init()函数。在内核中,sema_init函数的定义如下:static inline void sema_init(struct semphore *sem, int val){static struct lock_class_key __key;*sem

2013-09-29 17:32:25 1934

转载 uint32_t

uint8_t,uint16_t,uint32_t等都不是什么新的数据类型,它们只是使用typedef给类型起的别名。不过,不要小看了typedef,它对于你代码的维护会有很好的作用。比如C中没有bool,于是在一个软件中,一些程序员使用int,一些程序员使用short,会比较混乱,最好就是用一个typedef来定义,如:typedef char bool;一般来说,一个C的工程中一定

2013-09-27 14:30:47 789

转载 volatile详解

1.volatile的本意是“易变的” 因为访问寄存器要比访问内存单元快的多,所以编译器一般都会作减少存取内存的优化,但有可能会读脏数据。当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。精确地说就是,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问;如果不使用valatile,则

2013-09-27 14:25:49 635

转载 vim 插件

阅读源码的工具有很多,而且如今的集成开发环境(IDE)也很强大,但对于经常使用vim编辑器的程序员来说,对vim的强大绝对是“不抛弃,不放弃”的,况且我们只要安装一些插件配合vim的工作一样能达到IDE的效果,好了,废话少说。浏览了很多有关的网页资源后,发现有很多插件可以用,但在此推荐3款比较常用的“小”插件供大家参考,它们其实并不“小”,非常强大!一般地,只是单个小程序源码的阅读就不必劳驾插件了

2013-09-26 17:59:21 594

转载 vim配置

vim本来就是很强大,很方便的编辑器,加上我的代码后肯定会如虎添翼,或许读者使用其他编程语言,可以根据自己的需要进行修改,配置文件里面已经加上注释。""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关  """"""""""""""""""""

2013-09-26 13:58:16 560

转载 error: unknown field ‘ioctl’ specified in initializer

异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序就根本不需要查询设备的状态,这一点非常类似于硬件上的“中断”的概念,比较准确的称谓是“信号驱动的异步I/O”。信号是在软件层次上对中断机制的一种模拟,在原理上一个进程接收到一个信号与处理器接收到一个中断请求是一样的。1>在把驱动从2.6.32 移植到2.6.36时 报错 /hom

2013-09-25 18:12:39 544

转载 BSP概念

BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程

2013-09-25 09:51:52 681

转载 cdev_init()函数

字符设备驱动之cdev_init()系列函数1.内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {  13        struct kobject kobj;  14        struct module *owner;  15        const s

2013-09-24 10:13:09 2017

转载 Linux字符设备驱动之register_chrdev_region()

Linux字符设备驱动之 register_chrdev_region()函数系列1.内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:static struct char_device_struct {struct char_device_struct *next; // 

2013-09-24 09:18:28 664

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除