20135103王海宁 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一 关于进程的补充 进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根 ...
分类:
其他好文 时间:
2016-04-17 22:09:14
阅读次数:
149
原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1、理解进程上下文的切换机制,以及与中断上下文切换的关系 用户态进程它在用户的时候,它没法直接调用schedule(),因为schedule ...
分类:
系统相关 时间:
2016-04-17 22:05:26
阅读次数:
175
1理解进程调度时机跟踪分析进程调度与进程切换的过程: schedule()调用发生在中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(); 分析一个schedule()函数 ,验证您对Lin ...
分类:
系统相关 时间:
2016-04-17 20:41:48
阅读次数:
239
用户态:Ring3运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。 内核态:Ring0在处理器的存储保护中, ...
分类:
系统相关 时间:
2016-04-17 15:56:23
阅读次数:
216
一、进程切换的关键代码switch_to分析 1.进程进度与进程调度的时机分析 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(); 内核线程可以直接调用schedule()进行进程切换, ...
分类:
系统相关 时间:
2016-04-17 14:43:53
阅读次数:
255
资料来自网上,简单整理,答案后续总结
1、字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?
答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。
评:这只是其中一种方式,也叫手动创建设备文件。还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,...
分类:
系统相关 时间:
2016-04-17 13:21:18
阅读次数:
1188
20135118 罗鹏越 本周学习的是linux内核中的进程调度,之前我们在操作系统中有讲解进程调度的分类,以及一些调度算法。而linux中的进程调度有所不同,首先老师讲解了进程调度和进程调度的时机,所有的用户态进程都只能被调度,而内核线程可以主动调度,而进程调度的实现都是通过schedule函数, ...
分类:
系统相关 时间:
2016-04-17 11:43:16
阅读次数:
295
一、理论知识 Linux系统的一般执行过程 最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程 1. 正在运行的用户态进程X 2. 发生中断——save cs:eip/esp/eflags(current) to kernel stack, then load cs:eip(entry ...
分类:
其他好文 时间:
2016-04-17 09:01:02
阅读次数:
216
一 关于进程的补充 进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(); 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核 ...
分类:
系统相关 时间:
2016-04-16 21:37:21
阅读次数:
347
linux课程第八周实验及总结 实验及学习总结 1. 进程切换在内核中的实现 linux中进程切换是很常见的一个操作,而这个操作是在内核中实现的。 实现的时机有以下三个时机: 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_re ...
分类:
系统相关 时间:
2016-04-13 23:57:42
阅读次数:
627