Linux内核开发心得体会 2017年02月05日 14 阅读 刚解决目前开发的新文件系统的NFS下的问题(ls, cp, read, write), 真是高兴, 有几个心得体会: 1>. 学习内核开发的最好实例还是来源于内核本身. 2>. 当你遇到你从没有见过, 用过的东西时一定要先想办法自己试用一下, 在使用中力争多了解些他的工作原理, 工作细节.自己再去作相似的东西时一定要多思考, 从机器运行本身的角度考虑问题. 3>. E文一定要好!...
在Linux下用C语言实现文件拷贝 2017年02月05日 16 阅读 /*Function:copy file from file1 to file2How to execute: ./copyfile file1 file2 (under Linux)Data:2007-05-09*/#include /*fprintf(),stderr,BUFSIZ*/#include /**/#include /*stderror()*/#include /*open(),flag*/#include /*errno*/#includ...
centos4.4 升级内核打netfilter补丁 2017年02月05日 15 阅读 1、下载linux-2.6.15.6.tar.bz2patch-2.6.15.6.bz2iptables-1.3.6.tar.bz2patch-o-matic-ng-20061024.tar.bz22、解压缩cd /usr/srctar -jxf linux-2.6.15.6.tar.bz2tar -jxf iptables-1.3.6.tar.bz2tar -jxf patch-o-matic-ng-20061024.tar.bz23、内核先打补丁cd ...
linux2.6驱动的编写实例 2017年02月05日 13 阅读 以hello world的2.6版为例子,介绍linux2.6驱动的编写。源程序:#include #include #include MODULE_LICENSE("GPL");//必有的说明static int hello_init(void) { printk(KERN_ALERT"Hello, world "); return 0; } static void hello_exit(void) { printk("Goodbye, cruel wo...
Linux下声音设备编程实例讲解 2017年02月05日 14 阅读 Linux下的声音设备编程比大多数人想象的要简单得多。一般说来,我们常用的声音设备是内部扬声器和声卡,它们都对应/dev目录下的一个或多个设备文件,我们象打开普通文件一样打开它们,用ioctl()函数设置一些参数,然后对这些打开的特殊文件进写操作。 由于这些文件不是普通的文件,所以我们不能用ANSI C(标准C)的fopen、fclose等来操作文件,而应该使用系统文件I/O处理函数(open、read、write、lseek和close)来处理这些设备文...
Windows与Linux编译器的区别 2017年02月05日 14 阅读 移植工作开始后的第一步就是在目标平台Linux上进行编译,并链接源代码。由于需要移植的软件通常并未在Linux平台上编译过,编译的过程可能会遇到很大的困难。一般情况下,由类型声明引起的编译错误是比较容易修复的。比如Microsoft C/C++的头文件使用__declspec( dllimport/dllexport )来输入和输出DLL函数,在Linux上,把函数声明成extern “C”,或者再结合使用DEF文件,使用相应的链接命令就可以解决这些问题。...
在嵌入式设备中不创建swap分区的原因何在 2017年02月05日 15 阅读 我们知道,在linux中有一个很重要的概念,虚拟内存,当物理内存不够时,可以将内存中一些数据存储到硬盘上,而让出物理内存。我们一般在PC上安装linux时,会创建一个swap分区,其大小一般设置为内存的2倍。 而我们在嵌入式设备中,却看不到该分区,为什么呢? 我们知道在嵌入式设备中,一般使用flash卡作为存储设备,该存储设备一般每个点的写次数是有限制的,大概在几十万次。所以一般嵌入式设备,将文件系统设备为只读,并且会采用一些平均分配写操作的方式,来延...
在Ubuntu上建立Arm Linux开发环境小结 2017年02月05日 15 阅读 我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。 目的: 把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统; 资源: 代码: arm-li...
学习Linux中inode值 2017年02月05日 13 阅读 关于inode; inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。 做...
Linux Kernel学习指南 2017年02月05日 13 阅读 Linux系统的基础是内核、C库、编译器、工具集和系统的基本工具如登录程序和shell。Linux系统也支持现在的X Windows系统,可以使用完整的图形用户桌面系统。 通常,一个内核由负责响应中断的中断服务程序、负责管理多个进程从而分享处理器时间的调度程序、负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。 C库函数与系统调用的关系:1、系统调用仅占库函数执行的一小部分;2、库函数=系统调用;3、库函数不需要系统调用。 ...
编译UBUNTU 7.04 系统内核详解 2017年02月05日 14 阅读 1.安装必要的工具包 包有:libncurses5-dev(menuconfig需要的)和essentialsudo aptitude install build-essential bin86 kernel-package sudo aptitude install libqt3-headers libqt3-mt-dev sudo aptitude install make sudo aptitude install gcc //即使已经安装了gcc最...
生产环境使用linux命令的几个注意点 2017年02月05日 15 阅读 线上不能对于超过100M文件进行VI编辑, VI使用后要正确退出,例如: :wq、:x线上不要使用top命令查看线上不要grep大文件。线上不能随意下载超过100M以上的文件。线上不要在RD目录下面存放数据,或运行任何程序。线上运行crontab输出要重定向到 & > /dev/null 2>&1...
编程乐园 Linux下LED驱动测试源码 2017年02月05日 13 阅读 //■//【 版 权 】Copyright (c) 2006-2008 GLIETHTTP////【 文 件 版 本 】v1.x////【 创 建 日 期 】2006/12/21////【 文 件 描 述 】LED闪灯驱动测试—led_driver.c//■#ifndef __KERNEL__# define __KERNEL__#endif#ifndef MODULE# define MODULE#endif#include #include #incl...
Linux之makefile讲解 2017年02月05日 14 阅读 1。开发者分别编写configure.in and makefile.am2. autoconf处理configure.in生成configure脚本。3。automake处理makefile.am生成makefile.in文件。4。在目标机器上执行configure,configure检查系统并读入makefile.in中的内容,生成Makefile文件。5。最后make 完成编译和连接。...
五步学会在红旗Linux5.0下安装与配置java 2017年02月05日 14 阅读 本来红旗5。0号称是有java的,可一看,只带了一个jre,没有办法只有自己装,必定先要去网上看看,有是有,但是我还是装了好长时间,人家都是在RedHat上装,也不知道红旗是怎么了,不过我有心理准备,为了让大家少走弯路,写下来给大家。如果有不同意见或者有不明白的地方可以在本页留言,或者qq249537688,认证信息:草不枯。 第一步:下linux下的jdk。这个好办,去sun的网站就 可以了。http://java.sun.com/j2se/1.5.0...
说说linux0.11的bootsect.s 2017年02月05日 13 阅读 bootsect.s 是linux底下第一个程序,也是整个操作系统的入口,可以说主要完成以下几个步骤: 1.将自己从0x7c00处搬到0x90000处 2.将setup模块加载到0x90200处 3.利用13号中断取磁盘参数表中当前引导盘的参数 4.显示"loading system" 5.将system从磁盘加载到0x10000处 6.确定根文件系统的设备号 7.长跳转到setup执行setup程序. 步骤很清晰,具体的东西等我以后再来慢...
升级与编译自己的内核-Debian篇学习 2017年02月05日 14 阅读 首先要介绍一下,通常其它操作系统的内核编译是比较繁琐的。然而,由于Debian强大的dpkg软件包管理系统,使得内核的升级、编译也变得容易很多。这篇文章将会一步一步教你如何编译自己的,带有grsecurity的Linux 2.6内核。Grsecurity是一个Linux的内核补丁,针对Linux内核的某些安全漏洞进行修补以及安全性的增强。 首先用 apg-get 自动下载并安装一些必要的软件包,包括编译内核需要的kernel-package和ncurses...
Linux Shell编程实例小结 2017年02月05日 13 阅读 前言看书时写笔记是个好习惯.第一天:1.重要的shellbashtcsh2.命令行执行顺序别名关键字函数内建命令可执行程序 //磁盘文件3.进程:在linux中可以由单独的pid标识的程序4.进程查看命令ps patree5.shell系统调用forkwaitexec:复制父进程,得到子进程,以新进程装入子进程exit:在任何情况下退出进程,退出时发出sigchild信号,在0-255之间,0为成功退出,非0则发生了某些错误.$?为最后一个可执行命令退出时...
学习进阶 在Linux中使用C# 2017年02月05日 13 阅读 当微软启动它的.NET战略时,其中的一个目标就是让所制作的软件运行在多种不同的平台上。 Mono,一个开源项目,能使.NET能在您的Linux操作系统上运行。 如果你和我一样,既用Microsoft的技术工作,也喜欢用Linux工作,那么这个Mono就能帮助你我,你可以在这两个平台上都可以写C#程序。 到www.go-mono.com 下载Mono的最新安装包。我看了一下,在我写这篇文章时,该官方网上最新的Stable版本时Mono 1.1.13.8...