⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 linux内核学习笔记 希望想看的人可以很快下载到
💻
字号:
any problems, send mails to sindybear@163.com


相关文件
		


进程的调度只会发生在从系统空间返回到用户空间这中情况下。
也就是例如一个用户进程调用了系统调用,调用完毕返回用户空间的时候会进行检查是否需要调度。
或者进程执行的过程中发生了中断,任何中断,包括时钟中断,当中断完成的时候返回用户空间的时候
就会进行调度检察,如果需要进行调度就进行进程调度,所以,如果一个进程没有调用系统调用,也没有
被其它的中断所打扰,它至少会被时钟中断在一定时间上打断,减少它的运行jiffies.返回的时候进行进程调度
从而实现了分时性。


操作系统中又可剥夺与不可剥夺两种。可剥夺性是指当进程运行的状态下,内核可以将它的运行权剥夺下来,
linux的用户态运行的程序就处于可剥夺状态,但是如果这个进程进入一个系统调用的时候,即使它应该被
剥夺运行状态,比如说时间到了等,但是内核这个时候没有权利剥夺它的运行权力了,只有等到它从系统调用
中返回用户空间的时候,内核才有进会将这个进程的运行权利剥夺了。这又是一种不可剥夺性。

也正是因为这种不可剥夺性,是的linux系统本身不适合作为一个RTOS的基础。当然还有别的原因。


######
这里有一个很重要的原则,不能在中断中进行调度。这已经是反复讲过的,一个中断总的来讲是要保持
原子性的。
**声明一点:当一个中断发生的时候,并不代表立刻进入了中断服务程序,这里的中断不可调度主要是说在
中断服务程序中不可进行调度。
**如果再中断中需要进行调度,就需要设置current->need_resched = 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -