操作系统基础知识

用户态切换到内核态的方式?

1. 系统调用

2. 异常中断

3. 外设中断

并行与并发?

并行:两个或多个事件可以在同一时刻发生

并发:两个或多个事件可以在同一时间间隔发生

同步与异步?

同步与异步强调的是消息通信机制。

阻塞与非阻塞强调的是程序在等待调用结果时的状态。

进程五状态模型

 

 

进程调度

非抢占式调度

抢占式调度

1. 先来先服务算法

  从就绪队列里按顺序调度。

2. 最短作业优先算法

  预估进程所需剩余运行时间,时间短的先调度。

  估算可能不准确。

3. 最高响应比优先算法

  考虑执行时间,等待时间。

4. 时间片轮转算法

线程实现方式?

内核支持线程

由内核管理

应用线程和内核线程是一对一的关系

用户级线程

把整个线程实现部分放在用户空间中,内核对线程一无所知,内核看到的就是一个单线程进程。

特点:

由用户自行调度,内核无法干涉

多个应用线程对应一个内核线程

内核线程阻塞,所有线程无法运行

实现:

javascript的async yield等

组合方式线程

实现:

goland的GPM模型

python的线程模型

 

posted @ 2021-06-14 11:41  wenjiajun  阅读(104)  评论(0)    收藏  举报