Linux操作系统与应用-第一章PPT课件.ppt
《Linux操作系统与应用-第一章PPT课件.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统与应用-第一章PPT课件.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 操作系统概述认识操作系统 操作系统的发展开放源代码的Unix/Linux操作系统 Linux内核 Linux内核源代码 Linux 内核模块编程入门Linux 内核中链表的实现及应用认识操作系统认识操作系统v打开计算机,首先跳入眼帘的是什么?v要拷贝一个文件,具体的拷贝操作是谁完成的?l你需要知道文件存放在何处吗?l柱面、磁道、扇区描述什么?l数据的搬动过程怎样进行v繁琐留给自己,简单留给用户 l操作系统穿上华丽的外衣图形界面l操作系统穿上朴素的外衣字符界面认识操作系统认识操作系统从使用者的角度看从使用者的角度看v拷贝命令的C语言实现片断inf=open(“/floppy/TEST”,
2、O_RDONLY,0);inf=open(“/floppy/TEST”,O_RDONLY,0);out=open(“/mydir/test”,O_WRONLY,0600);out=open(“/mydir/test”,O_WRONLY,0600); do dol=read(inf,buf,4096);l=read(inf,buf,4096);write(outf,buf,l);write(outf,buf,l); while(l); while(l);close(outf);close(outf);close(inf);close(inf);认识操作系统从程序开发者的角度看认识操作系统从程序开
3、发者的角度看 浏览器 信息管理 文件管理系统 游戏 编译程序 编辑程序 命令 解释程序 操作系统 CPU、内存、I/O接口硬件内核 认识操作系统认识操作系统从所处位置看从所处位置看操作系统是其它所有用户程序运行的基础。 #includemain()printf(“ Hello worldn”)用户告诉操作系统执行用户告诉操作系统执行testtest程序程序 操作系统通过文件名找到该程序操作系统通过文件名找到该程序 检查其类型检查其类型, ,检查程序首部,找出代检查程序首部,找出代码和数据存放的地址码和数据存放的地址文件系统找到第一个磁盘块文件系统找到第一个磁盘块 操作系统建立程序的执行环境操作
4、系统建立程序的执行环境 操作系统把程序从磁盘装入内存,并操作系统把程序从磁盘装入内存,并跳到程序开始处执行跳到程序开始处执行 该程序的执行过程简述如下该程序的执行过程简述如下:操作系统检查字符串的位置是否正确操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备操作系统找到字符串被送往的设备 操作系统将字符串送往输出设备窗口操作系统将字符串送往输出设备窗口系统确定这是一个合法的操作,然后系统确定这是一个合法的操作,然后将字符串转换成像素将字符串转换成像素窗口系统将像素写入存储映像区窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟视频硬件将像素表示转换成一组模拟信号控制显
5、示器(重画屏幕)信号控制显示器(重画屏幕) 显示器发射电子束。你在屏幕上看到显示器发射电子束。你在屏幕上看到Hello worldHello world。 从中看从中看到什么到什么认识操作系统认识操作系统从程序执行看从程序执行看从操作系统设计者的角度看v操作系统的设计目标是什么?l 尽可能地方便用户使用计算机 l 让各种软件资源和硬件资源高效而协调地运转起来。 v计算机的硬件资源和软件资源各指什么?v假设在一台计算机上有三道程序同时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题 ?v从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分 l 操作系统接口l CPU管理l 内存管理
6、l 设备管理l 文件管理认识操作系统认识操作系统从设计者角度看从设计者角度看 操作系统操作系统是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。认识操作系统认识操作系统定义定义操作系统的组成操作系统的组成(1) 通常意义上的操作系统被认为是整个系统中负责完成最通常意义上的操作系统被认为是整个系统中负责完成最基本的功能和系统管理的部分。除了内核,这些部分还应该基本的功能和系统管理的部分。除了内核
7、,这些部分还应该包括启动引导程序、命令行包括启动引导程序、命令行shell或者其他种类的用户界面、或者其他种类的用户界面、基本的文件管理工具和系统工具等。基本的文件管理工具和系统工具等。 实际上,人们在得到操作系统的同时,更需要的是构架实际上,人们在得到操作系统的同时,更需要的是构架于其上的应用软件,从而完成所需的实际功能。为此,操作于其上的应用软件,从而完成所需的实际功能。为此,操作系统一般要和应用软件绑定发行和出售。这样的软件包在系统一般要和应用软件绑定发行和出售。这样的软件包在linux领域被称作发布版。领域被称作发布版。 操作系统的组成操作系统的组成(2) 从从开发者开发者的角度看,的
8、角度看,操作系统本质上是大型软件包操作系统本质上是大型软件包,因此,因此结构组织不会与其它大型软件迥异:操作系统的设计采用分层结构组织不会与其它大型软件迥异:操作系统的设计采用分层结构,越向上层抽象程度越高,越接近用户;越向下层,越靠结构,越向上层抽象程度越高,越接近用户;越向下层,越靠近硬件,抽象也越接近硬件。近硬件,抽象也越接近硬件。 上层软件依靠下层软件提供的服务,而且上层软件自身还上层软件依靠下层软件提供的服务,而且上层软件自身还提供附加服务。因此,操作系统的结构整体总体呈现倒金字塔提供附加服务。因此,操作系统的结构整体总体呈现倒金字塔形。形。 用一组简单的公式描述操作系统的组成要素:
9、用一组简单的公式描述操作系统的组成要素:操作系统操作系统= =内核内核+ +系统程序系统程序系统程序系统程序= =编译环境编译环境+API(+API(应用程序接口应用程序接口)+AUI()+AUI(用户接口用户接口) )编译环境编译环境= =编译程序编译程序+ +链接程序链接程序+ +装载程序装载程序API=shell+API=shell+系统服务例程系统服务例程+ +应用程序应用程序对于整个软件系统:对于整个软件系统:软件系统软件系统= =操作系统操作系统+AUI+AUI操作系统的演变v单道批处理系统单道批处理系统 l串行执行预先组织好的一组一组任务 l提高了系统效率 。 v多道批处理系统多
10、道批处理系统 l可以交错运行多个程序 l再次提高系统效率。v分时分时系统系统l将处理器的运行时间分成数片,均分或依照一定权重派发给系统中的用户使用 l快速响应 操作系统的发展操作系统的发展硬件角度下的操作系发展轨迹 硬件角度下的操作系统发展轨迹硬件角度下的操作系统发展轨迹分析v在硬件的性价比较低的时候,操作系统设计追求什么? v在硬件性价比越来越高后,操作系统的设计开始追求的目标是什么?v计算机开始普及后,操作系统的设计开始追求?v从第三代到第四代计算机,操作系统的发展逐渐摆脱追随硬件发展的状况 ,形成自己的理论体系v进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系
11、统结构并没有变化,只是各功能模块得以进一步完善。 操作系统的发展操作系统的发展硬件角度下操作系统发展的分析硬件角度下操作系统发展的分析软件角度下的操作系统发展轨迹软件角度下的操作系统发展轨迹 分析v程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展,从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。 v至今操作系统对于是否需要彻底对象化(即微内核化),还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。v人机交互技术主要是为用户考虑,这是对操作系统设计进行的变革。 v以Linux为代表的开源软件的出现,打破了带有神秘色彩的传统的封闭式开发模式。 软件角度下
12、的操作系统发展轨迹分析软件角度下的操作系统发展轨迹分析 讲究效率的单模块操作系统讲究效率的单模块操作系统进程管理进程管理内存管理内存管理设备管理设备管理文件管理文件管理模块之间可以互相调用的单模块结构模块之间可以互相调用的单模块结构讲究效率的单模块操作系统讲究效率的单模块操作系统v模块之间直接调用函数,除了函数调用的开销模块之间直接调用函数,除了函数调用的开销外,没有额外开销。外,没有额外开销。v庞大的操作系统有数以千计的函数v复杂的调用关系势必导致操作系统维护的困难追求简洁的微内核操作系统追求简洁的微内核操作系统客户进程客户进程进程服务器进程服务器内存服务器内存服务器文件服务器文件服务器微内
13、核微内核追求简洁的微内核操作系统追求简洁的微内核操作系统v内核与各个服务器之间通过通信机制进行交互内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大大折扣。,这使得微内核结构的效率大大折扣。v内核发出请求,服务器做出应答v为各个服务器模块的相对独立性,使得其维护相对容易历史悠久的历史悠久的Unixv在在MULTICS(1969) 的肩上的肩上制研制者制研制者Ken Thompson和和Dennis M. Ritchie Unix的诞生还伴有的诞生还伴有C语言呱呱落地语言呱呱落地UnixUnix是现代操作系统的代表:安全、可靠、强大是现代操作系统的代表:安全、可靠、强大的计算能力
14、的计算能力UnixUnix的商业化是一把双刃剑的商业化是一把双刃剑 自由而奔放的黑马自由而奔放的黑马Linux诞生于学生之手诞生于学生之手成长于成长于Internet Internet 壮大于自由而开壮大于自由而开放的文化放的文化芬兰、赫尔辛基大学、芬兰、赫尔辛基大学、19901990起始于写两个进程起始于写两个进程 然后写驱动程序、文件然后写驱动程序、文件系统、任务切换程序,系统、任务切换程序,从而形成一个操作系统从而形成一个操作系统邹形邹形vPOSIX POSIX 表示可移植操作系统接口(表示可移植操作系统接口(Portable Operating System InterfacePort
15、able Operating System Interface) vPOSIXPOSIX是在是在UnixUnix标准化过程中出现的产物。标准化过程中出现的产物。 vPOSIX 1003.1POSIX 1003.1标准定义了一个最小的标准定义了一个最小的UnixUnix操作系统接口操作系统接口 v任何操作系统只有符合这一标准,才有可任何操作系统只有符合这一标准,才有可能运行能运行UnixUnix程序程序 vGNU GNU 是是 GNU Is Not Unix GNU Is Not Unix 的递归缩写,是自的递归缩写,是自由软件基金会的一个由软件基金会的一个项目项目 。 v GNU GNU 项目
16、产品包括项目产品包括 emacs emacs 编辑器、著名的编辑器、著名的 GNU C GNU C 和和 GccGcc编译器等,这些软件叫做编译器等,这些软件叫做GNUGNU软软件。件。vGNU GNU 软件和派生工作均适用软件和派生工作均适用 GNU GNU 通用公共许通用公共许可证,即可证,即 GPLGPL(General Public License ) vLinuxLinux的开发使用了众多的的开发使用了众多的GUNGUN工具工具vGPL GPL 允许软件作者拥有软件版权允许软件作者拥有软件版权 v但但GPLGPL规定授予其他任何人以合法复制、规定授予其他任何人以合法复制、发行和修改软
17、件的权利。发行和修改软件的权利。v符合符合 POSIX POSIX 标准的操作系统内核、标准的操作系统内核、 Shell Shell 和外围工具。和外围工具。 v C C 语言编译器和其他开发工具及函数库语言编译器和其他开发工具及函数库 vX Window X Window 窗口系统窗口系统 v各种应用软件,包括字处理软件、图象处理各种应用软件,包括字处理软件、图象处理软件等。软件等。 v世界各地软件爱好者集体智慧的结晶世界各地软件爱好者集体智慧的结晶 v提供源代码,遵守提供源代码,遵守GPLGPL。 v经历了各种各样的测试与考验,软件的稳定经历了各种各样的测试与考验,软件的稳定性好。性好。
18、v开发人员凭兴趣去开发,热情高,具有创造开发人员凭兴趣去开发,热情高,具有创造性。性。 vLinusLinus领导下的开发小组开发出的系统内核领导下的开发小组开发出的系统内核 v是所有是所有Linux Linux 发布版本的核心发布版本的核心 v内核开发人员一般在百人以上,任何自由程内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。序员都可以提交自己的修改工作。 v采用邮件列表来进行项目管理、交流、错误采用邮件列表来进行项目管理、交流、错误报告报告v有大量的用户进行测试,正式发布的代码质有大量的用户进行测试,正式发布的代码质量高量高 vlinuxlinux内核被设计成单内核结
19、构,这是相对微内核而言的内核被设计成单内核结构,这是相对微内核而言的 v2.62.6版本以前的版本以前的linuxlinux内核是单线程结构,是非抢占式的内内核是单线程结构,是非抢占式的内 核结构核结构vlinuxlinux内核支持动态加载内核模块内核支持动态加载内核模块 vLinuxLinux内核被动地提供服务内核被动地提供服务vlinuxlinux内核采用了虚拟内存技术,使得内存空间达到内核采用了虚拟内存技术,使得内存空间达到4GB4GBvlinuxlinux文件系统实现了一种文件系统实现了一种UNIXUNIX风格的抽象文件模型风格的抽象文件模型虚虚拟文件系统拟文件系统(Virtual S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 应用 第一章 PPT 课件
限制150内