操作系统--运行环境与运行机制
2017-03-09 21:02
211 查看
一、中央处理器(CPU)
处理器由运算器、控制器和一系列的寄存器以及高速缓存构成。
两类寄存器:
1、用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数
2、控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用(在某种特权级别下可以访问、修改)
常见的控制和状态寄存器:
a、程序计数器(PC),记录记录将要取出的指令的地址
b、指令寄存器(IR),记录最近取出的指令
c、程序状态字(PSW),记录处理器的运行状态如条件码、模式、控制位等信息
二、操作系统的状态
内核态:运行操作系统程序
用户态:运行用户程序
特权指令:只能由操作系统使用、用户程序不能使用的指令(启动I/O,内存清零,修改程序状态字、设置时钟、允许/禁止中断、停机等)
非特权指令:用户程序可以使用的指令
CPU状态之间的转换:
用户态--->内核态:唯一途径,中断/异常/陷入机制 。陷入指令(又称访管指令),提供给用户程序的接口,用于调用操作系统的功能
内核态--->用户态:设置程序状态字PSW
三、中断/异常机制
概念:CPU对系统发生的某个事件作出的一种反应。CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。
特点:
1、是随机发生的
2、是自动处理的
3、是可恢复的
中断/异常机制的主要作用:及时处理设备发来的中断请求;可使操作系统捕获用户程序提出的服务请求;防止用户程序执行过程中的破坏性活动。
中断的引入:为了支持CPU和设备之间的并行操作,外部事件,正在运行的程序所不期望的
异常的引入:表示CPU执行指令时本身出现的问题,由正在执行的指令引发
中断/异常机制的工作原理:中断/异常机制是现代计算机系统的核心机制之一,硬件和软件相互配合使计算机系统得以充分发挥能力。
1、硬件做什么事? --中断/异常响应
捕获中断源发出的中断/异常请求,以一定方式响应,将处理器控制权交给特定的处理程序。
2、软件做什么事? --中断/异常处理程序
识别中断/异常类型并完成相应的处理。
其中,中断向量:是一个内存单元,存放了中断处理程序的入口地址和程序运行时所需的处理机状态字。
设计操作系统时,为每一类中断/异常事件编好响应的处理程序,并设置好中断向量表。
系统运行时若响应中断,中断硬件部件将cpu控制权转给中断处理程序。(软件提前设置好,硬件部件来执行)
上图以设备输入输出中断为例,介绍了中断运行机制的具体流程。
四、系统调用机制
1、什么是系统调用?
2、系统调用机制的设计
3、系统调用的执行过程
当cpu执行到特殊的陷入命令时:
a、中断/异常机制:硬件保护现场;通过查中断向量表把控制权转给系统调用总入口程序
b、系统调用总入口程序:保存现场;将参数保存到内核堆栈里;通过查系统调用表把控制权转给相应的系统调用处理例程或内核函数
c、执行系统调用处理例程
d、恢复现场,返回用户程序
处理器由运算器、控制器和一系列的寄存器以及高速缓存构成。
两类寄存器:
1、用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数
2、控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用(在某种特权级别下可以访问、修改)
常见的控制和状态寄存器:
a、程序计数器(PC),记录记录将要取出的指令的地址
b、指令寄存器(IR),记录最近取出的指令
c、程序状态字(PSW),记录处理器的运行状态如条件码、模式、控制位等信息
二、操作系统的状态
内核态:运行操作系统程序
用户态:运行用户程序
特权指令:只能由操作系统使用、用户程序不能使用的指令(启动I/O,内存清零,修改程序状态字、设置时钟、允许/禁止中断、停机等)
非特权指令:用户程序可以使用的指令
CPU状态之间的转换:
用户态--->内核态:唯一途径,中断/异常/陷入机制 。陷入指令(又称访管指令),提供给用户程序的接口,用于调用操作系统的功能
内核态--->用户态:设置程序状态字PSW
三、中断/异常机制
概念:CPU对系统发生的某个事件作出的一种反应。CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。
特点:
1、是随机发生的
2、是自动处理的
3、是可恢复的
中断/异常机制的主要作用:及时处理设备发来的中断请求;可使操作系统捕获用户程序提出的服务请求;防止用户程序执行过程中的破坏性活动。
中断的引入:为了支持CPU和设备之间的并行操作,外部事件,正在运行的程序所不期望的
异常的引入:表示CPU执行指令时本身出现的问题,由正在执行的指令引发
中断/异常机制的工作原理:中断/异常机制是现代计算机系统的核心机制之一,硬件和软件相互配合使计算机系统得以充分发挥能力。
1、硬件做什么事? --中断/异常响应
捕获中断源发出的中断/异常请求,以一定方式响应,将处理器控制权交给特定的处理程序。
2、软件做什么事? --中断/异常处理程序
识别中断/异常类型并完成相应的处理。
其中,中断向量:是一个内存单元,存放了中断处理程序的入口地址和程序运行时所需的处理机状态字。
设计操作系统时,为每一类中断/异常事件编好响应的处理程序,并设置好中断向量表。
系统运行时若响应中断,中断硬件部件将cpu控制权转给中断处理程序。(软件提前设置好,硬件部件来执行)
上图以设备输入输出中断为例,介绍了中断运行机制的具体流程。
四、系统调用机制
1、什么是系统调用?
2、系统调用机制的设计
3、系统调用的执行过程
当cpu执行到特殊的陷入命令时:
a、中断/异常机制:硬件保护现场;通过查中断向量表把控制权转给系统调用总入口程序
b、系统调用总入口程序:保存现场;将参数保存到内核堆栈里;通过查系统调用表把控制权转给相应的系统调用处理例程或内核函数
c、执行系统调用处理例程
d、恢复现场,返回用户程序
相关文章推荐
- 操作系统运行环境和运行机制
- (2)操作系统运行环境与运行机制
- 操作系统运行环境与运行机制
- 2.操作系统运行环境和运行机制
- 操作系统--操作系统运行环境与运行机制
- 现代操作系统-操作系统运行环境与运行机制
- C# 中得到当前操作系统、操作系统的版本、.NET 运行环境等信息
- 1. 请教fork运行机制-UNIX环境编程学习
- 操作系统原理第二周:操作系统运行环境
- WINDOWS操作系统下OpenERP源码运行的环境:eclipse + pydev + python2.7
- 开发操作系统实践(三)——LinDos引导扇区内容及运行环境搭建
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- 运行自己的操作系统-开发环境说明
- 在Microsoft Azure和Windows Server with Hyper-V环境中运行Linux客户端操作系统时,Oracle database的认证情况
- 操作系统学习笔记(2) 操作系统的运行环境
- java篇 【1】java程序的运行机制和java虚拟机 java开发环境构建
- 看操作系统虚拟化原理总结篇——基本运行环境
- Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。 是什么因素使一个程序成为Co
- 第1章 Java基本概念及环境配置——FAQ1.06 Java语言的运行机制如何?
- 自己动手写操作系统--搭建保护模式下的运行环境:bochs下安装freedos