首页 > 其他分享 >第二章 操作系统的运行机制

第二章 操作系统的运行机制

时间:2024-07-18 12:41:22浏览次数:9  
标签:管态 调用 操作系统 中断 指令 寄存器 运行机制 第二章 CPU

中央处理器

一:CPU的构成与基本的工作方式

1、CPU组成
(1)CPU由运算器、控制器、一系列寄存器、高速缓存组成
运算器:实现指令中的算术和逻辑运算,是计算机系统的和兴
控制器:负责控制程序的运行流程、包括取指令、维护CPI的状态
寄存器:存取数据和指令(在CPU内部)
高速缓存:位于CPU和物理内存之间;利用程序局部性原理使高速指令处理和低速内存访问相匹配,提高CPU效率(CPU首先在高速缓存中读取数据,如果没有则在内存中读取数据)
(2)CPU中的寄存器
寄存器提供了一定的存储能力,速度比主存快,造价高,容量小
分类:
用户可见寄存器:高级语言编译器通过算法分配给用户使用、减少程序访问主存的次数,包含数据寄存器(算术逻辑指令和访存指令)、地址寄存器(存放地址)、条件码寄存器(保存CPU操作结果的各种标记位)
控制和状态寄存器:用于控制处理器的操作、大部分对于用户是不可见的、由OS的特权代码使用,以控制其他程序的执行

常见的控制和状态寄存器:
1、程序计数器PC:记录将要取出的指令地址
2、指令寄存器IR:取出指令存放地址
3、程序状态字PSW:记录处理器的运行模式

2、指令的执行
(3)指令执行的基本过程
先从存储器中读取一条指令、然后执行,这个过程称为一个指令周期(地址线、数据线、控制线)
特权指令:只能由操作系统执行的指令,一般引起处理器的状态转换
非特权指令
由非特权状态切换到特权状态需要进行访管指令
3、处理器的状态
(1)管态、目态(根据运行程序对资源和机器指令的使用权限)
(2)管态和目态差异:管态可以调用全部指令,目态只能调用部分指令
(3)管态和目态之间的转换

目态——管态:通过中断
管态——目态:修改PSW(程序状态字)

(4)PSW程序状态字组成

条件码
中断屏蔽码
CPU工作状态码

存储系统

作业必须把它的程序和数据放到内存中才能够运行的
1、存储器的层次结构
(1)容量、速度、成本(寄存器——高速缓存——内存——外存)(速度由快到慢,容量由小到大)
2、存储保护
对主存中的信息加以严格的保护、使操作系统及其他程序不被破坏,保护方式
(1)界地址寄存器:
设置一对上限和下限寄存器,访问地址须在这个范围之内,越界会出现程序中断-越界中断
或者设置一个基地址寄存器
(2)存储键:分配一个唯一一个存储键

中断与异常机制

1、中断和异常
(1)定义:CPU对突发时间的处理、OS可以捕获用户程序发出的系统功能调用及时处理设备的中断请求,中断系统由硬件中断装置和软件中断处理程序组成
(2)特点

(1)中断是随机的
(2)中断是可恢复的
(3)中断是自动处理的

(3)
中断的引入:为了开发CPU和通道之间的并行操作,由外部设备或者一些突发性的事件引起的;与正在执行的指令无关、可以屏蔽
异常的引入:正在运行的程序出现了一些错误、转到相应的错误处理程序和异常处理程序,与正在执行的指令有关、不可屏蔽
(4)中断的分类
中断:I/O中断、时钟中断、硬件故障引起的中断、
异常:系统调用、缺页一查昂、断点指令、算数溢出4
(5)中断寄存器:存储中断信号、由若干个中断位组成
(6)CPU如何发现中断信号(中断处理过程)
设置一个能检测中断的机构为中断扫描机构,在每条指令执行完毕之后会扫描中断寄存器、看是否由中断信号、来判断是否中断,如果没有的话就继续执行、然后重复上述步骤,若有中断、则产生中断码,根据终端码找到中断处理程序、然后根据中断处理程序处理中断,处理完毕之后执行下一条指令
2、典型的中断
(1)I/O中断
I/O操作正常结束
I/O异常:硬件设备发生故障或者特殊情况
(2)时钟中断
处理器时间调度
维护软件时钟
(3)硬件故障中断
保存现场、使用一定的机制恢复中断
(4)程序中断
指令越权、指令越界
(5)系统调用中断

系统调用

系统调用:用户程序获得OS服务的唯一接口,提供了用户程序和操作系统之间的指令
1、系统调用与一般调用的特点
在管态之进行操作系统的调用、
(1)运行在不同的系统状态
一般过程调用运行在目态;系统调用运行在管态
(2)状态的转化

目态——管态:通过中断
管态——目态:修改PSW(程序状态字)

(3)返回问题
抢占式调用系统中,被调用的过程执行完毕之后、系统将要对所有的运行进行进行优先级分析,如果该进程优先级高、继续执行、否则会进行重新调度
(4)嵌套调用
在调用的过程执行期间可以调用其他的步骤
2、系统调用的过程
将处理机状态由用户态转化为系统态,由硬件和软件进行一般处理(保护现场),调用完成之后返回现场继续调用,与中断的处理机制很相同

I/O技术

主要I/O控制方式
1、通道技术
独立于CPU,负责数据I/O传输的处理机制,对外设实现统一管理,提高CPU与设备,设备与设备之间的并行性,传输少量的数据
2、DMA技术
解决中断效率不高的问题、听过系统总线中独立控制单元-DMA控制器自动控制成块的数据在内存和I/O单元之间传输,大大提高可I/O的效能,传输大量的数据
3、缓冲技术
硬件设备之间进行数据传输时;用来暂存数据的一个存储区域
用途:处理器与主存储器之间;处理器与外部设备之间、设备与设备之间,
目的:解决部件之间速度不匹配的问题

标签:管态,调用,操作系统,中断,指令,寄存器,运行机制,第二章,CPU
From: https://www.cnblogs.com/gsupl/p/18309260

相关文章

  • 如何使用ventoy安装操作系统
    使用ventoy安装操作系统vrntoy简介简单来说,Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把ISO/WIM/IMG/VHD(x)/EFI等类型的文件直接拷贝到U盘里面就可以启动了,无需其他操作。你可以一次性拷贝很多个不同类型的镜像文件,Ventoy会在启动......
  • 操作系统实验四 文件管理
    实验目的与要求:   实验目的:(1)、掌握计算机操作系统管理进程、处理机、存储器、文件系统的基本方法。(2)、了解进程的创建、撤消和运行,进程并发执行;自行设计解决哲学家就餐问题的并发线程,了解线程(进程)调度方法;掌握内存空间的分配与回收的基本原理;通过模拟文件管理的工作......
  • 操作系统综合实验二
    实验目的与要求:   实验目的:(1)、掌握计算机操作系统管理进程、处理机、存储器、文件系统的基本方法。(2)、了解进程的创建、撤消和运行,进程并发执行;自行设计解决哲学家就餐问题的并发线程,了解线程(进程)调度方法;掌握内存空间的分配与回收的基本原理;通过模拟文件管理的工作......
  • 2024go语言micro框架搭建踩坑解决(go版本: 1.22.5, 操作系统: ubuntu24.04, 感觉坑和
    在这两天准备学习go语言微服务相关东西时要使用micro框架,因为看的视频是用的低版本go编译器和GOPATH,使用的是旧版本的micro框架,因为找不到和视频对应的框架版本,下载了半天跑不动网上一搜全是22,21甚至更早的搭建micro的文档,很到东西现在不适应了(比如"github.com/golang/pr......
  • 第二章 编译FFmpeg并开启H.264编码
    目录前言1.下载x2642.编译x2643.编译FFmpeg3.1可能出现的问题和解决方法3.1.1ERROR:x264notfoundusingpkg-config解决方法:3.1.2libx264isgpland--enable-gplisnotspecified.解决方法:4.检查编译结果这里我默认大家已经看过第一章FFmpeg初体验:在Centos7.9下编......
  • 操作系统真象还原:实现文件写入
    14.7实现文件写入这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件本节要实现的sys_write是系统调用write的内核实现,咱们之前的write是个简易版,它是为了临时完成输出打印的功能,不支持文件描述符。如今要让write支持文件描述符的话,还要修改下周边与此系......
  • 第一章 操作系统的概述
    操作系统的概论操作系统的概念操作系统是计算机系统中的一个系统软件,有效的组织和管理计算机系统当中的硬件和软件资源,合理组织计算机的工作流程,控制程序的执行,并给用户提供各种服务,是计算机系统可以高效的运行(资源管理和控制程序的执行)有效:考虑用户的需求,提高系统的资源利用率......
  • 王道数据结构课后习题详细分析 第二章线性表 2.1线性表的定义和基本操作
    单项选择题————————————————————————————————————————解析:正确答案:C————————————————————————————————————————解析:A:集合中的元素没有前后驱关系,错误;C:序列中整数不是有限个,错......
  • 【操作系统】
    第一章一、操作系统的定义操作系统是一组计算机程序的集合,用于控制和管理硬件资源和软件资源,合理地组织计算机的工作流程,为用户提供方便、快捷、友好的应用程序使用接口。是系统最基本最核心的软件,属于系统软件控制和管理整个计算机的硬件和软件资源合理的组织、调度计算机......
  • 计组笔记第二章——数据的表示和运算
    本章问题:数据如何在计算机中表示?运算器如何实现数据的算术、逻辑运算?2.1.1进位计数制十进制计数法古印度人发明阿拉伯数字。基于乘法思想。十进制表示方式:整数情况下:\[K_nK_{n-1}...K_2K_1K_0=K_n\times10^n+K_{n-1}\times10^{n-1}+...+K_2\times10^2......