网站建站网站建站,淮南网上办事大厅官网,开发app教程,商业营销厅装修公司目录 一、中央处理器#xff08;CPU#xff09; 1.1CPU的状态 1.2指令分类 二、寄存器 2.1寄存器分类 2.2程序状态字#xff08;PSW#xff09; 三、系统调用 3.1系统调用与一般过程调用的区别 3.2系统调用的分类 四、中断与异常 4.1中断 4.2异常 #x1f308;嗨#xff… 目录 一、中央处理器CPU 1.1CPU的状态 1.2指令分类 二、寄存器 2.1寄存器分类 2.2程序状态字PSW 三、系统调用 3.1系统调用与一般过程调用的区别 3.2系统调用的分类 四、中断与异常 4.1中断 4.2异常 嗨我是Filotimo__。很高兴与大家相识希望我的博客能对你有所帮助。 本文由Filotimo__✍️原创首发于CSDN。 如需转载请事先与我联系以获得授权⚠️。 欢迎大家给我点赞、收藏⭐️并在留言区与我互动这些都是我前进的动力 我的格言森林草木都有自己认为对的角度。 一、中央处理器CPU
构成CPU的主要部件运算器控制器寄存器高速缓存。
CPU的工作取指令设置CPU状态响应中断请求。
1.1CPU的状态
CPU状态分为管态系统态目态用户态。
1.管态∶操作系统管理程序运行的状态全部指令可以执行所有资源可使用并改变处理器状态。此时既可运行特权指令操作系统使用也可以运行任何非特权指令用户程序使用。
2.目态∶用户程序运行时的状态只有非特权指令能执行。
目态到管态的转换途径是通过中断或异常管态到目态转换的途径可以通过设置PSW指令。
1.2指令分类
指令按照权限分为特权指令非特权指令。
1.特权指令只能在内核态下运行置程序计数器、清指令寄存器、清溢出标志、屏蔽中断。
2.非特权指令可以在内核态下运行又可以在用户态下运行置移位方向标志位、算术运算指令。 二、寄存器
2.1寄存器分类
寄存器分为用户可见寄存器和用户不可见寄存器。
1.用户可见寄存器数据寄存器、地址寄存器、条件码寄存器。
2.用户不可见寄存器程序计数器、指令寄存器、程序状态字。
2.2程序状态字PSW
1.PSW状态码: 1CPU工作状态码S 2条件码C 3中断屏蔽码IF
2.PSW常见标志位 1进位标志位CF 2结果为零标志位ZF 3符号标志位SF 4溢出标志位OF
3.PSW特殊标志位 1陷阱标志位TF 2中断使能中断屏蔽标志位IF 注进程运行时状态发生转换的原因是发生中断不希望被外部事件打扰只有设置程序状态字寄存器(PSW的IF中断标志位设置为F为0屏蔽中断。 3虚拟中断标志位VIF 4虚拟中断待决标志位VIP 5IO特权级别位IOPL) 三、系统调用
系统调用是用户在程序运行时调用的操作系统所提供的一些子功能这些系统调用可以看作是操作系统提供给用户程序的服务用于应用程序编程的唯一接口“扩充”的机器指令
系统调用传递参数方法有3种通过寄存器传递、通过堆栈传递、通过指令自带传递。
3.1系统调用与一般过程调用的区别
系统调用时调用程序位于用户态被调用程序位于核心态。
过程调用直接返回到调用程序系统调用在返回到调用程序前先运行调度程序系统调用时需要通过陷入机制从用户态的调用程序转到核心态的被调用程序。
3.2系统调用的分类
系统调用的分类主要有进程控制类、文件操作类、进程通信类、设备管理类和信息维护类5种。
1.进程控制类主要用于对进程的控制如创建和终止进程、获得和设置进程属性等。
2.文件操作类主要用于对文件的操作如创建文件、打开文件、关闭文件、读文件、写文件、创建一个目录、建立目录、移动文件的读/写指针、改变文件的属性等。
3.进程通信类主要用于进程之间传递消息和信号。
4.设备管理类主要用于请求和释放有关设备以及启动设备操作等。
5.信息维护类主要用于获得当前时间和日期如设置文件访问和修改时间了解系统当前的用户数、操作系统的版本号、空闲内存和磁盘空间大小等。 四、中断与异常
一般系统中产生的事件分为中断和异常两类。中断是由外部事件引发的而异常则是由正在执行的指令引发的。
4.1中断
中断CPU对系统中或系统外发生的异步事件的响应。
中断源引起中断的设备或事件。
中断字一个计算机系统提供的中断源的有序集合。
中断断点正在执行的程序的暂停点。
中断请求中断源向处理器发出的中断信号。
中断响应处理器暂停当前程序转而进入中断处理程序。用户程序需要关闭中断响应必须首先发起访管中断。
中断处理程序处理中断事件的程序。
中断向量表包含中断向量代号和中断处理程序的地址。当中断发生时从中断向量表中取得中断处理程序的入口地址。
中断向量中断处理程序入口地址由程序状态字PSW和PC指令计数器组成。
属于中断事件的有: (1)时钟中断 (2)输入/输出I/O中断数据传送完毕、设备出错、键盘输入、网卡上数据缓冲区满 (3)控制台中断 (4)硬件故障中断 (5)访管中断用户程序在用户态下执行了特权指令想要避免访管中断首先要执行访管指令把目态切换成管态
4.2异常
属于异常事件的有: (1)程序性中断与当前运行的进程有关算术溢出、虚存中的缺页中断、被零除、指令错误目态程序试图执行特权指令、程序执行时所访问的变量不在内存、内存保护出错 (2)访管指令异常