操作系统概述
2020-05-26 09:55:31 0 举报
AI智能生成
操作系统第一章概述
作者其他创作
大纲/内容
操作系统的功能
提供的功能
处理机管理
进程控制
进程控制为作业创建进程、撤销进程,并控制进程在运行过程中的状态转换
进程同步
对进程的执行次序进行协调,使进程能有条不紊的运行
进程通信
实现进程之间的信息交换,使进程能很好地相互合作
进程调度
在多个就绪进程中分配处理及,并使分配到处理机的进程投入执行
存储器管理
内存分配
为每道程序分配内存空间,分配时要尽量提高内存的利用率
内存保护
确保每到用户程序只在自己的内存空间中运行,从而不影响操作系统和其他程序的运行
地址映射
将程序中的逻辑地址转换成内存中的物理地址,以使程序能正确执行
内存扩充
在逻辑上口哦冲内存的容量,以方便大作业的运行和增加内存中并发作业的道数
文件管理
文件存储空间的管理
为文件分配必要的存储空间,并尽量提高未见存储空间的利用率和文件访问的效能
目录管理
通过目录的方式来组织文件,以实现文件的按名存取,并提高文件的检索速度
文件的读/写管理和保护
实现文件的读写操作,并提供有效的存取控制功能保护文件的安全性
设备管理
缓冲管理
利用缓冲来缓和CPU与I/O设备速度不匹配的矛盾,提高CPU和I/O设备的利用率和I/O的速度
设备分配
为用户分配完成I/O请求所需的设备和设备控制器,在配置有通道的系统中,还需为用户分配通道
设备处理
启动设备进行真正的I/O操作,响应并处理设备控制器发来的中断请求
提供友好的用户接口
用户接口
联机用户接口
允许用户通过一组联机命令直接控制自己的作业
脱机用户接口
允许用户通过作业控制语言间接地控制自己的作业
图形用户接口
提供窗口、图标和菜单等元素,使用户可以方便的通过指点设备和少量的键盘操作,取得操作系统的服务
程序接口
操作系统提供了一组系统调用,供用户程序调用操作系统的宫功能
操作系统提供的服务
1)创建程序:提供各种工具和服务,如编辑程序和调试程序,帮助用户编程并生成高质量的源程序。
2)执行程序:将用户程序和数据装入主存,为其运行做好一切准备工作并启动它执行。当程序编译或运行执行出现异常时,应能报告发生的情况,终止程序执行或进行适当处理。
3)数据I/O:程序运行过程中需要I/O设备上的数据时,可以通过I/O命令或I/O指令,请求操作系统的服务。操作系统不允许用户直接控制I/O设备,而能让用户以简单方式实现I/O控制和读写数据。
4)信息存取:文件系统让用户按文件名来建立、读写、修改、删除文件,使用方便,安全可靠。当涉及多用户访问或共享文件时,操作系统将提供信息保护机制。
5)通信服务:在许多情况下,一个进程要与另外的进程交换信息,这种通信发生在两种场合,一是在同一台计算机上执行的进程之间通信;二是在被网络连接在一起的不同计算机上执行的进程之间通信。进程通信可以借助共享内存(shared memory)方法实现,也可以使用消息传送(message passing)技术实现。采用前一种方法,操作系统要让两个进程连结到共享存储区;采用后一种方法,操作系统实现消息在进程之间的移动。
6)错误检测和处理:操作系统能捕捉和处理各种硬件或软件造成的差错或异常,并让这些差错或异常造成的影响缩小在最小范围内,必要时及时报告给操作员或用户。
7)资源分配:多道作业同时运行时,每一个必须获得系统资源。系统中的各类资源均由操作系统管理
8)统计:当希望知道用户使用计算机资源的情况,如用了多少?什么类型?以便用户付款或简单地进行使用情况统计,统计结果可以作为进一步改进系统服务,对系统进行重组的有价值的工具。
9)保护:在多用户多任务计算机系统中,保护意味着对系统资源的所有存取都要确保受到控制。用户程序对各种资源的需求经常发生冲突,为此,操作系统必须做出合理的调度。
发展与分类
手工操作阶段
程序员将纸带输入进系统,处理之后输出
CPU等待输入
缺点:用户独占全机、人机速度矛盾导致资源利用率极低
批处理阶段
单道批处理系统
引入脱机输入/输出技术(用磁带完成),并使用监督程序(操作系统的雏形)负责控制作业的输入输出
优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
缺点:内存中仅能有一道程序运行,只有程序运行结束之后才能调入下一道程序。
缺点:CPU有大量的时间是在空闲等待I/O完成,资源利用率依然很低。
多道批处理系统(操作系统开始出现)
每次往内存中输入多道程序
操作系统正式诞生,并引入了中断技术,有操作系统负责管理这些程序的运行,各个程序并发执行
优点:多道程序并发执行,共享自算计资源。资源利用率大幅提升,CPU和其他资源保持“忙碌”状态,系统吞吐量大。
缺点:用户响应时间长,没有人机交互功能(运行之中不能控制自己的作业)
分时操作系统
分时操作系统
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可以通过终端与计算机进行交互
优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
缺点:不能优先处理一些紧急事务,操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
实时操作系统
优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时间限制内处理完事件。其主要特点是及时性和可靠性。
硬实时系统
必须在绝对严格的规定时间内完成处理。如:导弹控制系统
软实时系统
能够接收偶尔违反时间规定。如:火车票系统
网络操作系统
是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信:如Widows NT
分布式操作系统
主要特点是分布性和并性性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由他们并性、协同完成这个任务。
个人计算机操作系统
Widoows 10、Macos等
基本概念
概念
操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用计算机的程序的集合。 它是配置在计算机上的第一层软件,是对硬件功能的首次扩充。操作系统在计算机中占据特别重要的地位,它是计算机中最重要的系统软件,是其他系统软件和应用软件运行的基础。
特征
并发
指两个或者多个事件在同一时间间隔内发生。这些事件宏观上是同一时间同时发生的,但微观上是交替发生的。
操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行。微观上交替,宏观上同时
事实上,操作系统是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
共享
两种方式
互斥共享方式
系统中的某些资源,虽然可以提供给多个进程使用,但是一段事件只能允许一个进程访问该资源
同时共享方式
系统中的某些资源,允许一个时间段内有多个进程“同时”对它们进行访问
虚拟
虚拟是把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑对应物(后者)使用户感受到的
空分复用技术(第三章)(如虚拟存储技术)
时分复用技术(虚拟处理器):微观上处理机在各个微小的时间段内交替着为各个进程服务
显然,如果失去了并发i选哪个,则一个时间段内系统中只需要运行一道程序。因此,没有并发行,就谈不上虚拟性。
异步
显然,只有系统拥有并发行,才有可能导致异步性。
并发和共享的关系
并发指计算机系统中同时存在着多个运行着的程序。
共享性指系统中的资源可供多个并发执行的进程共同使用
如果失去并发性,则共享性失去存在的意义。
如果失去共享性,假如QQ与微信同时发送文件,则二者不能同时访问系统资源,就无法并发。
故并发和共享互为存在条件
并发和共享是操作系统最基本的两个特征
运行环境
运行机制和体系结构
运行机制
两种指令
特权指令
不允许用户程序使用:比如内存清零指令
非特权指令
如普通的加减乘除。
特权指令只能在核心态下执行
内核程序只能在核心态下执行
核心态、用户态的切换。
内核程序只能在核心态下执行
核心态、用户态的切换。
两种处理器状态
核心态(管态)
特权指令、非特权指令均可执行
用户态(目态)
此时CPU只能执行非特权指令
用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态。如0是用户态,1为核心态。
两种程序
内核程序
操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。
应用程序
为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态。
操作系统内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
时钟管理
实现实时功能
中断处理
负责实现中断机制
原语
是一种特殊的程序
处于操作系统最底层,是最接近硬件的部分
这种程序的运行具有原子性——不可中断
运行时间较短、调用频繁
对系统资源进行管理的功能
进程管理
存储其管理
设备管理
OS的体系结构
大内核
将系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低。
中断和异常
中断机制的诞生
早期的时候,各个程序只能串行执行,系统的资源利用率低。
为了解决上述问题,人们发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行
中断的概念和作用
1.当中断发生时,CPU立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对终端进行处理。
3.对于不同的中断信号,会进行不同的处理。
本质:发生中断就意味着需要操作系统介入,开展管理工作
由于操作系统的管理工作(比如进程切换,分配I/O设备等)需要特权指令,因此CPU要从用户态转为核心态,中断可以使CPU从用户态切换为核心态,是操作系统获得计算机的控制权,有了中断,才能实现多道程序并发执行。
用户态、和心态之间的切换是怎么实现的?“用户态到核心态”是通过中断实现的,并且中断是唯一途径。
“核心态到用户态”的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”
中断的分类
内中断(异常、例外、陷入)
自愿中断——指令中断
强迫中断
硬件故障
软件中断
外中断
外中断也可以叫做“中断”,是狭义的中断,而最外层中断则是广义的中断。
具体区分内外中断的因素是信号的来源。
内中断信号的来源为CPU内部,与当前执行的指令有挂。
外中断信号的来源为CPU的外部,与当前执行的指令无关。
具体区分内外中断的因素是信号的来源。
内中断信号的来源为CPU内部,与当前执行的指令有挂。
外中断信号的来源为CPU的外部,与当前执行的指令无关。
外设请求
人工干预
外中断的处理过程
每条指令执行结束后,CPU检查是否有外部中断信号
若有外部中断信号,则需要保护被终端进程的CPU环境
根据中断信号类型转入响应的中断处理程序
回复进程的CPU环境并退出中断,返回袁锦程继续往下执行
中断的另一种分类
内中断
陷阱、陷入(trap)
有意而为之的异常,如系统调用
故障
由错误条件引起的,可能故障处理程序修复、如缺页
终止
不可恢复的致命错误造成的结果,终止程序不再将控制权返回给引发终止的应用程序,如1/0
外中断(强迫中断)
系统调用
概念以及作用
“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
为什么需要系统调用?场景:俩人一起使用打印机,A先用,打到一半,B用了,如果各个进程随意使用打印机,那么A的后半部分会与B的混在一起。
解决办法:操作系统提供“系统调用”功能,用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统发出请求。操作系统会对哥哥请求进行协调管理。
应用程序通过系统调用请求操作系统的服务。系统中各种共享资源都由操作系统同意长官,因此在用户程序中,凡是于资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式像操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用会是处理器从用户态进入核心态
按功能分类
设备管理
完成设备的请求、释放、启动等功能。
文件管理
完成文件的读、写、创建、删除等功能。
进程控制
完成进程的创建、撤销、阻塞、唤醒等功能
进程通信
完成进程之间的消息传递、信号传递等功能
内存管理
完成内存的分配、回收等功能。
系统调用相关处理涉及到对系统资源的管理、对进程的控制,这些功能需要执行一些特权指令才能完成,因此系统调用的相关处理需要在核心态下进行。
所以后面五个管理都需要在核心态下才能完成。
凡是与资源有关的操作,会直接影响到其他进程的操作,一定需要操作系统介入,即需要通过系统调用来实现。
所以后面五个管理都需要在核心态下才能完成。
凡是与资源有关的操作,会直接影响到其他进程的操作,一定需要操作系统介入,即需要通过系统调用来实现。
与库函数的区别
系统调用是操作系统向上层提供的接口
有的库函数就是对系统调用进一步封装
当今缩写的应用程序大多是通过高级语言提供的库函数间接地进行系统调用
系统调用背后的过程
传递系统调用参数
执行陷入指令(用户态)
执行系统调用响应服务程序(核心态)
返回用户程序
1.陷入指令是在用户态执行的,执行陷入指令后立即引发一个内终端,从而CPU进入核心态。
2.发出系统调用请求实在用户态,而对系统调用的相应处理在核心态下进行。
3.陷入指令是唯一一个只能在用户态执行,而不可再很心态执行的指令。
2.发出系统调用请求实在用户态,而对系统调用的相应处理在核心态下进行。
3.陷入指令是唯一一个只能在用户态执行,而不可再很心态执行的指令。
0 条评论
下一页