linux操作系统源码分析,linux操作系统源代码详细分析.doc
linux操作系统源代码详细分析.doc
LINUX操作系统源代码详细分析内容简介LINUX拥有现代操作系统所有的功能,如真正的抢先式多任务处理、支持多用户,内存保护,虚拟内存,支持SMP、UP,符合POSIX标准,联网、图形用户接口和桌面环境。具有快速性、稳定性等特点。本书通过分析LINUX的内核源代码,充分揭示了LINUX作为操作系统的内核是如何完成保证系统正常运行、协调多个并发进程、管理内存等工作的。现实中,能让人自由获取的系统源代码并不多,通过本书的学习,将大大有助于读者编写自己的新程序。第一部分LINUX内核源代码ARCH/I386/KERNEL/ENTRYS2ARCH/I386/KERNEL/INIT_TASKC8ARCH/I386/KERNEL/IRQC8ARCH/I386/KERNEL/IRQH19ARCH/I386/KERNEL/PROCESSC22ARCH/I386/KERNEL/SIGNALC30ARCH/I386/KERNEL/SMPC38ARCH/I386/KERNEL/TIMEC58ARCH/I386/KERNEL/TRAPSC65ARCH/I386/LIB/DELAYC73ARCH/I386/MM/FAULTC74ARCH/I386/MM/INITC76FS/BINFMTELFC82FS/BINFMT_JAVAC96FS/CC98INCLUDE/ASMGENERIC/SMPLOCKH107INCLUDE/ASMI386/ATOMICH108INCLUDE/ASMI386/CURRENTH109INCLUDE/ASMI386/DMAH109INCLUDE/ASMI386/ELFH113INCLUDE/ASMI386/HARDIRQH114INCLUDE/ASMI386/PAGEH114INCLUDE/ASMI386/PGTABLEH115INCLUDE/ASMI386/PTRACEH122INCLUDE/ASMI386/SEMAPHOREH123INCLUDE/ASMI386/SHMPARAMH124INCLUDE/ASMI386/SIGCONTEXTH125INCLUDE/ASMI386/SIGINFOH125INCLUDE/ASMI386/SIGNALH127INCLUDE/ASMI386/SMPH130INCLUDE/ASMI386/SOFTIRQH132INCLUDE/ASMI386/SPINLOCKH133INCLUDE/ASMI386/SYSTEMH137INCLUDE/ASMI386/UACCESSH139INCLUDE/LINUX/BINFMTSH146INCLUDE/LINUX/CAPABILITYH147INCLUDE/LINUX/ELFH150INCLUDE/LINUX/ELFCOREH156INCLUDE/LINUX/INTERRUPTH157INCLUDE/LINUX/KERNELH158INCLUDE/LINUX/KERNEL_STATH159INCLUDE/LINUX/LIMITSH160INCLUDE/LINUX/MMH160INCLUDE/LINUX/MODULEH164INCLUDE/LINUX/MSGH168INCLUDE/LINUX/PERSONALITYH169INCLUDE/LINUX/REBOOTH169INCLUDE/LINUX/RESOURCEH170INCLUDE/LINUX/SCHEDH171INCLUDE/LINUX/SEMH179INCLUDE/LINUX/SHMH180INCLUDE/LINUX/SIGNALH181INCLUDE/LINUX/SLABH184INCLUDE/LINUX/SMPH184INCLUDE/LINUX/SMP_LOCKH185INCLUDE/LINUX/SWAPH185INCLUDE/LINUX/SWAPCTLH187INCLUDE/LINUX/SYSCTLH188INCLUDE/LINUX/TASKSH194INCLUDE/LINUX/TIMEH194INCLUDE/LINUX/TIMERH195INCLUDE/LINUX/TIMESH196INCLUDE/LINUX/TQUEUEH196INCLUDE/LINUX/WAITH198INIT/MAINC198INIT/VERSIONC212IPC/MSGC213IPC/SEMC218IPC/SHMC227IPC/UTILC236KERNEL/CAPABILITYC237KERNEL/DMAC240KERNEL/C_DOMAINC241KERNEL/EXITC242KERNEL/FORKC248KERNEL/INFOC255KERNEL/ITIMERC255KERNEL/KMODC257KERNEL/MODULEC259KERNEL/PANICC270KERNEL/PRINTKC271KERNEL/SCHEDC275KERNEL/SIGNALC295KERNEL/SOFTIRQC307KERNEL/SYSC307KERNEL/SYSCTLC318KERNEL/TIMEC330MM/MEMORYC335MM/MLOCKC345MM/MMAPC348MM/MPROTECTC358MM/MREMAPC361MM/PAGE_ALLOCC363MM/PAGE_IOC368MM/SLABC372MM/SWAPC394MM/SWAP_STATEC395MM/SWAPFILEC398MM/VMALLOCC406MM/VMSCANC409第二部分LINUX内核源代码分析第1章LINUX简介让用户很详细地了解大多数现有操作系统的实际工作方式是不可能的,因为大多数操作系统的源代码都是严格保密的。除了一些研究用的及为操作系统教学而设计的系统外。尽管研究和教学目的都很好,但是这类系统很少能够通过对正式操作系统的小部分实现来体现操作系统的实际功能。对于操作系统的一些特殊问题,这种折衷系统所能够表现的就更是少得可怜了。在以实际使用为目标的操作系统中,让任何人都可以自由获取系统源代码,无论目的是要了解、学习还是改进,这样的现实系统并不多。本书的主题就是这些少数操作系统中的一个LINUX。LINUX的工作方式类似于UINX,它是免费的,源代码也是开放的,符合标准规范的32位(在64位CPU上是64位)操作系统。LINUX拥有现代操作系统的所具有的内容,例如真正的抢先式多任务处理,支持多用户。内存保护。虚拟内存。支持对称多处理机SMP(SYMMETRICMULTIPROCESSING),即多个CPU机器以及通常的单CPU(UP)机器。符合POSIX标准。联网。图形用户接口和桌面环境(实际上桌面环境并不只一个)。速度和稳定性。严格说来,LINUX并不是一个完整的操作系统。当我们在安装通常所说的LINUX时,我们实际安装的是很多工具的集合。这些工具协同工作以组成一个功能强大的实用系统。LINUX本身只是这个操作系统的内核,是操作系统的心脏、灵魂、指挥中心(整个系统应该称为GNU/LINUX,其原因在本章的后续内容中将会给以介绍)。内核以独占的方式执行最底层任务,保证系统正常运行协调多个并发进程,
linux操作系统源码分析,linux操作系统源代码详细分析.doc相关推荐
- linux python源码安装,linux上源码安装python
以下例子基于python 2.7.9,其他版本同理.# 1.下载python# wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tg ...
- linux内核源码漫游,Linux内核源代码漫游
Linux源代码,以帮助读者对源代码的体系结构以及很多相关的unix特性的实现有一个很好的理解.目标是帮助对Linux不甚了解的有经验的C程序员对整个Linux的设计有所了解.这也就是为什么内核漫游的 ...
- linux 远程控制 源码,基于Linux的远程控制技术服务端实现
远程控制系统的背景与需求分析 2.1 Linux平台下远程控制系统的产生 远程控制系统在现代社会有着越来越广泛的应用.远程控制中的嵌入技术.远程控制的数据处理与传输.远程控制的管理和远程控制的终端都取 ...
- linux top 源码,在Linux系统中下载源码包安装Topgrade的方法,附Topgrade选项说明
本文介绍在Linux操作系统中下载源码包安装Topgrade的方法,即下载topgrade-v2.3.0-x86_64-unknown-linux-gnu.tar.gz包并进行安装,经测试,在Ubun ...
- Linux编译程序源码环境,Linux下对nodejs环境进行源码编译并部署云应用
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP.Python.Perl.Ruby 等服务端语言平起平坐的脚本语言. 该环境安装非常简单,这里 ...
- linux mod_ssl源码安装,linux下不重新编译apache添加安装mod_ssl模块和错误的处理方法...
安装步骤 1.进入apache源码目录. 2.进入module文件夹下的ssl目录. 3.找到oepnssl 的include路径,ubuntu系统是在/usr/include/openssl目录. ...
- 思博linux视频,源码安装linux软件
我们现在以源代码方式安装apache httpd 首先我们下载apache httpd的tar.gz的源码安装包,在http://mirror.bjtu.edu.cn/apache//httpd/ht ...
- linux socks5 源码,在Linux中用RPM来安装SOCKS5
一般使用源代码方式安装,但有时编译会通不过,在Red Hat Enterprise Linux AS release 4 (Nahant)就出现这种情况,用下面的rpm安装就成功了,自己再增加配置文件 ...
- linux scons源码安装,linux 安装scons
scons是一个Python写的自动化构建工具,需要安装python和scons后才能运行,能够跨平台.其集成功能类似于autoconf/automake ,是一个简洁可靠的工具.现在很多系统都自带p ...
- linux udt 源码,UDT linux下关闭链接耗时过长
不知道使用UDT的人多不多,很大可能会石沉大海啊 ========================================================= 我在使用UDT库的时候,linux ...
最新文章
- js把for循环出来的数据存入数组
- 九州云陈沙克:OpenStack的成功源于自身的开放
- 关于transform的3D变形函数
- Linux系统分析之启动流程
- 解决ubuntu修改密码 Module is unknow报错
- iphone已停用解锁大概多少钱_【待办清单工具之三】微软To Do amp; iPhone提醒事项-来自大厂的时间管理系统...
- java多线程实例_多线程&高并发(全网最新:面试题+导图+笔记)面试手稳心不慌...
- Java Web开发之一:用好的技术设计来犒赏自己
- [原创]超轻量级Web安全漏洞扫描工具Netsparker使用教程介绍
- JAVA velocity语法讲解
- H5页面原生gps 定位获取经纬度
- 计算机网络电子邮件的格式,电子邮件的格式是什么
- c语言 用斜率打印直线,圆锥曲线的解题技巧和方法2017完美打印版.doc
- echarts实现仪表盘
- python运用ico图标,处理Django中的favicon.ico图标实例方法
- 求两个数的最小公倍数及多个数的最小公倍数的求法
- Oracle扩展redo
- godaddy php mail,如何使用godaddy web主机上的phpmailer通过365发送电子邮件
- Android 输入法键盘的隐藏和显示
- element表格多出一列空白
热门文章
- golang 数组 最后一个_Golang 内存管理
- MapReduce案例(数据中获取最大值TopN)
- Linux内存错误系统重启,linux服务器硬件报错,系统异常重启检测-MCElog
- php生成静态翻页,PHP高手,我刚刚学PHP,在生成静态分页遇到了点有关问题,就是翻页的有关问题,希望可以給出一个漂亮完整的翻页代码,多谢...
- android 多行文字水印,android实现文字水印效果 支持多行水印
- nginx php-fpm 安装,Linux下nginx php-fpm安装配置笔记
- 树莓派环境处理_一种基于树莓派的便携式的环境监测系统的制作方法
- OpenShift 4 之 高可靠运行MS SQL Server 2019数据库
- Blazor服务器应用程序中使用EF Core的多租户
- 如何为Docker项目创建持续集成持续部署 (CI-CD)解决方案