Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux操作系统内核中工作队列的操作

Linux操作系统内核中工作队列的操作

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail.com 来源:http://yfydz.cublog.cn 1. 前言 工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法. 以下代码的linux内核版本为2.6.19.2, 源代码文件主要为kernel/workqueue.c. 2. 数...
轻松打造自己的Linux开发环境

轻松打造自己的Linux开发环境

之前只是少少的使用过vi,cscope,taglist和sourceNav,用的都不怎么熟悉。这次先了解一下目前Linux下流行的开发环境(参考1),最后还是决定以vi为基础构造我的Linux开发环境。“VIM或EMACS做编辑器,GCC做编译器, automake做工程,doxygen做文档,cvs做管理”,这大概也是我希望的吧。另外有人提到svn,说是cvs的替代者。安装步骤1. 安装gcc等;done in 《Ubuntu安装笔记》.2. 升级vi到...
Linux内核编译过程详细讲解(kernel2.6.7)

Linux内核编译过程详细讲解(kernel2.6.7)

花了几天才编译成功kernel2.6.7,其过程真可谓艰辛.古语有云:"苦尽甘来!"现在终于可以乐上一阵了.由于许多朋友对操作的顺序及某些重要的配置知之甚少或知之不详,往往病急乱投医.加之网上的信息多且烦杂,使得编译内核成功率不高,甚至造成原来的系统崩溃的也不在少数.我就是其中一个。 其实,编译内核并不是一件难事.如果能按照正确的方法来操作,最多花上一个半小时就能搞定.是不是很受鼓舞呀! 废话少说,现在我们马上开始.我原来的系统是RedHat...
Linux内核开发心得体会

Linux内核开发心得体会

刚解决目前开发的新文件系统的NFS下的问题(ls, cp, read, write), 真是高兴, 有几个心得体会: 1>. 学习内核开发的最好实例还是来源于内核本身. 2>. 当你遇到你从没有见过, 用过的东西时一定要先想办法自己试用一下, 在使用中力争多了解些他的工作原理, 工作细节.自己再去作相似的东西时一定要多思考, 从机器运行本身的角度考虑问题. 3>. E文一定要好!...
Linux下声音设备编程实例讲解

Linux下声音设备编程实例讲解

Linux下的声音设备编程比大多数人想象的要简单得多。一般说来,我们常用的声音设备是内部扬声器和声卡,它们都对应/dev目录下的一个或多个设备文件,我们象打开普通文件一样打开它们,用ioctl()函数设置一些参数,然后对这些打开的特殊文件进写操作。 由于这些文件不是普通的文件,所以我们不能用ANSI C(标准C)的fopen、fclose等来操作文件,而应该使用系统文件I/O处理函数(open、read、write、lseek和close)来处理这些设备文...
Windows与Linux编译器的区别

Windows与Linux编译器的区别

移植工作开始后的第一步就是在目标平台Linux上进行编译,并链接源代码。由于需要移植的软件通常并未在Linux平台上编译过,编译的过程可能会遇到很大的困难。一般情况下,由类型声明引起的编译错误是比较容易修复的。比如Microsoft C/C++的头文件使用__declspec( dllimport/dllexport )来输入和输出DLL函数,在Linux上,把函数声明成extern “C”,或者再结合使用DEF文件,使用相应的链接命令就可以解决这些问题。...
在嵌入式设备中不创建swap分区的原因何在

在嵌入式设备中不创建swap分区的原因何在

我们知道,在linux中有一个很重要的概念,虚拟内存,当物理内存不够时,可以将内存中一些数据存储到硬盘上,而让出物理内存。我们一般在PC上安装linux时,会创建一个swap分区,其大小一般设置为内存的2倍。 而我们在嵌入式设备中,却看不到该分区,为什么呢? 我们知道在嵌入式设备中,一般使用flash卡作为存储设备,该存储设备一般每个点的写次数是有限制的,大概在几十万次。所以一般嵌入式设备,将文件系统设备为只读,并且会采用一些平均分配写操作的方式,来延...
在Ubuntu上建立Arm Linux开发环境小结

在Ubuntu上建立Arm Linux开发环境小结

我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。 目的: 把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统; 资源: 代码: arm-li...
学习Linux中inode值

学习Linux中inode值

关于inode; inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。 做...
Linux Kernel学习指南

Linux Kernel学习指南

Linux系统的基础是内核、C库、编译器、工具集和系统的基本工具如登录程序和shell。Linux系统也支持现在的X Windows系统,可以使用完整的图形用户桌面系统。 通常,一个内核由负责响应中断的中断服务程序、负责管理多个进程从而分享处理器时间的调度程序、负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。 C库函数与系统调用的关系:1、系统调用仅占库函数执行的一小部分;2、库函数=系统调用;3、库函数不需要系统调用。 ...
<< 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 >>