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

2025.10.18总结

今天继续学软考相关内容,看了操作系统一个章节进程管理的内容。
操作系统的定义:操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的划分,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件
操作系统的功能和目标:
1.作为系统资源的管理者
2.向上层提供方便易用的服务
3.作为最接近硬件的层次

操作系统的特征:
1.并发
2.共享
3.虚拟
4.异步

进程管理-状态转换图
1、进程正在被创建时,它的状态是“创建态”,在这个阶段操作系统会未进程分配资源、初始化PCB
2、当进程创建完成后,便进入就绪态,处于就绪态的进程已经具备运行条件,但由于没有空间CPU,就暂时不能运行。
3、如果一个进程此时就在CPU伤运行,那么这个进程处于运行态,CPU会执行该进程对应的程序(执行指令序列)。
4、在进程运行的过程中,可能会请求等待某个事件的发生(如等待某种系统资源的分配,或者等待其他进程的响应)。在这个事件发生之前,进程无法继续往下执行,此时操作系统就会让这个进程下CPU,并让它进入阻塞态,当CPU空闲时,又会选择另一个就绪态 进程上CPU运行
5、一个进程可以执行exit系统调用,请求操作系统终止该进程。此时该进程会进入 终止态,操作系统会让该进程下CPU回收内容空间等资源,最后还要回收该进程的PCB。当终止进程的工作完成之后,这个进程就彻底消失了
进程管理 前驱图
进程管理-进程同步机制
进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进

同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作。

进程管理-进程互斥机制
进程的并发需要共享的支持。各个并发执行的进程不可避免的需要共享一些系统资源(比如内存,又比如打印机、摄像头这样的额I/O设备)
我们把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(比如摄像头、打印机)属于临界资源。此外还有许多变量、数据、内存缓冲区等都属于临界资源。
对临界资源的访问,必须互斥地进行。互斥,亦称间接制约关系。进程互斥指当一个进程访问某临界资源时,另一个想要访问该临界资源地进程必须等待。当前访问临界资源地进程访问结束,释放资源之后,另一个进程才能去访问临界资源,

进程管理-信号量机制
用户进程可以通过使用操作系统提供一对原语来对信号量进行操作,从而很方便地实现了进程互斥、进程同步。
信号量其实就是一个变量(可以是一个整数,也可以是更复杂地记录型变量),可以用一个信号量来表示系统中某种资源地数量,比如:系统中只有一台打印机,就可以设置一个初值为1地信号量。
原语:是一种特殊地程序段,其执行只能一气呵成,不可被中断。原语是由关中断/开中断指令实现地。软件解决方案地主要问题是由 进入区地各种操作无法一气呵成,因此如果能把进入区、退出区地操作都用原语实现,使这些操作能 一气呵成 就能避免问题
一对原语 :wait(S)原语和signal(S)原语,可以把原语理解为我们自己写地函数,函数名分别为wait和signal,括号里地信号量S其实就是函数调用时传入地一个参数。
wait signal 原语常简称为P、V操作。因此,做题地时候常把wait(S)、signal(S)两个操作分别写为P(S)、V(S)
信号量机制
1.实现进程互斥
2.实现进程同步
3.实现进程地前驱关系
不要一头钻到代码里,要注意理解信号量背后地含义:一个信号量对应一种资源信号量地值等于这种资源地剩余数量
P(S) 申请一个资源S,如果资源不够就阻塞等待,即S-1
V(S) 释放一个资源S,如果有进程在等待该资源,则唤醒1一个进程,即S+1.

进程管理-PV操作进程管理-什么是死锁进程管理——死锁产生的必要条件产生死锁必须同时满足以下四个条件,只要其中任一条件不成交,死锁就不会发生:1、互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁(如哲学家的筷子、打印机设备)。像内存、扬声器这样可以同时让多个进程使用的资源是不会导致死锁的(因为进程不用阻塞等待这种资源)。2、不剥夺条件:进程所获得的资源在未使用完之前,不能由其他进程强行夺走,只能主动释放3、请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其他进程占有,此时请求进程被阻塞,但又对自己已有的资源保持不放。4、循环等待条件:存在一种进程资源的循环等待链,链中的每一个进程已获得的资源同时被下一个进程所请求。进程管理——死锁的额处理策略1.预防死锁:破坏死锁产生的四个必要条件中的一个或几个。2.避免死锁:用某种方法防止系统进入不安全状态,从而避免死锁(银行家算法)。3.死锁的额检测和解除。允许死锁的发生,不过1系统会负责检测出死锁的发生,然后采取某种措施解除死锁。进程管理——银行家算法安全序列:就是指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后,可能所有进程都无法顺利的执行下去。如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态就没有安全序列,不安全状态未必就是发生了死锁,但发生死锁时一定是在不安全状态。因此可以在资源分配之前预先判断这次分配是否会导致系统进入不安全状态,以此觉得是否答应资源分配请求。这也是 银行家算法 的核心思想。
http://www.rkmt.cn/news/23854.html

相关文章:

  • 第七章 常见攻击事件分析--钓鱼邮件
  • 10月18日日记
  • 第五章 linux实战-黑链
  • AI元人文:价值原语化——在创新与传承间搭建文明桥梁
  • 线段树历史值学习笔记
  • 周六训练-1018
  • (第五次)随机森林和xGboost
  • swtich的应用
  • P14253 旅行(trip)题解 - 符星珞
  • 因式分解
  • 20251018 杂题 总结
  • 【做题记录】P9753 [CSP-S 2023] 消消乐
  • 南京icpc-c题:
  • 学生信息管理系统(DAO模式重构)项目报告
  • 开源嵌入模型对比:让你的RAG检索又快又准
  • 智慧城市基础设施漏洞分析与国家安全影响
  • 实用指南:【读书笔记】《苏东坡》
  • 10.18 CSP-S模拟34/2025多校CSP模拟赛6 改题记录
  • 做题技巧与结论证明
  • 卡车厂实习第三天
  • 『普及』浅谈图的基础
  • ozon定制尺寸和重量
  • CF 359D. Pair of Numbers
  • 2025多校CSP模拟赛6
  • Java基础——类型转换,变量、常亮、作用域,基本运算符
  • 洛谷 LGR-246 S 模拟赛
  • godot3D节点本身的偏转数值错误竟会导致空间移动穿模??!
  • Kafka面试精讲 Day 24:Spring Kafka构建实战
  • 重新安装trea cn