Linu操作系统源代码分析报告

上传人:s9****2 文档编号:505251764 上传时间:2023-03-07 格式:DOCX 页数:27 大小:57.79KB
返回 下载 相关 举报
Linu操作系统源代码分析报告_第1页
第1页 / 共27页
Linu操作系统源代码分析报告_第2页
第2页 / 共27页
Linu操作系统源代码分析报告_第3页
第3页 / 共27页
Linu操作系统源代码分析报告_第4页
第4页 / 共27页
Linu操作系统源代码分析报告_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Linu操作系统源代码分析报告》由会员分享,可在线阅读,更多相关《Linu操作系统源代码分析报告(27页珍藏版)》请在金锄头文库上搜索。

1、Linux 操作系统源代码具体分析容简介:Linux 拥有现代操作系统全部的功能,如真正的抢先式多任务处理、支持多用户,存保护,虚拟存,支持SMP、UP,符合 POSIX 标准,联网、图形用户接口和桌面环境。具有快速性、稳定性等特点。本书通过分析 Linux 的核源代码,充分提醒了Linux 作为操作系统的核是如何完成保证系统正常运行、协调多个并发进程、治理存等工作的。现实中,能让人自由猎取的系统源代码并不多,通过本书的学习,将大大有助于 读者编写自己的程序。第一局部 Linux 核源代码arch/i386/kernel/entry.S 2arch/i386/kernel/init_task.

2、c 8arch/i386/kernel/irq.c 8arch/i386/kernel/irq.h 19arch/i386/kernel/process.c 22arch/i386/kernel/signal.c 30arch/i386/kernel/smp.c 38arch/i386/kernel/time.c 58arch/i386/kernel/traps.c 65arch/i386/lib/delay.c 73arch/i386/mm/fault.c 74arch/i386/mm/init.c 76fs/binfmt-elf.c 82fs/binfmt_java.c 96fs/exec

3、.c 98include/asm-generic/smplock.h 107include/asm-i386/atomic.h 108include/asm-i386/current.h 109include/asm-i386/dma.h 109include/asm-i386/elf.h 113include/asm-i386/hardirq.h 114include/asm-i386/.h 114include/asm-i386/pgtable.h 115include/asm-i386/ptrace.h 122include/asm-i386/semaphore.h 123include

4、/asm-i386/shmparam.h 124include/asm-i386/sigcontext.h 125include/asm-i386/siginfo.h 125include/asm-i386/signal.h 127include/asm-i386/smp.h 130include/asm-i386/softirq.h 132include/asm-i386/spinlock.h 133include/asm-i386/system.h 137include/asm-i386/uaccess.h 139include/linux/binfmts.h 146include/lin

5、ux/capability.h 147include/linux/elf.h 150include/linux/elfcore.h 156include/linux/interrupt.h 157include/linux/kernel.h 158include/linux/kernel_stat.h 159include/linux/limits.h 160include/linux/mm.h 160include/linux/module.h 164include/linux/msg.h 168include/linux/personality.h 169include/linux/reb

6、oot.h 169include/linux/resource.h 170include/linux/sched.h 171include/linux/sem.h 179include/linux/shm.h 180include/linux/signal.h 181include/linux/slab.h 184include/linux/smp.h 184include/linux/smp_lock.h 185include/linux/swap.h 185include/linux/swapctl.h 187include/linux/sysctl.h 188include/linux/

7、tasks.h 194include/linux/time.h 194include/linux/timer.h 195include/linux/times.h 196include/linux/tqueue.h 196include/linux/wait.h 198init/main.c 198init/version.c 212ipc/msg.c 213ipc/sem.c 218ipc/shm.c 227ipc/util.c 236kernel/capability.c 237kernel/dma.c 240kernel/exec_domain.c 241kernel/exit.c 24

8、2kernel/fork.c 248kernel/info.c 255kernel/itimer.c 255kernel/kmod.c 257kernel/module.c 259kernel/panic.c 270kernel/printk.c 271kernel/sched.c 275kernel/signal.c 295kernel/softirq.c 307kernel/sys.c 307kernel/sysctl.c 318kernel/time.c 330mm/memory.c 335mm/mlock.c 345mm/mmap.c 348mm/mprotect.c 358mm/mr

9、emap.c 361mm/_alloc.c 363mm/_io.c 368mm/slab.c 372mm/swap.c 394mm/swap_state.c 395mm/swapfile.c 398mm/vmalloc.c 406mm/vmscan.c 409其次局部 Linux 核源代码分析第 1 章 Linux 简介让用户很具体地了解大多数现有操作系统的实际工作方式是不行能的,由于大多数操作系统的源代码都是 严格的。除了一些争论用的及为操作系统教学而设计的系统外。尽管争论和教学目的都很好,但是这类系 统很少能够通过对正式操作系统的小局部实现来表达操作系统的实际功能。对于操作系统的一些特别问

10、 题,这种折衷系统所能够表现的就更是少得可怜了。在以实际使用为目标的操作系统中,让任何人都可以自由猎取系统源代码,无论目的是要了解、学习还是 改进,这样的现实系统并不多。本书的主题就是这些少数操作系统中的一个:Linux。Linux 的工作方式类似于Uinx,它是免费的,源代码也是开放的,符合标准规的32 位在 64 位CPU 上是64 位操作系统。Linux 拥有现代操作系统的所具有的容,例如:* 真正的抢先式多任务处理,支持多用户。* 存保护。* 虚拟存。* 支持对称多处理机SMPsymmetric multiprocessing,即多个 CPU 机器以及通常的单CPUUP机器。* 符合P

11、OSIX 标准。* 联网。* 图形用户接口和桌面环境实际上桌面环境并不只一个。* 速度和稳定性。严格说来,Linux 并不是一个完整的操作系统。当我们在安装通常所说的Linux 时,我们实际安装的是很多工具的集合。这些工具协同工作以组成一个功能强大的有用系统。Linux 本身只是这个操作系统的核, 是操作系统的心脏、灵魂、指挥中心整个系统应当称为 GNU/Linux,其缘由在本章的后续容中将会给以介绍。核以独占的方式执行最底层任务,保证系统正常运行协调多个并发进程,治理进程使用的存, 使它们相互之间不产生冲突,满足进程访问磁盘的恳求等等。在本书中,我们给大家提醒的就是Linux 是如何完成这一

12、具有挑战性的工作的。1.1 Linux 和 Unix 的简明历史为了让大家对本书所争论的容有更清楚的了解,让我们先来简要回忆一下Linux 的历史。由于Linux 是在Unix 的根底上进展而来的,我们的话题就从Unix 开头。Unix 是由 AT&T 贝尔试验室的Ken Thompson 和Dennis Ritchie 于 1969 年在一台已经废弃了的PDP-7 上开发的;它最初是一个用汇编语言写成的单用户操作系统。不久,Thompson 和Ritchie 成功地说服治理部门为他们购置更的机器,以便该开发小组可以实现一个文本处理系统,Unix 就在 PDP-11 上用 C 语言重编写制造

13、C 语言的局部目的就在于此。它果真变成了一个文本处理系统不久之后。只不过问题是他们先实现了一个操作系统而已最终,他们实现了该文本处理工具,而且 Unix以及 Unix 上运行的工具也在 AT&T 得到广泛应用。在1973 年,Thompson 和 Ritchie 在一个操作系统会议上就这个系统发表了一篇论文,该论文引起了学术界对 Unix 系统的极大兴趣。由于 1956 年反托拉斯法案的限制,AT&T 不能涉足计算机业务,但允许它象征性地收取费用出售该系统。就这样,Unix 被广泛公布,首先是学术科研用户,后来又扩展到政府和商业用户。伯克利加州大学是学术用户中的一个。在这里,Unix 得到了计

14、算机系统争论小组CSRG的广泛应用。并且在这里所进展的修改引发了Unix 的一大系列,这就是广为人知的伯克利软件开发BSDUnix。除了 AT&T 所供给的Unix 系列之外,BSD 是最有影响力的Unix 系列。BSD 在Unix 中增加了很多显著特性,例如 TCP/IP网络,更好的用户文件系统UFS,工作掌握,并且改进了 AT&T 的存治理代码。多年以来,BSD 版本的 Unix 始终在学术环境中占据主导地位,但最终进展成为System V 版本的 AT&T 的Unix 则成为商业领域的领头羊。从某种程度上来说,这是有社会缘由的:学校倾向于使用非正式但通常更好用的BSD 风格的Unix,而

15、商业界则倾向于从AT&T 猎取 Unix。在用户需求和用户编程改进特性的促进下,BSD 风格的Unix 一般要比AT&T 的Unix 更具有创性,而且改进也更为快速。但是,在 AT&T 公布最终一个正式版本 System V Release 4SVR4时,System V Unix 已经吸取了 BSD 的大多数重要的优点,并且还增加了一些自己的优势。这局部由于从 1984 年开头,AT&T 渐渐可以将Unix 商业化,而伯克利Unix 的开发工作在 1993 年BSD4.4 版本完成以后就渐渐收缩,以至终止了。然而,BSD 的进一步改进由外界开发者连续下来,到今日还在连续进展。正在进展的Unix 系列开发中至少有四个独立的版本是直接起源于 BSD4.4,这还不包括几个厂商的 Unix 版本,例如惠普的 HP-UX, 都是局部地或者全部基于BSD 而进展起来的。实际上Unix 的变种并不止BSD 和 System V。由于Unix 主要使用C 语言来编写,这就使得它移植到的机器上相比照较简洁,它的简洁性也使其

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号