处理器管理

ygjzs ygjzs     2023-04-17     765

关键词:

处理器与寄存器

处理器部件的简单示意

技术图片

用户程序可见寄存器

可以使程序员减少访问主存储器的次数,提高指令执行的效率,所有程序可使用,包括应用程序和系统程序

  • 数据寄存器:又称通用寄存器
  • 地址寄存器:索引、栈指针、段地址等寄存器

控制与状态寄存器

用于控制处理器的操作;主要被具有特权的操作系统程序使用,以控制程序的执行,程序计数器PC:存储将取指令的地址,指令寄存器IR:存储最近使用的指令,条件码CC:CPU为指令操作结果设置的位,标志正/负/零/溢出等结果,标志位:中断位、中断允许位、中断屏蔽位、处理器模式位、内存保护位、...,等

程序状态字PSW

PSW既是操作系统的概念,指记录当前程序运行的动态信息,通常包含:程序计数器,指令寄存器,条件码,中断字,中断允许/禁止,中断屏蔽,处理器模式,内存保护、调试控制

PSW也是计算机系统的寄存器,通常设置一组控制与状态寄存器,也可以专设一个PSW寄存器

指令与处理器模式

机器指令

机器指令是计算机系统执行的基本命令,是中央处理器执行的基本单位,指令由一个或多个字节组成,包括操作码字段、一个或多个操作数地址字段、以及一些表征机器状态的状态字以及特征码,指令完成各种算术逻辑运算、数据传输、控制流跳转

指令执行过程

CPU根据PC取出指令,放入IR,并对指令译码,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行

一种指令执行步骤如下:

  • 取指:根据PC从存储器或高速缓冲存储器中取指令到IR
  • 解码:解译IR中的指令来决定其执行行为
  • 执行:连接到CPU部件,执行运算,产生结果并写回,同时在CC里设置运算结论标志;跳转指令操作PC,其他指令递增PC值

技术图片

特权指令与非特权指令

用户程序并非能够使用全部机器指令,那些与计算机核心资源相关的特殊指令会被保护,如:启动I/O指令、置PC指令、等等,核心资源相关的指令只能被操作系统程序使用

  • 特权指令:只能被操作系统内核使用的指令
  • 非特权指令:能够被所有程序使用的指令

处理器模式

计算机通过设置处理器模式实现特权指令管理,计算机一般设置0、1、2、3等四种运行模式,建议分别对应:0操作系统内核、1系统调用、2共享库程序、3用户程序等保护级别,0模式可以执行全部指令;3模式只能执行非特权指令;其他每种运行模式可以规定执行的指令子集,一般来说,现代操作系统只使用0和3两种模式,对应于内核模式和用户模式,处理器模式的切换,简称模式切换,包括“用户模式→内核模式”和“内核模式→用户模式”的转换

中断、异常或系统异常等事件导致用户程序向OS内核切换,触发:用户模式→内核模式:程序请求操作系统服务,程序运行时发生异常,程序运行时发生并响应中断;OS内核处理完成后,调用中断返回指令(如Intel的iret)触发:内核模式→用户模式

中断

中断的概念

中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程,操作系统是“中断驱动”的;换言之,中断是激活操作系统的唯一方式,中断有广义和狭义之分,上述中断是指广义的中断

中断、异常与系统异常

  • 狭义的中断指来源于处理器之外的中断事件,即与当前运行指令无关的中断事件,如I/O中断、时钟中断、外部信号中断等
  • 异常指当前运行指令引起的中断事件,如地址异常、算术异常、处理器硬件故障等
  • 系统异常指执行陷入指令而触发系统调用引起的中断事件,如请求设备、请求I/O、创建进程等

陷入指令:也称访管指令,或异常中断指令,计算机系统为实现系统调用而引起处理器中断的指令

中断源–处理器硬件故障中断事件

由处理器、内存储器、总线等硬件故障引起,处理原则为:保护现场,停止设备,停止CPU,向操作员报告,等待人工干预

中断源-程序性中断事件

处理器执行机器指令引起,除数为零、操作数溢出等算术异常:简单处理,报告用户;也可以由用户编写中断续元程序处理,非法指令、用户态使用特权指令、地址越界、非法存取等指令异常:终止进程,终止进程指令:终止进程,虚拟地址异常:调整内存后重新执行指令

中断源-自愿性中断事件

处理器执行陷入指令请求OS服务引起;在操作系统中,它一般又被称作系统调用,请求分配外设、请求I/O、等等,处理流程是:陷入OS,保护现场,根据功能号查入口地址,跳转具体处理程序

中断源-I/O中断事件

来源于外围设备报告I/O状态的中断事件,I/O完成:调整进程状态,释放等待进程,I/O出错:等待人工干预,I/O异常:等待人工干预

中断源-外部中断事件

由外围设备发出的信号引起的中断事件,时钟中断、间隔时钟中断:记时与时间片处理,设备报到与结束中断:调整设备表,键盘/鼠标信号中断:根据信号作出相应反应,关机/重启动中断:写回文件,停止设备与CPU

处理器管理与进程调度

1.理解进程状态转换的三态模型与七态模CPU:查看CUP物理个数进程:查看全部进程编号、名称内存:查看物理内在,虚拟内内在情况磁盘:查看磁盘划分情况   查看详情

响应式文件管理器一直在处理

】响应式文件管理器一直在处理【英文标题】:ResponsiveFileManagerisproccessingallthetime【发布时间】:2020-08-1901:42:21【问题描述】:我的响应式文件管理器有问题,在我的PC上一切正常,但客户端一直看到“正在处理...”,就像这张... 查看详情

xc文件管理器-打造优美易用的文件管理器

技术:Android+java 概述XC文件管理器,是基于Android6.0+开发的一个方便易用的文件管理器,具有文件的目录管理和文件的管理,主要包括文件的新建、删除、重命名、复制,移动剪切以及文件详情查看等文件和目录的功能,同... 查看详情

处理器管理与进程调度

  1.CPU:查看CUP物理个数2.进程:查看全部进程编号、名称     3.内存:查看物理内在,虚拟内内在情况4.磁盘:查看磁盘划分情况   1.理解进程状态转换的三态模型与七态模  查看详情

怎么根据任务管理器看是处理器是几核几线程的?

...考技术A任务管理器只能确定线程数,无法确定核心数:处理器支持超线程技术,则核心数等于线程数一半;处理器不支持超线程技术,则核心数等于线程数。任务管理器查看线程数的方法:按“Ctrl+Alt+Delete”启动任务管理;在... 查看详情

KivyMD 文件管理器功能

】KivyMD文件管理器功能【英文标题】:KivyMDFileManagerabilities【发布时间】:2021-11-1901:40:56【问题描述】:我希望有一个按钮,允许用户(Ios或android)在他们的库中选择一张照片并将其保存以供以后发送。我正在使用文件管理器打... 查看详情

ASP.Net 的最佳免费文件管理器 [关闭]

】ASP.Net的最佳免费文件管理器[关闭]【英文标题】:BestfreefilemanagerforASP.Net[closed]【发布时间】:2011-01-2803:10:37【问题描述】:我正在为我在ASP.Net中的项目寻找免费的文件管理器,有谁能告诉我吗?编辑:供用户上传/选择/创建... 查看详情

虚拟内存管理

...遍采用虚拟内存管理(VirtualMemoryManagement)机制,这需要处理器中的MMU(MemoryManagementUnit,内存管理单元)提供支持。首先引入PA和VA两个概念。1.PA(PhysicalAddress)---物理地址  如果处理器没有MMU,或者有MMU但没有启用,CPU执行... 查看详情

处理器管理-操作系统概论

...   例如,一个作业:输入机读入数据需要10s,处理器处理数据需要5s,结果打印需要15s;执行完总耗时30s,执行两次需要60s,呈下图显示:    查看详情

Codeigniter 包括响应式文件管理器

】Codeigniter包括响应式文件管理器【英文标题】:CodeigniterincludingResponsivefilemanager【发布时间】:2017-11-1204:53:27【问题描述】:我想在我的CI项目中包含响应式文件管理器(用作独立文件管理器)。当我尝试时:$this->load->helpe... 查看详情

Symfony2 文件管理器 [关闭]

】Symfony2文件管理器[关闭]【英文标题】:Symfony2filemanager[closed]【发布时间】:2013-12-2709:57:40【问题描述】:我正在寻找提供文件管理器功能的Symfony2包:创建目录和子目录上传文件然后在“文件”字段类型元素的表单中,我需要... 查看详情

响应式文件管理器上传 JPG 错误继续处理 [关闭]

】响应式文件管理器上传JPG错误继续处理[关闭]【英文标题】:ResponsiveFilemanagerUploadJPGErrorKeepProcessing[closed]【发布时间】:2020-08-3011:20:21【问题描述】:我一直在Codeigniter框架上使用响应式文件管理器。在过去的几年里,它工作... 查看详情

UniSharp 文件管理器不适用于 Laravel 7

】UniSharp文件管理器不适用于Laravel7【英文标题】:UniSharpFilemanagernotworkingwithLaravel7【发布时间】:2020-11-2917:47:28【问题描述】:我最近实现了tinyMCE,当我尝试测试文件管理器时,我正在使用UniSharps文件管理器来处理文件,我将... 查看详情

在android中打开默认文件管理器?

】在android中打开默认文件管理器?【英文标题】:OpenDefaultFileManagerinandroid?【发布时间】:2012-07-3010:53:53【问题描述】:我的Android设备包含默认文件管理器和一个按钮(打开)。单击按钮时如何打开文件管理器?【问题讨论】... 查看详情

怎么根据任务管理器看是处理器是几核几线程的?

...考技术B任务管理器只能确定线程数,无法确定核心数:处理器支持超线程技术,则核心数等于线程数一半;处理器不支持超线程技术,则核心数等于线程数。任务管理器查看线程数的方法:按“Ctrl+Alt+Delete”启动任务管理;在... 查看详情

响应式文件管理器上传高于公共

】响应式文件管理器上传高于公共【英文标题】:responsivefilemanageruploadabovepublic【发布时间】:2018-07-1007:51:10【问题描述】:我正在尝试在用户必须登录才能访问文件库的安全环境中实现响应式文件管理器。为了确保用户只能在... 查看详情

windows8怎么看处理器核心数

...下方(如下图红色圆圈标记),可以看到“内核”“逻辑处理器”的字样,其中“内核数”就是指cpu有几个物理核心,也就是常说的“几核处理器”,而“逻辑处理器”就是常说的“线程数”。如下图“内核”为4,就是四核处... 查看详情

进程管理

...S环境。SystemIdleProcess:这个进程是作为单线程运行在每个处理器上,并在系统不处理其它线程的时候分派处理器的时间。Smss.exe:这是一个会话管理子系统,负责启动用户会话。Serv 查看详情