linux 2.4时候 什么情况下会发生调度
时间: 2024-04-24 20:22:04 浏览: 24
在 Linux 2.4 内核中,进程调度通常发生在以下三种情况下:
1. 当前进程放弃 CPU 时间。这种情况通常发生在当前进程主动调用 sleep() 等函数让出 CPU 时间,或者在执行完当前时间片后,进程需要等待 I/O 操作等事件的发生。
2. 当前进程被阻塞。这种情况通常发生在当前进程需要等待 I/O 操作或其他事件的发生,进入睡眠状态,并将 CPU 时间分配给其他进程。当 I/O 操作完成或者事件发生时,操作系统会将进程唤醒,并将其重新放入就绪队列中等待调度。
3. 一个新的进程加入到就绪队列中。这种情况通常发生在新的进程被创建并加入到就绪队列中,此时调度器会选择下一个将要运行的进程,并将 CPU 时间分配给该进程。
需要注意的是,在 Linux 2.4 中,调度器是非抢占式的,也就是说,当一个进程正在执行时,只有在进程主动放弃 CPU 时间或进程阻塞时才会将 CPU 时间分配给其他进程。因此,在 Linux 2.4 中,进程的调度通常是由进程自身控制的。
相关问题
在什么情况下会发生缺页?发生缺页后操作系统应该做什么?
缺页是指当程序需要访问的页面不在内存中时,发生的一种事件。具体来说,当程序访问一个页面时,如果该页面在内存中,则直接访问即可;如果该页面不在内存中,则会发生缺页中断,并由操作系统负责将该页面从磁盘中调入内存,以满足程序对该页面的访问需求。
发生缺页后,操作系统会首先检查该页面是否已经在内存中,如果已经在内存中,则直接访问;如果不在内存中,则会进行页面调度,将该页面从磁盘中调入内存,并更新页表等数据结构,以便程序可以继续访问该页面。如果内存中的页面已经达到了极限,操作系统可能需要进行页面置换,将一些不常用的页面替换出去,以便为新的页面腾出空间。
操作系统什么情况下会死锁
操作系统在多进程并发执行的情况下,会出现死锁的情况。死锁是指两个或多个进程相互等待对方释放资源而陷入无限等待的状态,从而导致系统无法正常运行。
具体来说,操作系统在以下情况下会出现死锁:
1. 资源竞争:多个进程同时请求共享资源,但这些资源只能被一个进程占用,当它们相互等待对方释放资源时,就会陷入死锁状态。
2. 进程间通信:多个进程之间需要通过信号量、消息队列等方式进行通信,但如果通信过程中出现意外情况(如阻塞、中断等),就可能导致死锁。
3. 循环等待:多个进程之间形成了一个循环等待的环路,每个进程都在等待下一个进程释放资源,从而导致系统陷入死锁状态。
为了避免死锁的发生,操作系统通常采用一些预防和避免策略,如资源分配策略、进程调度策略、剥夺策略等,以尽可能地减少死锁的风险。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)