操作系统:精髓与设计原理 单处理器调度 多处理器调度 实时调度

本文主要是介绍操作系统:精髓与设计原理 单处理器调度 多处理器调度 实时调度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

处理器调度目标  满足系统目标的方式(响应时间 吞吐率 处理器效率)  把进程分配到一个或多个处理器中执行

调度类型  长程调度   决定加入待执行的进程池中  哪一个程序可以进入系统中处理 即控制系统的并发度

                  中程调度   决定加入部分或全部在内存中的进程集合中

                  短程调度   决定哪一个可运行的进程将被处理器执行

                  IO调度       决定哪一个进程挂起的IO请求将被可用的IO设备处理

短程调度准则   

面向用户  性能相关   周转时间 指一个进程从提交到完成之间的时间间隔,包括实际执行时间加上等待资源(包括处理器资源)的时间

                                     响应时间 对一个交互进程,这是指从提交一个请求到开始接收响应之间的时间间隔    相对于响应时间 这是一种更好的度量

                                     最后期限  当指定进程完成的最后期限时 调度原则将降低其他目标 使得满足期限最后期限的作业的百分比达到最大

                  其他           可预测性  无论系统的负载如何 一个给定的工作运行的总时间量和总代价是相同的,用户不希望响应时间和周转时间变化太大

面向系统  性能相关   吞吐量    调度策略应该试图使每个单位时间内完成的进程数目达到最大 

                                     处理器利用率  处理器都处于忙的状态的百分比

                  其他           公平性     没有进程处于饥饿状态

                                     强制优先级       

                                     平衡策略  调度策略


选择调度策略  

选择函数  确定在就绪进程中选择哪一个进程在下一次执行

决策模式  说明选择函数在被执行的瞬间的处理方式    

                  非抢占式  进程处于运行状态  就会不断执行直到终止  或者因为等待IO 或者因为请求某些操作系统服务而阻塞自己

                  抢占式  当前正在运行的进程可能被操作系统中断 并转移到就绪态     关于抢占的决策可能是发生在一个新进程到达时  或者一个中断发生后  把一个被阻塞的进程置为就绪态 或周期性的时间中断

各种调度策略特点



多处理器调度中的 实时调度

硬实时任务  必须满足最后期限的限制  否则会给系统带来不可接受的破坏和致命的错误

软实时任务  希望能满足与之相关联的该期限的要求 但并不是强制的  即使超过了最后期限 调度和完成这个任务仍然是有意义的

非周期任务   有一个必须结束或开始的最后期限   或有一个关于开始时间

周期任务   每隔周期T一次  或者 每隔T个单位


实时操作系统的特点

可确定性    在某种程度上可以按照固定的 预先确定的时间或时间间隔执行操作(关注操作系统获知一个中断之前的延迟)

可响应性  知道中断之后操作系统为中断提供服务的时间

用户控制  允许用户细粒度的控制任务优先级

可靠性  在实时的响应和控制事件

故障弱化操作  系统在故障时尽可能多地保存其性能和数据的能力



这篇关于操作系统:精髓与设计原理 单处理器调度 多处理器调度 实时调度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962431

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS