Loading

操作系统计组基础知识

操作系统基础知识

进程与线程

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

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

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

线程与协程

协程是运行在线程上的,单个时间只能有一个协程运行,它的调度由用户控制,用户手动发起协程,并且手动释放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 @ 2021-12-18 18:09  _FeiFei  阅读(60)  评论(0编辑  收藏  举报