操作系统复习

用户态到内核态的切换发生了什么

1.读取tr寄存器,访问TSS段
  TSS段保存内核栈信息
2.从TSS段中的sp0获取进程内核栈的栈顶指针
  sp:堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。
3.在内核栈中保存当前cs,ss,eip,esp寄存器的值(地址)
  cs 为代码段寄存器
  ss 为栈段寄存器,一般作为栈使用
  eip:用来存储CPU要读取指令的地址,CPU通过EIP寄存器读取即将要执行的指令
  esp:用户栈栈顶指针
4.把内核代码选择符写入CS寄存器,内核栈指针写入ESP寄存器,把内核入口点的线性地址写入EIP寄存器
  此时,CPU已经切换到内核态,根据EIP中的值开始执行内核入口点的第一条指令。

中断分类

外中断
CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。

异常
CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。

陷入
在用户程序中使用系统调用。

异常:异常是由当前正在执行的进程产生。异常包括很多方面,有出错(fault),有陷入(trap),也有可编程异常(programmable exception)。

出错(fault)和陷入(trap)最重要的一点区别是他们发生时所保存的EIP值的不同出错(fault)保存的EIP指向触发异常的那条指令而陷入(trap)保存的EIP指向触发异常的那条指令的下一条指令。因此,当从异常返回时,出错(fault)会重新执行那条指令;而陷入(trap)就不会重新执行。这一点实际上也是相当重要的,比如我们熟悉的缺页异常(page fault),由于是fault,所以当缺页异常处理完成之后,还会去尝试重新执行那条触发异常的指令(那时多半情况是不再缺页)。陷入的最主要的应用是在调试中,被调试的进程遇到你设置的断点,会停下来等待你的处理,等到你让其重新执行了,它当然不会再去执行已经执行过的断点指令

软中断和硬中断

硬中断:

1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核中的一个子程序,而不是一个独立的进程)。

2. 处理中断的驱动是需要运行在CPU上的,因此,当中断产生的时候,CPU会中断当前正在运行的任务,来处理中断。在有多核心的系统上,一个中断通常只能中断一颗CPU(也有一种特殊的情况,就是在大型主机上是有硬件通道的,它可以在没有主CPU的支持下,可以同时处理多个中断。)。

3. 硬中断可以直接中断CPU。它会引起内核中相关的代码被触发。对于那些需要花费一些时间去处理的进程,中断代码本身也可以被其他的硬中断中断。

4. 对于时钟中断,内核调度代码会将当前正在运行的进程挂起,从而让其他的进程来运行。它的存在是为了让调度代码(或称为调度器)可以调度多任务。

原文地址:https://www.cnblogs.com/lxy-xf/p/11431495.html

时间: 2024-11-11 23:10:46

操作系统复习的相关文章

我的操作系统复习——进程(下)

上一篇博客是复习操作系统进程篇的上篇,包括进程状态.PCB.进程控制等——我的操作系统复习——进程(上),本篇博文是进程篇的下篇,开始复习进程同步.进程通信,以及重要的线程概念. 一.进程同步 什么是同步?同步就是说一个任务要等另一个执行完毕才能继续执行,而不是同时执行.我们都知道,进程有异步性,这种性质会导致操作系统的混乱.进程同步,指的是进程之间的执行次序的管理,就是为了解决进程异步性的这种混乱. (1)直接制约和间接制约. 进程之间有两种制约关系.分别是直接制约和间接制约.直接制约指的是进

我的操作系统复习——进程(上)

上一篇博文复习了操作系统总的概述——我的操作系统复习——操作系统概述 ,包括对操作系统的定义.发展历程以及操作系统结构.接下来我们就开始详细复习计算机知识,包括进程.处理器.存储器等等.本篇首先对进程这个及其重要的概念进行复习,这是进程系列的上篇. 一.什么是并发 并发是什么?很简单,前面介绍的多道批处理系统就是典型的并发执行.这里再次过一遍高性能的多道批处理系统,其本质在于保持对系统资源的占用,CPU运行一个任务,若这个任务中断,如需要IO请求之类的,那么CPU直接去运行其他任务,原任务的IO

[期末复习] 计算机操作系统复习(一)

操作系统期末复习 第一章-操作系统引论 操作系统的作用 作为计算机硬件系统之间的接口 系统资源的管理者 实现对计算机资源的抽象 操作系统的发展过程 未配置操作系统的计算机系统 人工操作,用户独占全机,资源浪费 脱机输入输出(Off-Line I/O)方式. 单道批处理系统 这里批处理指的是把很多作业放在一个磁带上,一次性输入给计算机 解决了人机矛盾(每执行一道程序都要手动装载)和cpu与I/O设备速度不匹配矛盾.提高了系统的吞吐量. 缺点:系统资源利用率低(I/O请求成功前CPU空闲). 多道批

操作系统复习——系统引论

1. 操作系统的目标有:(1)有效性(提高系统资源利用率和系统的吞吐量)(2)方便性(3)可扩充性(4)开放性 2. 操作系统的作用:(1)OS作为用户和计算机硬件系统之间的接口(2)作为计算机系统资源的管理者(3)实现了对计算机资源的抽象 3. 用户可以通过命令方式,系统调用方式,图形或窗口方式使用计算机,而计算机资源可以大致分为四类处理器,存储器,I/O设备以及信息. 4. 操作系统不管哪个种类都具有并发,共享,虚拟和异步这四个基本特征,其中并发特征是最重要的特征,剩下的三个都是以这个为前提

操作系统复习目录

进程管理 进程的创建.终止.阻塞与唤醒.挂起与激活(条件) 信号量机制 经典进程同步问题 处理机调度与死锁 处理机调度的层次 调度算法:先来先服务和短作业优先.高优先权优先调度.基于时间片轮转 实时调度 为什么会产生死锁 死锁的处理方法:银行家算法 存储器管理 存储器的层次结构 程序装入和连接 存储器分配方式 页面 分段存储

操作系统 —期中复习

操作系统复习 一.操作系统概述 什么是操作系统 (关注: 如何控制和协调处理机.存储器.设备和文件) 操作系统 : 是指 控制 和 管理 整个计算机系统的 硬件 和 软件资源 控制程序执行 改善人机界面 提供各种服务 并合理地组织调度计算机的 工作和资源的分配, 以提供给 用户 和 其他软件 方便的 接口和环境 的 程序集合. 是 计算机系统中 最基本的系统软件. 操作系统的作用 服务用户观点 : 操作系统作为 用户接口 和 公共服务程序 进程交互观点: 操作系统作为 进程执行的 控制者 和 协

操作系统原理 第一章第二章复习

操作系统复习 第一章 操作系统概述 基本概念 吞吐量:单位时间内系统能处理的工作量. 进程:正在动态执行的程序 实时操作系系统:实时计算.计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间一类的计算. 操作系统的特征:现代操作系统大多支持多任务,具有并发.共享.虚拟.异步的特征. 单道批处理系统 特性:自动性.顺序性.单道性. 作业独占CPU和内存. 多道批处理系统 特性: 多道性.无序性.调度性.复杂性. 优点:提高CPU的利用率.提高内存和I/O设备的利用率.增加系统吞吐量

操作系统:进程管理和IO控制

一.进程管理 进程管理包括进程控制,进程调度,进程同步与通信,死锁控制四个内容. (一)进程控制 进程是操作系统中运行的基本单位,包括程序段,数据段和进程控制段.操作系统通过进程控制块(PCB)管理进程.每一个PCB唯一标示一个进程.它存储进程的PID,UID,当前状态等信息,以及进程执行某一时刻的寄存器值,并且指向进程的数据段和程序段.OS把所有PCB链接为一个链表. 进程在刚刚被创建时出于new状态.OS负责申请一块存储空间作为该进程的PCB,在其中填上进程的信息,标示为ready,链接到P

内存分配方式

操作系统复习 内存的深入理解 内存构成 程序代码区-存放函数体的二进制代码. 全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域.程序结束后由系统释放. 栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 堆区(heap): 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配