![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux内核
文章平均质量分 85
stevens_fjt
这个作者很懒,什么都没留下…
展开
-
linux下错误的捕获:errno和strerror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量转载 2012-10-14 20:02:07 · 932 阅读 · 0 评论 -
Linux mail 命令
在Linux系统下mail命令的测试1. 最简单的一个例子:mail -s test yangfang@fudan.edu.cn这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户。2. 第二个例子:三种常用格式发信mail -转载 2013-01-10 21:40:13 · 17616 阅读 · 0 评论 -
RHEL上编译内核
下面的网址上有详细的rhel5(包括图片)的内核升级与编译过程http://www.fengwenxuan.com/rhelinux/1366.html 红帽企业 Linux 4 不再包括 kernel-source 软件包。需要这些内核源码的用户可以在 kernel .src.rpm 文件中找到。通过这个文件建立一个快速扩展的资源树,执行以下的步骤 (注意 是指您当前正在使用的内转载 2012-12-20 20:39:40 · 714 阅读 · 0 评论 -
Linux基础知识:内核编译-内核管理概述
1:比较好的内核编译详细文章的网址:http://www.yesky.com/458/1853958.shtml详细介绍各步,包括编译选项http://www.linuxidc.com/Linux/2012-08/68569.htm有大量图片一: 内核洋文用 kernel,我刚才翻了一下词典,kernel 中文意思是内核、核心、中心、精髓的意思;也是果仁、果核的意思。从字面理解转载 2012-12-18 22:07:07 · 660 阅读 · 0 评论 -
linux内核编译过程的最终总结版
一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。 二、实验内容在Linux操作系统环境下重新编译内核。实验主要内容:A. 查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。B. 配置内核。C. 编译内核和模块。D. 配置启动文件。本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码(2转载 2012-12-18 22:04:15 · 33573 阅读 · 0 评论 -
Linux内核——make mrproper与make clean的区别
首先,这两个命令都是用于删除编译内核时产生的相关文件的。两者的区别如下:make mrproper命令会删除所有的编译生成文件、内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。make clean命令则是用于删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块。所以你若只想删除前一次编译过程的原创 2012-12-18 21:28:41 · 2043 阅读 · 0 评论 -
Linux的write函数奥秘
write的奥秘 在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动程序的write实现中,这里我结合一些源代码来解释如何使得一个简简单单的write函数能够完成向设备里面写数据的复杂过程。转载 2012-12-13 21:24:05 · 12750 阅读 · 0 评论 -
linux内核开发的工作前景
1.有。国内确实有好些公司要涉及内核的。当然跟公司从事的领域不同,技术要求也会不同。2.学内核,好些时候不是靠什么聪明才智,要靠的是坚强的毅力。各种基础要求也要高些,比如数据结构,微机原理,组成原理等。当然如果毅力足够坚定,基础不是问题,可以学。3.搞这行,月薪应该相对高些。高多少就得看自己的水平了。4.不要听那些牛人怎么吹,学内核要全面精通,对于学生来说是很不现实的。要抓住内核的一方转载 2012-12-13 21:21:09 · 5743 阅读 · 0 评论 -
关于Linux内核学习
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需: 1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU转载 2012-12-13 21:18:49 · 1067 阅读 · 0 评论 -
Linux内存管理中的分页,分段
什么是分页? 无论你的NT服务器的内存有多大,它总是显得不够充足。当物理RAM从低端开始运行时,Windows NT使用了分页文件Pagefile.sys。为了运行不同的进程和应用程序,Pagefile.sys给物理内存分配了一些空间。在这些空间内允许交换数据页。 分段?程序分段的好处。cpu中的段寄存器中保存了段址(base)和偏移值的上限(limit)。段址:有效地址原创 2012-11-09 13:58:13 · 2602 阅读 · 0 评论 -
dup和dup2 与重定向
在linux纷繁复杂的内核代码中,sys_dup()的代码也许称得上是最简单的之一了,但是就是这么一个简单的系统调用,却成就了unix/linux系统最著名的一个特性:输入/输出重定向。 sys_dup()的主要工作就是用来“复制”一个打开的文件号,使两个文件号都指向同一个文件。既然说简单,我们就首先来看一下它的代码(定义在fs/fcntl.c中):1 asmlinkage lo转载 2012-11-05 20:57:11 · 1229 阅读 · 0 评论 -
IO端口和IO内存映射
A.几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。 有些体系结构的CPU(如,Po转载 2012-10-16 08:52:52 · 3222 阅读 · 0 评论 -
mlock家族:锁定物理内存
锁住内存是为了防止这段内存被操作系统swap掉。并且由于此操作风险高,仅超级用户可以执行。看家族成员: #include int mlock(const void *addr, size_t len); int munlock(const void *addr, size_t len); int mlockall(int fla原创 2012-10-15 20:08:31 · 21309 阅读 · 1 评论 -
Linux下内存映射文件的用法
学习了一下Linux下内存映射文件的用法,在这里共享一下自己的收获,希望大家提出宝贵意见,进行交流。 简介: 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将原创 2012-10-16 09:23:21 · 3449 阅读 · 0 评论 -
linux内核分析(转自某位大哥网上的笔记)
启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码。BIOS先进行一系列的系统自检,然后初始化位于地址0的中断向量表。最后BIOS将启动盘的第一个扇区装入到0x7C00,并开始执行此处的代码.这就是对内核初始化过程的一个最简单的描述。 最初,Linux核心的最开始部分是用8086汇编语转载 2012-10-15 13:56:44 · 9308 阅读 · 0 评论 -
经典makefile例子
http://blog.chinaunix.net/uid-25100840-id-2047826.html这个帖子是我在csdn上花了10分下载下来的一个包,里面就这么多东西,那个上传者是他妈的黑。。。。不过我把它共享到这里,不过为了尊重人的劳动成果,我还是贴出人家的下载地址:http://download.csdn.net/source/949149,这里面的内容很经典,但是我水平低,转载 2013-03-27 11:12:40 · 740 阅读 · 0 评论