操作系统计组基础知识

操作系统基础知识#

进程与线程#

进程是资源分配的基本单位,线程是调度的基本单位

一个程序至少有一个进程,一个进程至少有一个线程,线程是进程的子单位

线程间信息共享和通讯比较方便,不需要资源的切换

线程与协程#

协程是运行在线程上的,单个时间只能有一个协程运行,它的调度由用户控制,用户手动发起协程,并且手动释放CPU使用权(yield)。调用协程不需要切换到内核态,因此效率高

死锁#

死锁的四个必要条件

  • 互斥条件:指资源同一时间只能被一个线程所使用
  • 请求和保持条件:线程在申请资源的同时,不愿放弃自己手头已有的资源
  • 不可剥夺条件:资源只能由线程自己释放,不可被它人剥夺
  • 循环等待条件:线程之间A等B,B等A的循环等待链

防止死锁#

  • 破坏死锁的四个必要条件之一
  • 利用算法实现资源分配(银行家算法:在分配之前计算有没有可能陷入死锁情况,有则拒绝分配)
  • 由操作系统干预,抢占资源或终止线程

虚拟内存#

虚拟内存是基于分页式存储管理机制的。在进程执行的时候并不会把所有的页都放入内存中,而是把一部分页映射到内存中,剩余部分仍储存于外存,当引用到内存中不存在的页的时候,会产生缺页中断,此时再从外存中把页调用进来

把页调用进来后有三种页面置换算法

  • 最佳置换算法(OPT):最理想的情况,但是需要预知未来页面的使用情况,不可能实现
  • 先进先出(FIFO):先被置换进来的页面最先被置换出去
  • 最近最久未使用(LRU):记录页面上一次以来访问经历的时间,找出最久未使用的

内存碎片#

固定分区分配会产生内部内存碎片;动态分区分配会产生外部碎片

计组基础知识#

Cached#

由于CPU寄存器的计算速度非常快,相比之下将数据从主存读入CPU的速度将会慢很多。因此为了提高CPU的效率,引入高速的Cached。CPU从Cached中读取数数据,计算后放回Cached中

一般的CPU有三级Cached,越靠近CPU的Cached速度越快,大小越小,价格越贵

Cache的基本原理

提升Cached的命中率#

如何提升CPU的缓存命中率?

posted @   _FeiFei  阅读(64)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示
主题色彩