操作系统

并发与并行

并发强调多个任务同时存在
并行强调多个任务同时执行
并行是并发的子集

操作系统的基本功能

  • 文件管理
  • 进程管理
  • 内存管理
  • 设备管理

进程与线程

进程

进程是资源分配的最小单位,由进程控制块PCB保存进程相关信息

线程

线程是调度的最小单位,一个进程可以有多个线程,同一个进程的多个线程共享进程资源

进程与线程的区别

  • 进程是资源分配的单位,线程不用有资源
  • 线程是独立调度的基本单位,同进程的线程切换不会引起进程切换,不同进程的线程切换会引起进程切换
  • 进程开销大,线程开销小
  • 线程间通信通过共享数据,进程间通信通过IPC

进程调度算法

  • 先来先服务FCFS
  • 短作业优先SJF
  • 时间片轮转
  • 多级队列
  • 多级反馈队列

进程同步

进程通信

  • 管道
  • 共享存储
  • 消息队列
  • 信号量
  • 套接字

死锁

必要条件

  • 互斥
  • 不可抢占
  • 占有等待
  • 环路

如何避免死锁

银行家算法
思想:判断此次请求是否会造成死锁,如果是则拒绝请求,否则允许

内存

分页

页面置换算法

  • 最佳OPT:置换最不可能被使用的页面,理想算法
  • 最近最少使用LRU:维护页面链表
  • 最近未使用NRU:为每个页面设置读标记R和写标记M,每次替换使用程度最轻的页面
  • 先进先出FIFO:
  • 第二次机会:页面链表,访问位,改良FIFO,最老的页面被访问过,则将其访问位清零并移到链表尾
  • 时钟算法:将链表改为环形链表
posted @ 2019-02-19 15:04  darknessplus  阅读(157)  评论(0编辑  收藏  举报