版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机操作系统前言前言
(1)
认识操作系统
从操作系统在计算机系统中的位置来分析①操作系统是什么?
②
操作系统能做什么?
③
操作系统如何去做?1操作系统定义操作系统的功能操作系统的实现技术1.操作系统课程的重要性裸机作系统应程序用序程用户操计算机系统的组成前言(2)学习计算机系统的核心软件,掌握操作系统采用的关键技术
并行处理技术虚拟技术
2①操作系统中的并行处理技术ⅰ
并行性和并行处理技术并行性:处理多个同时性活动的能力并行处理:多个处理部件为完成一个任务而同时执行前言
ⅱ多用户、多任务同时执行(并发执行)如何描述任务如何控制任务状态的变化多任务关系如何协调多任务如何调度
3同步与互斥进程的引入与进程概念进程状态及控制进程调度前言
ⅲ系统资源共享处理机如何共享存储器如何共享
设备如何共享
信息如何共享
4存储分配、地址映射、虚存、存储保护策略、调度、处理机分派
文件结构、存取方法、磁盘空间分配、文件共享、文件保护、文件完整性设备分配、虚拟设备、设备驱动前言②操作系统中的虚拟技术用户的逻辑视图与操作系统所管理的物理视图分离逻辑视图与物理视图的映射5前言应用程序1,应用程序2,
应用程序nCPU1CPU2虚拟主存1
打印机1打印机2虚拟主存2CPU主存打印机分时主存管理假脱机打印软件硬件虚拟技术示意图
(3)培养系统软件的开发技能6①系统软件大型的支撑软件,为其他应用软件提供相对完善、专业的开发和运行的环境,并提供相应的服务。系统软件的例:OS研制、OS功能扩充、网络操作系统、分布式操作系统的研制,还有DBMS的研制等。②
应用软件在系统软件的支持下开发的软件,相对于系统软件其规模要小得多,功能也较为单一、专用。前言
(4)为后续课程打好基础如数据库系统、计算机网络、分布式系统
72.如何学习操作系统必须了解操作系统的特点掌握操作系统的学习方法
前言③
培养目标培养学生具备系统软件开发技能。既能进行统软件的开发,更能胜任应用软件的开发。8①
内容庞杂、涉及面广管理、控制所有硬件管理所有软件,控制程序的执行为用户提供良好的接口②
实践性强
操作系统原理与实际运行的操作系统的关系③
技术发展快
基础性和先进性的关系(1)操作系统课程的特点裸机作系统应程序用序程用户操计算机系统的组成前言①
了解操作系统提供的服务
操作系统功能的体现9(2)如何学习操作系统前言多用户多任务同时执行所需的——
概念、策略、机制、方法③
理论与实际的结合
操作系统实例分析做系统实验——设计并实现操作系统某些功能②
掌握操作系统的基本原理和实现技术
现代操作系统最本质、最核心的问题是什么?第1章绪论绪论操作系统与计算机体系结构的关系操作系统的形成与发展操作系统定义操作系统的资源管理功能计算机体系结构与现代操作系统类型UNIX、Linux操作系统概述10绪论——主要内容操作系统与计算机体系结构的关系绪论——操作系统与计算机体系结构的关系111.操作系统与各层的关系裸机作系统应程序用序程用户操①与硬件的关系控制CPU的工作
访问存储器设备驱动、中断处理②与用户及其他软件的关系控制、管理提供方便的用户界面提供优质的服务计算机系统的组成(1)OS对各层的管理和控制绪论——操作系统与计算机体系结构的关系12裸机作系统应程序用序程用户操②
用户和上层软件的要求用户需求提供优质的服务方便的用户界面计算机系统的组成(2)各层对OS的制约和影响①下层硬件环境的制约提供OS运行环境限制了OS的功能实现绪论——操作系统与计算机体系结构的关系13①CPU
②存储器③I/O设备程序计数器2.存储程序式计算机的结构和特点(1)基本部件集中顺序过程控制①过程性:模拟人们手工操作②集中控制:由CPU集中管理③顺序性:
(2)特点绪论——操作系统与计算机体系结构的关系143.计算机系统结构与操作系统的关系顺序计算模型一对矛盾如何解决矛盾?
单CPU计算机计算机网络(多计算机系统)消息传递型多计算机
计算机系统结构并行计算模型操作系统(1)结构特征(2)OS采用的软件技术多道程序设计技术、分时技术、资源分配与调度等(3)计算机体系结构与硬件技术的变化绪论——操作系统与计算机体系结构的关系操作系统的形成与发展绪论——操作系统的形成与发展15操作系统形成与发展过程
操作系统初期阶段
操作系统发展的初期阶段
手工操作阶段
联机批处理
脱机批处理
执行系统个人计算机操作系统
网络操作系统分布式操作系统
实时系统
多道程序系统多道批分时处理系统系统
早期批处理操作系统的进一步发展操作系统的形成绪论——操作系统的形成与发展16
无任何软件①有人工干预②
独占性③
串行性1.手工操作阶段(1)特点当CPU速度提高时,出现了机器程序处理人工操操作时间与机器速度所需时间作时间有效运行时间之比
1万次/秒1小时3分钟1:2060万次/秒1分钟3分钟3:1(2)问题人——
机矛盾绪论——操作系统的形成与发展2.批处理阶段①特点主机与卫星机并行操作②问题调度不灵活;保护问题③解决办法硬件技术的发展——
通道技术、中断技术监督程序作业自动过渡17(1)联机批处理(2)脱机批处理①特点②问题
CPU高速与I/O慢速的矛盾③解决办法由卫星机负责I/O脱机批处理图示
主机
输出带
输入带
输入带打印机
卫星机
输出带输入机绪论——操作系统的形成与发展18借助于通道与中断技术,由主机控制I/O工作。原有的监督程序不仅要负责调度作业自动地运行,而且还要提供I/O控制功能。它常驻主存,称为执行系统。3.执行系统(1)什么是执行系统I/O控制功能调度(2)特点主机、外设并行操作;增强了保护能力(3)基本功能(4)问题主机与外设的并行是有限度的,还依赖于程序运行的特征。绪论——操作系统的形成与发展19①单道程序程序的工作情况4.操作系统的形成用户程序监督程序I/O操作计算请求输入
启动I/OI/O完成继续计算
结束中断单道程序工作示例(1)多道程序设计技术绪论——操作系统的形成与发展20②多道程序程序的工作情况中央处理机外部设备输入结束程序B打印输出输入绘图输出输出结束输出结束程序A输入结束程序A程序B输入外部设备多道程序工作示例绪论——操作系统的形成与发展21
在计算机主存中同时存放几道相互独立的程序。这些程序在管理程序控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。③什么是多道程序程序设计技术多道宏观上并行微观上串行
④多道运行的特征绪论——操作系统的形成与发展22所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒)轮地分配给各个应用程序使用,如果某个程序在分配的时间片用完之前计算还未完成,该程序就暂时中断,等待下一轮继续计算。┇主机终端1终端2终端n一个分时系统示例(2)分时技术①什么是分时技术
一台计算机与许多终端设备连接,终端用户以联机方式使用计算机。
②分时处理绪论——操作系统的形成与发展23实时处理以快速反应为特征,对实时信号能在截止期限之内处理并作出反应。实时处理具有实时性和可预测性。
(3)实时处理①什么是实时
计算机对于外来信息能够在被控对象允许的截止期限
(deadline)内作出反应。
②实时处理绪论——操作系统的形成与发展24批量操作系统分时操作系统实时操作系统个人计算机操作系统网络操作系统(计算机网络,松耦合)多处理机操作系统(多处理机系统,紧耦合)集群操作系统(分布存储的多计算机系统)并行分布式系统(分布存储的多计算机系统)分布式系统(具有单一用户界面,支持分布式数据处理)分布式实时系统
(支持分布式实时数据处理)5.计算机体系结构与操作系统的关系(1)单CPU计算机配置的操作系统(2)具有并行结构的计算机系统配置的操作系统绪论——操作系统的形成与发展操作系统的定义绪论——操作系统的定义251.资源共享与资源竞争
多个计算任务对计算机系统资源的共同享用操作系统
中央处理机
打印机
用户1
用户n
操作命令
操作命令
应用程序1
系统调用
系统调用
应用程序n显示器Modem应用程序存储器绘图仪键盘网卡文件用户请求系统资源的方式(1)资源共享多个计算任务对计算机系统资源的争夺(2)资源竞争绪论——操作系统的定义26操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。2.操作系统的定义与特征(1)操作系统的定义①并发能处理多个同时性活动的能力②共享多个计算任务对系统资源的共同享用③不确定性
操作系统能处理大量的、随机的事件序列,使各用户的计算任务正确地完成。(2)操作系统的特征绪论——操作系统的定义操作系统的资源管理功能绪论——操作系统的资源管理功能27确定将CPU先分给哪个用户程序,它占用多长时间,下一个又该轮到哪个程序运行等问题。1.处理机管理(1)提出进程调度策略在调度时机到来时,进行处理机分派。(2)给出进程调度算法(3)进行处理机的分派绪论——操作系统的资源管理功能28确定各应用程序在主存中的位置及所占区域的大小;应用程序无需关心存储细节,由存储管理模块提供地址重定位能力。2.存储器管理(1)存储分配和存储无关性系统提供基址、界限寄存器等存储保护方法,使各应用程序相互隔离。(2)存储保护系统提供虚拟存储技术,扩大逻辑主存。(3)存储扩充绪论——操作系统的资源管理功能29设备无关性是指用户向系统申请和使用的设备与实际操作的设备无关,以达到方便用户、提高设备利用率的目的。3.设备管理(1)设备无关性操作系统为各应用程序和运行实体分配各种设备。设备分配通常采用三种基本技术:独享、共享及虚拟技术。(2)设备分配设备的传输控制包括:启动设备、中断处理、结束处理三个方面(3)设备的传输控制绪论——操作系统的资源管理功能30文件系统为用户提供一种简便的、统一的存取和管理信息的方法,并解决信息的共享、数据的存取控制和保密等问题。信息组织存取方法文件共享文件安全文件完整性磁盘空间分配4.信息管理(文件系统)绪论——操作系统的资源管理功能31操作系统功能模块处理机管理存储器管理设备管理文件系统系统资源处理机I/O设备软件资源存储器系统资源与操作系统的资源管理模块5.操作系统的资源管理观点绪论——操作系统的资源管理功能操作系统的基本类型绪论——操作系统的基本类型批量操作系统是操作系统的一种类型。该系统把用户提交的程序组织成作业形式。作业成批送入计算机,然后由作业调度程序自动选择作业,在系统内多道运行。早期计算机一般都配置批量操作系统。321.批量操作系统(1)什么是批量操作系统(2)批量操作系统的特点脱机操作多道运行合理搭配作业①系统吞吐率高②作业周转时间长,用户使用不方便绪论——操作系统的基本类型分时操作系统是操作系统的另一种类型。它一般采用时间片轮转的办法,使一台计算机同时为多个终端用户服务。该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。332.分时操作系统(1)什么是分时操作系统(2)分时操作系统的特点①并行性②独占性③交互性绪论——操作系统的基本类型配置了实时操作系统的系统。该系统可以对科学实验、医学成像、工业控制、武器装备控制和特定显示系统进行实时控制的系统。343.实时操作系统(1)实时系统系统必须满足应用程序对截止期限(deadline)的要求,若错过了截止期限,将导致灾难性后果。②
实时系统的分类
ⅰ硬实时系统系统中截止期限被错过的情况下,只造成系统性能下降而不会带来严重后果。ⅱ软实时系统①什么是实时系统绪论——操作系统的基本类型
实时操作系统对外部输入的信息,能够在规定的时间内处理完毕并作出反应。35①什么是实时操作系统(2)实时操作系统
③实时操作系统的类型ⅰ
实时控制
——生产过程控制、作战指挥ⅱ
实时信息处理
——订购机票、情报检索②实时操作系统的特点ⅰ
可靠性和安全性ⅱ
及时响应绪论——操作系统的基本类型
(1)概况个人计算机出现于20世纪70年代,随着微电子技术的发展,操作系统的目标:不再是最大化CPU和外设的利用率而是最大化用户方便性和响应速度各种类型的Windows替代MS-DOS;IBM公司将MS-DOS升级为多任务
OS/2;UNIX运行在个人计算机上;出现了Linux个人计算机操作系统(类似于UNIX)
个人计算机操作系统得益于大型机操作系统的研制成果。另一方面,微型计算机硬件费用很低,有些技术实现可相对简单。364.个人计算机操作系统绪论——操作系统的基本类型(2)个人计算机的代表
①磁盘操作系统MS—DOS
包括:设备管理、文件系统
②Windows系统图形用户界面多任务、多线程可剥夺式调度段页式虚拟存储管理技术动态连接
37个人计算机示意图绪论——操作系统的基本类型多处理机系统也称并行系统(parallelsystem)或紧耦合系统。385.多处理机系统(1)多处理机系统的定义①包含两个或多个功能相当的处理器②
所有处理器共享一个公共内存③
所有处理器共享I/O通道、控制器和外围设备④
由一个操作系统控制(2)多处理机系统的特点①具有并行处理能力②
紧耦合、存在瓶颈、可扩展性差不支持大规模并行计算;不支持分布处理绪论——操作系统的基本类型6.网络操作系统39计算机网络示意图
线路将一些独立自治的计算机相互连接形成的一个集合
体称为计算机网络。(1)计算机网络的定义①多个处理部件②无公共内存③具备消息通信机制
(2)计算机网络的特点绪论——操作系统的基本类型
网络操作系统除了具备一般操作系统应具有的功能模块外
(如系统核心、设备管理、存储管理、文件系统等),还要增加一个网络通信模块。该模块由通信接口中断处理程序、通信控制程序以及各级网络协议软件组成。40(3)网络操作系统①不能支持透明的资源存取②不能对网络资源进行有效、统一的管理③不能支持合作计算
(4)计算机网络的局限性绪论——操作系统的基本类型①可扩展性②增加性能③高可靠性
417.分布式系统(1)分布式系统的定义①包含多个通用资源部件②这些资源是分布的,并经过通信网络相互作用③有一个分布式操作系统对资源进行全局和动态的管理控制④系统对用户是透明的⑤所有资源高度自治地工作,而又相互配合(2)分布式系统的特点绪论——操作系统的基本类型UNIX、Linux操作系统概述绪论——UNIX、Linux操作系统概述UNIX操作系统是交互式多用户分时系统。绪论——UNIX、Linux操作系统概述1.UNIX操作系统概述(1)UNIX系统的类型(2)UNIX系统的特点①移植性好——
UNIX源代码由C语言、汇编语言写成,易于理解、便于修改、扩充和移植。②良好的用户界面
操作界面:shell——shell首先是一种命令语言shell也是一种程序设计语言程序界面:提供一组C语言、汇编语言形式的系统调用。42UNIX系统在结构上分成核心层和实用层。
核心——结构紧凑、常驻内存、效率高
包括:进程管理、存储管理、设备管理、文件系统实用层——可方便地配置、扩展
包括:常用程序设计语言的编译和解释程序;各种实用程序,
编辑程序、调试程序;有关系统状态监控和文件管理的实用程
序等;还有一组强有力的软件工具等。
③配置灵活④层次式文件系统
文件目录结构采用树型层次结构,方便文件的使用和有控制的共享。绪论——UNIX、Linux操作系统概述432.Linux系统的定义
Linux系统是一个类UNIX的操作系统,与UNIX完全兼容,在操作系统功能、使用方法等方面极为相似。
(1)什么是Linux操作系统
Linux是一个多用户、多任务操作系统
(2)Linux与UNIX操作系统的不同点①源代码编写方式②
商业模式③
开发模式44绪论——UNIX、Linux操作系统概述(4)Linux系统的特点①
单体结构内核②
可抢占式内核③
多线程应用程序的支持④
多处理机支持⑤
支持多种文件系统(3)Linux系统的组成
Linux操作系统包括Linux内核,还包括shell、带有多窗口管理器的X-Windows图形用户接口、文本编辑器、高级语言编译器等应用软件。45绪论——UNIX、Linux操作系统概述第1章绪论小结绪论——小结46绪论——小结操作系统在计算机系统中的位置及作用存储程序式计算机的结构与特点操作系统的定义与特征操作系统的基本功能操作系统的基本技术:多道程序设计技术、分时技术操作系统的基本类型第2章操作系统的结构和硬件支持操作系统的结构和硬件支持操作系统虚拟机操作系统的组织结构处理机的特权级中断技术1操作系统的结构和硬件支持——主要内容操作系统虚拟机操作系统的结构和硬件支持——操作系统虚拟机2
在裸机上配置了操作系统程序后就构了操作系统虚拟机。操作系统的核心在裸机上运行;用户程序在扩充后的机器上运行。裸机作系统应程序用序程用户操扩充后机器的操作系统虚拟机1.什么是操作系统虚拟机操作系统的结构和硬件支持——操作系统虚拟机3机器指令2.操作系统虚拟机的指令系统(1)裸机的指令系统(2)操作系统虚拟机的指令系统①操作命令(又称命令接口)作业控制语言键盘命令图形化用户界面②系统功能调用(又称程序接口)操作系统的结构和硬件支持——操作系统虚拟机操作系统的结构操作系统的结构和硬件支持——操作系统的结构4
操作系统的设计方法单体结构模块化结构可扩展内核结构层次结构应用软件其他系统软件操作系统其他功能操作系统内核ⅰ单体结构ⅱ模块化结构应用软件其他系统软件操作系统其他功能操作系统内核1.操作系统的结构类型操作系统的结构和硬件支持——操作系统的结构5ⅲ可扩展内核结构内核操作系统应用软件其他系统软件操作系统其他功能内核核心功能基础核心ⅳ层次结构操作系统应用软件其他系统软件操作系统其他功能内核操作系统4种组织结构示意图操作系统的结构和硬件支持——操作系统的结构62.操作系统的层次结构
操作系统层次结构示意图操作系统的结构和硬件支持——操作系统的结构73.实例操作系统的结构
(1)UNIX操作系统的结构UNIX操作系统结构示意图①UNIX核心层处理机管理存储管理设备管理文件系统②UNIX实用层实用程序——编辑程序、调试程序、系统状态监控、文件管理等实用程序存储管理软件工具——源代码控制程序SCCS、文档准备程序包等操作系统的结构和硬件支持——操作系统的结构8系统调用界面程序库进程通信进程调度存储管理文件子系统高速缓冲字符设备块设备设备驱动程序用户程序
硬件控制
硬件用户级核心级硬件层进程管理与存储管理网络管理网络协议网络驱动Linux系统的核心结构示意图(2)Linux系统的核心结构操作系统的结构和硬件支持——操作系统的结构9系统虚拟机32位Windows应用程序32位Windows应用程序
16位Windows应用程序16位Windows应用程序Windows子系统WindowsKernelWindowsGDIWindowsUserMSDOS虚拟机MSDOS虚拟机MSDOS虚拟机
可安装的文件系统管理程序32位FATCD-ROM文件系统
网络重定向程序
块I/O子系统
主存管理调度程序
Vxds服务及动态装入程序
MSDOSVM管理程序设备驱动程序:键盘、显示器、鼠标、通信及其他第
3环组件第
0环组件文件管理子系统虚拟机管理子系统共享的地址空间Windows系统结构示意图(3)Windows操作系统的结构操作系统的结构和硬件支持——操作系统的结构处理机的特权级操作系统的结构和硬件支持——处理机的特权级10
管理程序用户程序管理系统资源使用资源,提出申请控制程序运行被控制区分处理机状态的目的:保护操作系统
1.为什么要区分处理机的状态系统中两类程序的职责和区别处理机的态,又称为处理机的特权级,是中央处理机的工作状态。当前处理机正在执行哪类程序,决定处理机的态。(1)什么是处理机的态2.处理机的状态及分类操作系统的结构和硬件支持——处理机的特权级11①管态(Supervisormode)
操作系统的管理程序执行时机器所处的状态,又称处理机的特权级。在此状态下处理机可使用全部指令(包括一组特权指令);使用全部系统资源(包括整个存储区域)。②用户态(Usermode)
用户程序执行时机器所处的状态称为用户态。在此状态下禁止使用特权指令,不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。(2)处理机状态的分类操作系统的结构和硬件支持——处理机的特权级①涉及外部设备的输入/输出指令②修改特殊寄存器的指令③改变机器状态的指令12(3)处理机状态的特权指令集
管态用户态
操作系统的程序执行用户程序执行使用全部指令禁止使用特权指令
使用全部系统资源只允许用户程序
(包括整个存储区域)访问自己的存储区域操作系统的结构和硬件支持——处理机的特权级③管态和用户态的区别13①DOS系统
不分态②
Windows
系统
3环用户态0环系统态还有1、2环预留③
UNIX系统(Linux)系统
00核态01管态11用户态(4)实例操作系统处理机的状态操作系统的结构和硬件支持——处理机的特权级中断及其处理操作系统的结构和硬件支持——中断及其处理14
所谓中断是指某个事件(例如电源掉电、定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点继续执行的过程。继续执行中断进入中断返回中断信号正在执行的程序中断处理程序中断概念示意图1.中断概念操作系统的结构和硬件支持——中断及其处理152.中断类型(1)按中断功能分类①输入输出中断
I/O传输结束或出错中断②
外中断时钟中断、操作员控制台中断、通信中断等③
机器故障中断电源故障、主存取指令错等④
程序性中断定点溢出、用户态下用核态指令、非法操作⑤
访管中断对操作系统提出某种需求时所发出的中断操作系统的结构和硬件支持——中断及其处理16(2)按中断方式分类①强迫性中断
不是正在运行的程序所期待的中断。如:输入输出中断、外中断、机器故障中断、程序性中断②
自愿中断
是运行程序所期待的事件。如:访管中断操作系统的结构和硬件支持——中断及其处理17①中断
由处理机外部事件引起的中断②俘获
由处理机内部事件引起的中断③中断与俘获的例
trap指令俘点溢出地址越界非法指令exitforkread
clock时钟rk磁盘tty终端
中断与俘获中断俘获中断与俘获示意图(3)按中断来源分类操作系统的结构和硬件支持——中断及其处理18继续执行中断进入中断返回中断信号正在执行的程序中断处理程序中断概念示意图3.中断响应(中断进入)操作系统的结构和硬件支持——中断及其处理19
在中断的那一时刻能确保程序继续运行的有关信息。ⅰ
后继指令所在主存的单元号ⅱ
程序运行所处的状态ⅲ
指令执行情况ⅳ
程序执行的中间结果等(1)保护现场和恢复现场①现场操作系统的结构和硬件支持——中断及其处理20当中断发生时,必须立即把现场信息保存在主存中,这一工作称之为保护现场。②保护现场程序重新运行之前,把保留的该程序现场信息从主存中送至相应的指令计数器、通用寄存器或一些特殊的寄存器中。完成这些工作称为恢复现场。③恢复现场操作系统的结构和硬件支持——中断及其处理21指令地址、指令执行情况、处理机状态、应屏蔽的中断等。ⅰIBM370机程序状态字内容
PSW寄存器ⅱIBMPC机程序状态字内容
CSIP指令地址
flag标志寄存器ⅲPDP11系列机程序状态字内容
PC指令计数器
PS处理器状态寄存器(2)程序状态字(psw)①定义反映程序执行时机器所处的现行状态的代码。②内容③程序状态字的例操作系统的结构和硬件支持——中断及其处理22中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。指令计数器系统堆栈中断向量表处理机状态寄存器继续执行中断进入中断返回中断信号正在执行的程序中断处理程序中断响应所需的硬件支持(3)什么是中断响应(4)中断响应所需的硬件支持操作系统的结构和硬件支持——中断及其处理23①保留程序断点及处理机有关信息②自动转入相应的中断处理程序执行
中断处理程序的PC中断处理程序的PS主存PCPSPCPS堆栈堆栈栈顶指针(4)(1)(2)(3)
交换指令地址及处理机的状态信息中断响应过程示意图(5)中断响应过程(6)中断响应的实质操作系统的结构和硬件支持——中断及其处理24
当硬件完成了中断进入过程后,由相应的中断处理程序得到控制权,进入了软件的中断处理过程。
软件的中断处理过程如图所示。
保留被中断程序的现场
进入相应的中断服务例程
恢复被中断程序的现场中断返回中断进入k+0现行程序k+1软件中断处理过程示意图4.软件中断处理操作系统的结构和硬件支持——中断及其处理第2章操作系统的结构和硬件支持小结操作系统的结构和硬件支持——小结25什么是操作系统虚拟机操作系统的结构区分处理机的态的目的管态、用户态,二者的区别中断的定义、类型中断响应的定义、实质、所需的硬件支持软件中断处理过程操作系统的结构和硬件支持——小结第3章操作系统的用户接口操作系统的用户接口用户工作环境运行一个应用程序的过程操作系统用户界面系统功能调用Linux系统功能调用1操作系统的用户接口用户工作环境操作系统的用户接口——用户工作环境2将操作系统的必要部分装入主存并对系统进行初始化工作,最终使系统处于命令接收状态。1.用户工作环境的形成(1)系统提供各种硬件、软件资源(2)设计并提供使用方便的命令集合(3)将OS装入计算机并初始化,形成可供使用的工作环境2.操作系统的初启(1)系统引导的任务操作系统的用户接口——用户工作环境3OS核心文件存储在系统本身的存储设备中,由系统自己将OS核心程序读入主存并运行,建立一个操作环境。适用于微机和大多数系统OS主要文件不放在系统本身的存储设备中,在系统启动后执行下装操作,从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境。适用于多计算机系统、由主控机与前端机构成的系统以及分布式系统。①现场独立引导方式(滚雪球方式)
②辅助下装方式
(2)系统引导的方式操作系统的用户接口——用户工作环境4①初始引导系统加电;执行初始引导程序,对系统硬件和配置进行自检,保证系统没有硬件错误;从硬盘中读入操作系统引导程序,并将控制权交给该程序模块。②引导程序执行引导程序执行,将操作系统核心文件读入内存,并将控制交给核心的初始化程序。(3)独立引导方式(滚雪球方式)的过程操作系统的用户接口——用户工作环境5③核心初始化
初始化系统数据结构及参数系统加电建立进程有关的数据结构;获得自由存储空间的容量,建立存储管理的数据结构
;建立系统设备和文件系统的数据结构;初始化时钟。④系统初始化完善OS的操作环境,装载命令处理程序(或图形用户界面),并初始化;在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。操作系统的用户接口——用户工作环境6Linux系统是以滚雪球的方式启动加电或复位→BIOS的启动→BootLoader→OS初始化①系统加电或复位对主存中所有的数据清零,对内存进行校验,若无错,CS:IP→BIOS入口。(4)Linux系统初启操作系统的用户接口——用户工作环境7②BIOS启动
在ROM中的引导程序放在固定位置:FFFF:0000CPU从这里开始执行。上电自检;对硬件设备进行检测和连接,并将测得的数据送入BIOS数据区;从盘中读入BootLoader(引导程序)。从硬盘启动时,读入零柱面零磁道1扇区MBR(MasterBootRecord),将控制权交BootLoader。③Loader(引导程序)
功能:将OS读入内存,并将控制权交给OS的初始化程序。操作系统的用户接口——用户工作环境8④系统核心初始化(Setup.s)
Setup的工作检查调入内存中的代码;获取内存容量信息,设置设备模式;屏蔽中断,准备进入保护模式;设置中断描述符表(idt),全局描述符表(gdt);控制权交给Heads。
Heads的工作对中断向量表作准备工作;检查CPU类型;调用Setup_paging进行页面初始化;调用main.c中的Start_kernel()。操作系统的用户接口——用户工作环境9Start_kernel()的工作对与CPU、内存等最基本硬件相关部分进行初始化;对中断向量表进行初始化;为进程调度程序作准备;设置基准时钟;内核的主存分配;对文件系统进行初始化;建立init进程。
init进程对每一个联机终端建立“getty”进程,getty在端上显示“login”,等待用户登录。操作系统的用户接口——用户工作环境10所谓系统生成,就是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。2.系统生成(1)什么是系统生成根据硬件部件确定系统构造的参数,编辑系统模块的参数,并且连接系统模块成为一个可执行的程序。(2)系统生成的内容操作系统的用户接口——用户工作环境应用程序的处理操作系统的用户接口——应用程序的处理111.处理应用程序的步骤
(1)编辑建立一个新文件,或对已有的文件中的错误进行修改。
(2)编译将源程序翻译成浮动的目标代码。(3)连接主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的主存映像文件。
(4)运行将主存映像文件调入主存,启动运行,得出计算结果。操作系统的用户接口——应用程序的处理12应用程序处理步骤操作系统的用户接口——应用程序的处理编译器或汇编器目标模块源程序其他目标模块动态装入的系统库
编译连接装配动态链接加载运行连接装配程序主存映像文件应用程序处理步骤示意图主存中运行132.连接类型
(1)静态连接一个源程序经编译后,生成一个可重定位的目标模块,并产生内部符号表和外部符号表,供连接程序(Link)使用。①内部符号表本模块可以被其他程序调用的入口点。②外部调用表本模块要调用的外部的程序模块名。操作系统的用户接口——应用程序的处理14③连接需要做的工作将各模块连接成为一个整体;构造全程符号表,在其中填写模块的逻辑地址;查找各程序段的外部调用表,填入对应调用函数的地址。④静态连接的缺点静态连接将所需的外部函数链接到目标文件中形成为一个可执行文件。若多个应用程序都调用了同一个库中的外部函数,那么,多个应用程序的目标文件中都会包含这个外部函数对应的代码。操作系统的用户接口——应用程序的处理15(2)动态连接
动态连接不需要将外部函数链接到目标文件中。而是在应用程序中需要调用外部函数的地方作记录,并说明要使用的外部函数名和引用入口号。
————形成函数调用链表所需支持——DLL(动态链接库)
当Windows的装载程序将应用程序和DLL装入主存后,装载程序会遍历函数调用链表,将DLL中函数在主存的入口
(段:偏移)填入链表中的每个结点。操作系统的用户接口——应用程序的处理用户接口操作系统的用户接口——用户接口161.什么是操作系统的用户界面操作系统的用户界面(或称接口)是操作系统提供给用户与计算机打交道的外部机制。用户能够借助这种机制和系统提供的手段来控制用户所在的系统。
操作系统用户通过操作系统使用计算机示意图操作系统的用户接口——用户接口172.操作系统提供的用户界面
(1)操作界面(命令接口)
用户使用操作界面来组织工作流程和控制程序的运行。
(2)
系统功能服务界面(程序接口)
用户程序在其运行过程中,使用系统功能调用来请求操作系统的服务。
操作命令:作业控制语言键盘命令图形界面
操作系统系统功能调用操作系统提供的用户接口示意图操作系统的用户接口——用户接口183.操作命令与操作系统类型的关系
(1)作业控制语言──
批处理操作系统
(2)键盘命令──
分时操作系统
个人计算机操作系统
(3)图形用户界面──
分时操作系统
个人计算机操作系统
实际操作系统:MS-DOSWindowsLinux(UNIX)提供什么样的用户界面?操作系统的用户接口——用户接口194.实例操作系统提供的用户界面
(1)MS-DOS──
键盘命令
系统功能调用
(2)Windows
──
图形用户界面
系统功能调用
(3)Linux(UNIX)─
键盘命令(XWindow)
系统功能调用操作系统的用户接口——用户接口系统功能调用操作系统的用户接口——系统功能调用201.什么是系统功能调用(1)操作如何为用户提供服务
操作系统提供实现各种功能的例行子程序。应用程序
i
系统调用中央处理机存储器外部设备应用程序计算机系统部件系统功能调用示意图操作系统的用户接口——系统功能调用21(2)如何调用操作服务功能
①采用统一进管方式
——
系统提供访管指令、访管中断
︙显示一个字符串读文件
应用程序j
︙read();︙︙
操作系统统功能模块②访管指令(自愿进管指令)svcnsvc表示机器访管指令的操作码记忆符,n为地址码(功能号)系统功能调用示意图操作系统的用户接口——系统功能调用22③访管中断
当处理机执行到访管指令时发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。
操作系统提供实现各种功能的例行子程序,其中的每一个功能对应访管指令的一个功能号。例如:
svc0显示一个字符
svc1打印一个字符串
︙︙(3)什么是系统调用系统功能调用是用户在程序一级请求操作系统服务的一种手段,它是带有一定功能号的“访管指令”。其功能是由操作系统中的程序完成的,即由软件方法实现的。操作系统的用户接口——系统功能调用234.
系统调用的实现
a1a0︙ai例行子程序入口地址表A+0A+1︙A+i保护现场;取i值;按i值转移;
︙恢复现场;访管中断处理程序
︙svci
︙用户程序+ASubmam例行子程序Sub0Sub1Subi︙a0a1ai︙系统调用的执行过程操作系统的用户接口——系统功能调用Linux系统的功能调用操作系统的用户接口——
Linux系统功能调用241.Linux系统功能调用的过程在Linux系统中,系统调用通过异常类型实现;当执行了int0x80指令而发生的软件中断;系统自动将用户态切换为核心态来处理该事件,执行自陷处理程序(系统调用处理程序)。操作系统的用户接口——
Linux系统功能调用25(1)系统功能调用过程
︙
abc();
︙abc();
{︙syscall;
︙}system_call:︙sys_abc
︙SYSEXITsysabc(){
︙
︙}用户态核心态用户程序系统调用
在libc标准库中的封装例程系统调用处理程序系统调用服务例程Linux系统调用过程操作系统的用户接口——
Linux系统功能调用26(2)例:getuid系统调用过程intmain(){︙getuid();
︙}intgetuid(void)
{long_res;︙int$0x80;︙}ENTRY(system_call)pushl%esxSAVE_ALLGET_CURRENT(%ebx)
︙callsys_getuid16
︙RESTORE_ALLasmlinkagelongsys_getuid16(void){returnhigh2lowuid(current_uid);}用户程序系统调用处理程序标准C库内核例程getuid系统调用过程操作系统的用户接口——
Linux系统功能调用272.Linux系统功能调用的实现机制
(1)Linux系统调用的进入 ①
Linux系统的软中断指令是int0x80汇编语言指令②
该指令的执行会发生中断③
处理机的状态由用户态自陷到内核态④
从system_call()开始执行系统调用处理程序。⑤
当系统调用处理完毕后,通过iret汇编语言指令返回到用户态。操作系统的用户接口——
Linux系统功能调用28(2)系统调用号 ①linux中,每个系统调用被赋予一个唯一的系统调用号
②系统调用号定义在include/asm-i386/unistd.h头文件中
③系统调用号格式如下
#define__NR_restart_syscall
0#define__NR_exit 1#define__NR_fork 2#define__NR_read 3#define__NR_write 4#define__NR_open 5……………………#define__NR_mq_getsetattr282
操作系统的用户接口——
Linux系统功能调用29(3)系统调用表 ①
系统调用表记录了内核中所有已注册过的系统调用,它是系统调用的跳转表。②
系统调用表是一个函数指针数组,表中依次保存所有系统调用的函数指针③
Linux系统调用表保存在arch/i386/kernel/下的entry.S中操作系统的用户接口——
Linux系统功能调用30④
系统调用表格式如下
ENTRY(sys_call_table) .longsys_restart_syscall/*0*/ .longsys_exit/*1*/ .longsys_fork /*2*/ .longsys_read /*3*/ .longsys_write /*4*/ .longsys_open /*5*/…………………… .longsys_mq_getsetattr/*282*/操作系统的用户接口——
Linux系统功能调用31(4)系统调用处理程序
系统调用处理程序是system_call(),主要工作如下宏SAVE_ALL保护现场;正确性检查;依eax中所包含的系统调用号,调用其对应的服务例程;系统服务例程结束时,通过宏RESTORE_ALL恢复寄存器;最后通过iret指令返回。操作系统的用户接口——
Linux系统功能调用323.增加一个新的系统功能调用的方法
(1)添加新的服务例程
①
在/usr/src/linux/kernel/sys.c文件中增加一个新的函数,该函数的名字是sys_mysyscall②
例:一个简单的系统调用,其功能是返回一个整型值
asmlinkageintsys_mycall(intnumber){returnnumber;}操作系统的用户接口——
Linux系统功能调用33(2)增加新的系统功能调用号
①在文件include/asm-i386/unistd.h中添加一项
#define__NR_mysyscallXX②XX为新增加的系统调用号,此数字选一未用值③例
#define__NR_restart_syscall0#define__NR_exit 1……………………#define__NR_mq_getsetattr282#define__NR_mysyscall283操作系统的用户接口——
Linux系统功能调用34(3)修改系统调用表
①
在文件/arch/i386/kernel/entry.S中的系统调用表sys_call_table中添加新增的系统调用sys_call_table数组包含指向内核中每个系统调用的指针②例
ENTRY(sys_call_table).longsys_restart_syscall/*0*/.longsys_exit/*1*/…………………….longsys_mq_getsetattr/*282*/.longsys_mysyscall/*283*/操作系统的用户接口——
Linux系统功能调用35(4)重新编译内核并启动新内核
为使新的系统调用生效,需要重建Linux的内核。这需要以超级用户身份登录后重新编译内核。(5)在用户程序中访问新的系统调用
在用户程序中,测试新增加的系统调用是否能正确使用。操作系统的用户接口——
Linux系统功能调用第3章操作系统的用户接口小结操作系统的用户接口——小结36用户程序的步骤以及每个步骤之间的关系静态连接和动态链接的区别操作系统提供的两个接口以及每个接口使用的场合举例说明实际操作系统的用户界面系统功能调用的概念及实现方法操作系统的用户接口——小结第4章进程及进程管理(4.14.8节)进程及进程管理进程的引入进程概念进程控制进程的相互制约关系进程同步机构进程互斥与同步的实现1进程及进程管理——主要内容(4.14.8节)进程引入进程及进程管理——进程的引入21.顺序程序及特点
(1)计算
程序的一次执行过程称为一个计算,它由许多简单操作所组成。
(2)程序的顺序执行
一个计算的若干操作必须按照严格的先后次序顺序地执行,这类计算过程就是程序的顺序执行过程。进程及进程管理——进程的引入3
(3)顺序程序的特点①单道系统的工作情况对用户程序的处理——
首先输入用户的程序和数据;然后进行计算;最后打印计算结果,即有三个顺序执行的操作。
I:输入操作
C:计算操作
P:输出操作
P2C2I2
P1C1I1程序1程序2单用户系统中操作的先后次序图进程及进程管理——进程的引入4②
顺序程序的特点顺序性
——处理机的操作严格按照程序所规定的顺序执行。封闭性
——程序一旦开始执行,其计算结果不受外界因素的影响。可再现性
——程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。
进程及进程管理——进程的引入52.并发程序
(1)多道系统的工作情况
哪些程序段的执行必须是顺序的?为什么?哪些程序段的执行是并行的?为什么?多用户系统中操作的先后次序图对n个用户程序的处理——
程序1:I1C1P1
程序2:I2C2P2
程序n:InCnPnI1I2I3I4C1C2C3P1P2进程及进程管理——进程的引入6(2)什么是程序的并发执行①
定义若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。②三个并发执行的程序段③并行语句记号
cobeginS1;S2;
;Sn;
coendPQR三个并发进程进程及进程管理——进程的引入7(3)并发程序的特点①
失去程序的封闭性和可再现性若一个程序的执行可以改变另一个程序的变量,那么,后者的输出就可能有赖于各程序执行的相对速度,即失去了程序的封闭性特点。
ⅰ例:
讨论共享公共变量的两个程序,执行时可能产生的不同结果。程序A执行时对n做加
1的操作;程序B打印出n值,并将它重新置为零。共享变量的两个程序进程及进程管理——进程的引入︙n:=n+1;︙︙
print(n);
n:=0;
︙程序A程序B8ⅱ失去程序的封闭性和可再现性的讨论程序A的n:=n+1与程序B的两个语句的关系
n的赋值打印的结果
n的最终赋值
之前
10
11
0
之后
10
10
1
之间
10
10
0
共享变量的两个程序进程及进程管理——进程的引入︙n:=n+1;︙︙
print(n);
n:=0;
︙程序A程序B9②程序与计算不再一一对应一个程序可以对应多个计算。例1:
I1输入程序I2︙In例2:
编译1C编译程序编译2︙
编译n③程序并发执行的相互制约间接的相互制约关系——资源共享直接的相互制约关系——公共变量一个程序对应多个计算的例子进程及进程管理——进程的引入103.什么是与时间有关的错误程序并发执行时,若共享了公共变量,其执行结果与各并发程序的相对速度有关,即给定相同的初始条件,若不加以控制,也可能得到不同的结果,此为与时间有关的错误。进程及进程管理——进程的引入进程概念进程及进程管理——进程概念11
1.进程定义
运行暂停运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于2026年年度绩效考核计划的通知3篇范文
- 库存管理系统评价表
- 诚实守信:做品行端正的好学生小学主题班会课件
- 原材料供应商资质复查确认函7篇范文
- 口腔助理医师冲刺试题及答案
- 合作合同签订意向函7篇
- 培养学生劳动技能促进全面发展素养小学主题班会课件
- 小学主题班会课件:红色文化进校园培养时代接班人
- 服务合同条款调整商洽函3篇
- 大学化学实验报告撰写指导书
- 第三章%20村集体经济组织会计一般业务会计处理
- 无人机驾驶员安全意识测试考核试卷含答案
- 熬汤技术培训课件
- 银行基金营销培训课件
- 2026年《必背60题》幼儿园保健医高频面试题包含详细解答
- 枪支安全理论培训课件
- 协会注销资金捐赠协议书
- 小学语文阅读理解错误分析可视化教学策略教学研究课题报告
- 2024CSCO恶性肿瘤患者营养治疗指南
- 沪教版三年级上册阶段考试数学试卷(含解析)2025-2026学年上海市普陀区校联考
- 拉森钢板桩支护专项施工方案
评论
0/150
提交评论