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

操作系统基础知识

一. 进程

进程是正在运行中的程序,是动态的

进程是资源分配的最小单位

进程的基本特征:动态性,并发性,独立性,异步性

二. 线程

线程在执行过程中的每一个任务就是一个线程

进程是由一个或多个线程组成,线程之间共享进程的资源

线程时CPU调度的最小单位

三. 处理机管理

进程的三种基本状态:运行,就绪,阻塞

(1) 运行:进程占有处理器正在运行

(2) 就绪:进程已经具备运行条件,等待系统分配处理器以便运行

(3) 阻塞:又称睡眠态,是指进程不具备运行条件,正在等待某个事件的完成

进程的三种状态的相互转换

运行→阻塞:等待使用资源或某事件发生。例如等待外设传输、等待人工干预。

阻塞→就绪:资源得到满足或某事件已经发生。例如外设传输结束、或是人工干预完成

就绪→运行:当CPU空闲时,被调度算法选中的一个进程,被CPU分配资源,开始运行。

运行→就绪:CPU分配的运行时间片用完,或出现有更高优先权进程。

四. 进程的4个重要概念

1. 进程同步

同步是指多个相互合作的进程在某些确定点上协调工作顺序的过程。是进程之间的直接制约关系。

例如进程B需要得到进程A的数据才能进行后续工作,没有数据时被阻塞,有数据时才被唤醒。

2. 进程互斥

宏观上互斥也是一种同步。各种进程可以共享系统的资源,但有些资源一次只能供一个进程使用(例如打印机),也称为临界资源。是进程之间的间接制约关系。

当一个进程使用临界资源时,另一个进程必须等待,只有资源被释放,进程才会解除阻塞状态

临界资源:一次仅允许一个进程使用的共享资源称为临界资源,这样进程间就要采取互斥方式来对这种资源进行共享

临界区:人们把进程中访问临界资源的那段代码称为临界区

3. 信号量机制

信号量是解决进程同步与互斥的工具,信号量可以分为两类:

一类是公用信号量,用于实现进程间的互斥,初值等于1或资源数量

另一类是私有信号量,用于实现进程间的同步,初值等于0或正整数

信号量S>=0时,表示某资源的可用数量,当S<0时,表示阻塞队列中等待资源的进程数量

4. PV操作

PV操作用来实现进程同步与互斥。P操作时申请一个资源,V操作表示释放一个资源

实现互斥的方法:信号量设置为1,当进程使用资源时执行P操作,释放资源时执行V操作

实现同步的方法:将信号量S与消息关联,当S等于0表示没有消息,当S不等于0表示有消息。进程B调用P操作信息是否到达,进程A调用V操作通知消息   已经准备好。

五. 进程死锁

当多个进程竞争使用资源时,可能每个进程要求的资源都已经被另一个进程占用。于是,也就没有任何一个进程能继续运行,这种情况称为死锁。

产生死锁的情况主要有:
进程推进顺序不当引起的死锁、同类资源分配不当、PV操作使用不当

死锁的预防方法:

打破互斥条件、打破不可抢占条件、打破占有且申请条件。(保证至少有1个进程获取足够的资源)

设m是资源数量,n是进程数量,w是每个进程需要的资源数量
不死锁公式: m>=n(w-1)+1 [ 资源数量>= 进程数量(每个进程需要的资源数量-1)+1]情况1:m=4,n=3,w=2,不死锁公式m>=n(w-1)+1 代入公式 4>=3(2-1)+1 结果 4>=4,不死锁情况2:m=4,n=3,w=3,不死锁公式m>=n(w-1)+1 代入公式 4>=3(3-1)+1 结果 4>=7,死锁!

六. 进程调度算法

先来先服务算法:进程按照进入就绪队列的顺序占用处理器的资源,
优先数算法:对每个进程设置一个优先数,优先数高的进程先使用处理器资源。
时间片轮转算法:进程使用一次处理器的最长时间称为“时间片”,队列中的进程按时间片轮流使用处理器资源。
分级算法:系统设置多个就绪队列,每个就绪队列中的进程按时间片轮流占用处理器资

七. 存储管理


八. 设备管理

 九. 文件管理

 十. 作业管理

进到内存之后被进程调度算法 

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

相关文章:

  • Kompas AI:智能生活的开启者
  • Java——二进制原码、反码和补码
  • git使用流程
  • C++设计模式|结构型 代理模式
  • C语言 带头双向循环链表的基本操作
  • MATLAB中扩展卡尔曼滤波误差估计的关键点
  • SpringBoot温习
  • Spring Cloud:构建高可用分布式系统的利器
  • IT技术 | 电脑蓝屏修复记录DRIVER_IRQL_NOT_LESS_OR_EQUAL
  • windows 下编译 TessRact+leptonica 识别图片文字
  • 如何把docker里的内容拷贝出来
  • OpenAI开始训练新的前沿模型——但GPT-5至少在90天内不会推出
  • 配置 HTTP 代理 (HTTP proxy)
  • mysql binlog查看指定数据库
  • React + SpringBoot开发用户中心管理系统
  • 移动机器人定位与导航实训记录
  • 彩灯控制器设计 74ls160+ne555实现
  • Windows API 速查
  • 智能名片小程序源码系统平台版 人人可创建属于自己的名片 前后端分离 带完整的源代码以及搭建教程
  • 香橙派OrangePI AiPro测评 【运行qt,编解码,xfreeRDP】
  • 重生之我要精通JAVA--第七周笔记
  • MySQL—函数—数值函数(基础)
  • fintuning chatglm3
  • 草台班子啊草台班子:共享电源导致的BUG(供电不足)
  • java递归计算文件夹和文件大小
  • 硬币检测电路设计
  • 3.基础光照
  • Image Search-这是你的图像搜索
  • 对GPT-4o的评价:技术革新与未来展望
  • 【TB作品】msp430f5529单片机,dht22,烟雾传感器