linux学习
文章平均质量分 79
liwentongliunian
这个作者很懒,什么都没留下…
展开
-
linux常用c函数字符串转换篇
gcvt(将浮点型数转换为字符串,取四舍五入) 相关函数 ecvt,fcvt,sprintf 表头文件 #include 定义函数 char *gcvt(double number,size_t ndigits,char *buf); 函数说明 gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和转载 2014-06-23 19:18:57 · 590 阅读 · 0 评论 -
Linux内核模式
Linux内核模式 目前,操作系统内核的结构模式主要可分为整体式的单内核模式和层次式的微内核模式。而Linux0.11是 采用了单内核模式。单内核模式的主要优点是内核代码结构紧凑,执行速度快,不足之处主要是层次结构性不强。 在单内核模式的系统中,操作系统所提供服务的流程为:应用主程序使用指定的参数值执行系统调用指令(init x80),使CPU从用户态(User Mode)切换到核心态转载 2015-05-07 21:49:29 · 613 阅读 · 0 评论 -
Linux内核对内存的管理和使用
原文地址:http://blog.sina.com.cn/s/blog_6a627cc70101obxd.html(详细内容请参考《Linux内核完全注释(高清版)》)5.3 Linux内核对内存的管理和使用5.3.1 物理内存Linux0.11默认是使用16MB的内存空间。前640K用来作内核的代码段和数据段。后面用于主内存转载 2015-05-07 21:46:19 · 442 阅读 · 0 评论 -
Linux设备驱动实例:并行端口LED板(包含/dev以及/sysfs下的方法)
本文引用自《精通Linux设备驱动程序开发》Sreekrishnan Venkateswaran 宋宝华[等]译 北京:人民邮电出版社,2010.06 为了学习parport提供的服务,让我们编写一个简单的驱动程序。考虑一个有8个发光二极管(LED),提供和标准25针并行端口接口的电路板。因为PC上的8位并行端口数据寄存器直接映射到并行端口的2~9针,所以这些针脚和电路板上的LE转载 2015-04-23 20:50:33 · 718 阅读 · 0 评论 -
为什么可能导致睡眠的函数都不能在中断上下文中使用呢
这个时候不能睡眠的关键是因为上下文。大家知道操作系统以进程调度为单位,进程的运行在进程的上下文中,以进程描述符作为管理的数据结构。进程可以睡眠的原因是操作系统可以切换不同进程的上下文,进行调度操作,这些操作都以进程描述符为支持。中断运行在中断上下文,没有一个所谓的中断描述符来描述它,它不是操作系统调度的单位。一旦在中断上下文中睡眠,首先无法切换上下文(因为没有中断描述符,当前上下文的状态得不到转载 2015-04-18 11:15:22 · 349 阅读 · 0 评论 -
编译linux内核make menuconfig出错
今天在编译最新linux内核3.2.1的时候竟然出现错误了,有点可悲,差了好久,纠结了好久。因为上次直接make menuconfig就直接可以用了,这次却不行,错误大概如下*** Unable to find the ncurses libraries or the*** required header files.*** 'make menuconfig' requires转载 2014-06-28 08:49:49 · 591 阅读 · 0 评论 -
misc设备驱动模型及实例解析
1、misc设备驱动模型 本节我们来看一下misc设备驱动模型的有关内容,首先是看看它的设备结构体,定义在include/linux/miscdevice.h中:[cpp] view plaincopystruct miscdevice { int minor; //次设备号,若为 MISC_DYNAMIC转载 2014-06-27 19:16:02 · 361 阅读 · 0 评论 -
Linux中断处理驱动程序编写
本章节我们一起来探讨一下Linux中的中断中断与定时器:中断的概念:指CPU在执行过程中,出现某些突发事件急待处理,CPU暂停执行当前程序,转去处理突发事件,处理完后CPU又返回原程序被中断的位置继续执行中断的分类:内部中断和外部中断内部中断:中断源来自CPU内部(软件中断指令、溢出、触发错误等)外部中断:中断源来自CPU外部,由外设提出请求屏蔽转载 2014-06-26 20:03:09 · 281 阅读 · 0 评论 -
linux设备驱动中的阻塞和非阻塞I/O
阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活的支持用户空间对设备的这两种访问形式。 阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后在进行操作。被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等待的条件被满足。而非阻塞操作的进程在不能进行设备操作时,并不挂起,他或者放弃,或者不停的查询,直到可以进行操作为止。 注转载 2014-06-25 20:58:46 · 316 阅读 · 0 评论 -
linux系统僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动。僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。配图源自 Flickr 僵尸进程如何产生的?如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了。那么我们说一个进程终止之后,还保留哪些信息?为什么终止之转载 2017-02-13 22:17:49 · 409 阅读 · 0 评论