第三章-操作系统_第1页
第三章-操作系统_第2页
第三章-操作系统_第3页
第三章-操作系统_第4页
第三章-操作系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

<<计算机科学导论>>

--

操作系统胡军南京航空航天大学hujun.nju@139.com2012,102024/3/12南京航空航天大学胡军2操作系统概述操作系统(OS:OperatingSystem):是建立在裸机上的第一层软件系统,控制计算机所有操作

(如:协调计算机的内部活动、检查计算机与外部世界之间的通信,等)。现代OS提供了:用户可以存储和检索数据文件的方法;用户请求执行程序的接口;程序运行所必需的环境;……总之,操作系统为用户提供了友好的人机交互以及程序级接口,使得计算机看上去像是功能得到了极大扩展的机器(虚拟机),而不仅仅是电路形式的硬件系统.

例子:windows,Unix,Linux,……2024/3/12南京航空航天大学胡军32024/3/12南京航空航天大学胡军4内容安排操作系统的发展历史操作系统的基本体系结构操作系统的主要功能文件管理I/O设备管理内存管理进程管理安全管理2024/3/12南京航空航天大学胡军53.1

操作系统的发展历史通常把操作系统的发展划分为:手工操作阶段批处理系统多道程序系统现代操作系统2024/3/12南京航空航天大学胡军63.1.1

手工操作阶段20世纪四五十年代,计算机体积庞大,使用不灵活,系统资源利用率低:执行一个程序需要大量的设备准备工作,如:安装磁带、把穿孔卡片放在读卡机上、设置相应的开关等等。每个程序的执行称为一个作业(job)。在下一个程序运行之前,必须重新获得磁带、穿孔卡片等一切准备工作。一次一个用户使用,无法共享机器系统可靠性也低还不存在真正意义上的操作系统2024/3/12南京航空航天大学胡军73.1.2

批处理系统批处理(batchprocessing)系统致力于简化程序运行的准备工作,提高作业之间的过渡效率基本思想:用户和计算设备分离;用户:负责准备程序、数据以及程序需求的特别说明;计算机操作员:将用户提交的资料输入到海量存储器中,由一个特定的程序(操作系统)来负责一次一个的连续读入并执行用户程序---批处理2024/3/12南京航空航天大学胡军83.1.2

批处理系统(续)批处理系统的特点:若干个作业在一个批次一起运行,无需与用户交互;多个作业在作业队列(jobqueue)中排队等待执行(排队原则:FIFO,优先级).2024/3/12南京航空航天大学胡军93.1.3

多道程序系统阶段批处理系统的不足:作业一旦提交给操作员,就无法与用户交互仍然无法实现真正的计算资源的多用户共享交互式处理(InteractiveProcessing):新的操作系统允许用户可以通过远程终端与执行的程序进行交互,如:字处理程序实时处理(real-timeprocessing)的要求2024/3/12南京航空航天大学胡军103.1.3

多道程序系统阶段(续)20世纪60-70年代计算机比较昂贵,每台计算机必须服务于多个用户:实时要求的问题:若干用户在同一时间要求一台机器的交互式服务,如何保证实时性的要求?分时(Time-sharing)系统实现分时的方法:多道程序设计(multi-programming)运行时间被分割成时间片(timeslice),每个作业的执行被限制为每次只能用一个时间片;当时间片结束时,当前作业暂时放弃执行,系统允许另一个作业在下一个时间片内运行。2024/3/12南京航空航天大学胡军113.1.3

多道程序系统阶段(续)效果:通过在各个作业之间进行快速切换,形成若干作业同时在计算机上执行的错觉(对用户而言,就感觉自己独自占用机器运行一样);CPU利用率大大提高.早期的分时系统可以同时提供30个用户可接受的实时交互式服务现在的分时系统既用于单用户系统(multi-tasking),也用于多用户系统(大型机、巨型机)2024/3/12南京航空航天大学胡军123.1.4现代操作系统阶段20世纪80年代起,大规模集成电路的快速发展,计算机硬件成本不断降低,性能不断提高;计算机系统的应用已经从科学计算、军事应用到商业领域,并迅速扩展到了普通的企业及个人.现在,操作系统已经从简单的一次获取和执行一个程序发展为复杂、分时处理与管理计算机海量存储设备中的大量程序和数据文件,并能直接响应计算机用户的实时交互请求。2024/3/12南京航空航天大学胡军13UNIX操作系统

特点:多用户、多任务、分时,友好的用户接口,可装卸的树型结构文件系统,设备文件化,非常强的可移植性。3.1.4现代操作系统阶段(续)2024/3/12南京航空航天大学胡军143.1.4现代操作系统阶段(续)Windows操作系统

特点:统一的窗口和操作风格、丰富的应用程序与应用开发工具、事件驱动程序的运行方式、多任务的图形化用户界面、支持网络及多媒体技术,提供丰富的应用程序接口、广泛的硬件支持。2024/3/12南京航空航天大学胡军15Linux操作系统特点:友好的用户接口,很强的可移植性,模块化设计的开源软件,强大的通信及网络功能,强大的健壮性。3.1.4现代操作系统阶段(续)

2024/3/12南京航空航天大学胡军163.1.4现代操作系统阶段(续)分布式操作系统(DistributedOS)多处理器的操作系统(并行)不同的任务分配给不同的处理器,不一定用分时技术问题:负载均衡,多处理器调度与通信,……网络操作系统基于网络的计算资源操作、管理中间件(Middle-ware):基于Internet2024/3/12南京航空航天大学胡军173.1.4现代操作系统阶段(续)嵌入式操作系统(EmbeddedOS)航空、航天等领域的嵌入式控制器、手机、机器人:硬件计算能力较低、存储能力严格受限,能量有限,……VxWorks(WindRiver):火星探测器(精神号、机遇号),……uC/OS:最小的嵌入式实时操作系统,源码开放WinCE;PalmOS;Symbian...………2024/3/12南京航空航天大学胡军183.2操作系统的体系结构计算机软件系统概述应用软件(applicationsoftware)完成特定的用户任务:财务软件、工程设计、…系统软件(systemsoftware)给应用软件的设计与运行提供基础架构(类似于社会生活中的交通、水电、银行等基础设施)可分为操作系统和实用软件(Utilitysoftware)如:压缩/解压软件、媒体播放器、浏览器、……2024/3/12南京航空航天大学胡军193.2操作系统的体系结构(续)2024/3/12南京航空航天大学胡军20Shell(外壳,命令解释程序):处理与计算机用户之间的通信;是用户与操作系统内核之间的一个接口基于文本图形用户接口(GUI:GraphicalUserInterface)Kernel(内核):完成操作系统核心功能的软件集合文件管理程序设备驱动程序内存管理程序进程调度程序和分派程序3.2操作系统的体系结构(续)2024/3/12南京航空航天大学胡军21Shell(命令解释程序)Shell是用户与操作系统之间的命令接口用户可以选择不同的shell(如:Born-shell,C-Shell,等)ShellScript(脚本程序)有变量定义和控制结构,具有高级语言编程能力基于GUI窗口管理程序(WM:windowmanager):负责在屏幕上分配与管理若干区域(窗口),并跟踪与每个窗口相联系的应用程序。例:PowerPoint程序(PPT)想要显示一副图像

通知WMWM将相应的图像放在PPT所在窗口……点击鼠标WM计算鼠标的坐标位置将这个鼠标位置数据通知给PPT(PPT程序响应)……2024/3/12南京航空航天大学胡军22除了Shell命令接口之外,操作系统还提供另一种用户接口:程序接口(API:

ApplicationProgramInterface):又称系统调用(systemcall),如:printf();编程人员通过系统调用来请求系统资源,API函数就像是一个黑匣子,向用户屏蔽了系统内部的控制。3.2操作系统的体系结构(续)2024/3/12南京航空航天大学胡军233.3

操作系统的启动

操作系统的启动是由一个称为引导(bootstrapping,简称:booting)的过程来实现,这个过程在计算机每次启动的时候将操作系统从海量存储器传送到主存储器中。引导程序(bootstrap):(系统自举程序)存放在计算机的一个特殊的ROM中;固件(firmware).这个ROM的存储单元编址是与主存的一部分.2024/3/12南京航空航天大学胡军243.3

操作系统的启动(续)每次加电启动时,CPU的程序计数寄存器(PC)中是一个事先确定好的特定地址。CPU期望在这个地址上找到第一条指令。主存储器(RAM)加电时是空的,因此,CPU的PC中第一条指令设计的是指向ROM中的引导程序.2024/3/12南京航空航天大学胡军253.3

操作系统的启动(续)BIOS(BasicInput/OutputSystem)基本输入/输出系统:ROM中除了引导程序外,还包括一组例行程序,可以被引导程序调用。使得在操作系统正式开始工作之前,计算机就可以与用户进行通信交互.如:系统自检程序、在屏幕上显示信息、响应键盘输入等问题:为什么不提供足够的ROM存放整个操作系统呢?2024/3/12南京航空航天大学胡军263.4

Kernel的组成现代操作系统的kernel一般由进程管理、存储管理、I/O设备管理、文件管理4个部分组成:

2024/3/12南京航空航天大学胡军273.4.1

文件系统文件(file)是计算机保存数据和程序信息的一种主要形式;操作系统中负责管理和存储文件信息的软件称为文件管理系统,简称文件系统(filesystem)。文件的特征:文件名、文件属性、文件操作;文件逻辑结构无结构的字节序列,如:源程序文件、目标代码文件;有结构的记录式文件,如:工资单的Excel表格文件;文件的存取方式:顺序存取、随机存取2024/3/12南京航空航天大学胡军283.4.1

文件系统(续)文件的特征(续):文件的物理结构:连续文件、链接文件、索引文件.文件目录管理:

两种路径命名法:绝对路径名(如:C:\usr\jone\tail.c);相对路径名(如:\tail.c)。目录的操作:创建、删除、打开、关闭、读、重命名,等等OS也为应用程序的设计与运行提供了文件操作的API接口如:C++中的:CreateFile();OpenFile();CloseFile();ReadFile();WriteFile();GetFileAttribute();GetFileTime();GetFileSize();

……2024/3/12南京航空航天大学胡军29中断(Interrupt)机制

当设备完成了输入/输出(如:键盘、鼠标的响应),会通过中断控制器向CPU发出硬件中断信号,请求CPU优先处理这些任务。各类硬件中断都事先有固定的编号,称为中断号;每个硬件中断都有相应的中断服务程序(Interrupthandler)。3.4.2I/O设备驱动管理2024/3/12南京航空航天大学胡军30驱动软件通常以层次结构来组织,方便维护与更新:中断处理程序;设备驱动程序;设备无关软件层;用户层I/O软件.3.4.2I/O设备驱动管理(续)2024/3/12南京航空航天大学胡军31存储管理主要方式:单一分区、多分区、分段式、分页式以及段页式等。多分区存储管理:将内存空间中除了操作系统之外的空间按照应用程序划分成多个分区。3.4.3内存管理(存储管理)2024/3/12南京航空航天大学胡军32问题:内存空间是公用的宝贵资源,需要进行统一的有效管理,保证各应用程序在同一空间中都能正常的运行。设想:若将内存空间(地址信息)直接交给各程序设计人员来管理?(效率低,可靠性低,…)应用程序的内存总需求(静态/动态)超过物理内存的容量,怎么办?3.4.3内存管理(续)2024/3/12南京航空航天大学胡军33虚拟存储器(VisualMemory)管理技术:基本思想-在大容量的辅存(如:硬盘)上划分一部分存储空间作为主存的扩展;从逻辑上为用户程序提供一个比物理内存容量大得多,但同样也可寻址的“主存储器”。(如:Windows中的虚存设置)主要作用:

解决主存的容量问题:应用程序的运行不再收限于物理主存,而只受限于计算机的地址结构和可用磁盘容量;分隔应用程序的地址空间:每个应用程序有独立的地址空间,可以独立设计开发,不用同时考虑别的程序;控制物理内存的访问权限:防止恶意或错误的破坏。3.4.3内存管理(续)2024/3/12南京航空航天大学胡军34分段管理技术分页管理技术段页式管理技术3.4.3内存管理(续)2024/3/12南京航空航天大学胡军35Trade-off:虚存的管理方式复杂,还需要硬件支持(如:CPU中的内存管理单元MMU:MemoryManageUnit),理解起来也比较困难;操作系统执行内、外存之间的页面交换时,其系统开销非常大;程序性能无法预测。如:对实时性要求极高的嵌入式应用中很少用虚存技术.3.4.3内存管理(续)2024/3/12南京航空航天大学胡军36进程(Process)是现代操作系统中一个最基本的概念:将程序(Program)与执行该程序的动态行为区分开来。程序:静态的指令的集合进程:程序的动态运行行为,其属性随时间而改变.进程状态(ProcessState)信息主要包括:程序执行的当前位置(PC的值);CPU中相关寄存器中的值;内存中相关存储单元中的内容.3.4.4进程管理2024/3/12南京航空航天大学胡军37分时系统中,许多进程会竞争计算机资源(如:外围设备、主存空间、文件访问、CPU等),操作系统必须管理和协调这些进程,保证每个都能得到资源,同时进程相互之间不会干扰,也能有效的进行信息交换。协调进程的任务是由操作系统内核中的调度程序(Scheduler)和分派程序(Dispatcher)来进行的:调度程序:根据某种调度策略来动态选择一个进程到CPU上运行;(处理器调度)分派程序:保证被调度的进程能够实际的执行起来;3.4.4进程管理(续)2024/3/12南京航空航天大学胡军38调度程序:在主存中动态维护一个进程表;每一个表项的内容(进程控制块PCB:ProcessControlBlock)包括了该进程运行的所有信息(存储区、优先级、进程状态等).3.4.4进程管理(续)2024/3/12南京航空航天大学胡军39分派程序:通过时间片的定时中断信号来指示何时开始执行进程现场信息的保存和中断处理程序的运行;保证被调度的进程能够实际的执行起来。3.4.4进程管理(续)分时系统的关键:系统能够停止进程,并且稍后能够重启这个进程;即,系统必须能够重新建立起中断前进程所在的那个环境。现代CPU提供了相应的机器指令进行进程的上下文(context)运行环境的保存和恢复。2024/3/12南京航空航天大学胡军40线程(thread)一个进程内部的基本调度单位称为线程。3.4.4进程管理(续)2024/3/12南京航空航天大学胡军41进程间的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论