标签:time 浅析 结束 文件的 设置 平台 实验 span 最简
把当前栈的寄存器内容等,压到另外一个叫“内核栈”的栈里面去
把EIP指向一个叫做中断处理程序的入口,做保护现场的工作;然后执行中断处理程序;
mykernel:模拟了时钟中断——只有一个程序,隔一段时间就中断一次
在此基础上实现了一个极小的 基于时间片轮转的多进程调度 内核
系统调用是一种特殊的中断,存在保护现场和恢复现场的问题
SAVE_ALL
sys_call_table:系统调用表
操作系统内核三大功能:
进程管理
内存管理
文件系统
task_struct 400多行代码。。。
1、R 暂停与跟踪状态还是有区别的,被跟踪状态相当于在暂停状态之上多了一层保护,处于被跟踪状态的进程不能响应SIGCONT信号而被唤醒,只能等到调试进程通过ptrace系统调用执行ptrace_cont、ptrace_detach等操作(通过ptrace系统调用的参数指定操作),或调试进程退出,被调试的进程才能恢复到R状态。 |
|
所有的进程用 list_head *tasks 链表保存
mm:物理地址、逻辑地址转换 ... MMU 内存管理单元 ...
每个进程有自己独立的进程地址空间, x86 32位,4G
进程地址空间 -> 分段 -> 分页,转换为物理地址 ...
struct mm_struct *mm, *active_mm;
vm_area_struct *vmacache ...
thread_struct:
标签:time 浅析 结束 文件的 设置 平台 实验 span 最简
原文地址:https://www.cnblogs.com/cx2016/p/13090377.html