Linux操作系统原理与应用资料教程

上传人:yulij****0329 文档编号:141404353 上传时间:2020-08-07 格式:PPT 页数:318 大小:4.44MB
返回 下载 相关 举报
Linux操作系统原理与应用资料教程_第1页
第1页 / 共318页
Linux操作系统原理与应用资料教程_第2页
第2页 / 共318页
Linux操作系统原理与应用资料教程_第3页
第3页 / 共318页
Linux操作系统原理与应用资料教程_第4页
第4页 / 共318页
Linux操作系统原理与应用资料教程_第5页
第5页 / 共318页
点击查看更多>>
资源描述

《Linux操作系统原理与应用资料教程》由会员分享,可在线阅读,更多相关《Linux操作系统原理与应用资料教程(318页珍藏版)》请在金锄头文库上搜索。

1、Linux操作系统原理与应用,第一章 操作系统概述,Linux内核源代码,不同角度看到的操作系统,操作系统,认识操作系统,拷贝命令的C语言实现片断,inf=open(“/floppy/TEST”,O_RDONLY,0); out=open(“/mydir/test”,O_WRONLY,0600); do l=read(inf,buf,4096); write(outf,buf,l); while(l); close(outf); close(inf);,认识操作系统从程序开发者的角度看,认识操作系统从所处位置看,操作系统是其它所有用户程序运行的基础。,#include main() print

2、f(“ Hello worldn”) ,用户告诉操作系统执行test程序 操作系统通过文件名找到该程序 检查其类型,检查程序首部,找出代码和数据存放的地址 文件系统找到第一个磁盘块 操作系统建立程序的执行环境 操作系统把程序从磁盘装入内存,并跳到程序开始处执行,该程序的执行过程简述如下:,操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备 操作系统将字符串送往输出设备窗口系统确定这是一个合法的操作,然后将字符串转换成像素 窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕) 显示器发射电子束。你在屏幕上看到Hello world。,从中看到什么

3、,认识操作系统从程序执行看,从操作系统设计者的角度看 操作系统的设计目标是什么? 尽可能地方便用户使用计算机 让各种软件资源和硬件资源高效而协调地运转起来。 计算机的硬件资源和软件资源各指什么? 假设在一台计算机上有三道程序同时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题 ? 从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分 操作系统接口 CPU管理 内存管理 设备管理 文件管理,认识操作系统从设计者角度看,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户

4、提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。,认识操作系统定义,操作系统的演变 单道批处理系统 串行执行预先组织好的一组任务 提高了系统效率 。 多道批处理系统 可以交错运行多个程序 再次提高系统效率。 分时系统 将处理器的运行时间分成数片,均分或依照一定权重派发给系统中的用户使用 快速响应,操作系统的发展,硬件角度下的操作系发展轨迹,硬件角度下的操作系统发展轨迹,分析 在硬件的性价比较低的时候,操作系统设计追求什么? 在硬件性价比越来越高后,操作系统的设计开始追求的目标是什么? 计算机开始普及后,操作系统的设计开始追求? 从第三代到第四代计

5、算机,操作系统的发展逐渐摆脱追随硬件发展的状况 ,形成自己的理论体系 进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系统结构并没有变化,只是各功能模块得以进一步完善。,操作系统的发展,硬件角度下操作系统发展的分析,软件角度下的操作系统发展轨迹,分析 程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展,从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。 至今操作系统对于是否需要彻底对象化(即微内核化),还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。 人机交互技术主要是为用户考虑,这是对操作系统设计进行的变革。 以Linux为

6、代表的开源软件的出现,打破了带有神秘色彩的传统的封闭式开发模式。,软件角度下的操作系统发展轨迹分析,讲究效率的单模块操作系统,进程管理,内存管理,设备管理,文件管理,模块之间可以互相调用的单模块结构,讲究效率的单模块操作系统,模块之间直接调用函数,除了函数调用的开销外,没有额外开销。 庞大的操作系统有数以千计的函数 复杂的调用关系势必导致操作系统维护的困难,追求简洁的微内核操作系统,客户进程,进程服务器,内存服务器,文件服务器,微内核,追求简洁的微内核操作系统,内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大大折扣。 内核发出请求,服务器做出应答 为各个服务器模块的相对独立性

7、,使得其维护相对容易,历史悠久的Unix,在MULTICS(1969) 的肩上 制研制者Ken Thompson和Dennis M. Ritchie 站Unix的诞生还伴有C语言呱呱落地 Unix是现代操作系统的代表:安全、可靠、强大的计算能力 Unix的商业化是一把双刃剑,自由而奔放的黑马Linux,诞生于学生之手 成长于Internet 壮大于自由而开放的文化,Linux之父-Linus Torvalds,芬兰、赫尔辛基大学、1990 起始于写两个进程 然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统邹形,Linux得以流行的原因之一 遵循POSIX标准,POSIX 表示可移植

8、操作系统接口(Portable Operating System Interface) POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口 任何操作系统只有符合这一标准,才有可能运行Unix程序,Linux的肥沃土壤GNU,GNU 是 GNU Is Not Unix 的递归缩写,是自由软件基金会的一个项目 。 GNU 项目产品包括 emacs 编辑器、著名的 GNU C 和 Gcc编译器等,这些软件叫做GNU软件。 GNU 软件和派生工作均适用 GNU 通用公共许可证,即 GPL(General Public License ) L

9、inux的开发使用了众多的GUN工具,GPL开源软件的法律,GPL 允许软件作者拥有软件版权 但GPL规定授予其他任何人以合法复制、发行和修改软件的权利。,Linux系统或发布版,符合 POSIX 标准的操作系统内核、 Shell 和外围工具。 C 语言编译器和其他开发工具及函数库 X Window 窗口系统 各种应用软件,包括字处理软件、图象处理软件等。,开放与协作的开发模式,世界各地软件爱好者集体智慧的结晶 提供源代码,遵守GPL。 经历了各种各样的测试与考验,软件的稳定性好。 开发人员凭兴趣去开发,热情高,具有创造性。,Linux内核,Linus领导下的开发小组开发出的系统内核 是所有L

10、inux 发布版本的核心 内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。 采用邮件列表来进行项目管理、交流、错误报告 有大量的用户进行测试,正式发布的代码质量高,整个系统的核心内核,硬件,系统调用接口,应用 程序进程1,应用 程序进程2,应用 程序进程3,Linux内核,用户进程,内核子系统,系统调用,整个系统的核心内核,用户进程运行在Linux内核之上的一个庞大软件集合。 系统调用内核的出口,用户程序通过它使用内核提供的功能。 Linux内核操作系统的灵魂,负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。 硬件包括了Linux安装时需要

11、的所有可能的物理设备。例如,CPU、 内存、硬盘、网络硬件等等。,内核子系统,内核子系统,进程调度控制着进程对CPU的访问。 内存管理允许多个进程安全地共享主内存区域 虚拟文件系统隐藏各种不同硬件的具体细节,为所有设备提供统一的接口。 网络提供了对各种网络标准协议的存取和各种网络硬件的支持。 进程间通信(IPC) 支持进程间各种通信机制,包括共享内存、消息队列及管道等。,Linux内核版本树,0.01Linux(第一版),0.13版 | 产品化版本实验版本 1.0.0 1.1.0(1.0.0的拷贝) 1.0.X(修改)1.1.X(增加新功能,进行测试) 1.1.95(成为1.2.0),内核源代

12、码结构,Linux内核源代码分析工具,Linux超文本交叉代码检索工具 http:/lxr.linux.no/ Windows平台下的源代码阅读工具Source Insight,“内核之旅 ”网站, 电子杂志栏目是关于内核研究和学习的资料 第一期“走入Linux世界”涉猎了操作系统的来龙去脉后与大家携手步入Linux世界。 下载代码,亲手搭建实验系统。,第二章 内存寻址,Linux系统地址映射示例,内存寻址操作系统设计的硬件基础之一,操作系统横跨软件和硬件的桥梁 内存寻址操作系统设计的硬件基础之一 操作系统的设计者必须在硬件相关的代码与硬件无关的代码之间划出清楚的界限,以便于一个操作系统很容易

13、地移植到不同的平台。 在这众多的平台中,大家最熟悉的就是i386,即Intel80386体系结构。因此,我们所介绍的内存寻址也是以此为背景。,内存寻址的不同时期,石器时期8位寻址,在微处理器的历史上,第一款微处理器芯片4004是由Intel推出的,4位。 在4004之后,intel推出了一款8位处理器叫8080,它有1个主累加器(寄存器A)和6个次累加器(寄存器B,C,D,E,H和L) 那时没有段的概念,访问内存都要通过绝对地址,因此程序中的地址必须进行硬编码(给出具体地址),而且也难以重定位,青铜时期“段”的引入,intel开发出的16位的处理器叫8086,标志着Intel X86王朝的开始

14、,同时引入了“段 ”概念。 段描述了一块有限的内存区域,区域的起始位置存在专门的寄存器(段寄存器)中。 8086处理器地址线扩展到了20位,寻址空间到了1M 也就是把1M大的空间分成数个64k的段来管理(化整为零了)。 把16位的段地址左移动4位后,再与16位的偏移量相加便可获得一个20位的内存地址,,白银时期“保护模式”的引入,intel的80286处理器于1982年问世 。 地址总线位数增加到了24位 。 从此开始引进了一个全新理念保护模式 访问内存时不能直接从段寄存器中获得段的起始地址了,而需要经过额外转换和检查 。 80286处理器一些致命的缺陷注定不能长久,它很快被天资卓越的兄弟80

15、386代替了,黄金时期内存寻址的飞跃,80386是一个32位的CPU,其寻址能力达到4GB Intel选择了在段寄存器的基础上构筑保护模式,并且保留段寄存器16位 在保护模式下,它的段范围不再受限于64K,可以达到4G 这真正解放了软件工程师,他们不必再费尽心思去压缩程序规模,软件功能也因此迅速提升 从80386以后,Intel的CPU经历了80486、Pentium、PentiumII、PentiumIII等型号,但基本上属于同一种系统结构的改进与加强,而无本质的变化,所以我们把80386以后的处理器统称为IA32(32 Bit Intel Architecture)。,IA32寄存器简介, 把16位的通用寄存器、标志寄存器以及指令指针寄存器扩充为32位的寄存器 段寄存器仍然为16位。 增加4个32位的控制寄存器 增加4个系统地址寄存器 增加8个调式寄存器 增加2个测试寄存器,常用寄存器简介,通用寄存器 8个通用寄存器是8086寄存器的超集,它们分别为:EAX ,EBX ,ECX ,EDX ,EBP ,EBP, ESI及 EDI 段寄存器 8086中有4个16位的段

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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