linux操作系统分析与实践

上传人:油条 文档编号:50953198 上传时间:2018-08-11 格式:PPT 页数:107 大小:1.40MB
返回 下载 相关 举报
linux操作系统分析与实践_第1页
第1页 / 共107页
linux操作系统分析与实践_第2页
第2页 / 共107页
linux操作系统分析与实践_第3页
第3页 / 共107页
linux操作系统分析与实践_第4页
第4页 / 共107页
linux操作系统分析与实践_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《linux操作系统分析与实践》由会员分享,可在线阅读,更多相关《linux操作系统分析与实践(107页珍藏版)》请在金锄头文库上搜索。

1、Linux操作系统分析与实践第一讲:操作系统概述Linux操作系统分析与实践课程建设小组 北京大学 二零零八年春季*致谢:感谢Intel对本课程项目的资助几个问题 什么是操作系统?解决什么问题? 学到哪些原理? 设计处理器时,如何对操作系统支持? 有硬件、软件(应用软件),实现一个功能 应该放在哪里?如果放在操作系统中,应该 放在何处?内核或库? UNIX的缺点?如果你要重新设计,怎么做? 一个Web请求是怎么走的?(OS怎样接?)几个问题(续) 描述中断响应过程,说明操作系统对 这一过程的支持。 谈谈TLB的作用、特点和内容。 为什么引入工作集模型?软件开发人 员在编程时怎样考虑? 设计一个

2、多级目录结构,要求目录检 索速度快,请给出设计方案。操作系统做什么?#include int main(int argc, char *argv) puts(“hello world“); return 0; 用户告诉操作系统执行hello程序 操作系统找到该程序,检查其类型 检查程序首部,找出正文和数据的地址 文件系统找到第一个磁盘块 父进程需要创建一个新的子进程,执行hello程序 操作系统需要将执行文件映射到进程结构 操作系统设置CPU上下文环境,并跳到程序开始处 程序的第一条指令执行,失败,缺页中断发生 操作系统分配一页内存,并将代码从磁盘读入,继续执行 更多的缺页中断,读入更多的页面

3、 操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备 设备是一个伪终端,由一个进程控制 操作系统将字符串送给该进程 该进程告诉窗口系统它要显示字符串 窗口系统确定这是一个合法的操作,然后将字符串转换 成像素 窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器( 重画屏幕) 显示器发射电子束 你在屏幕上看到hello world 程序执行系统调用,在文件描述符中写一字符串本讲主要内容 操作系统在计算机系统中的地位 操作系统的定义、特征和功能 操作系统的发展历史及分类 操作系统的内核体系结构模型 Linux的特点及发展简史 Linux内核的结构及主要组成部分

4、 一、操作系统在计算机系统中的地 位 计算机系统包括硬件(子)系统和软件(子)系统 。 操作系统属于计算机系统软件(子)系统中的系统 软件,是紧密接近硬件的第一层软件,是对硬件功 能的首次扩充,其他软件则是建立在操作系统之上 的。 各种软件在操作系统的统一管理和支持下运行。 计算机系统 操作系统是计算机系统中软件技术含量最大 、附加值最高的部分,是软件(子)系统的 核心,是软件的基础运行平台。 操作系统实际上是一个计算机系统中硬、软件 资源的总指挥部 。 操作系统的性能高低,决定了整个计算机的潜 在硬件性能能否发挥出来。 操作系统本身的安全可靠程度,决定了整个计 算机系统的安全性和可靠性。 操

5、作系统设计者应用软件设计者二、操作系统的定义、特征和功能 操作系统的定义 操作系统的特征 操作系统的功能2.1 操作系统的定义 定义: 操作系统是计算机系统中的一个系统软件,它 是这样一些程序模块的集合它们能有效地组 织和管理计算机系统中的硬件及软件资源,合理 地组织计算机工作流程,控制程序的执行,并向 用户提供各种服务功能,使得用户能够灵活、方 便、有效地使用计算机,并使整个计算机系统能 高效地运行。 操作系统的任务之一是组织和管理计算机系 统中的硬件及软件资源。 操作系统另一项重要任务是向用户提供各种 服务功能。 2.2 操作系统的特征并发(concurrency):处理多个同时性活动的能

6、力 在计算机系统中同时存在多个程序 宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行(单 CPU)即微观上这些程序在CPU上轮流执行 并行(parallel):(与并发相似,但多指 硬件支持) 由并发引起的问题:活动切换、保护、相互 依赖的活动间的同步操作系统特征(续)共享(sharing):操作系统与多个用户的程序共同使用计算 机系统中的资源(共享有限的系统资源)操作系统要对系统资源进行合理分配和使 用 资源在一个时间段内交替被多个进程所用 互斥共享(如音频设备) 同时访问(如可重入代码,磁盘文件) 资源分配难以达到最优化虚拟(Virtual):一个物理实体映射为若干个对应

7、的逻辑实 体分时或分空间。虚拟是操作系统管理 系统资源的重要手段,可提高资源利用率操作系统特征(续) CPU每个用户(进程)的“虚处理机“ 存储器每个进程都占有的地址空间(指令 数据堆栈) 显示设备多窗口或虚拟终端随机性:操作系统必须随时对以不可预测的次 序发生的事件进行响应操作系统特征(续) 进程的运行速度不可预知:分时系统中,多个进程并 发执行,“走走停停”,无法预知每个进程的运行推进快 慢 难以重现系统在某个时刻的状态(包括重现运行中的 错误)不确定性: 由共享和并发引起 在操作系统中可运行多道用户程序,而每个用户 程序的运行时间、要使用哪些系统资源、使用多长 时间、使用的资源是共享还是

8、独占的,操作系统在 程序运行前是不知道的 要求操作系统的设计要很好地解决并发和共享的问 题,否则,将会产生不可重现的错误,这种不可重 现的错误称为不确定性 例子:两个用户共享一台打印机操作系统特征(续)2.3 操作系统的功能 进程管理 进程管理的实质是对CPU进行管理,所以进程管理往往 又被称为处理器管理。 存储管理 存储管理的任务是管理计算机内存的资源。 文件管理 有效地支持文件的存储、检索和修改等操作,解决文件 的共享、保密和保护问题,以使用户方便、安全地访问文 件。 设备管理 负责外部设备的分配、启动和故障处理,用户不必详细 了解设备及接口的技术细节,就可以方便地通过操作系统 提供的设备

9、管理手段,对设备进行操作。 三、操作系统的发展历史及分 类 操作系统如同任何其他事物一样,也有它的 诞生、成长和发展的过程。 手工操作; 监控程序(早期批处理) ; 多道批处理 ; 分时与实时系统 ; UNIX通用操作系统 ; 个人计算机操作系统 ; 当代操作系统的两大发展方向宏观应用与 微观应用 .操作系统的发展操作系统发展是随着计算机硬件 技术、应用软件的发展而发展的 目标:充分利用硬件提供更好的服务大型机 PC机 后PC时代历史上的操作系统随历史线索,介绍一些重要的操作系统 FMS(FORTRAN Monitor System)和IBSYS(IBM为7094配备的操作系统) OS/360

10、(IBM为系列机360配备的操作系统 ) CTSS(Compatible Time Sharing System ) MULTICS(MULTiplexed Information and Computer Service) UNIX类、Linux CP/M 历史上的操作系统 MS-DOS、Windows 3.1/95/98/Me、Windows NT、Windows 2000/XP、 Windows CE、 Windows Server 2003 Macintosh OS/390 Mach VxWorks 嵌入式领域 国产操作系统 研究型操作系统卡片早期批处理系统IBM 1401IBM 70

11、94IBM 1401输入磁带磁带机卡片阅读机输出磁带打印机典型的操作系统FMS(FORTRAN Monitor System,FORTRAN监 控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储 保护和简单的批处理构成OS/360操作系统 20世纪60年代初期,计算机开始采用集成电路, 多数厂商有几条完全不同的生产线,生产不同的 计算机 开发和维护完全不同的产品,对厂商来说是昂贵 的 新的用户在开始时只需要一台小计算机,后来可 能需要一台大的计算机,并希望能在新计算机上 执行原有的程序 厂家和用户需要软件在不同型号的计算机之间兼 容 1964 年IB

12、M 宣布推出System/360计算机系统第一个采用小规模集成电路的主流机型 试图一次性地解决上述问题 由于所有的计算机都有相同的体系结构和指令集在理论上,为一型号编写的程序可以在其他型号机器上运行OS/360操作系统IBM System/360的若干问 题 IBM无法写出同时满足互冲突需要的操作系统其实别人也一样不能完成此项任务 IBM OS/360文件系统中有类型字段,定义文件的 类型,有定长、不定长记录、块状和非块状文件用户对于输出文件的大小,只有通过猜测 存储管理有基地址寄存器寻址方式,程序也可以 访问和修改基地址寄存器,但是CPU生成的却是绝 对地址,虽然不用进行动态再分配但程序却被

13、“钉死”在调入内存时的物理地址上IBM System/360, 庞大的软件怪 兽 数千名程序员写的数百万行汇 编语言代码系统自身占据了大量存储空间 和一半的CPU时间 数百万行汇编代码中有成千上 万处错误 IBM不断发行新的版本试图更正 这些错误每个新版本在更正老错误的同 时又引入新错误 随着时间的流逝,错误的数量 大致保持不变 分时系统的思想1959年在MIT提出 每个用户有一个联机终端在分时系统中,假设20个用户登录其中17个在思考或谈论或喝咖啡则CPU可分配给那三个需要的作业(轮流服务) 调试程序的用户常常只发出简短的命令很少有长的费时命令 计算机能够为许多用户提供交互式、快速服务同时在

14、CPU空闲时还能在后台运行大作业第一个分时操作系统CTSS 第一个分时系统(CTSS)由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开 发成功(有32个交互式用户) IBM 7090/94计算机有32K内存,系统用5K,用户 用27K,用户存储映象在内存和一台磁鼓之间切换 1962年Manchester大学的Atlas计算机投入运行运行速度200 kFLOPS 第一个有虚拟存储器(virtual memory)和页面调 度(paging) 的机器 指令执行是 pipelined 的MULTICS的灾难 1965年在ARPA的支持下MIT、贝尔实验

15、室 和通用电气公司决定开发一种“公用计算 服务系统”, 希望能够同时支持整个波 士顿所有的分时用户。该系统称作 MULTICS (MULTiplexed Information and Computing Service ) MULTICS设计目标是:便利的终端使用大量远程终端通过电 话线接入计算机主机高可靠的大型文件系统大容量的用户 信息共享;存储和构造层次化信息结构的 能力 MULTICS研制难度超出所有人的预料(PL/1语言)长期研制工作达不到预期目标,1969年4月贝尔实 验室退出,通用电气公司也退出最终,MIT坚持下来,MULTICS成功运行,成为商 业产品(通用汽车、福特、美国国家安全局等)运行MULTICS的计算机系统在九十年代中陆续被关 闭(加拿大国防部于2000年10月30日17:08) MULTICS的意义引入了许多现代操作系统领域概念雏形,对随后 的操作系统特别是UNIX的成功有着巨大的影响 MULTICS小型计算机,电子游戏和UNIX的成功 1969年,在贝尔退出MULTICS研制项目后,Ken Thompson 和Dennis M. Ritchie 想申请经费买计算机从事操作系 统研究,但

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

当前位置:首页 > 行业资料 > 其它行业文档

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