




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一讲Linux内核分析概述 本讲内容 Linux操作系统内核简介linux内核分析概论 第一节Linux操作系统内核简介 Linux操作系统简介Linux内核版本简介 什么是linux操作系统 Linux是 多任务的多用户多平台工作在保护模式下遵守POSIX标准遵守SYSV和BSD扩展遵守GPL许可32位 也有64位 的类UNIX开放源代码的免费的操作系统它是由芬兰赫尔辛基大学的学生LinusTorvalds在1991年开发出来的 POSIXPOSIX表示可移植操作系统接口 PortableOperatingSystemInterface 缩写为POSIX是为了读音更像UNIX 电气和电子工程师协会 InstituteofElectricalandElectronicsEngineers IEEE 最初开发POSIX标准 是为了提高UNIX环境下应用程序的可移植性 然而 POSIX并不局限于UNIX 许多其它的操作系统 例如WinNT 都支持POSIX标准 POSIX 1已经被国际标准化组织 InternationalStandardsOrganization ISO 所接受 被命名为ISO IEC9945 1 1990标准 SYSV和BSD扩展可以理解为和SYSV和BSD源代码级的兼容 简单一点 就是Linux下的应用程序同时也能在这两个系统上运行 GPL GeneralPublicLicense 公用许可证 Linux的来历 Linux最早是LinusTorvalds在1991年开始设计开发的 linus是芬兰人 赫尔辛基是芬兰的首都 当时他正是赫尔辛基大学计算机系的学生 23岁 1990年的秋天 linus在赫尔辛基大学学习UNIX 一种操作系统 和linux有密切联系 在后面本章小节中我会详悉介绍 课程 教材是AndrewTanenbaum教授写的 操作系统 设计与实现 现在中译本很多 大家可以找来看看 操作系统 设计与实现 是用Minix AndyTanenbaum教授所写的很小的Unix操作系统 主要用于操作系统教学 Linux的来历 刚开始他是在Minix环境下写了一个处理多任务切换的程序 用他自己的话来描述这个程序 这个程序包括两个进程 都是向屏幕上写字母 然后用一个定时器来切换这两个进程 一个进程写A 另一个进程写B 所以我就在屏幕上看到了AAAA BBBB 如此循环重复的输出结果 linus在练习使用Minix时 发现其功能很不完善 于是他就有了一个目标 写一个比Minix更好的Minix 所以Minix是linux的父亲 Linux的来历 在1991的时候 主观上有了这样一个目标 当时linus又需要一个简单的终端仿真程序来存取Usenet新闻组的内容 于是他就开始在上面两个草草编写的进程的基础上又写了一个程序 他是这样描述的 一个进程是从键盘上阅读输入然后发送给调制解调器 另一个进程是从调制解调器上阅读发送过来的信息然后送到屏幕上供人阅读 然而要实现这两个新的进程 他显然还需要一些别的东西 这就是驱动程序 他必须为不同的显示器 键盘和调制解调器编写驱动程序 1991年的夏季 也就是他购买了第一台PC机之后6个月 Linus觉得他还需要从网上下载某些文件 为此他必须读写某个磁盘 于是他又不得不写一个磁盘驱动程序 然后是一个文件系统 而一旦你有了任务切换器 文件系统和设备驱动程序之后 你当然就拥有了一个操作系统 或者至少是它的一个内核 linux也就这样诞生了 1994年 Torvalds终于推出了Linux的正式的1 0版本 此时这个操作系统已经变得比较稳定并且拥有很多的高级特性了 支持抢先多任务 对称多处理和完全的POSIX兼容性等 它甚至有了自己的吉祥物 Torvalds在Linux的联机文档里这样描述到 它是一只讨人喜欢的 让人一见就想拥抱的 刚刚饱餐了一顿鲱鱼的企鹅 在1998年Linux获得了广泛支持 尤为重要的是几乎所有的大型软件公司都宣布推出或即将为Linux开发相应的产品 有人预测在2003年之前成为紧随微软WindowsNT之后的第二大操作系统 Linux的吉祥物是Linux企鹅 它是由LinuxTorvalds挑选的代表他所创立的Linux操作系统 Linux的来历 linux名字由来 开始 linux还没有专门的新闻组 linus只是在赫尔辛基技术大学的一台FTP服务器上发了一则消息 说可以下载linux的公开版本 Linux是linus的笔名 他担心如果用Linux来命名的话有人会说他狂妄而且不会认真对它 于是他用了一个很怪的名字Freak free freak X free就是自由 freak愿意是怪胎的意思 表示这个系统还有很多不完善的地方 加上X是模仿UNIX和MINIX让人家一看就知道这是一个操作系统 后来 这台FTP的管理员不喜欢Freax这个名字 最后选择了Linux 自由软件 RichardStallman在1971年加入MIT的人工智能实验室 他认为 知识应该与其它能从知识中受益的人一起共享 重要的资源应该被利用 他想把自己开发的软件与其它人共享 按照法律 他是MIT的员工 他写的程序是属于MIT的 为了不冒犯法律 毅然辞职 大约在一年以后 由于个别的公司控制了许多公共软件的开发项目 自1984年起MIT开始支持RichardStallman的努力 这样就导致了自由软件基金会 FreeSoftwareFoundation FSF 的建立 他认为 计算机系统因该开放 软件应该自由使用 GNU RichardStallman打算组织开发一个完全基于自由软件的软件体系 GNU GNU sNotUnix GNU这个单词含义正好是产于南非州的一种大羚羊 所以我们经常可以看到有些linux书的封面是一只羚羊 就是这个道理 它的目标是 写一个完整的与UNIX兼容的软件系统 由于刚开始还没有很好的自由软件可供使用 所以他们先从系统的应用软件和工具着手 比如很有名的 emacs 编辑器 gcc 据说是世界上效率最高的编译器 等等 同时他们也开发GUN体系的操作系统内核 hurd 可是开发得很缓慢 到现在也没有全部完工 GPL 在其它人协作下 Stallman创作了通用软件许可证 GeneralPublicLicese GPL 这对推动自由软件的发展起了重要作用 GPL主要的规定 1 GPL保证任何人有共享和修改自由软件的自由 还可以把修改后的软件向公众发布 但是发布者要无条件开放其源代码 这样就保证自由软件的低价 2 GPL规定自由软件的衍生作品必须以GPL为重新发布的许可证 这样就保证了自由软件的持续性 3 GPL规定允许公司销售自由软件 这就为公司介入自由软件事业敞开大门 Linux和自由软件 自从1991Linux发布以来 一直是完全自由扩散的 他要求所有的源码必须公开且任何人不准从中获利 这样它限制了Linux以磁盘或CD ROM等媒介的发布形式 从而阻碍了Linux得发展 因为没有哪家公司愿意使用没有厂商保证和没有良好技术支持的操作系统 linus想到了GPL 事实也证明 加入GPL之后 许多软件公司就介入其中 开发了多种Linux的发行版本 如 Redhat Mandrake等等 他们增加了许多实用软件和易用的图形界面 linus本人也认为 使Linux成为GPL的一员是我一生中作过最漂亮的一件事 Linux的发音 据说 linux的创始人Linus LinusTorvalds 针对读音分歧较多的情况 特意录了一段他对Linux的发音 这段录音的内容是这样的 Hello thisisLinusTorvaldsandIpronounceLinuxasLinux 我听出来的是 li n ks 综合网上和linus自己的读音 概括出几个自认为最合适也最通用的读法 Li n ks 里那克斯 或 li n ks 里呢克斯 或 Li nu ks 里纽克斯 提示 上面的这段录音可以在RedHat中调试声卡的时候可以听到 如果你的声卡调试成功 系统会播放上面一段声音以示成功 linux和UNIX的关系 在讲UNIX和linux两者关系之前 我们先了解一下Minix Minix最初是由AndrewTanenbaum教授在4 3BSD的基础上 但不通过修改4 3BSD的源代码而是白手起家几乎一个人完成了12000行C语言程序的编写工作 它的特点功能简单 易懂可以在8086上运行 后来也能在80386上运行 当然我们称它为UNIX操作系统 但这个Minix的功能也非常的有限 几乎没什么实用价值 但它能很好地作为教学使用 后来网上很多人给Tanenbaum教授寄来了改进 可是Tanenbaum教授没有接受 他想保持Mnix小而简单的特性 从它的名字中不难看出 Minix是一个迷你型的操作系统 linux和UNIX的关系 linux最初是由Minix发展而来 Minix是由4 3BSDUNIX发展而来 4 3BSDUNIX是由AT T的所谓真正的UNIX发展而来 可以总结出 Minix是linux的父亲 而UNIX则是linux的祖父了 虽然UNIX和linux的源代码完全无关 可是linux中的许多特性和UNIX有很多相等之处 如 1 Linux采用了SVR4的进程间通信 IPC 机制 共享内存 消息队列 信号灯2 Linux支持BSDSocket网络编程接口3 许多Linux发行版采用SysVinit机制 支持运行级别所以我们认为linux是UNIX操作系统 Liux发展的5大支柱 Linux的内核版本 Linux的内核版本linux发行版本 不同版本的核心源码的文件数 Linux的内核版本 Linux内核由其创始人linus带领的小组维护 这个版本我们就认为是 官方版本 内核版本号的格式是 主版本号 次版本号 修正号例如 Linux2 4 10 主版本号是2 次版本号是4 第10次修正 内核版本号还有一个规则 次版本号为偶数的是稳定版本 为基数的是发展版本 所谓稳定版本是指内核的特性已经固定 代码运行稳定可靠 不再增加新的特性 要改进也只是修改代码中的错误 linux发行版本 光有内核还不能构成一个完整的操作系统 于是一些组织或公司将内核与一些应用程序包装起来就构成了一个完整的操作系统 这就是发行套件 不同的公司或组织的发行套件各不相同 版本号也不相同 尽管它们使用了同一版本号的内核 现在的发行公司很多 如 我们常听说的RedHat 中软 红旗 第二节linux内核分析概论 Linux内核分析需要的基础知识Linux0 01内核简介Linux内核分析的方法 工具 参考书 Linux内核分析需要的基础知识 理论操作系统的基本知识LINUX基本操作8086硬件体系结构 接口编程知识语言C语言AT T汇编和INTEL汇编 GCC内联汇编 参考资料 80386Programmer sReferenceManual1986GCC手册 关于内联汇编as86或者nasm手册Ld手册K rc Linux0 01内核简介 比之2 4版500万行 0 01版共8000余行代码 可以完全阅读已经具备了现代操作系统的基本要素支持的硬件平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无机化学基础知识测试卷及答案
- 2025年物理学基础知识综合测评卷及答案
- DSPE-PEG-FITC-MW-400-生命科学试剂-MCE
- 2025年企业管理学科考试试卷及答案
- 2025年环境评估与管理实践考试试题及答案
- 全面小康美丽家乡作文书信600字(14篇)
- 活跃与规范排污权交易市场的策略及实施路径
- 童话中的智慧寓言故事解读议论文13篇范文
- 数与形交汇:高中数学课程教案设计
- 克服困难和挫折的中考作文600字(15篇)
- 高中化学-烃的衍生物复习教学课件设计
- 工程技术中心汇报1
- 绘本《彼得兔的故事》
- 水泥生产所需设备及检测设备清单
- 金赛 说明书完整版
- 《格力电器企业内部审计存在的问题及优化对策分析案例(论文)10000字》
- 2023年山东省威海市中考历史试题
- 如何书写中医护理记录答案
- 国开期末考试《建筑制图基础》机考试题及答案(第A-1套)
- 《QCC改善报告》课件
- 命令注入漏洞利用实例(共12张PPT)
评论
0/150
提交评论