操作系统基础知识
用户态切换到内核态的方式?
1. 系统调用
2. 异常中断
3. 外设中断
并行与并发?
并行:两个或多个事件可以在同一时刻发生
并发:两个或多个事件可以在同一时间间隔发生
同步与异步?
同步与异步强调的是消息通信机制。
阻塞与非阻塞强调的是程序在等待调用结果时的状态。
进程五状态模型

进程调度
非抢占式调度
抢占式调度
1. 先来先服务算法
从就绪队列里按顺序调度。
2. 最短作业优先算法
预估进程所需剩余运行时间,时间短的先调度。
估算可能不准确。
3. 最高响应比优先算法
考虑执行时间,等待时间。
4. 时间片轮转算法
线程实现方式?
内核支持线程
由内核管理
应用线程和内核线程是一对一的关系
用户级线程
把整个线程实现部分放在用户空间中,内核对线程一无所知,内核看到的就是一个单线程进程。
特点:
由用户自行调度,内核无法干涉
多个应用线程对应一个内核线程
内核线程阻塞,所有线程无法运行
实现:
javascript的async yield等
组合方式线程
实现:
goland的GPM模型
python的线程模型

浙公网安备 33010602011771号