版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 操作系统概论(Overview)OS 考查方式作业(5%) 请大家避免抄袭出勤(5%) 不定时点名和随机点名回答问题上机(10%) 出勤+考察成绩综合考试(80%) 绝不提分往年 OS 成绩分布规律几乎上课在听讲的同学都能考70分左右满足1,凡是认真上机的都能考75分左右满足1和2,凡是上课勇于进行互动回答问题的,都能靠83分左右满足1、2和3 ,凡是上课和下课理解学习而不死记硬背的都能考90左右都不满足的,又不复习的只能考50分左右一些重要事实:上年级最高分在我的班;上年级有若干逆袭的同学;理解远大于硬背;操作系统原理Operating System主要参考资料:A. Sibersc
2、hatz, P.B. Galvin, G. Gagne. Operating System Concepts (Seventh Edition 影印版). 高等教育出版社. 2007. (主页:,网上可找到电子版,但那是未授权的) A. Siberschatz, P.B. Galvin, G. Gagne. 郑扣根译. 操作系统概念 (第七版 翻译版). 高等教育出版社. 2008. (主页:,网上可找到部分电子版,但那是未授权的) Andrew S.Tanenbaum. Modern Operating Systems (3rd Edition 影印版). 机械工业出版社. 2009. An
3、drew S.Tanenbaum. 陈向群, 马洪兵译. 现代操作系统(原书第3版). 机械工业出版社. 2009. 赵炯. Linux内核完全剖析. 机械工业出版社. 2006. (主页:,作者提供电子版下载) 邹恒明. 计算机的心智:操作系统之哲学原理. 机械工业出版社. 2009. 引论问题:冯诺伊曼结构的计算机 的组成结构?冯诺伊曼结构的计算机. 计算机由控制器、运算器、存储器、输入设备和输出设备组成;. 控制器按照程序顺序,逐条把指令和数据从存储器中取出并加以执行;计算机体系结构硬件 计算机系统的基础软件 提高计算机效率和方便用户的程序关系 相互依赖、相互促进、共同发展软件与硬件的关
4、系引论本章教学目标掌握操作系统功能与作用了解操作系统的主要类型和主流产品了解操作系统演化过程掌握多道程序设计的概念了解操作系统的主要成就掌握本课程的学习方法操作系统概论1.1什么是操作系统?1.2本课程的学习方法1.3操作系统的简史1.4操作系统引导过程分析裸机系统软件中间件应用软件什么是操作系统计算机的核心包括运算器和控制器在内的中央处理单元(CPU)。计算机系统是由软硬件组成的多级层次结构,由微程序级、一般机器级、操作系统级、汇编语言级、高级语言级组成。 CPU和操作系统是计算机的“核”。?裸机系统软件中间件应用软件什么是操作系统计算机的核心包括运算器和控制器在内的中央处理单元(CPU)。
5、计算机系统是由软硬件组成的多级层次结构,由微程序级、一般机器级、操作系统级、汇编语言级、高级语言级组成。 CPU和操作系统是计算机的“核”。操作系统与硬件及其他软件的关系?操作系统的主要设计目标?方便性:有效性:充分利用资源可扩充性开放性:应用程序的可移植性和互操作性稳定性安全性操作系统的主要设计目标?方便性:有效性:充分利用资源可扩充性开放性:应用程序的可移植性和互操作性稳定性安全性如何提高操作系统的效率?程序BCPU-设备间并行设备间并行如何实现切换?如何提高操作系统的效率?-多道程序设计中断:主机接到信号(来自CPU外部或内部)时,立即中止原来的工作,转去处理这一事件,处理完后,主机又回
6、到原来工作点继续工作。通道 一种专用部件,负责外部设备与内存之间信息的传输。中断类型:可屏蔽中断(IO中断)不可屏蔽中断(机器内部故障、掉电中断)程序错误中断(溢出、除法错等中断)软件中断(Trap指令或中断指令INT)中断通道多道程序设计技术问题:OS 怎么知道系统处于“正在切换”? 切换过程体现OS的运行模式:特权指令与特权模式处理器通过特殊的机制将处理器状态切换到操作系统运行的特权模式(privileged mode),然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入(Trap)。用户模式(user mode):用户程序运行时的状态。 CPU如何知道当前运行的是操作系统?
7、特权指令:只能在特权模式下运行的指令Intel cpu特权的指令:CLTS - Clear Task-Switched Flag LMSW - Load Machine Status HLT - Halt ProcessorLTR - Load Task Register LGDT - Load GDT Register MOV CRn - Move Control Register LIDT - Load IDT Register MOV DRn - Move Debug Register LLDT - Load LDT RegisterMOV TRn - Move Test Registe
8、r 练习题有三个程序A、B、C它们使用一个设备进行I/O操作,并按照A,B,C的优先级进行。这三个程序的计算和I/O时间如下。(假设调度时间可以忽略)则单道程序环境和多道程序环境下(假设内存可以同时装入这三个程序):系统采用不可抢占的调度策略,运行时间为?系统采用可抢占的调度策略,运行时间为? 操作 程序ABC计算306020I/O403040计算101020单道多道,不可抢占多道,可抢占 计算I/OABCAABBCC307080140170180200240260计算I/OABCABBC307090100120130160180AC计算I/OABCABB3070100120130170190
9、CC 80AB140处理机管理:完成处理机资源的分配调度等功能处理机调度的单位可为进程或线程。进程控制: 创建、撤销、挂起、改变运行优先级进程同步:协调并发进程之间的推进步骤。进程通信:进程之间传送数据。进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能。存储管理:管理层次化的存储体系结构典型的访问时间 典型的容量存储管理研究的主要问题内存分配与回收存储保护:如何保证一道程序在执行过程中不会有意或无意地破坏另一道程序?内存扩充:覆盖;交换;虚拟存储;设备管理的任务设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。设备独立性:提供统一的I/O设备接口,使应用程序独立于物
10、理设备,提高可适应性;设备分配与回收:在多用户间共享I/O设备资源虚拟设备:设备由多个进程共享缓冲区管理:发挥处理机和外部设备的并行工作能力,提高两者的利用率单缓冲区、双缓冲区和公用缓冲区 信息管理解决软件资源的存储、共享、保密和保护:文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。目录管理:解决信息检索问题。文件的读写管理和存取控制:系统设口令、用户分类、文件权限软件管理:软件的版本、相互依赖关系、安装和拆卸。用户接口命令行、命令脚本菜单式或GUI(联机);编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数。图形接口:如Apple 的Machitosh
11、OS , Microsoft Windows总结OS作为用户/计算机接口: OS为程序员屏蔽了硬件细节,并为程序员使用计算机提供方便的接口(中介程序运行:指令、数据加载到内存、初始化I/O设备访问I/O设备:OS提供统一的硬件设备访问接口,隐藏各硬件设备的技术细节控制访问文件:文件的访问与磁盘等I/O设备有关,不同的文件系统的组织结构、不同的文件访问保护机制系统访问:对公共系统资源的访问提供保护、竞争等功能错误检测和统计:OS对系统中出现的各种错误(硬件错误/软件错误等)进行响应(中止/重试)、报告给应用程序。对响应时间等进行统计,便于将来调整与增强系统功能OS作为资源管理者:管理的对象CPU
12、管理:完成处理机资源的分配、调度、进程管理存储管理:存储分配与回收、存储保护、内存扩充(虚拟存储)。提高利用率、提供足够的存储空间、方便进程并发运行。文件管理:如何存放信息,以提高空间利用率和读写性能。目录管理、文件的读写管理和存取控制设备管理:方便的设备使用、提高CPU与I/O设备利用率。设备分配与回收、缓冲区管理管理的内容资源的当前状态(数量和使用情况)资源的分配、回收和访问操作相应管理策略操作系统是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软、硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活
13、、方便、有效的使用计算机,使整个计算机系统能高效地运行。是计算机与用户之间的接口。操作系统的定义OS的发展主要动力推动OS发展的主要动力提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算方便用户,提供新的服务 :为适应用户的新需求,扩展OS以提供新的服务。器件的发展,硬件升级和新型硬件的出现:CPU的位宽度(指令和数据),OS都应能适应。 纠正错误:任何一个操作系统都有错误,在使用一段时间后发现了错误就需要进行纠错。1.1什么是操作系统?1.2本课程的学习方法1.3操作系统的简史1.4操作系统引导过程分析第一章 操作系统概论操作系统研究内容的特点有许多概念、并不断涌现新
14、的概念伴随着概念的涌现,各种技术曾出不穷原理是概括性的,具体系统中管理对象是实实在在的批处理、分时、实时、GUI、P2P、Grid进程管理, 内存管理, 文件系统, 设备管理总是基础X window是一个应用程序,Windows中的GUI工作在内核态(所以速度很快)CPU进程;磁盘文件;显示器窗口 操作系统设计的主要思想?软硬件协同解决问题用系统的观点理解操作系统的设计理解分而治之、分层实现在复杂软件系统实现中的重要作用用工程师的立场来看待操作系统的实现方案 操作系统课程学习目标明确操作系统的作用与功能掌握操作系统的基本原理与实现方法宏观上,掌握操作系统这种大型软件系统的结构和设计方法;微观上
15、,掌握实现操作系统各类模块的策略、方法与算法;提高程序开发能力掌握并发程序设计的基本方法提高系统程序开发能力本课程重点学习内容进程管理、内存管理、文件系统、IO系统四大块这四个部分就能使操作系统运转起来即使是这四个基本部分,也可以有多种组合方式函数库系统调用接口文件系统进程管理存储管理字符设备块设备设备驱动硬件抽象用户操作系统课程学习方法理解原理 OS没有高深的数学,所以理解原理的出发点、基本实现原则,能够取一反三掌握重点 由于OS内容繁杂,重点掌握课堂上所讲解的内容,而不是课后重新自学课本内容,更要避免上课不听讲,课后自习课本阅读代码 阅读老师指定的参考书中对代码的刨析,并和原理进行对应,学
16、习实现细节适当练习 认真完成老师指定的课后习题,以辅助理解原理推荐的教材Operating System Concepts 7th Abraham Silberschatz, Galvin, Gagne等著, 郑扣根译,高等教育出版社概念数量适当,抓住最重要的,并梳理清楚;参考书和资源网址赵炯编著,Linux内核完全剖析,机械工业出版社。完整的剖析了Linux 0.11版本。Linux 0.11大约有2万行代码,Linux 2.6.0的源代码500多万行。对应网站: /选择本课程下载课程资源参加互动推荐的参考书图解Linux操作系统架构设计与实现原理新设计团队 著机械工业出版社 2011年7月
17、特色:强调内存布局和系统运行的时序 349幅内核运行时序图!2.3.1进程1如何开始执行 962.3.2进程1开始执行 982.3.3进程1开始以数据块的形式操作硬盘 992.3.4将找到的缓冲块与请求项挂接 1012.3.5将请求项与硬盘处理函数挂接 1042.3.6进行硬盘读盘前的准备工作 105推荐的参考书Oranges 一个操作系统的实现作者:于渊出版社: 电子工业出版社 2009年6月1日(2005年8月 第一版)特色:是一个操作系统框架,总体代码少;每一章都以前一章的工作成果为基础实现一项新功能;对开发环境和intel CPU 保护模式部分讲解细致;1.1什么是操作系统?1.2本课
18、程的学习方法1.3操作系统的简史1.4操作系统引导过程分析第一章 操作系统概论第一代 电子管时代1946-50年代末ENIAC On February 15, 1946, the Electronic Numerical Integrator and Computer was dedicated by the University of Pennsylvania. 重量:30吨功率:200 千瓦用户签约预订机器时间只有机器语言特点:手工操作方式缺点: (1) 用户独占全机。 (2) CPU等待人工操作。 穿孔卡片 punchcardplugboard第二代 晶体管时代 批处理系统50年代末-6
19、0年代中期早期批处理系统模型脱机输入/输出(Off-Line I/O)方式A standard 7094 had 32K 36-bit words of memory. It costs about $3.5 million. 单道批处理系统作业一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。用户的观点:在一次业务处理过程中,从输入程序和数据到输出结果的全过程。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。系统的观点(针对作业进行资源分配):作业由程序及数据(作业体)和作业说明书(作业控制语言)作业控制语言(JCL,Jo
20、b Control Language):每个作业中的指令均以一种JCL的形式的基本形式给出,为监督程序的执行提供指令 特征: (1) 自动性 (2) 顺序性举例:典型的作业处理编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果作业步作业步作业步单道批处理系统评价特征:(1)自动性 (2)顺序性 (3)单道性优点:减少了人工操作的时间,提高机器的利用率和系统吞吐量。问题只有一道作业在运行CPU和I/O设备使用忙闲不均(取决于当前作业的特性)对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲;CPU经常空闲:I/O设备太慢没有交互能力,用户无法干预自己作业的运行
21、现在还有批处理管理吗?批处理文件示例 为自动恢复系统,建一个autoexec.bat的批处理文件:CLS(清屏)ECHO OFF (显示信息)ECHO WARNING! This will destroy all Of data On the first partation in yourfirst HD!ECHO Press any kev to continue or Ctrl+C TO break (显示警告信息)PAUSE (暂停,等待用户按任意键继续,按“Ctrl+C”取消)F:ghostGHOST -clone,mode=pload,src=F:ghostwin98.gho:1,d
22、st=1:1-sure -rb)“丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别 一样大”第三代60年代中期到70年代中期集成电路时代 多道程序系统多道程序工作示例典型代表: IBM OS/360 (小规模集成电路)多道程序设计技术 多道程序设计的基本思想:在计算机内存中同时存放若干道已开始运行且尚未结束的程序,它们交替运行,共享系统中的各种硬、软资源,从而使处理机得到充分利用。例如:一个医生可同时给多个病人看病;一个律师可以同时处理多个案件多道程序设计原理多道程序设计(Multiprogrmmed) 两个或多个作业同时进入主存:将内存分为若干区域,每个分区存放一个用户作业。切换运行:各作业交
23、替使用CPU。在当前运行的作业需作I/O处理时,CPU转而执行另一个作业。宏观上并行运行:都处于运行状态,但都未运行完;微观上串行运行需要的硬件功能:I/O中断、DMA增加的软件功能存储管理:多个程序驻留内存中,存储分配与保护,作业调度等CPU调度:CPU决定运行哪一个准备好的作业资源的竞争问题:共享资源,同步、互斥操作系统发展史上革命性变革多道程序系统示例程序A程序B运行等待运行等待运行等待运行等待时间(a) 单道程序设计程序A运行等待运行等待程序B等待运行等待运行等待混合运行A运行B等待运行A运行B等待时间(b) 多道程序设计多道程序系统小结优点:资源利用率高:使CPU和I/O同时保持最忙
24、,内存利用率较高,从而发挥系统最大效率。作业吞吐量大:单位时间内完成的工作总量大缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;(周转时间结束时间开始时间)分时系统(Time-Sharing) 原理引入: 满足用户与系统交互的需要,允许多用户通过终端同时访问系统,共享计算机资源分时指将处理机的运行时间分成很短的时间片,按时间片轮流将处理机分配给各联机作业使用,多个用户分享使用同一台计算机。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相
25、对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。方法:多用户分时、前后台分时等。分时系统(Time-Sharing)ABCDFCPU完成超时阻塞分时系统(Time-Sharing)ABCDFCPU完成超时阻塞分时系统(Time-Sharing)ABCDFCPU完成超时阻塞分时系统原理分时系统的追求目标及时响应(依据指标:响应时间)响应时间是指用户从终端发出一条命令到系统处理完这条命令并作出回答所需的时间。批处理和分时的差别: 都使用了多道程序技术,前者是最有效地使用处理器,后者减小响应时间。分时系统特征多路性:多个用户同时工作。共享系统资源,提高了资源利用率。及时性:用户能在
26、很短时间内得到系统响应独立性:各用户独立操作,互不干扰。交互性:系统能及时对用户的操作进行响应,加快调试过程,缩短了周转时间。实例:UNIX、Linux;CTSSCompatible Time-sharing System,MIT;MULTICSMultiplexed Information and Computing System第一个分时操作系统CTSS分时系统的思想1959年在MIT提出每个用户有一个联机终端调试程序的用户常常只发出简短的命令, 很少有长的费时命令;计算机能够为许多用户提供交互式、快速服务, 同时在CPU空闲时还能在后台运行大作业第一个分时系统(CTSS)由 MIT的Fe
27、rnando Corbato 等1961年在一改装的IBM 7090/94机上开发成功(有32个交互式用户)指标:32K内存,系统用5K,用户用27K 用户存储映像在内存和一台磁鼓之间切换1962年Manchester大学的Atlas计算机投入运行(运行速度200 kFLOPS )第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器 现代 Unix 系统实际上Unix已不是指一个具体操作系统,许多公司和大学都推出了自己的Unix系统AT&T的SVR ,SUN的Solaris,Berkeley的Unix BSD,DEC的Digital Unix(并入Compaq称
28、Tru64 Unix,HP的HP UX,SGI的Irix,CMU的Mach,SCO公司的SCO UnixWare,IBM的AIXUnix的国际标准POSIXIEEE拟定了一个Unix标准,称作POSIX POSIX定义了相互兼容的Unix系统必须支持的最少系统调用接口。该标准已被多数Unix支持其他一些操作系统也在支持POSIX标准。实时系统(Realtime)实时系统:实时系统必须具有在一个事先定义好的时间限制内,对外部或内部的事件进行响应和处理的能力,并控制所有实时任务协调一致地运行适用领域:用于过程控制、军事实时控制、事务处理系统(金融)等领域。 - 实时控制系统:把计算机用于对飞行器、
29、导弹发射以及雷达探测等军事方面的自动控制,这时计算机要及时加工测量系统测得的数据并及时输出结果,以便对目标进行跟踪或向操作员显示结果。 - 实时处理系统:把计算机用于预订飞机票、查询航班、航线和票价等,或者用于银行系统的财务往来。这一类应用称为实时信息处理, 相应的系统称为实时处理系统。 实时系统(Realtime)特点:响应时间短:任务有明确和固定的时间约束,在一定范围之内必须作出响应;否则任务就会失败,有可能造成灾难性后果。系统可靠性高类型硬实时系统:保证关键任务按时完成,任务完成具有严格的时间限制。工业过程控制、机器人等领域。硬实时系统功能少。软实时系统:关键实时任务的优先级要高于其它任
30、务优先级,且在完成之前能保持其优先级。多媒体、高级科学研究、海底探险、星际漫游;实时系统与分时系统的比较 实 时 系 统 分 时 系 统 多路性 体现在对多路的现场信息进行采集、对多个对象或多个执行机构进行控制。 按分时原则为多个终端用户服务。 独立性 每个终端用户向系统提出服务请求时,彼此独立操作,互不干扰;对信息的采集和对象的控制也彼此互不干扰。 每个用户各占一个终端,彼此互不干扰,独立操作。 及时性 以控制对象所要求的开始截止时间或完成截止时间来确定,一般为秒级。 用户的请求能在短时间(用户能接 受的)内获得响应。 交互性 人与系统的交互,仅限于访问系统中某些特定的专用服务程序。 用户与系统进行广泛的人机对话,系统能向终端用户提供数据处理服务,资源共享等服务。 可靠性 高度可靠 可靠程度较低 操作系统领域中新的操作系统有线电视机顶盒领域 PowerTV掌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共享服务合同的创新发展趋势展望
- 江苏省江阴市璜土中学高中地理 4.1区域农业发展-以我国东北地区为例教案2 新人教版必修3
- 2024-2025学年高中语文 第四单元 有无相生教案6 新人教版选修《先秦诸子选读》
- 九年级化学下册 第12单元 化学与生活教案 (新版)新人教版
- 2024-2025学年高中历史下学期第13周 罗斯福新政教学设计
- 2024六年级语文下册 第六单元 古诗词诵读 5 江上渔者教学设计+教案+素材 新人教版
- 2024-2025学年上海市浦东新区七年级上英语期中试卷(含答案和音频)
- 雨花石音乐课件
- 发现规律 课件
- 剖宫产手术课件
- 专病数据模块及数据库建设需求
- 一老一小交通安全宣传
- 城市社区居家养老服务体系建设研究-以我国椒江区、田家庵区为例的开题报告
- 重点部位感染与预防控制
- 高校快递包装回收现状分析及对策-以广东省中山市三大高校为例
- 初创企业财务管理计划书
- 新民事诉讼书范文追债通用21篇
- 100ml生理盐水的配制讲解
- 国家开放大学《Python语言基础》实验3:超市数据统计分析参考答案
- 加油站消防安全基本常识
- 热力集团招聘试题
评论
0/150
提交评论