当前位置: 首页 > news >正文

【计算机四级(网络工程师)笔记】操作系统运行机制

目录

一、中央处理器(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状态码:
(1)CPU工作状态码(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)
(5)IO特权级别位(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)访管指令异常

http://www.lryc.cn/news/267409.html

相关文章:

  • Swagger快速入门
  • 数据结构之<堆>的介绍
  • 使用Ubuntu22+Minikube快速搭建K8S开发环境
  • 【中小型企业网络实战案例 二】配置网络互连互通
  • Azure Machine Learning - Azure OpenAI GPT 3.5 Turbo 微调教程
  • 运维大模型探索之 Text2PromQL 问答机器人
  • 虚拟机VMware:变动ip修改固定ip
  • Docker部署Nexus Maven私服并实现远程访问Nexus界面
  • 苏州科技大学计算机817程序设计(java) 学习笔记
  • 虚幻学习笔记22—C++同步和异步加载
  • 华清远见嵌入式学习——ARM——作业3
  • 19.JavaSE
  • 仓库管理用什么软件
  • 飞天使-k8s知识点8-kubernetes资源对象-编写中
  • Oracle Create user
  • 树莓派,mediapipe,Picamera2利用舵机云台追踪人手(PID控制)
  • DQL查询数据(超重点)以及distinct(去重)
  • 【网络奇缘】——奈氏准则和香农定理从理论到实践一站式服务|计算机网络
  • MongoDB 根据 _id 获取记录的创建时间并回填记录中
  • 【开源】基于JAVA语言的独居老人物资配送系统
  • 网络7层架构
  • 【Arthas】Arthas线上trace匿名函数/Lambda表达式/函数式接口
  • 阿里云“块存储”是系统盘和数据盘的意思
  • AI赋能金融创新:ChatGPT引领量化交易新时代
  • 数字化时代的探索:学生为何对数据可视化趋之若鹜?
  • vue2、vue3实现用aws s3协议操作minio进行文件存储和读取
  • 宏集应用 | 如何通过振动传感器防止造纸工业中的意外故障?
  • 【华为OD题库-110】反转每对括号间的子串-java
  • 如何搭建一个高效的Python开发环境
  • Reactor 和 Proactor模式,IO复用与epoll、同步IO,异步IO与协程