Skip to content

Commit

Permalink
-
Browse files Browse the repository at this point in the history
  • Loading branch information
kinoxyz1 committed Oct 22, 2024
1 parent 4a0f3d4 commit b3dd269
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions note/linux/linux优化/CPU性能.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,24 @@ $ man uptime
```
# 二、上下文切换
上下文切换是对任务当前运行状态的暂存和恢复.
当多个进程竞争CPU的时候,CPU为了保证每个进程能公平被调度运行,采取了处理任务时间分片的机制,轮流处理多个进程,由于CPU处理速度非常快,在人类的感官上认为是并行处理,实际是""并行,同一时间只有一个任务在运行处理。
根据 Tsuna 的测试报告,每次上下文切换都需要几十纳秒到到微秒的CPU时间,这些时间对CPU来说,就好比人类对1分钟或10分钟的感觉概念。在分秒必争的计算机处理环境下,浪费太多时间在切换上,只能会降低真正处理任务的时间,表象上导致延时、排队、卡顿现象发生。
进程上下文切换、线程上下文切换、中断上下文切换
系统调用、进程状态转换(运行、就绪、阻塞)、时间片耗尽、系统资源不足、sleep、优先级调度、硬件中断等
线程是调度的基本单位,进程是资源拥有的基本单位,同属一个进程的线程,发生上下文切换,只切换线程的私有数据,共享数据不变,因此速度非常快。
举例:
1. 银行分配各个窗口给来办理业务的人
2. 如果只有1个窗口开放(系统资源不足),大部分都得等
3. 如果正在办理业务的突然说自己不办了(sleep),那他就去旁边再想想(等)
4. 如果突然来了个VIP客户,可以强行插队
5. 如果突然断电了(中断),都得等。。
# 三、不可中断
Expand Down

0 comments on commit b3dd269

Please sign in to comment.