




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统与系统编程谌 卫 军清华大学软件学院Operating Systems and System Programming2003年春季为何要学操作系统?BOOL g_bEndFlag = TRUE;/* 优先级低,70 */void testTaskA( ) while(g_bEndFlag) 等待信号量; g_bEndFlag = FALSE; return;/*优先级高,50*/void testTaskB( ) int nRecvLen; while(g_bEndFlag) nRecvLen = recv(sockId.); if(nRecvLen Windows; 方便的编程接口,
2、 中断调用 - API - MFC。1.2 操作系统的发展历史Phase 1:194650年代硬件非常昂贵,没有操作系统编程语言:机器语言;输入输出:纸带或卡片;用户在控制台前调试程序,独占全机。用户既是程序员,又是操作员,手工操作;一次完成一个功能(计算,I/O,用户思考/反应),之间没有重叠。问题:手工操作的低效率造成CPU资源的浪费。程序员把作业(卡片或磁带)提交给负责调度的操作员(系统管理员);操作员把作业“成批”地输入到计算机;批处理管理程序自动地识别、装入一个作业,并运行之,然后再取下一个作业。串行地执行作业,因而称为是“单道批处理”。硬件昂贵,人力便宜Phase 250年代末60
3、年代中:批处理管理程序为了提高计算机的使用效率,减少手工操作!程序的调试比较困难;由于慢速的输入输出处理仍然直接由主机来完成,使得CPU和I/O设备使用忙闲不均:对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲。单道批处理的问题:通道和中断技术通道:用于控制I/O设备与内存间的数据传输,有专用的I/O处理器,启动后可独立于CPU运行,实现CPU与I/O的并行工作。中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,在完成后回到原来断点继续工作。60年代初,发展了通道技术和中断技术,这些技术的出现使得I/O访问与CPU计算可以重叠进行。60年代中70年代中:多道批处理
4、系统(现代意义上的操作系统的出现)特征:多道:内存中同时存放多个作业,由CPU以切换方式为之服务。在当前运行的作业需作I/O处理时,CPU转而执行另一个作业;宏观上并行运行:都处于运行状态,但都未运行完;微观上串行运行:各作业交替使用CPU和I/O设备CPUI/O单道批处理:多道批处理:CPUI/O作业甲(红黄)作业乙(白绿)需要解决的问题:内存管理,系统必须给多个作业分配内存;内存保护,避免一个程序中的bug造成整个系统崩溃,或者是破坏了其他程序的执行;CPU调度,系统必须在多个作业中不断地进行切换,选择其中的一个去使用CPU;系统必须去管理各个并行运行的作业之间的交互关系;如何构造一个多道
5、批处理系统?系统非常复杂;完全用汇编语言编写;IBM的OS/360,第一个为一系列计算机设计的操作系统,从最小的机器到最大的机器。1963年提出,1968年开始工作。发布时,带着已知的 1000 个bugs;引发了研究兴趣,OS最终成为一门重要的学科难不难? 难!缺点:只是解决了CPU与I/O设备之间的并行运行 问题,没有解决用户的响应时间要求。计算机比较贵,只有一台;终端比较便宜,人手一台;所有用户可与系统立即交互,调试比较方便;硬件较以前便宜,人力昂贵Phase 370年代中至今:分时系统多个用户分享地使用同一台计算机交互式分时:一些分时操作系统CTSS: 由MIT开发; 最早的分时系统之
6、一; 在调度方面进行了一些开拓性的工作;MULTICS: 1963年,由MIT、贝尔实验室和GE联合开发; 设计目标是“公用计算服务系统”,大量终端 通过电话线接入计算机主机; 研制难度超出了所有人预料,1969投入使用; 引入了许多现代操作系统领域概念雏形,对 随后操作系统的发展有着巨大的影响。一些分时操作系统(续)UNIX: 1969年,贝尔实验室的Ken Thompson和Dennis Ritchie在一台无人使用的PDP-7计算机上,开发 出了一个叫做“空间旅行”的游戏; 为了使这个游戏能够在PDP-7上顺利地运行, 他们陆续开发了浮点运算软件包、显示驱动软 件,并设计了文件系统、实用
7、程序、shell和汇 编程序; 到1970年,在一切完成后,他们给新系统起了 一个名字UNIX; 最初是用汇编语言编写,后来Ritchie发明了C 语言,因此两人把整个系统用C语言重写了。 Unix是用高级语言编写的,能够在不同的硬件 平台之间移植,是一种能够在笔记本电脑、PC 机、工作站甚至是巨型机上运行的操作系统。 Unix是现代操作系统的代表,Unix运行时的安全 性、可靠性以及强大的计算能力赢得了广大用户 的信赖,已经成为一种不断发展的、商业化的操 作系统。计算机非常便宜,可以人手一台,Apple II、IBM PC等;1974年,Intel 推出8080芯片,请Gary Kildal
8、l设计了CP/M操作系统第一个个人计算机操作系统;1980年,IBM需要为他们的PC机安装操作系统,但Gary居然未予重视,机遇落在了微软身上,微软收购了西雅图计算机产品公司 DOS操作系统,创建了MS-DOS;商业应用推动了软件工业:字处理器、制表软件、数据库。市场划分为三层:硬件、操作系统和应用软件。硬件很便宜,人力依然昂贵Phase 4规模庞大:数以千万行的代码,Windows NT是2千万行,Windows 2000约4千万行;极为复杂:功能繁杂、相互关联;用户行为难以预测;性能非常重要;必须运行在各种硬件平台上,必须兼容以前的软件;互联时代:网络连接你我他,信息共享,基于网络的应用(
9、WWW、Email、新闻组)。今天的操作系统Phase 51.3 操作系统的类型批处理操作系统(多道批处理)分时操作系统实时操作系统嵌入式操作系统个人计算机操作系统网络操作系统分布式操作系统实时操作系统实时操作系统是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。主要特征: 实时性:对外部请求在严格时间范围内作出反应; 可靠性:要求高度可靠。分两类:实时过程控制,用于工业控制、军事控制;实时通信处理,用于电信、银行、飞机定票等领域。嵌入式操作系统嵌入式操作系统就是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操
10、作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。它们是一个设备、装置或系统中的一部分,这个设备、装置或系统可以不是“计算机”。小到手机的通信控制,大到国家范围内的电力监控网。典型例子:Wind River(风河)的VxWorksMicrosoft的Windows CE个人计算机操作系统针对单用户使用的个人计算机进行优化的操作系统,是一种单用户多任务的操作系统。主要特征: 供个人使用,功能强; 用户界面友好,使用方便; 有丰富的应用软件:事务处理、学习、娱乐等; 要求支持多种硬件和外部设备(多媒体设备、网 络、远程通信)。DOS系列,Windows系列,Linux系列等等网
11、络操作系统网络操作系统是基于计算机网络的、在通常操作系统功能的基础上按照网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。网络操作系统把计算机网络中的各个计算机有机地连接起来,其目标是相互通信及资源共享。分布式操作系统分布式系统: 把大量的计算机通过网络连接在一起,以获得极高的运算能力和广泛的数据共享,这种系统称为分布式系统。它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统: 为分布式系统进行配置的操作系统。它是网络操作系统的更高级的形式,保持了网络操作系统的全部功能。主要特征:是一个统一的操作系统,分布式OS直接管理各机的CPU、存储器和外设等资
12、源,实现整个系统的统一管理;资源进一步共享,一个进程可以分布到各机上并行执行;透明性: 资源共享,网络资源调度对用户透明,用户不了解所占有资源的位置分布;自治性: 处于分布式系统的多个主机处于平等地位,无主从关系。处理能力增强、速度更快、可靠性增强。1.4 操作系统的硬件环境任何系统软件都是对硬件功能的延伸,都是建立在硬件基础上的,离不开硬件设施的支持。而操作系统更是直接依赖于硬件,与硬件的关系尤为密切。计算机系统的体系结构(本图摘自Silberschatz, Galvin and Gagne: “Operating System Concepts”)I/O 设备与CPU可并行运行;每个设备控
13、制器负责一种特定的设备类型;每个设备控制器有一个局部缓存;CPU 在主存与局部缓存之间移动数据;I/O是从设备到设备控制器的局部缓存;设备控制器通过引发中断来通知CPU 操作已完成。计算机系统的操作 受保护的指令; 系统调用; 内存保护; 中断机制; I/O系统; 时钟操作。OS需要的硬件特性有些指令只有操作系统才有权使用,例如: 访问某些硬件资源的指令,这些硬件资源 禁止用户程序直接访问; 对I/O设备的直接访问指令,如磁盘、打印 机等; 必须受控的那些能够操作内存管理状态的 指令(页面表指针、TLB装入等); 某些特殊的状态位的设置指令; 停机指令。一、受保护的指令(特权指令)如何从硬件上
14、实现OS的这个要求?处理器的状态 根据运行程序对资源和机器指令的使用权限,把处理器设置为不同状态。多数系统将处理器工作状态划分为管态和目态。管态:操作系统的管理程序运行时的状态,较高的 特权级别,又称为特权态(特态)、系统态处理器处于管态时:可以执行所有的指令(包括特权指令)、使用所有的资源,并具有改变处理器状态的能力。目态:用户程序运行时的状态,较低的特权级别, 又称为普通态(普态)、用户态。在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种。实例:x86系列处理器(1
15、)386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:各个级别有保护性检查(地址校验、I/O限制)特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:R0-运行操作系统核心代码R1-运行关键设备驱动程序和I/O处理例程R2-运行其它受保护共享代码,如语言系统运行环境R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器(2
16、)问题一:CPU怎么来判断当前运行的程序是系统程序还是用户程序呢?程序状态字PSW一个专门的寄存器,用来指示处理器的状态, PSW (Program Status Word ),通常包括: CPU的工作状态码指明管态还是目态,用来 说明当前在CPU上执行的是操作系统还是一般用 户,从而决定其是否可以使用特权指令或拥有其 它的特殊权力; 条件码反映指令执行后的结果特征; 中断屏蔽码指出是否允许中断问题二:状态之间如何转换?管态 目态 通过设置PSW(修改程序状态字)来实现;目态 管态 用户程序无法直接修改程序状态字;那么用户程序如何才能去做一些带有“特权”的事情(如I/O)呢?解决之道是 二、系
17、统调用用户程序通过访管指令或陷阱指令(Trap 指令),来请求操作系统为其提供某种功能的服务。系统调用指令的实现过程一般是: 当CPU执行访管指令或陷阱指令时,即引起访管 中断或陷阱中断; 处理器保存中断点的程序执行上下文环境(PSW, PC和其他的一些寄存器),CPU切换到管态。 中断处理程序开始工作,调用相应的系统服务; 中断处理结束后,恢复被中断程序的上下文环境, CPU恢复为目态,回到中断点继续执行。管态(系统态)目态(用户态)系统调用中断处理程序系统服务程序用户程序OS内核陷入到管态恢复到目态 受保护的指令; 系统调用; 内存保护; 中断机制; I/O系统; 时钟操作。OS需要的硬件
18、特性Why 内存保护? 防止一个用户程序去访问其他用户 程序的数据; 保护操作系统免受用户程序的破坏。三、内存保护在硬件上如何支持?最简单的做法:基址寄存器和边界寄存器程序C程序A程序B内存基址寄存器边界寄存器在开始运行一个程序时,由操作系统负责给基址寄存器和边界寄存器设置相应的值虚拟存储技术:把内存和外存结合起来使用,硬件 提供虚、实地址映射的机制。中断对于操作系统的重要性 就像机器中的驱动齿轮一样有人把操作系统称为是由 “中断驱动”或者 “(中断)事件驱动”四、中断机制什么是中断?指CPU对系统中或系统外发生的异步事件的响应异步事件是指无一定时序关系的随机发生事件,如外部设备完成数据传输,实时设备出现异常情况等。中断处理的过程:当中断事件发生时,CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,待处理完成后返回断点,继续执行被打断的程序。中断的类型I/O 中断:它是当外部设备或通道操作正常结束或发生错误时所发生的中断。例如:打印机打印完成、缺纸,读磁盘时驱动器中没有磁盘等;程序中断:在某些条件下由指令执行结果产生,如算术溢出、被零除、用户态下使用了特权指令、以及访问不被允许访问的存储位置等等;时钟中断:由处理器内部的计时器产生;硬件故障中断:由掉电、存储器校验错等硬件故障引起;访管中断:当CPU执行访管指令时产生。完成计算机系统中信息的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年激光比长仪资金需求报告代可行性研究报告
- 西方政治制度与国家安全的关系试题及答案
- 软件设计师考试效能提升试题与答案
- 西方国家中博彩政策的政治争议分析试题及答案
- 机电工程伦理与职业道德试题
- 区块链技术在智慧城市管理中的潜力与挑战
- 2025年医疗健康数据安全与隐私保护研究报告
- 网络工程师的信息安全知识体系试题及答案
- 软件设计师考试冲刺资料试题及答案
- 西方政治制度对国际法的适应性研究试题及答案
- 浙江省宁波市镇海中学2025年5月第二次模拟考试 英语试卷+答案
- 项目管理与评估试题及答案
- 2024年安徽省淮南市田家庵区小升初数学试卷(空白卷)
- 航海英语阅读与写作能力测试考核试卷
- 环境设计人才培养方案
- 龙岩市2025年高中高三毕业班五月教学质量检政治试卷(含答案)
- 自动跟踪定位射流灭火系统设计与实施及验收标准化研究
- 巴黎奥运会试题及答案
- 2023-2023结构力学试卷(A卷答案)河海大学
- 有害物质分拆作业指引
- 压力管道安装许可规则
评论
0/150
提交评论