操作系统学习笔记2_处理器管理

一、中央处理器

一个程序装载入内存后有四个部分: 代码 数据 堆(heap):malloc分配的空间就是从这里来的 栈(stack):系统使用的空间,保存函数的返回地址。

                                                           

CPU由运算器、寄存器、控制器和缓存构成,其中缓存分为内部1级缓存和外部2级缓存。

寄存器是一组CPU内部的存储器,容量小但速度快,一般存放操作数、地址以及控制信息等,分为通用寄存器、 数据寄存器、地址寄存器、I/O地址寄存器、I/O缓冲寄存器、控制寄存器和其他寄存器。

区别:指令分为特权指令和非特权指令,处理器状态分为管理状态和用户状态。

通常操作系统都引入程序状态字PSW来区别不同的处理器工作状态并且保留和指示与运行程序有关的各种信息。它主要内容包括: 程序基本状态( 程序计数器PC 、条件码:反映指令执行后的结果特征、 处理器状态 )、中断码:保存程序执行当时发生的中断事件、中断屏蔽码:指明程序执行中发生中断事件时,是否响应出现的中断事件。PSW保存程序的现场信息。

二、中断技术

中断是程序执行过程中对异步事件的响应:当发生某个事件时中止CPU上现行程序的运行、引出该事件的处理程序执行、执行完毕返回原程序中断点继续执行。是实现多道程序的必要条件。

中断系统分为中断装置和中断程序。

中断源:引起中断的事件,分为:

中断是指令执行之间进行切换的契机,而异常则是指令执行中出现的问题。

工作过程中,中断装置发现中断源后,响应中断请求,保护现场(使用PSW)并启动处理中断时间的中断处理程序。需要的关键部件为中段寄存器和中断字。且目态正是通过中断转换为管态。处理完毕后,恢复进程。

   

中断事件可分为:

  1. 机器故障中断事件
  2. 程序性中断事件
  3. 时钟中断事件
  4. I/O中断事件
  5. 自愿中断事件

中断优先级为:机器校验中断、自愿性中断、程序性中断、外部中断、I/O中断、重启动中断。

在中断的处理中,主机可以通过PSW中的中断屏蔽位允许或禁止某一种中断。

多重中断是指在处理某个中断事件时CPU又响应了一个中断事件,也称中断嵌套。

三、进程及其实现

程序存放在外存中不会消失,产生和消亡的只是与之相关的内存信息。 程序只有进入了内存才能执行,在执行过程中可能会被另一个执行的程序打断暂失去CPU。 用进程一词来描述程序这一动态的执行过程。程序P1被装入内存后被称为进程P1

程序P与执行过程不是一一对应的,一个程序可以同时有多个执行过程,所以把每个执行过程称作进程。

进程是资源分配、保护和调度的基本单位,能完成具体的功能,是在某个数据集合上完成的,执行过程是可并发的。

三态模型:

 

五态模型:

七态模型:

进程在主存实际存放并非连续的

PCB(进程控制块):标识信息( 每个进程需要一个唯一的ID号)、现场信息(PSW和其它寄存器值 用户堆栈指针)、控制信息 (进程的状态 、时间片余量,已占用CPU时间 、进程在辅存中的地址 数据段、代码段指针、 队列指针)

操作系统使用队列管理的方式。

核心态下进程会发生切换,进程切换是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换、即保存老进程状态而装入被保护了的新进程的状态,以便新进程运行。当进程进入等待状态时(自愿放弃yield)或 完成系统调用或中断处理,返回用户态但不是最具有资格获得CPU时(抢占preempt)进入就绪状态以及进程执行结束时进入终止状态后,内核允许发生进程切换。

进程切换步骤:

  1. 保存被中断进程的处理器现场信息
  2. 修改被中断进程的进程控制块的有关信息,如进程状态等
  3. 把被中断进程的进程控制块加入有关队列
  4. 选择下一个占有处理器运行的进程
  5. 修改被选中进程的进程控制块的有关信息
  6. 根据被选中进程设置操作系统用到的地址转换和存储保护信息
  7. 根据被选中进程恢复处理器现场

模式切换

进程的控制:

  • 创建 创建一个PCB 赋予一个统一进程标识符 为进程映象分配空间 初始化进程控制块(如: 状态为 New,优先级) 设置相应的链接(把新进程加到就绪队列的链表中)
  • 阻塞和唤醒
  • 撤销 回收进程占用的资源 、撤销该进程的PCB并回收PCB空间
  • 挂起和激活

四、线程及其实现

分为以下几类:

线程控制块TCB

并发多线程程序设计的优点:

  • 提高了响应速度:多线程交互式应用程序可以允许程序在它的一部分被阻塞或正在执行一个冗长的操作时持续运行,从而提高了了对用户的响应速度。
  • 资源共享:缺省情况下,线程共享它们所属进程的存储器和资源。代码共享的优点在于它允许应用程序在同样的地址空间内拥有多个不同的活动线程。
  • 经济实惠:为进程创建分配存储器和资源代价高昂。因为线程共享它们所属进程的资源,所以线程的创建和上下文转换更为划算。
  • 提高了多处理机体系结构的利用率:在多处理机体系结构中,多线程的优点就更加显著了。在这种系统中,多个线程可以在不同的处理器上并行运行。

五、处理器调度

调度级别分为高级调度、中级调度和低级调度。

批处理系统的调度性能指标

调度算法:

先来先服务(FCFS)

时间片轮转(Round Robin):n个就绪队列中的进程和时间片q  每个进程获得   的CPU 时间,大约是q个时间单位 没有进程等待时间会超过 (n-1)q。

最短作业优先(SJF)

       如果一个新作业所需的CPU时间比当前正在执行的作业所剩余时间短,那么新作业将抢占CPU。

       例题:                到达系统时间     所需CPU时间       

                      P1                  0                            8         

                      P2                 1                             4         

                      P3                 2                            9         

                      P4                  3                           5

            SRTF: T = (17+5+26+10)/4=14.5  (平均等时间6.5)

优先数调度(Priority)

最高响应比优先(HRRF)

多级反馈队列调度

彩票调度

猜你喜欢

转载自blog.csdn.net/qq_37865996/article/details/83720392