![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 89
怠惰的金枪小鱼干
这个作者很懒,什么都没留下…
展开
-
【哈工大操作系统】五、基于内核栈切换的进程切换
基于内核栈切换的进程切换概述实现switch_to汇编附注释掉原本的switch_to宏函数在PCB结构体中添加内核栈指针修改switch_to的调用方法修改子进程内核栈的初始化参考 概述 概述:现在的 Linux 0.11 采用 TSS(后面会有详细论述)和一条指令就能完成任务切换,虽然简单,但这指令的执行时间却很长,在实现任务切换时大概需要 200 多个时钟周期。 而通过堆栈实现任务切换可能要更快,而且采用堆栈的切换还可以使用指令流水的并行优化技术,同时又使得 CPU 的设计变得简单。所以无论是 Li原创 2021-07-01 15:58:16 · 214 阅读 · 0 评论 -
【哈工大操作系统】四、进程运行轨迹的跟踪与统计
进程运行轨迹的跟踪与统计概述编写多进程样本添加log文件描述符添加fprintk()函数寻找状态切换点fork.c中添加新建和就绪sched.c中添加就绪、等待和运行exit.c中添加退出修改时间片时间片轮转法——基本原理时间片大小的影响修改sched.h中的时间片参考 概述 概述:进程从创建(Linux下调用fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以后会切换到运行态;在运行的过程中如果启动了一原创 2021-06-12 11:40:26 · 524 阅读 · 1 评论