当前位置: 首页 > 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)访管指令异常

相关文章:

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

目录 一、中央处理器(CPU) 1.1CPU的状态 1.2指令分类 二、寄存器 2.1寄存器分类 2.2程序状态字(PSW) 三、系统调用 3.1系统调用与一般过程调用的区别 3.2系统调用的分类 四、中断与异常 4.1中断 4.2异常 🌈嗨&#xff…...

Swagger快速入门

1、Swagger快速入门 1.1 swagger介绍 官网:https://swagger.io/ Swagger 是一个规范和完整的Web API框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 功能主要包含以下几点: A. 使得前后端分离开发更加方便,有利于团队协作…...

数据结构之<堆>的介绍

1.简介 堆是一种特殊的数据结构,通常用于实现优先队列。堆是一个可以被看作近似完全二叉树的结构,并且具有一些特殊的性质,根据这些性质,堆被分为最大堆(或者大根堆,大顶堆)和最小堆两种。 2.…...

使用Ubuntu22+Minikube快速搭建K8S开发环境

安装Vmware 这一步,可以参考我的如下课程。 安装Ubuntu22 下载ISO镜像 这里我推荐从清华镜像源下载,速度会快非常多。 下载地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04.3/ 如果你报名了我的这门视频课程&#xf…...

【中小型企业网络实战案例 二】配置网络互连互通

​【中小型企业网络实战案例 一】规划、需求和基本配置-CSDN博客 热门IT技术视频教程&#xff1a;https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 配置接入层交换机 1.以接入交换机ACC1为例&#xff0c;创建ACC1的业务VLAN 10和20。 <…...

Azure Machine Learning - Azure OpenAI GPT 3.5 Turbo 微调教程

本教程将引导你在Azure平台完成对 gpt-35-turbo-0613 模型的微调。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&…...

运维大模型探索之 Text2PromQL 问答机器人

作者&#xff1a;陈昆仪&#xff08;图杨&#xff09; 大家下午好&#xff0c;我是来自阿里云可观测团队的算法工程师陈昆仪。今天分享的主题是“和我交谈并获得您想要的PromQL”。今天我跟大家分享在将AIGC技术运用到可观测领域的探索。 今天分享主要包括5个部分&#xff1a;…...

虚拟机VMware:变动ip修改固定ip

1、配置ip地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改为&#xff1a; 修改如下&#xff1a;TYPE"Ethernet" # 网络类型为以太网 BOOTPROTO"static" # 手动分配ip NAME"ens33" # 网卡…...

Docker部署Nexus Maven私服并实现远程访问Nexus界面

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定N…...

苏州科技大学计算机817程序设计(java) 学习笔记

之前备考苏州科技大学计算机&#xff08;专业课&#xff1a;817程序设计&#xff08;java&#xff09;&#xff09;。 学习Java和算法相关内容&#xff0c;现将笔记及资料统一整理归纳移至这里。 部分内容不太完善&#xff0c;欢迎提议。 目录 考情分析 考卷题型 刷题攻略…...

虚幻学习笔记22—C++同步和异步加载

一、前言 之前提到的静态和动态加载都是同步的加载&#xff0c;同时其中的引用基本都是硬引用。如果资源比较大的话会出现卡顿的现象&#xff0c;下面将介绍一种异步加载的方式。同时&#xff0c;还将介绍一种区别与之前的Load的方法。 在说明同步和异步加载之前需要先讲一下虚…...

华清远见嵌入式学习——ARM——作业3

作业要求&#xff1a; 代码效果图&#xff1a; 代码&#xff1a; led.h #ifndef __LED_H__ #define __LED_H__#define RCC_GPIO (*(unsigned int *)0x50000a28) #define GPIOE_MODER (*(unsigned int *)0x50006000) #define GPIOF_MODER (*(unsigned int *)0x50007000) #defi…...

19.JavaSE

一、JavaSE。 &#xff08;1&#xff09;IO流。 1.字节字符流 2.标准流打印流对象流 &#xff08;2&#xff09;集合。 1.List/Set/Queue/Map集合 2.properties集合 &#xff08;3&#xff09;多线程。 1.线程创建的…...

仓库管理用什么软件

仓库管理是一个非常重要的话题&#xff0c;大到企业&#xff0c;小到个人&#xff0c;只要有货物的往来就会有仓库方面的管理&#xff0c;最为典型的就是货物的进出库存管理&#xff0c;这也是最为基础的仓库管理内容&#xff0c;那么仓库管理要用什么软件&#xff0c;从不同的…...

飞天使-k8s知识点8-kubernetes资源对象-编写中

文章目录 资源对象是k8s核心概念 资源对象是k8s核心概念 查看防火墙规则 32002 端口的去向 [rootkubeadm-master1 ~]# iptables -t nat -vnL |grep 32000 0 KUBE-MARK-MASQ tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes-dashboard/…...

Oracle Create user

sqlplus /nolog conn sys/pw123456orcl as sysdba CREATE USER zengwenfeng IDENTIFIED BY zengwenfeng ; GRANT ALL PRIVILEGES TO zengwenfeng ; COMMIT; C:\Users\Administrator>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期日 12月 24 21:38:24 20…...

树莓派,mediapipe,Picamera2利用舵机云台追踪人手(PID控制)

一、项目目标 追踪人手大拇指指尖&#xff1a; 当人手移动时&#xff0c;摄像头通过控制两个伺服电机&#xff08;分别是偏航和俯仰&#xff09;把大拇指指尖放到视界的中心位置&#xff0c;本文采用了PID控制伺服电机 Mediapipe Hand简介 MediaPipe 手部标志任务可检测图像…...

DQL查询数据(超重点)以及distinct(去重)

DQL(Data Query Language:数据查询语言) 1.所有查询操作都用 SELECT 2.无论是简单的查询还是复杂的查询它都能做 3.数据库中最核心的语言&#xff0c;最重要的语句 4.使用频率最高的语句 语法&#xff1a; SELECT 字段1&#xff0c;字段2&#xff0c;……FROM 表 有时候…...

【网络奇缘】——奈氏准则和香农定理从理论到实践一站式服务|计算机网络

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 失真 - 信号的变化 影响信号失真的因素&#xff1a; ​编辑 失真的一种现象&#xff1a;码间…...

MongoDB 根据 _id 获取记录的创建时间并回填记录中

MongoDB 集合 test1,有字段 _id&#xff0c;createTime&#xff0c;createTimeStr&#xff0c;name字段 &#xff0c; 查询createTime不为空的&#xff0c;根据 _id 生成该条记录的创建时间时间戳并填写到字段 createTime 字段中 &#xff0c;并打印时间戳 // 查询 createTime…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...