预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共33页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第三章操作系统结构3.0用户与操作系统的接口命令解释系统命令解释系统的工作流程3.1系统调用-功能例1:文件管理:文件读写和文件控制(高级语言);Open文件打开Close文件关闭Read读文件Write写文件Creat文件创建当编程人员给定了系统调用名和参数之后,由一个类似于硬件中断处理的中断处理机构完成-陷入处理机构。它是在系统中为控制系统调用服务的机构。当用户使用系统调用时,产生一条相应的指令(陷入指令,trap指令),CPU在执行到该指令时发生相应的中断,发出有关信号给该处理机构,并启动相应的处理程序来完成该系统调用所要求的功能。陷入指令(或称访管指令):由于系统调用引起处理机中断的指令在陷入中断发生时,从用户态->系统态。这一转换在发生访管中断时由硬件自动实现。3.1系统调用-实现过程系统调用与返回设置系统调用号和参数。调用号作为指令的一部分(如早期UNIX),或装入到特定寄存器里(如:DOS的int21H,AH=调用号。)参数装入到特定寄存器里,或内存区域执行trap(INT)指令:入口的一般性处理,查入口跳转表,跳转到相应功能的过程。保护CPU现场(将PC与PSW入栈),改变CPU执行状态(处理机状态字PSW切换,地址空间表切换)将参数取到核心空间执行操作系统内部代码;执行iret指令:将执行结果装入适当位置(类似于参数带入),恢复CPU现场(以栈顶内容置PSW和PC)。系统调用表/调用号陷入与中断的比较软中断是通信进程之间用来模拟硬中断的一种信号通信方式,处理机处理的时机决定于接受软中断信号的进程,如果占有处理机,与中断处理相同,否则相应的处理必须等到接收进程得到处理机才能响应。3.2.1整体或模块结构3.2.2分层结构3.2.3微内核结构(客户-服务器结构)3.2.4虚拟机整体或模块结构整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。由众多服务过程(模块)组成,可以随意调用其他模块中的服务过程评价优点:具有一定灵活性,模块之间转接的灵活性使运行中的高效率;结构紧密,接口简单直接缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向)3.2.1整体或模块结构从资源管理观点出发,将OS划分为若干层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。有利于系统的维护性和可靠性。3.2.2分层结构-特点3.2.3微内核结构(客户-服务器结构)3.2.3微内核结构3.2.3微内核结构优点:良好的扩充性:只需添加支持新功能的服务进程即可。而且所有新服务被增加到用户空间中,不需要修改内核。可靠性好:所有服务器以用户进程的形式运行,而不是运行在核心态,所以它们不直接访问硬件。假如在文件服务器中发生错误,文件服务器可能崩溃,但不会导致整个系统的崩溃便于网络服务,实现分布式处理:微内核可以以相同的方式与本地和远程的服务进程交互(远程过程调用RPC,RemoteProcedureCall)缺点:消息传递比直接调用效率要低一些(但可以通过提高硬件性能来补偿)3.2.4虚拟机3.2.4虚拟机3.2.4虚拟机3.2.5系统设计与实现3.3现代操作系统的特征并发(concurrency)共享(sharing)虚拟(virtual)异步性(asynchronism)作业