LRU缓存问题:https://leetcode.cn/problems/lru-cache/
LFU缓存问题:https://leetcode.cn/problems/lfu-cache/
刷上述两题时顺带复习一波OS调度算法,望着镜子中我那与智慧成反比的发量,我开心的笑了… 😃
进程调度算法
进程调度算法亦称CPU调度算法:进程的运行由CPU进行调度,当CPU处于空闲状态时,OS选择内存中某个就绪状态的进程,将其分配给CPU。
when?
CPU调度发生情况:进程发生状态切换。
非抢占式调度:当进程正在运行时,会一直处于运行状态,知道该进程运行完成或发生某种事件而使该进程被阻塞,才会把CPU让给其他进程。
- 进程从运行状态转到等待状态
- 进程从运行状态转到终止状态
抢占式调度:正在运行中的进程可被打断,使其CPU被其它进程抢占。
- 进程从运行状态转到就绪状态:时间片到的情况,当时间片到时就会发生中断,抢占正在运行进程的CPU。
- 进程从等待状态转到就绪状态:假设一个进程是处于等待状态的,但其优先级较高,如果该进程等待时间发生了,则其会转到就绪状态,一旦其转到就绪状态,如果调度算法是以优先级来进行调度的,那么它就会立即抢占正在运行的进程,故此时也会发生CPU调度。
抢占原则:时间片原则、