操作系统基础:进程知识笔记(二)
一、管程
1、管道概念概念
管道是用于连接一个读进程和一个写进程。用来实现它们之间通信的共享文件。
2、管程的概念
管程是由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作集合、初始代码、以及存取权组成。管程提供了一种可以允许多线程安全、有效地共享抽象数据类型的机制,管程实现同步机制由条件结构所提供。
3、管程的结构
每个管程都要有一个名字以供标识。
二、进程调度
进程调度方式是指当有更高优先级的进程到来时如何合理分配CPU。调度方式分为可剥夺、不可剥夺两种。
1、 三级调度
1.1 高级调度
又称为长调度、作业调度、接纳调度,它决定处于输入池中哪个后台作业可以调入主系统做好执行准备,称为一个或一组就绪进程。
1.2 中级调度
又称为中程调度、对换调度,它决定处于交换区中的哪个就绪进行可以调入内存,用来直接参与对CPU的竞争。
1.3 低级调度
低级调度又称为短程调度、进程调度,它决定处于内存中的哪个就绪进程可以占用CPU。低级调度室操作系统中最活跃最重要的调度程序,对系统影响很大。
2、调度算法
2.1 先来先到服务
按照作业或进程称为就绪状态的先后顺序分配CPU,然后去执行。适合长作业,不利于短作业。属于宏观调度。
2.2 时间片轮转
主要是为了提高资源利用率。通过时间轮转提高进程并发性和响应时间特性,从而提高资源利用率。分为固定时间片、可变时间片。
2.3 优先调度
优先级算法让每个进程都有一个优先数,数值越大优先级越高,拥有先执行的特权。优先级调度分为静态优先级和动态优先级。
静态优先级:进程的优先级在创建时确定,直到进程终止都不会去改变。优先级确定因素:进程类型、对资源需求、用户要求。
动态优先级:创建进程赋予一个优先级,在进程运行过程中可以改变,以便获得更好的调度性能。
2.4 多级反馈调度
该算法是时间片轮和优先级算法的综合利用。
3、进程优先级确定的原则
1、对于I/O型进程让其进入最高优先级队列,以及响应需要I/O交互的进程。
2、对于计算型进程每次执行完时间片后进入更低级队列。
3、对于I/O次数不多,主要回收CPU处理的进程,在I/O完成后,返回优先I/O请求时离开的队列,避免每次都回到最高优先级队列后再逐次下降。
4、为适应一个进程在不同时间段运行的特点,I/O完成时,提高优先级;时间片用完是,降低优先级。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-10-12 盘点十个超级实用的 JS 特性
2019-10-12 盘点十个超级实用的 JS 特性
2018-10-12 Web安全的三个攻防姿势
2018-10-12 Web安全的三个攻防姿势
2018-10-12 Web安全的三个攻防姿势