引论.ppt
《引论.ppt》由会员分享,可在线阅读,更多相关《引论.ppt(107页珍藏版)》请在三一文库上搜索。
1、第1章 操作系统引论 1.0 引言,学习要求: 按时上课,认真听讲 阅读参考书 思考,讨论,提问,成绩评定: 作业 15% 上机 15% 期末考试 70%,课程形式: 讲课, 习题课, 作业, 上机, 教材 计算机操作系统 汤子赢,参考教材 操作系统设计与实现 王鹏等译 电子工业出版社 现代操作系统 陈向群等译 机械工业出版社 操作系统教程 王素华 人民邮电出版社 计算机操作系统教程 张尧学,史美林 清华大学出版社 操作系统教程 孟庆昌 西安电子科技大学出版社,涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等),实践性强(从实践总结出原理),错综复杂:纵横交叉,操作系统课程的
2、特点:,教师只指出要点 要通过自学、研读参考书掌握内容,善于发现问题、提出问题 要努力寻求问题的答案,注意学习方式的变化,#include int main(int argc, char *argv) puts(“hello world“); return 0; ,一. 从实例中了解操作系统做什么?, 程序执行系统调用,在写一字符串, 用户告诉操作系统执行hello程序, 操作系统找到该程序,检查其类型, 检查程序首部,找出正文和数据的地址, 父进程需要创建一个新的子进程,执行hello程序, 操作系统设置CPU上下文环境,并跳到程序开始处, 程序的第一条指令执行,失败,缺页中断发生, 系统分
3、配一页内存,并将代码从磁盘读入,继续执行, 更多的缺页中断,读入更多的页面,编译程序对hello进行编译,形成目标代码,连接程 序对目标代码进行连接形成可执行文件, 操作系统检查字符串的位置是否正确,操作系统找到字符串被送往的设备, 该设备是一个 伪终端, 由一个进程控制, 操作系统将字符串送给该进程, 该进程告诉窗口系统它要显示字符串, 窗口系统确定这是一个合法的操作,然后将字符串转换成像素, 窗口系统将像素写入存储映像区, 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕), 显示器发射电子束, 用户在屏幕上看到 hello world,操作系统提供一系列服务: 作业管理:程序执行
4、,多任务。 内存管理:内存分配,内存保护。 文件服务:文件存取,文件维护,文件保护。 设备管理:设备控制,I/O操作。 友好的用户界面。 通信服务,网络服务。 错误检测及恢复系统,安全。,专业微观层面 计算机领域,综合宏观层面 技术、经济、政治、,二. 为什么学习操作系统?,1. 综合宏观层面(技术、经济、政治、),赞成学习操作系统的理由: 需要总体上掌握系统设计 操作系统包括了所有软件设计/实现问题 资源共享/管理, 安全和身份验证 灵活性, 健壮性, 友好界面设计,关于学习操作系统的争议: 世界上只需要很少的操作系统设计/实现者 Windows 的天下, 垄断不易改变,设计操作系统 或者
5、修改现有的系统 存在人们意识不到的大量“操作系统” 嵌入式系统(Embedded OS) 加深对使用的OS的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交道 编程时借鉴操作系统的设计思想和算法 操作系统中的许多概念和技巧可推广 到其他领域 选择购买操作系统 我们并不总使用微软Windows,Intel-CPU, 微软Windows的安全问题 “后门“ 信息安全问题 国家信息体系的安全 政治、经济与国防的信息安全 高新技术武器的基础核心 没有自主版权的操作系统,将受制于人 安全,安全,安全! 操作系统的安全是一切信息安全的基础,现状: WINDOWS系列, UNIX系列, 其他产品
6、 计算机世界必然是 一个多元化、多层次、多品种的世界 各种不同的新平台和子平台层出不穷 后PC时代 PC机无处不在计算机与其它设备的结合 PC机无形化 信息家电,对嵌入式系统的需要 Embedded OS,对高性能计算系统的需要 机群操作系统,全球操作系统,对Mobile Computing(可移动计算)的需要 无线手机,机顶盒,个人数字助理等,2.专业微观层面(计算机领域) 涉及到计算机科学的很多领域 软件设计、程序设计语言、计算机体系结构、 数据结构、算法、分布处理、网络,抽象 操作系统具有一种魔力(巫术) 提供了无限的CPUs 无限的内存,大型、复杂系统的系统设计 功能 与 方便使用 功
7、能 与 简单性 硬件 与 软件 折衷权衡 (Trade-Off) 操作系统是目前最复杂的软件成分,大型与小型OS: 100k至数百万行源码 100-1000人-年的工作量 嵌入式OS: 内核小到几十k至几百k 研制开发工作量,几个到几十个人年,三、当前操作系统的特征,复杂: 异步性 体现硬件特征 满足不同用户的相互冲突的需求 性能很重要 难于理解: 系统较构建者命短 太复杂,无法整体调试 行为难以预测,通过猜测进行微调 经常是不可靠的,个人计算: 计算机很便宜,将来它会更便宜 人人都会拥有一台计算机,甚至多台 分布式,并行机群系统: 高速并行计算机深腾 通信网络和Internet ,方便地共享
8、资源,注重高可靠 高安全,注重移动计算、 注重嵌入式计算 应用广泛 (3A) Any where Any time Any person,中国需要操作系统研制人员 (电信、移动计算、信息家电),学习核心技术并能在其他地方应用之 问题: 您会有机会去设计新型操作系统的吗?,本课程总目标:,2深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术。,3了解操作系统的演化过程、发展研究动向、新技术以及新思想。,1对操作系统的基本概念、基本结构及运行环境有较深入的认识。,4通过有代表性的、典型的操作系统实例。 培养分析问题、解决问题的基本能力,为在相关领域开展工作打下坚实的基础。,课程基
9、本目的,一、操作系统的目标 能够高效地控制和管理计算机硬件和软件资源、公平合理地对各类作业进行调度、使各用户能够灵活方便有效地使用计算机。有良好的开放性和可扩充性。 高效:CPU,内存,I/O设备,文件(程序和数据)利用率提高 公平: 应公平合理, 否则会产生“死锁”或“饥饿” 方便: 用户界面友好,使用灵活方便。 开放: 遵循开放系统互连 OSI 国际标准规范, 彼此兼容 可扩充:层次化结构,便于增加新的功能 充分地利用资源 更好的提供服务,1.1 目标作用,二. 操作系统的作用,操作系统设计者,工具软件设计者,应用软件设计者,应用程序 - 虚机器界面 操作系统 - 物理机器界面 硬件,操作
10、系统具体工作: (1)程序的执行 负责启动每个程序,以及结束程序的工作。 (2)完成与硬件有关的工作 实现对存储器物理地址的访问,对设备接口寄存器和设备接口缓冲区的读写等, 实现该工作的过程代码和硬件因素密切相关。 (3)完成与应用无关(不随具体应用变)的工作 是指这些工作是任何一个程序都需要的、最基本的工作。它们具有共性,工作过程相同。 (4)计算机系统的效率与安全问题,1. 标准服务提供者 操作系统是在硬件基础上的第一层软件, 是用户及应用软件和硬件系统的接口 命令方式 系统调用方式 图形窗口方式 给用户提供需要的标准工具如:标准库,窗口系统 用户通过OS能方便快捷安全可靠地操纵计算机硬件
11、和运行自己的程序 假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果? 人们将穿孔输入程序,手工操作拨动开关控制计算机,从二极发光管读答案,程序创建和执行 存取I/O设备 控制对文件的存取 系统存取 错误检测和回应 统计,从不同的角度看 操作系统的作用?,2. 操作系统作为 管理者(government) 高效合理地管理资源。四类资源: 处理器、内存、 I/O设备、信息(程序和数据,作业和文件) 提供安全、保密措施,共享和保护 3. 操作系统作为 仲裁者(协调者) 使多个应用程序/用户高效,公平地一起工作 保护用户不互相干扰 例子:并发,存储保护,文件系统,网络,4. 操作系统作为 幻
12、觉制造者(illusionist) 提供硬件的高层界面(虚拟机), 取消硬件限制 操作系统提供无限的内存、无限的CPU 扩充机器,增强功能,三、推动操作系统发展的主要动力 不断提高计算机资源利用率 资源: CPU,内存,I/O设备,文件(程序和数据) 方便用户: 用户界面友好,使用灵活方便。 器件的不断更新换代 例如:微机由8位-16位-32位-64位,相应的OS也由8位-16位-32位-64位,不断更新换代。 计算机体系结构的不断发展 例如:计算机由单处理机系统发展为多处理机系统、计算机网络,OS也由单处理机OS发展为多处理机OS、网络OS。,四、操作系统的性能指标 系统的RSA 可靠性(R
13、eliability):用平均无故障时间(MTBF)度量 可维修性(Serviceability):用平均故障修复时间度量 可用性 (Availability):正常工作的概率 系统吞吐量: 单位时间完成的作业数 系统响应时间: 从输入到回应所需时间 资源利用率:资源(CPU,内存,I/O设备)实际使用比例 可维护性: 改错、改变功能、扩充功能 可移植性: 将OS移植到另以机型所需工作量 方便用户: 用户界面友好,使用灵活方,习题:p25 1, 2 课后思考题 1. 谈谈你对操作系统的初步认识 2. 你对学习操作系统课程有什么样的希望和要求?你打算这样来学习这门课?,操作系统是随着计算机硬件技
14、术、软件技术的发展而发展的。 目标:充分地利用资源 更好的提供服务,1.2 操作系统的发展过程,真空管计算机时代 硬件非常昂贵, 人工操作, 没有操作系统 1. 人工操作方式: 控制台 一个用户 一次完成一个功能 (计算,I/O,用户操作三者串行) 程序通过穿孔机或卡片装入 用户在控制台前调试程序,1.2.1 无操作系统的操作方式,50年代早期 出现了穿孔卡片 程序写在卡片上然后读入计算机,缺点: (1) 上机用户独占计算机的全部资源, 资源利用率低, 工作效率非常低。 (2) CPU 等待人工操作。 (3) 每个用户都要自行编写涉及到硬件的源代码。工作量大, 难度高, 易出错。 出现两个矛盾
15、: 人机矛盾人低速与机器高速 CPU与I/O设备速度不匹配的矛盾。,2. 脱机I/O方式 习题 p25 4 为了解决这两个矛盾,50 年代末出现了脱机I/O方式, I/O设备由外围机控制。减少了CPU的空闲时间,提高了 I/O 速度,外围机,外围机,主机,输入设备,输出设备,磁盘,为了提高资源利用率和系统吞吐量 一. 单道批处理系统 用户把程序(卡片)交给系统管理员,他把一批作业以脱机方式输入到磁带上,常驻监督程序(Moniter)对这批作业一个接一个连续处理。 1. 单道批处理系统处理过程: 重复进行 装入程序、运行、打印结果、撤出,1.2.2 批处理,有作业?,有错吗?,把作业的源程序转换
16、为目标程序,装 配 目标程序,运 行 目标程序,开始,终止,是,是,否,否,单道批处理过程,2. 单道批处理系统的特征 自动性:磁带上一批作业能自动逐个依次运行 顺序性:作业顺序进入内存,执行与完成的顺序 和调入的顺序完全相同。 单道性:内存中仅有一道程序,只有该程序完成 或发生异常时,才调入后继程序进入内存运行。 一个用户独占全部资源CPU负责计算,也负责传输, CPU与外设速度不匹配 CPU与I/O串行资源利用率仍然很低。,3.单道批处理系统的典型代表 FMS(FORTRAN Monitor System,FORTRAN监控系统) IBMSYS(IBM为7094机配备的操作系统) 这些操作
17、系统由监控程序,特权指令,存储保护和简单的批处理构成,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,基本控制卡片 是现代作业控制语言和命令解释器的先驱,在IBM 7094机上, 若当前作业因等待I/O而暂停, CUP只能踏步直至该I/O完成。 对于CPU操作密集的科学计算问题, 浪费时间少。 对于商业数据处理, I/O等待时间常占80-90。 解决办法 多道程序设计技术(multiprogramming) 将内存分几个部分, 每部分放不同的作业。 当一个作业等待I/O时,另一个作业可以使用CPU。 注意:在主存中同时驻留多
18、个作业需要进行保护, 以避免信息被窃取或攻击。,二. 多道批处理系统 1.多道程序设计 在磁盘上多个作业等待运行排成“后备队列”。 多道程序 内存中同时有多个作业。 -选择(调度)若干作业装入内存(存储管理)。 运行的作业遇到I/ O请求时, 切换(调度)至内 存中的另一个作业并运行之。 增加: 存储管理重定位保护,并发程序设计技术。 采用缓冲, DMA, 中断处理 多道程序共享资源,提高CPU、内存和I/O设备的利用率。增加系统吞吐量。,单道: 用户程序 监督程序 I/O操作,I/O请求,启动I/O,I/O完成,I/O请求,多道: 程序A 程序B 程序C 调度程序,A:I/O请求,A:I/O
19、,B:I/O请求,B:I/O,C:I/O,A:完成,t,t,2.多道批处理系统的特征 多道性: 内存同时驻留多道程序允许并发执行。 无序性: 作业完成顺序与进入内存顺序五严格对应关系。 调度性: 作业从提交到完成经两步调度。 作业调度、进程调度。,3.多道批处理系统的优缺点 优点: 多道程序共享资源, CPU、内存和I/O设备的利用率高。系统吞吐量大,资源保持忙,系统开销小。 缺点: 作业平均周转时间长, 无交互能力。 4.多道批处理系统需要解决的问题 处理机管理、内存管理、I/O设备管理 文件管理、作业管理 5. 据此定义:操作系统是一组能够高效地控制和管理计算机硬件和软件资源、公平合理地对
20、各类作业进行调度、以及方便用户使用计算机的程序集合。,6. 采用 Spooling 技术 Simultaneous Peripheral Operation On Line (同时的外围设备联机操作-假脱机技术) 利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行。 1961年, 英国曼彻斯特大学, Atalas机上实现。 作业(包括数据)从卡片读入到磁盘上的输入井 按某种调度策略选择作业调入内存, 运行时遇到输入数据时从输入井读入。 运行遇到输出时,先将结果输出到磁盘上的输出井。 到作业结束时再从磁盘输出到输出设备上。,2.多道批处理系统的典型代表 1964 年
21、IBM 宣布推出System/360计算机系统,是第一个采用小规模集成电路的主流机型。,IBM System/360的问题 存储管理有基地址寄存器寻址方式, 程序可以访问和修改基地址寄存器, 但程序被钉死在调入内存时的物理地址上, 不进行动态再分配。CPU访问的是绝对地址。 数千程序员写的数百万行汇编代码, 系统占了大量存储空间和一半的CPU时间, 成为庞大的软件怪兽。 数百万行汇编代码中有成千上万处错误。 IBM不断发行新的版本试图更正这些错误, 新版本在更正老错误的同时又引入新错误。 随着时间的流逝, 错误的数量大致保持不变。,硬件速度更快,人力较以前昂贵 分时系统的产生用户需要 1)交互
22、:所有用户看似独占全机,都能直接修改错 误,及时进行人-机交互。 2)共享:多个用户用便宜终端,共享一台计算机。 3)方便:用户对自己的作业进行控制,调试方便。 分时系统是一台主机带多个终端,同时允许多个用户用终端,共享一台主机,每个用户都可以通过终端方便地以交互方式使用主机。,1.2.3 分时系统,分时系统的思想于1959年在麻省理工学院(MIT)提出。 每个用户有一个联机终端。 分时系统中, 假设20个用户登录, 其中17个在思考或谈论或喝咖啡, 则CPU可给那3个需要的作业轮流服务。 调试程序的用户常常只发出简短的命令, 而很少有长的费时命令。 所以计算机能够为许多用户提供交互式快速服务
23、, 同时在CPU空闲时还能在后台运行大作业。 1961年, 第一个分时系统由 MIT的Fernando Corbato 等在一改装的IBM 7090/94机上开发成功, 当时有32个交互式用户。,关键问题和实现方法 及时接受: 系统配置多路卡, 与各终端连结,每个终端配置一个缓冲区, 暂存接受各用户键入的命令和数据。 及时处理(及时响应): 每个用户键入命令后, 能控制自己作业的运行, 并及时得到处理。各作业都必须在内存, 在响应周期内都能得到执行。方法是, 将响应周期分为很短的时间片, 每个作业占一个时间片轮流执行。不允许某个作业长期占用处理机。,解决 需要抢占式调度以保持适当的响应时间 避
24、免抖动(程序在内存中过于频繁的对换) 需要提供适用的安全检测 与多道批处理相结合, 具有“前台”和“后台”,3.带来的问题 及时处理, 响应时间(周期)问题 相互之间的影响 终端上人操作运算量变化太大,有时空闲。,具有“前台”和“后台”的多道分时系统 内存中同时存放多道作业, 道数和位置都不固定, 某些道为“前台区”存放按时间片调度的前台作业流, 其余道为“后台区”存放批处理作业流。 前台优先, 只有当前台调进调出或前台无可运行的作业时才运行后台作业。 既有分时系统多台终端共享主机交互性好, 又有多道批处理系统资源利用率高的优点。,4.分时系统的特点 多路性: 一台主机同时联接多个终端,系统按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 引论
链接地址:https://www.31doc.com/p-2664720.html