当前位置:文档之家› 操作系统原理与实例分析 (2)

操作系统原理与实例分析 (2)

引言课程特点:概念多、原理性强、较抽象课程学习目的:基础核心课、有利于对计算机系统的理解和软件开发课程学习方法:以问题驱动学习、理论联系实际课程学习难点:概念、原理、算法、数据结构教师姓名:蒲晓蓉E-mail:puxiaor@1参考书籍Operating System Internals and Design principles,William Stallings,TsingHua University Press Applied Operating System Concepts,Abraham Silberschatz etc.,Higher Education Press计算机操作系统,汤子瀛etc.,西安电子科技大学出版社(第3版)2课程内容安排第一章操作系统概述第二章进程管理第三章存储管理第四章外部设备管理第五章文件管理3第一章操作系统概述4本章要点计算机系统结构:了解操作系统的地位什么是操作系统:四种基本观点现代操作系统的特征、功能、类型基本概念:批处理、多道程序设计、作业、任务、进程与线程、接口、虚拟存储、文件51.1计算机系统资源6计算机系统资源分类软件:系统软件(操作系统及实用程序)、应用软件硬件:处理机(CPU)、内存(条)、外部I/O设备(显示器、键盘、鼠标、打印机、磁盘、磁带、扫描仪…),以及系统总线7图1.1计算机系统结构应用软件操作系统计算机硬件系统软件终端用户程序员操作系统设计者81.2什么是操作系统9关于现代操作系统的四种基本观点从外部看操作系统-计算机用户的观点:用户环境观点-应用程序员的观点:虚拟机器观点从内部看操作系统-OS开发者观点之一:资源管理观点-OS开发者观点之二:作业组织观点10关于现代OS的四种基本观点之一--用户环境观点该观点认为,操作系统是计算机用户使用计算机系统的接口,它为计算机用户提供了方便的工作环境。

计算机用户:终端用户、程序员和系统设计者操作系统提供的接口-用户接口(User Interface,也称为命令接口)-程序接口(系统调用,也称为应用编程接口,Application Programming Interface,简称API)11用户接口(用户)命令:指计算机用户要求计算机系统为其工作的指示。

字符形式:较灵活但因繁琐而难记命令的表示形式:菜单形式图形形式:因直观而易记但不灵活脱机使用方式(off-line)命令的使用方式:联机使用方式(on-line)12关于现代OS的四种基本观点之二--虚拟机器观点该观点认为,操作系统是建立在计算机硬件平台上的虚拟机器,它为应用软件提供了许多比计算机硬件功能更强或计算机硬件所没有的功能。

操作系统在虚拟机中充当管理员和协调员的角色,管理计算机的软硬件资源,并协调多任务、多进程的运行。

扩充:功能、计算机数量13关于现代OS的四种基本观点之三--资源管理观点该观点认为,操作系统是计算机系统中各类资源的管理者,它负责分配、回收以及控制系统中的各种软硬件资源。

跟踪资源的使用状况、满足资源请求、提高资源利用率,以及协调各程序和用户对资源的使用冲突。

-监视资源-分配/回收资源-保护资源14关于现代OS的四种基本观点之四--作业组织观点该观点认为,操作系统是计算机系统工作流程的组织者,它负责协调在系统中运行的各个应用软件的运行次序。

用于巨型机和大型服务器上,以批文件方式提交作业,请求主机逐个运行。

主机操作系统负责组织、协调各个作业的运行,报告执行结果或错误信息。

减少了人工干预,提高了系统的效率。

这种工作方式有利于有效利用造价高且性能强大的主机资源。

15操作系统的定义操作系统是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。

161.3操作系统的形成与发展17操作系统的简历50年代中期,第一个简单批处理操作系统60年代中期,多道程序批处理系统不久,分时系统、实时系统80年代,微机及网络操作系统18什么推动着操作系统的发展计算机硬件升级和新硬件的出现提供新的服务,方便使用提高计算机资源利用效率更正软件错误计算机体系结构的发展:单处理机系统、多处理机系统、分布式系统、计算机网络19手工操作时期,没有操作系统早期的电子数字计算机是由成千上万个电子管组成操作和编程完全由手工进行,且编程只能用机器语言(二进制代码)程序员同时也是操作员在上机期间独占整台计算机及其它相关设备,效率非常低20单道批处理系统,早期操作系统程序员首先将命令、程序和数据用汇编语言或FORTRAN语言写在纸上,然后用穿孔机制成卡片,最后将这些卡片交给操作员21批处理程序(又称为监督程序,或管理程序),管理应用程序的运行。

操作步骤:1.收集一批作业(卡),用专用I/O计算机将作业逐个读到磁带上保存起来。

2.批处理程序将磁带上的第一个作业读入计算机,运算结束后将结果输出到输出磁带上。

3.自动读入下一个作业,并运行。

4.当一批作业全部执行结束后,取下输入磁带和输出磁带,用输入磁带录入下一批作业,将输出磁带送到专用输出计算机,进行脱机打印。

22单道批处理系统:评价解决了作业间的自动转接问题,减少了机器时间的浪费。

不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,直到运行完毕。

资源利用率低。

对短作业不公平,因为它们等待执行的时间可能远远超过它们实际执行的时间。

交互性差。

作业由批处理程序控制运行,用户无法实时控制,如果运行中途出现故障,也只能停下来,重新运行。

23多道批处理系统现代意义的操作系统引入:单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低。

为了提高系统资源利用率和系统吞吐量,形成了多道批处理系统24多道批处理系统多道是指,允许多个程序同时存在于主存中,按照某种原则分派处理机,逐个执行这些程序。

批处理:用户提交的作业首先存放在外存,并排成一个队列。

然后,由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。

25处理机自动切换当某个程序占用处理机执行过程中遇到了输入/输出语句,可以启动专门负责输入/输出的系统服务程序完成输入/输出操作,而处理机切换到另一个程序执行26时间运行运行程序A等待等待运行等待等待程序D运行等待等待程序C运行运行等待等待等待程序B从处理机看运行A运行B运行C运行D等待运行A运行B等待图1.3多道程序设计示例27多道程序设计技术为了提高系统吞吐量和资源利用率,允许多个程序同时驻留内存,使处理机在这些程序之间切换,在一段时间内,执行完多个程序的处理技术称为多道程序设计技术(multiprogramming)。

现代操作系统大多都采用了多道程序设计技术。

28多道程序设计技术引发的问题处理机的分配与回收内存的分配与保护I/O设备的共享与效率文件的有效管理作业的组织29分时系统与实时系统多道批处理系统:提高了资源利用率和吞吐量。

但是,批处理系统交互性很差。

为了改进响应时间和性能,提供交互式操作环境,导致了分时系统的出现。

分时系统的实质是,在多道程序技术的基础之上,为多个用户配置一个联机终端30分时系统—联机系统服务器31分时系统实例第一个分时系统:MIT的兼容分时系统CTSS它是一个单道分时系统。

在该系统中,每次只能将一道程序(作业)装入并驻留内存。

时间片为了减少磁盘I/O,只将新装入的程序需要覆盖的那部分用户数据写出到磁盘。

假设有4个交互用户,其存储需求如下:JOB1(15000),JOB2(20000),JOB3(5000),JOB4(10000)内存的0-5000区域被监控程序占用32监控程序JOB1空闲50002000032000(a)JOB2空闲05000 25000 32000 (b)监控程序JOB3 (JOB2)空闲05000 25000 32000 10000 (c)监控程序JOB1 (JOB2)空闲05000 25000 32000 20000 (d)JOB4(JOB1)(JOB2)空闲500025000320001500020000(e)监控程序JOB2空闲50002500032000(f)其中,JOB1(15000),JOB2(20000),JOB3(5000),JOB4(10000)图1.4CTSS操作示例33“前台”和“后台”分时系统:分时+批处理功能内存:“前台区”和“后台区”,“前台区”存放按时间片“调入”和“调出”的作业流,“后台区”存放批处理作业。

仅当前台作业调入/调出,或前台无作业可运行时,方才运行“后台区”中的作业。

提供交互式快速的服务,同时在处理机空闲时运行后台较大的批作业。

34多道分时系统允许在内存中同时存放多道作业,并把具备运行条件的所有作业排成一个队列,让它们依次轮流地获得一个时间片来运行。

与单道分时系统相比较,由于作业数据都在内存,不需要调入、调出开销,所以多道分时系统具有较好的系统性能。

现代分时系统都属于多道分时系统。

35实时系统分时系统为交互式作业提供了快速的响应服务,但还不能满足某些对响应时间要求非常严格的任务需要。

例如,炼钢/炼油控制系统、航空网络售票系统等,对任务的响应时间有更严格的要求。

36操作系统的进一步发展个人计算机操作系统:UNIX、OS/2、Windows系列、Windows NT、LINUX等网络操作系统:网络接口控制器及一些用于驱动的低层软件,远程登录软件和远程文件访问软件。

分布式操作系统:将用户的应用程序分布在多台处理机上同时运行。

合理地调度各处理机,使整个系统获得最大的并行度。

嵌入式操作系统371.4操作系统的功能38操作系统的主要任务管理处理机管理存储器管理输入/输出设备管理数据文件提供接口服务39接口功能接口,指操作系统为用户提供的人机交互界面命令接口:以命令方式供用户通过键盘终端与计算机交互,如UNIX、DOS图形化用户接口:Windows系列操作系统则提供了形象、生动的图形化界面,用户只需拖动并点击鼠标,便可轻松操作计算机。

程序接口:以系统调用的形式供用户编程时使用。

几乎各种操作系统都提供了系统调用,供程序设计40处理机管理进程控制:创建和撤消进程以及控制进程的状态转换。

进程同步:协调,互斥访问临界资源,协调执行进度进程通信:进程间的信息交换进程调度:按一定算法从进程就绪队列中选出一个进程,把处理机分配给它,使之运行。

41存储器管理任务为多道程序的并发执行提供良好的环境;便于用户使用存储器;提高存储器的利用率;为尽量多的用户提供足够大的存储空间。

42存储器管理功能内存分配:静态分配/动态分配、连续分配/非连续分配内存保护:系统内存空间、用户内存空间地址映射:逻辑地址—>物理地址内存扩充:虚拟存储技术43设备管理任务为用户程序分配I/O设备;完成用户程序请求的I/O操作;提高处理机和I/O设备的利用率;改善人机界面44设备管理功能缓冲管理设备分配设备处理:启动设备、中断处理虚拟设备功能RAID技术、磁盘调度45文件管理任务管理用户文件和系统文件管理文件的存储空间保证文件数据的安全方便用户使用文件46文件管理功能文件目录管理文件的逻辑组织与访问方式存储空间的管理:文件的物理组织、空闲磁盘空间的管理文件共享与安全471.5现代操作系统的特征及基本概念48现代操作系统的特征任务共行性:宏观上,指系统中有多个任务同时运行;微观上,指单处理机系统中的任务并发,即多个任务在单个处理机上交替运行;或多处理机系统中的任务并行,即多个任务在多个处理机上同时运行。

相关主题