第二章 处理器管理
进程:是资源分配和管理的单位
线程:是处理器调度的基本单位
内核态:又叫管态
用户态:又叫目态
特权指令:仅仅在内核态(管态)才能使用的指令。例如,改变机器状态,修改寄存器内容,启动I/O设备,设置时钟,清空内存等操作,执行这些程序不仅仅影响程序本身,而且会干扰其他的应用程序和操作系统
非特权指令:在管态和目态均可以工作,而应用程序只能使用非特权指令。如果应用程序执行特权命令,会导致非法执行而产生保护中断
中断事件和异常处理时处理器状态均是内核态
PSW(Program Status Word):程序状态字。操作系统将程序运行时候的一组状态信息汇集在一起,成为程序状态字,并存放在处理器的一组特殊寄存器里,以方便系统的控制和管理
I/O系统:即输入输出系统
进程:进程是具有独立功能的程序在某个数据集上的一次运行活动,也是操作系统进行资源分配和保护的基本单位
进程的特性:
(1)动态性:进程是程序执行的过程,是动态的。而程序是静态的
(2)共享性:同一个程序同时运行于不同数据集合上时候构成不同进程,多个进程可执行相同的程序,所以进程和程序不是一一对应的
(3)独立性:每一个进程都有自己的虚拟空间和状态
(4)制约性:进程共享资源协同工作而产生的相互制约
(5)并发性:多个进程在时间上可以重叠,在单处理系统中可以并发执行,在多处理器环境中可以并行执行。因此,进程是可以被打断的
进程的三态模型:
进程五态模型:略
进程七态模型:略
一个PCB应该包含以下信息:
(1):标识信息
(2):现场信息
(3):控制信息
系统创建进程时候就会给它创建PCB,当进程结束时回收PCB
弹道程序设计技术:指内存一次只能允许一个程序运行(以前的老技术)
多道程序设计技术:指内存允许多个进程入驻,系统通过某种调度策略交替执行程序
进程阻塞:指一个进程让出处理器转而等待一个中断或者异常。进程通常调用阻塞原语来阻塞自己,所以阻塞是进程的一个自主行为,是一个同步事件
cpu构成:运算器,控制器,寄存器
overflow:即溢出的意思,例如开辟4个空间的数组,用了a[4],即超出了范围就会溢出
并发是多道程序设计的思想,目的是提高程序的资源利用率
进程:由程序,数据和进程控制块(PCB)构成
线程:线程是系统调度的基本单位,一个进程可包含多个线程。同一进程中的线程可共享地址,不同进程中的线程也可以并发执行,不同进程的线程的地址空间是独立的。线程切换时,同一进程线程共享资源和地址空间,不涉及资源信息的保存和地址变化,减少系统开销时间
用户级线程一直工作在用户态,线程通过线程库切换,其速度比较快。
引入线程是为了减少程序并发执行时所付出的开销,使得开发粒度更细,并发性更好
其中,独立分配资源由进完成,被调度分派执行交给线程完成
(多线程)进程
多线程:线程是进程中能够并发执行的实体,是进程的组成部分,也是处理器调度和分派的基本单位。在多线程中,进程分为两部分,资源集合和线程集合
进程要为线程提供虚拟地址空间和各种资源。进程封装管理信息,包括对指定代码、全局数据、打开的文件和信号量等共享部分的管理,而线程封装执行信息,包括状态信息寄存器,执行栈、局部变量等
线程状态:线程也有生命周期。挂起是进程中状态,进程终止将导致所有的线程终止
作业:是由程序,数据,作业说明书,作业控制块组成。作业控制块是批处理系统中作业存在的唯一标识
作业调度算法:
(1):先来先服务算法(First Come First Served,FCFS),非剥夺
(2):最短作业优先算法(Shortest Job First,SJF),非剥夺
(3):最短剩余时间优先算法(Shortest Remaining TimeFirst,SRTF),剥夺
(4):最高响应比优先算法(Highest Response Ratio First,HRRF)响应时间=处理时间+等待时间
响应比=1+等待时间/处理时间
选择响应比高者运行
优先级调度算法:略
轮转调度算法(Round-Robin,RR),又叫时间片调度,剥夺
多级反馈队列调度算法(Multi-Level Feedback Queue,MLFQ)