操作系统(day02)

news2024/11/18 19:53:48

“指令”就是处理器(CPU)能识别、执行的最基本的命令也可以叫做机器指令

两种指令、两种处理器状态、两种程序

两种指令

  • 特权指令
    如内存清零指令,不允许用户程序使用
  • 非特权指令
    如普通的运算指令

既然有两种指令,且特权指令不允许用户程序使用,那么cpu怎么判断当前的指令是否能被执行呢?

两种处理器状态

  • 用户态(目态)
  • 核心态(管态)
    在这里插入图片描述

两种状态是用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态

两种程序

  • 内核程序
    需要使用特权指令的程序称之为内核程序
  • 应用程序
    另外普通的程序称之为应用程序

操作系统的内核

在这里插入图片描述

  • 内核
    内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分
    实现操作系统内核功能的哪些程序就是内核程序

有些操作系统并不将进程管理、存储器管理、设备管理等功能放进内核中
因此,算上进程管理这些的是大内核,不算的是微内核
在这里插入图片描述

操作系统的体系结构

大内核和微内核的优缺点:
在这里插入图片描述
节后思维导图总结
在这里插入图片描述

中断

中断的概念和作用

有了中断才能让程序并发的执行
1.中断发生时,cpu立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,操作系统会做不同的处理(如果是时间片用完,那么就是轮到其他的进程执行程序,如果是io请求,那么就去让io设备工作,并且cpu先去其他进程工作,等io处理完之后再让操作系统回复原先进程的执行直至时间片使用完)

用户态 =》 核心态是通过中断实现的,并且中断是唯一途径
核心态 =》 用户态是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”
在这里插入图片描述

中断的分类

  • 内中断(也称异常、例外、陷入)
    信号的来源:CPU内部,与当前执行的指令有关
    • 自愿中断–指令中断
    • 强迫中断
      • 硬件故障(缺页)
      • 软件中断(整数除0)
  • 外中断(中断)
    信号的来源:CPU外部,与当前指令无关
    • 外设请求(I/O操作完成发出的中断信号)
    • 人工干预(用户强行终止一个进程)

在这里插入图片描述

另一种分类方式,本质上还是看信号来源是否是CPU
在这里插入图片描述

外中断的处理过程

在这里插入图片描述
中断的节后思维导图
在这里插入图片描述

什么是系统调用

在这里插入图片描述

系统调用与库函数的区别

一些库函数涉及文件的处理等需要特权指令,需要系统代理操作的,就需要使用到系统调用,不涉及系统调用的库函数则不需要中断切换处理机状态
在这里插入图片描述

系统调用背后的过程

在这里插入图片描述
这里的int是告诉操作系统将要执行哪个处理函数(并且是内中断)

节后思维总结
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IB学习者培养目标-知识渊博

“We explore concepts, ideas and issues that have local and global significance. In so doing, we acquire in-depth knowledge and develop understanding across a broad and balanced range of disciplines.” -IB definition of the attribute Knowledgeable“Being …

C++ —— 容器适配器和仿函数

目录 1.什么是容器适配器 2.stack的模拟实现 3.queue的模拟实现 4.deque概述 5.priority_queue的模拟实现 5.1仿函数 5.2模拟实现 6.反向迭代器 1.什么是容器适配器 在已有的容器(vector、list)的基础上适配出其他的容器。就类似于手机、笔记本电脑的电源适配器&…

一些lc周赛

6285. 执行 K 次操作后的最大分数(327 贪心 优先队列模拟) Math.ceil(val) 向上取整函数 public long maxKelements(int[] nums, int k) {PriorityQueue<Integer> queuenew PriorityQueue<>((a,b)->(b-a));for(int n:nums){queue.add(n);}long sum0;for(int i0…

JavaScript高级 ES6新特性

ES6~ES13新特性1. ECMA新描述概念1. 概念区别回顾2. 词法环境3. 环境记录4. 内存图的表示2. let、const的使用1. 基础的使用2. 作用域提升3. 暂时性死区 (TDZ)4. window 添加属性的区别5. 块级作用域的使用6. var、let、const的选择3. 模板字符串的详解4. ES6函数的增强用法1. …

VSCODE 系列(七)格式化工具clang-format

文章目录一、VS Code中使用生成.clang-format文件VS Code设置参考一、VS Code中使用 VS Code 中自带clang-format.exe 生成.clang-format文件 使用命令 .\clang-format.exe -stylellvm -dump-config > .clang-format或者新建.clang-format文件&#xff0c;将自己的配置…

vscode firefox xdebug 安装及配置

一、安装 vscode扩展中招xdebug直接安装。 firefox扩展中找xdebug直接安装。 xdebug下载&#xff0c;以window为例。 根据配置选下载内容。 设置成和ide相同的 。 二、配置 文档地址&#xff1a;Xdebug: Documentation 所有配置说明&#xff1a;Xdebug: Documentation All …

.mp4 文件转化成 .bag 文件并在 rviz 中显示

文章目录一、Python实现.mp4和.bag相互转化1、.mp4转.bag验证是否转换成功&#xff1a;使用 rosplay2、.bag转.mp4二、rviz 读取 *.bag 数据包并显示1、查看bag数据包的基本信息2、rviz 显示信息一、Python实现.mp4和.bag相互转化 1、.mp4转.bag # -*- coding: utf-8 -*- ##i…

Webpack 的 Chunk,想怎么分就怎么分

想必大家都用过 webpack&#xff0c;也或多或少了解它的原理&#xff0c;但是不知道大家有没有写过 Webpack 的插件呢&#xff1f; 今天我们就一起来写一个划分 Chunk 的 webpack 插件吧&#xff0c;写完后你会发现想怎么分 Chunk 都可以&#xff01; 首先我们简单了解下 web…

图像配准:基于 OpenCV 的高效实现

在这篇文章中&#xff0c;我将对图像配准进行一个简单概述&#xff0c;展示一个最小的 OpenCV 实现&#xff0c;并展示一个可以使配准过程更加高效的简单技巧。什么是图像配准图像配准被定义为将不同成像设备或传感器在不同时间和角度拍摄的两幅或多幅图像&#xff0c;或来自同…

什么牌子的护眼灯最好推荐?盘点口碑好的护眼灯品牌

护眼灯是目前大部分家庭都在使用的灯具之一&#xff0c;利用光源起到保护视力的效果&#xff0c;预防近视&#xff0c;可谓是现代生活中伟大的发明&#xff0c;今天由小编来列出优秀的护眼灯品牌&#xff0c;并详细的介绍&#xff0c;告诉大家哪个护眼灯品牌好。① 南卡护眼台…

【微信小程序-原生开发】实用教程07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字)

开始前&#xff0c;请先完成成员页的开发&#xff0c;详见 【微信小程序-原生开发】实用教程 06-轮播图、分类页签 tab 、成员列表&#xff08;含Tdesign升级&#xff0c;切换调试基础库&#xff0c;设置全局样式&#xff0c;配置组件按需注入&#xff0c;添加图片素材&#x…

Canal快速入门

Canal 一、Canal 入门 1.1、什么是 Canal ​ 阿里巴巴 B2B 公司&#xff0c;因为业务的特性&#xff0c;卖家主要集中在国内&#xff0c;买家主要集中在国外&#xff0c;所以衍生出了同步杭州和美国异地机房的需求&#xff0c;从 2010 年开始&#xff0c;阿里系公司开始逐步…

PaddleSeg图像分割预测pyinstaller打包报错:No module named ‘framework_pb2‘,问题解决

报错 在使用PaddlePaddle的FastDeploy部署图像分割时&#xff0c;需要验证目标电脑环境&#xff0c;所以先将预测代码predict.py用pyinstaller打包来试试&#xff0c;指令&#xff1a; pyinstaller -D predict.py 打包完成&#xff0c;成功生成exe 运行时报错如下&#xff1a;…

项目五linux 内网完整渗透测试实例笔记

1.DDD4 靶场介绍本靶场存在三个 flag 把下载到的虚拟机环境导入到虚拟机&#xff0c;本靶场需要把网络环境配置好。1.1.网络示意图2. 信息收集2.1.主机发现sudo netdiscover -i eth0 -r 192.168.1.0/242.2.nmap 主机发现nmap -sn 192.168.1.0/242.3.masscan 端口探测sudo massc…

Python批量改文件名

对以下路径中的文件名批量修改。 一、读取指定路径中的文件名 #导入标准库 import os#读取文件名 filesDir "路径……" fileNameList os.listdir(filesDir)#输出路径中的所有文件 for filename in fileNameList:print(filename)二、正则表达式提取需要保留的部分 …

[Vulnhub] DC-6

下载链接&#xff1a;https://download.vulnhub.com/dc/DC-6.zip 知识点&#xff1a; wordpress-getshellnc反弹shell横向越权nmap提权 目录 <1> 信息搜集 <2> wordpress_Activity monitor插件rce漏洞getshell <3> Privilege Escalation&#xff08;nm…

windows上安装hadoop

下载与安装 hadoop下载官网 清华大学镜像下载 进入官网点击Binary download是运行在windows上的。在Apache里面下东西经常会有binary和source的版本&#xff0c;binary是编译好的可以直接使用&#xff0c;source是还没编译过的源代码&#xff0c;需要自行编译。 镜像下载 选…

OSERDESE3与ODELAYE3原语

SelectIO 接口 UltraScale 架构的器件 包括三种I/O&#xff1a;高性能(HP), 高密度 (HD),和高量程(HR) I/O banks 。 HP I/O banks满足高速存储和片到片接口性能要求&#xff0c;电压最高1.8V。HR I/O banks支持更大范围电压&#xff0c;电压最高3.3V。HD I/O banks支持低速接…

Day872.事务间是否需要隔离 -MySQL实战

事务间是否需要隔离 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于事务间是否需要隔离的内容。 创建的视图是静态视图&#xff0c;当前视图对应的数据由字段的当前值加上回滚段计算得到。 事务隔离级别 的时候提到过&#xff0c;如果是可重复读隔离级别&#xff…

1457. 二叉树中的伪回文路径

1457. 二叉树中的伪回文路径题目算法设计&#xff1a;深度优先搜索题目 传送门&#xff1a;https://leetcode.cn/problems/pseudo-palindromic-paths-in-a-binary-tree/ 算法设计&#xff1a;深度优先搜索 如何判断一组数字是否存在一个回文串组合&#xff1f; 如 [1, 2, 1]…