文章目录
操作系统线程调度算法
操作系统
操作系统第二章 进程
# 进程 1. 进程控制块PCB+程序段+数据段=进程实体。(PCB时进程存在的**唯一标志**) 2. 进程时进程实体的运行过程,时系统进行资源分配和调度的独立单位(基本单位)(线程引入之前,线程引入之后调度的基本单位就是线程了)。 3. 进程的组织方式:连接方式,建立队列;索引方式,建立索引表。这两种方式各有三个指针:1、执行指针;2、就绪队列指针;3、阻塞队列指针。 4. 进程的特征
进程的特征描述
动态性最基本的特征并发性独立性进行资源分配调度的独立单位(同上上)异步性各进程以不可预知的速度向前推进,可能导致结果的不稳定性结构性
进程的三种状态
状态描述
运行态占有CPU就绪态具备运行条件,但没有CPU阻塞态因等待某件事的发生而不能运行创建态终止态
进程状态的切换
进程控制:实现进程状态的转换。用原语进行进程控制,不可中断的操作被称为原子操作.。其中原语采用关中断和开中断实现。
相关原语无非三类:1:更新PCB中的信息。1:将PCB插入合适的队列。3:分配/回收资源。
动作原语
进程创建创建原语进程终止撤销原语进程阻塞/唤醒阻塞原语 /唤醒原语(成对出现)进程切换切换原语
进程通信,为了保证安全,一个进程不能直接访问另一个进程的地址空间,所以有以下三种进程通信的方式:
通信方式描述
共享存储两个进程对共享空间的访问互斥。分两种:基于数据结构的共享:低级,多限制;基于存储区的共享:高级,更快。管道通信只能半双工通信,如需双向同时通信则需要两个管道。进程要互斥访问,未写完不能读,未读完不能写,并且读进程只能有一个消息传递进程间的数据交换以格式化的消息为单位,以“发送消息”/“接收消息”两个原语实现。分两种:直接通信方式,直接挂载到对方的消息队列;简介通信方式,发送到邮箱中再接收。
线程
线程控制块(TCB)。引入线程后线程就成了成调度的基本单位。线程间并发提升了并发度,同一进程内的线程切换不用切换进程环境,系统开销小。同一个进程的不同线程共享资源。线程的实现方式:用户级线程,对系统透明对用户不透明。内核级线程,对两者都不透明。内核级线程才是处理及分配的单位多线程模型
模型类型描述优点缺点
多对一模型多个用户线程映射到一个内核线程,每个用户进程对应一个内核级线程用户线程的切换在用户空间即可完成,不需要切换到核心态,线程管理开销小,效率高一个用户级线程阻塞后整个进程都阻塞,并发度低,多个线程在多核处理机上运行一对一模型一个用户用级线程对应一个内核级线程当一个线程阻塞后,别的线程可以继续执行,并发高,可以在多核机上并行执行一个用户进程占多个内核级线程,线程切换的操作在内核中完成,需要切换到核心态,故成本高多对多模型提供一个用户级线程到内核级线程的线程库克服了上述缺点
调度算法
处理机调度:高级调度是作业调度,面向作业,调入和调出PCB,无->创建态->就绪态。 中级调度是内存调度,当进程调到外存状态为挂起状态,butPC不会被调出。 低级调度是进程调度,从就绪队列中选择一个进程将处理及分配给他,就绪态->运行态进程调度: 不能进行进程调度与切换的情况:在处理中断的过程中、在操作系统内核程序临界区、原子操作过程中。其中临界资源是一个时间段内只允许一个进程使用的资源,各进程需要互斥的访问临界资源。临界区是指访问临界资源的那段代码。 进程调度分为:非剥夺调度方式:非抢占式。剥夺调度方式:抢占式。调度算法的评价:
项目描述
CPU利用率忙碌时间占总时间的比例系统吞吐量总共完成多少作业/花的时间周转时间作业提供给系统到完成的间隔平均周转时间周转之和/作业数带权周转时间作业周转时间/作业实际运行的时间响应时间用户提交请求到首次响应的时间