
Linux内核技术
文章平均质量分 78
Lewis777
这个作者很懒,什么都没留下…
展开
-
Linux启动过程综述
内容: 一. Bootloader 二.Kernel引导入口 三.核心数据结构初始化--内核引导第一部分 四.外设初始化--内核引导第二部分 五.init进程和inittab引导指令 六.rc启动脚本 七.getty和login 八.bash 附:XDM方式登录 本文以Redhat 6.0 Linux 2.2.19 for Alpha/AXP为平台,描述原创 2012-10-09 17:26:30 · 385 阅读 · 0 评论 -
Linux内核之PCI设备
PCI设备外围设备互连(PCI)是一种将系统中外部设备以结构化与可控制方式连接到起来的总线标准,包括系统部件连接的电气特性及行为。本章将详细讨论Linux核心对系统中的PCI总线与设备的初始化过程。图6.1 一个基于PCI的系统示意图图6.1是一个基于PCI的系统示意图。PCI总线和PCI-PCI桥接器在连接系统中设备到上起关键作原创 2012-09-20 10:29:33 · 962 阅读 · 0 评论 -
Linux内核之设备驱动
设备驱动操作系统的目的之一就是将系统硬件设备细节从用户视线中隐藏起来。例如虚拟文件系统对各种类型已安装的文件系统提供了统一的视图而屏蔽了具体底层细节。本章将描叙Linux核心对系统中物理设备的管理。CPU并不是系统中唯一的智能设备,每个物理设备都拥有自己的控制器。键盘、鼠标和串行口由一个高级I/O芯片统一管理,IDE控制器控制IDE硬盘而SCSI控制器控制SCSI硬盘等等。每个硬件原创 2012-09-20 10:31:04 · 872 阅读 · 0 评论 -
Linux内核之模块
模块本章主要描叙Linux核心动态加载功能模块(如文件系统)的工作原理。Linux核心是一种monolithic类型的内核,即单一的大程序,核心中所有的功能部件都可以对其全部内部数据结构和例程进行访问。核心的另外一种形式是微内核结构,此时核心的所有功能部件都被拆成独立部分, 这些部分之间通过严格的通讯机制进行联系。这样通过配置进程将新部件加入核心的方式非常耗时。比如说我们想为一个N原创 2012-09-20 13:41:46 · 2565 阅读 · 0 评论 -
linux内核解读网址
http://www.kernel.orgThe Linux Kernel Archivesftp://ftp.kernel.org本站点是Linux内核开发的主站点,其中包含了最新的内核发行版本以及相关信息。注意该FTP站点的镜像已遍布全球,因此可以选择最近的镜像下载Linux源代码。http://www.linuxdoc.orgLinux Documen翻译 2012-10-28 11:53:53 · 414 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具(一)
Perf -- Linux下的系统性能调优工具(一)简介: Perf Event是一款随 Linux内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。Perf不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集。在第一部分,将介绍 Perf 在应用程序开发原创 2012-11-20 20:17:58 · 501 阅读 · 0 评论 -
linux内核中关于红黑树的介绍
What are red-black trees, and what are they for?------------------------------------------------Red-black trees are a type of self-balancing binary search tree, used for storing sortable key/value原创 2012-11-20 20:15:39 · 438 阅读 · 0 评论 -
3.8.X Linux内核调用新架构
与2.6.X内核版本相比,3.8.x内核的系统调用表有着很大的区别。从结构上来说:2.6.X内核版本调用号与调用表的分离定义(调用号定义文件:/arch/x86/include/asm/unistd.h,系统调用表:arch/i386/kernel/entry.S ),当开发者对内核添加自己的系统调用时,需要分别修改这两个文件,指定系统调用号和对应的系统调用表。调用号结构如下:/*原创 2013-05-22 19:24:07 · 821 阅读 · 0 评论 -
知识梳理之内存(适用于面试)
知识梳理之内存1、 kmalloc和vmalloc是分配的是内核的内存,malloc分配的是用户的内存2、 kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西(这点是自己猜测的,不一定正确)3、 kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相对较大4、 内存只有在原创 2014-01-09 19:30:56 · 583 阅读 · 0 评论 -
Linux核心之内存管理
内存管理存储管理子系统时操作系统中最重要的组成部分之一。在早期计算时代,由于人们所需要的内存数目远远大于物理内存,人们设计出了各种各样的策略来解决此问题,其中最成功的是虚拟内存技术。它使得系统中为有限物理内存竞争的进程所需内存空间得到满足。虚拟内存技术不仅仅可让我们可以使用更多的内存,它还提供了以下功能:巨大的寻址空间操作系统让系统看上去有比实际内存大得多的内存空间。虚拟内原创 2012-09-20 10:25:28 · 678 阅读 · 0 评论 -
Linux内核之文件系统
文件系统本章主要描叙Linux核心对文件系统的支持, 虚拟文件系统(VFS)以及Linux核心对实际文件系统的支持。Linux的最重要特征之一就是支持多种文件系统。这样它更加灵活并可以和许多其它种操作系统共存。在本文写作时Linux已经支持15种文件系统:ext,ext2,xia,minix,umsdos,msdos,vfat,proc,smb,ncp,iso9660,sysv,h原创 2012-09-20 10:31:59 · 761 阅读 · 0 评论 -
Linux内核之网络系统
网络系统 网络和Linux是密切相关的。从某种意义来说Linux是一个针对Internet和WWW的产品。它的开发者和用户用Web来交换信息思想、程序代码,而Linux自身常常被用来支持各种组织机构的网络需求。这一章讲的是Linux如何支持如TCP/IP等网络协议的。 TCP/IP协议最初是为支持ARPANET(一个美国政府资助的研究性网络)上计算机通讯而设计的。ARP原创 2012-09-20 10:32:55 · 619 阅读 · 0 评论 -
Linux内核之中断系统
中断及中断处理本章主要描叙Linux核心的中断处理过程。尽管核心提供通用机制与接口来进行中断处理,大多数中断处理细节都是CPU体系结构相关的。图7.1 中断路由的逻辑图Linux通过使用多种不同硬件来执行许多不同任务。包括驱动显示器的视频设备、驱动硬盘的IDE设备等。 我们可以同步驱动这些设备,即我们可以发送一个请求执行一组操作(原创 2012-09-20 10:30:22 · 340 阅读 · 0 评论 -
Linux 核心之硬件基础
硬件基础操作系统必须与基本硬件系统密切协作。它需要那些仅仅能够由硬件提供的服务。为了全面理解Linux操作系统,你必须要懂得一些有关硬件的知识。本章将对硬件:现代PC做一个简要的介绍。 当1975年一月的"Popular Electronics"杂志以Altair 8080的图片作为封面时,一场革命开始了。 家用电器爱好者能独立组装出来的Altair 8080,当时价格仅仅为397美圆原创 2012-09-20 10:23:08 · 395 阅读 · 0 评论 -
linu核心之软件基础
软件基础程序是执行某个特定任务的计算机指令集合。程序可以用多种程序语言来编写:从低级计算机语言-汇编语言到高级的、与机器本身无关的语言入C程序语言。操作系统是一个允许用户运行如电子表格或者字处理软件等应用程序的特殊程序。本章将介绍程序设计的基本原则,同时给出操作系统设计目标与功能的概述。2.1 计算机编程语言2.1.1 汇编语言那些CPU从主存读取出来执行的指令对人类来原创 2012-09-20 10:24:20 · 592 阅读 · 0 评论 -
Linux内核之进程管理
进程管理本章重点讨论Linux内核如何在系统中创建、管理以及删除进程。进程在操作系统中执行特定的任务。而程序是存储在磁盘上包含可执行机器指令和数据的静态实体。进程或者任务是处于活动状态的计算机程序。进程是一个随执行过程不断变化的实体。和程序要包含指令和数据一样,进程也包含程序计数器和所有CPU寄存器的值,同时它的堆栈中存储着如子程序参数、返回地址以及变量之类的临时数据。当前的执原创 2012-09-20 10:26:44 · 1195 阅读 · 0 评论 -
Linux内核之进程间通讯
进程间通讯进程在核心的协调下进行相互间的通讯。Linux支持大量进程间通讯(IPC)机制。除了信号和管道外,Linux 还支持Unix系统V中的IPC机制。5.1 信号信号是Unix系统中的最古老的进程间通讯方式。它们用来向一个或多个进程发送异步事件信号。信号可以从键盘中断中产生,另外进程对虚拟内存的非法存取等系统错误环境下也会有信号产生。信号还被shell程序用来向其子原创 2012-09-20 10:27:44 · 537 阅读 · 0 评论 -
Linux内核之核心机制
核心机制本章主要描叙Linux核心为使核心其他部分能有效工作而提供的几个常用任务与机制。11.1 底层部分处理机制图11.1 底层部分处理机制数据结构某些特殊时刻我们并不愿意在核心中执行一些操作。例如中断处理过程中。当中断发生时处理器将停止当前的工作, 操作系统将中断发送到相应的设备驱动上去。由于此时系统中其他程序都原创 2012-09-20 13:39:54 · 431 阅读 · 0 评论 -
Linux内核之内核资源
Linux核心资源本章主要描叙寻找某个特殊核心函数时用到的Linux核心资源。本书并不要求读者具有C编程语言的能力或者拥有Linux核心源代码来理解Linux核心工作原理。但是如果 对核心源代码进行阅读将加深对Linux操作系统的理解。本章提供了一个核心源代码的综述。从哪里得到Linux核心源码所有主要Linux分发版本(如Craftworks,Debian,Slack原创 2012-09-20 13:42:49 · 773 阅读 · 0 评论 -
Linux核心数据结构
Linux核心数据结构本章列出了Linux实用的主要数据结构。block_dev_struct此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。struct blk_dev_struct { void (*request_fn)(void); struct request * current_原创 2012-09-20 13:43:33 · 558 阅读 · 0 评论 -
知识梳理之互斥与同步(适用于面试)
互斥是指对资源的排他性访问,而同步是对进程执行的先后顺序作出妥善的安排。所谓竞态,就是多个执行路径有可能对同一资源进行操作时可能导致的资源数据紊乱的行为。把对共享的资源进行访问的代码片段成为临界区。并发的来源:中断处理路径(中断处理函数与被中断的进程之间形成的并发)、调度器的可抢占性(调度器被抢占,形成进程间的并发)、多处理器的并发执行(进程之间严格意义上的并发)。1、local_原创 2014-01-10 16:04:18 · 1265 阅读 · 0 评论