OS-处理器管理(二)

操作系统-处理器管理

处理器状态

处理器

  1. 指令系统和寄存器
    每台计算机的机器指令集合成为指令系统
    寄存器用于寻址或存放数据、变量和中间结果。
    eg.:
    通用寄存器:EAX、EBX、ECX、EDX、
    指针及变址寄存器:ESP、EBP、ESI、EDI
    段选择符寄存器:CS、DS、SS、ES、FS、GS
    指令寄存器和标志寄存器:EIP、EFLAGS
    控制寄存器:CRO、CR1、CR2、CR3

  2. 特权指令和非特权指令
    特权指令是指仅在内核态下才能使用的指令。
    非特权指令在目态和管态下都能工作。

  3. 内核态和用户态
    处理器至少分用户态和内核态。
    在这里插入图片描述

  4. 处理器状态及其转换
    用户态->内核态 ——一定是通过中断机制
    1.请求操作系统服务,执行系统调用
    2.程序运行时发生中断事件
    3.程序运行时产生异常事件
    **内核态 -> 用户态 **
    计算机通常提供一条称作加载程序状态字的特权指令来实现 内核态 -> 用户态

  5. 用户栈和核心栈
    用户栈是用户进程空间中的一部分,保存函数间相互调用的参数、返回值、返回点、函数的局部变量
    核心栈是操作系统的函数间相互调用的参数、返回值、返回点、函数的局部变量、用来保存中断现场

程序状态字

三组标志:1、状态标志,2、控制标志,3、系统标志

中断技术

  1. 中断概念
    中断是指程序在执行过程中遇到继续处理的事件时,暂时中止现在程序在CPU上的运行,转而执行相应的事件处理程序,待处理完成后再返回断点或调度其他程序执行的过程

  2. 中断源分类
    内中断和外中断
    ——外中断即中断,异步中断。包括时钟中断、键盘中断、它机中断和外部设备中断。
    可分为可屏蔽、不可屏蔽中断
    ——内中断即异常,同步中断。来自处理器内部的中断信号。
    可分为访管中断、硬件故障中断、程序性异常。

  3. 中断和异常的响应及服务
    中断/异常的响应需要顺序做4件事:
    (1)发现中断源
    (2)保护现场
    (3)转向中断/异常事件处理程序执行
    (4)恢复现场

  4. 中断事件处理原则

  5. 中断优先级和多重中断
    1.中断优先级
    2.中断屏蔽
    3.多重中断事件处理

  6. Linux中断

进程及其实现

  1. 进程的定义和属性
    进程是支持程序执行的一种系统机制,对处理器上运行的程序的活动规律进行抽象
    操作系统有两个重要特性:程序的并发性、资源的共享性
    进程是具有独立功能的程序再某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位
    进程的属性
    ·动态性
    ·共享性
    ·独立性
    ·制约性
    ·并发性
  2. 进程的状态和转换
    (一)三态模型
    a. 运行态 进程数不大于处理器个数
    b. 就绪态
    c. 等待态(阻塞态、睡眠态)
    在这里插入图片描述
    (二)五态模型
    a. 新建态 创建进程:分配所需资源和建立必要的管理信息
    b. 终止态 进程终止:系统善后处理后回收占用资源或删除
    在这里插入图片描述
    (三)七态模型
    a. 新建态
    b. 终止态
    c. 挂起就绪态
    d. 挂起等待态
    在这里插入图片描述
  3. 进程的描述和组成、
    (一) 进程映像: ——某时刻进程的内容及其状态集合
    进程控制块:PCB
    ————进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构
    (PCB的基本信息:标识信息、现场信息、控制信息)
    进程程序块:
    进程核心栈:
    进程数据块:
    (二)进程上下文:
    ————进程物理实体和支持进程运行的环境
    用户级上下文:程序块、数据块、共享内存区、用户栈
    寄存器上下文:状态寄存器、指令计数器、栈指针、通用寄存器
    系统级上下文:进程控制块、核心栈、内存管理信息

线程及其实现

线程能减少程序并发执行所付出的时空开销,使得并发粒度更细,并发性更好。
基本思路:把进程的“独立分配资源”和“被调度分派执行”分离开。
线程比进程的优点:快速线程切换,通信易于实现,减少管理开销,并发程度提高
线程的实现
内核级线程:管理工作由内核完成,提供线程API来使用线程

  • 优点:
    在多处理器上同一进程中的多线程并行执行
    若进程中的一个线程被阻塞,内核能够调度同一进程的其他线程占有处理器。
    具有小数据结构和堆栈,切换速度快。
  • 缺点:控制权在线程间转换时需经历 用户态-内核态-用户态

用户级线程:管理工作由应用程序来做,在用户空间内实现,内核不知道线程存在。

混合式线程:

线程调度:

  • 用户级线程:内核不知道线程的存在,以进程为单位调度。
  • 内核级线程:选择一个优先级高的线程运行,不考虑线程属于哪个进程。

处理器调度

  1. 处理器调度层次
    高级调度:作业调度、长程调度
    中级调度:平衡调度、中程调度
    低级调度: 进程/线程调度、短程调度
    在这里插入图片描述

  2. 选择调度算法

  • 资源利用率
  • 吞吐率
  • 公平性
  • 响应时间
  • 周转时间
  1. 作业管理与调度

  2. 低级调度功能和类型

(一)先来先服务算法——FCFS
(二)最短作业优先算法——SJF
(三)最短剩余时间优先算法——SRTE
(四)最高响应比优先算法——HRRF
(五)优先级调度算法——
(六)轮转调度算法——RR
(七)多级反馈队列调度算法——MLFQ

  1. 作业调度和低级调度算法
    https://blog.csdn.net/HaoDaWang/article/details/78598178

题目

思考题

9·什么是系统调用?试述API、库函数和系统调用之间的关系叙述系统调用执行流程.

18.什么是进程?计算机操作系统为什么要引入进程?
进程是具有独立功能的程序在某个数据集合上的一次运行活动,是计算机操作系统进行资源分配和保护的基本单位.
(1)刻画程序的并发性;(2)解决资源的共享性.

20·进程的最基本状态有哪些?哪些事件可以引起不同状态间的转换?
运行态
就绪态
阻塞态

26何谓进程控制块(PCB) ?它包含哪些基本信息?
进程控制块是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。
(1) 标识信息;(2) 现场信息;(3) 控制信息。

48处理器调度分为哪几种类型?简述各类调度的主要任务。
高级调度,中级调度,低级调度。

高级调度,创建就绪进程和做进程完成后的善后工作。
中级调度,根据内存资源情况决定内存中所能容纳进程的数目,并完成内存和外存中进程的对换。
低级调度,根据某种原则决定就绪队列中哪个进程/线程获得处理器,并将处理器出让给它使用。

应用题

5、答:采用短作业优先算法调度时,三个作业的总周转时间为:
T1=at(atb)+(a+b+c)=3a+2b+c
若不按短作业优先算法调度,不失一般性,设调度次序为: J2、J1、J3。则三个作业的总周转时间为:
T2-b+(b+a)+(b+a+c)-3b+2a+c令2-1式得到;T2-T1-b-a>0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。

发布了26 篇原创文章 · 获赞 39 · 访问量 5117

猜你喜欢

转载自blog.csdn.net/DengShengL/article/details/93634873