当前位置: 首页 > news >正文

保研面试408复习 3——操作系统

文章目录

  • 1、操作系统
    • 一、进程有哪几种状态,状态之间的转换、
    • 二、调度策略
      • a.处理机调度分为三级:
      • b.调度算法

标记文字记忆,加粗文字注意,普通文字理解。

为什么越写越少?
问就是在打瓦。(bushi)

1、操作系统

一、进程有哪几种状态,状态之间的转换、

在这里插入图片描述

  • 就绪态:进程获得了除处理机外的一切所需资源,一旦得到处理机,便可立即运行。
    • 就绪队列
  • 运行态:进程正在处理机上运行。
    • 只有就绪状态的进程才能被调度程序选中。
  • 阻塞态:阻塞态,又称等待态。进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
    • 阻塞队列

一个进程从运行态变成阻塞态是主动的行为(比如进程运行时申请某一资源,但是资源不够等待释放,进程主动调用阻塞Block原语进入阻塞态)。从阻塞态变成就绪态是被动的行为,需要与之合作的或其他相关的进程中调用一条相应的Wakeup原语唤醒进程(比如资源得到释放,所需的资源有了,则进程已经具备了除了CPU外的一切所需资源,进入就绪态)。

运行态到就绪态,就绪态到运行态是通过调度器完成的。

进程控制包括:

  • 进程的创建
  • 进程的终止
  • 进程的阻塞和唤醒

这都是在核心态下完成的,在执行期间不允许中断。

二、调度策略

a.处理机调度分为三级:

  • 高级调度(作业调度
    • 在外存上处于后备队列的作业中挑选一个(或多个),给它们分配内存等必要资源,并建立相应的进程,以使它获得竞争处理机的权利。
  • 中级调度(内存调度
    • 将暂时不能运行的进程调至外存等待,此时进程的状态称为挂起态
  • 低级调度(进程调度
    • 分配处理机

b.调度算法

调度算法适用的不止进程调度。

  • 先到先服务调度算法(FCFS)
    • 不可剥夺算法
  • 最短作业有限调度算法(SJF)
  • 优先级调度算法
  • 时间片轮转调度算法
    • 可剥夺算法
  • 多级反馈队列调度算法
    • 结合前几种算法的有点是时间片轮转 和 优先级调度算法的综合与发展。
    • 设置多级就绪队列,优先级逐个降低;第i+1级队列的时间片比第i级队列的时间片长1倍。每个队列先到先服务,优先调度第i级队列,只有第i级为空,才调度第i+1级。

在这里插入图片描述

http://www.lryc.cn/news/345545.html

相关文章:

  • 【代码随想录37期】Day02 有序数组的平方、长度最小的子数组、螺旋矩阵Ⅱ(施工中)
  • 通俗的理解网关的概念的用途(三):你的数据包是如何到达下一层的
  • 基于Springboot的校运会管理系统(有报告)。Javaee项目,springboot项目。
  • USP技术提升大语言模型的零样本学习能力
  • 前端安全防护实战:XSS、CSRF防御与同源策略详解(react 案例)
  • 2024C题生物质和煤共热解问题的研究 详细思路
  • 智慧旅游引领未来风尚,科技助力旅行更精彩:科技的力量推动旅游业创新发展,为旅行者带来更加便捷、高效和智能的旅行服务
  • 十.吊打面试官系列-Tomcat优化-通过压测Tomcat调优实战
  • JVM调优—减少FullGC
  • 力扣 256. 粉刷房子 LCR 091. 粉刷房子 python AC
  • C++STL细节,底层实现,面试题04
  • Linux查看Oracle数据库的环境变量
  • pg数据库学习知识要点分析-1
  • 【Web】CTFSHOW 七夕杯 题解
  • react native 设置屏幕锁定
  • 探索 IPv6 协议:互联网的新一代寻址
  • Ubuntu意外断电vmdk损坏--打不开磁盘“***.vmdk”或它所依赖的某个快照磁盘。
  • 202466读书笔记|《一天一首古诗词》——借问梅花何处落,风吹一夜满关山
  • 如何调用本地ollama的http请求接口
  • 【C】190 颠倒二进制位
  • 蓝桥杯备战5.图书管理员
  • 微型显示器可以实时监测大脑活动
  • 移动端适配方案
  • 【Ajax零基础教程】-----第一课 Ajax简介
  • 大型医疗挂号微服务“马上好医”医疗项目(5)Swagger的使用
  • C语言从头学04——介绍占位符和输出格式
  • 写爬虫代码抓取Asterank中小行星数据
  • leetCode81. 搜索旋转排序数组 II
  • 在Ubuntu上怎么查看安装了哪些包?
  • Navicat连接远程数据库时,隔一段时间不操作出现的卡顿问题