社区
rocflytosky_2
作业
帖子详情
《Linux内核原理与分析》第九周作业
rocflytosky
2022-11-09 10:16:38
完成《
Linux内核原理与分析
》第九周作业。
...全文
374
回复
打赏
收藏
《Linux内核原理与分析》第九周作业
完成《Linux内核原理与分析》第九周作业。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
0人已提交
完成率0%
提交任务
暂无数据
暂无数据
提交任务
修改积分
请选择导出文件
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
2024-2025-1 20232816《
Linux
内核
原理
与
分析
》
第九
周
作业
pushfl\n\t” //保存当前进程flags“pushl %%ebp\n\t” //当前进程堆栈基址压栈“movl %%esp,%[prev_sp]\n\t” //保存ESP,将当前堆栈栈顶保存起来“movl %[next_sp],%%esp\n\t” //更新ESP,将下一栈顶保存到ESP中// 完成
内核
堆栈的切换“movl $1f,%[prev_ip]\n\t” //保存当前进程的EIP。
2024-2025-1 20242805《
Linux
内核
原理
与
分析
》
第九
周
作业
在
Linux
系统中,进程调度的时机:进程完成:当一个进程执行完毕并退出时,它会释放其占用的资源,包括CPU时间,这时调度器需要选择一个新的进程来运行。阻塞:如果一个进程因为等待I/O操作、获取信号量、锁定等事件而无法继续执行,它会进入阻塞状态,调度器会将其从CPU上移除,并选择另一个就绪状态的进程来执行。唤醒:当一个阻塞的进程被唤醒(例如,I/O操作完成或信号量可用),它会从阻塞状态变为就绪状态,调度器可能需要将其调度到CPU上。时间片耗尽:在抢占式调度中,每个进程被分配一个时间片。
【无标题】20242803《
Linux
内核
原理
与
分析
》
第九
周
作业
schedule 负责整个调度决策的逻辑,context_switch 则负责实际的任务切换过程,而 pick_next_task 用于选择下一个要执行的任务。在调度器的上下文中,它根据一定的调度算法从可运行任务队列中选择一个合适的任务。pick_next_task 函数返回所选择的任务的指针,该任务将成为下一个要执行的任务。它负责选择下一个要执行的任务,并切换到该任务的上下文。调用 schedule 函数会触发一系列的调度决策,包括选择下一个任务、保存当前任务的上下文以及加载新任务的上下文。
20242811《
Linux
内核
原理
与
分析
》
第九
周
作业
进程调度是指操作系统根据一定的算法和策略,决定哪个进程占用 CPU 进行执行的过程。
20242807《
Linux
内核
原理
与
分析
》
第九
周
作业
进程调度是指操作系统如何选择一个进程来运行的过程。操作系统通常会为每个进程分配 CPU 时间,并且有多种调度算法来决定哪个进程在何时获得 CPU 使用权。进程的状态变化:如进程从就绪队列转到运行状态,或者从阻塞状态变为就绪状态。时间片耗尽:每个进程在时间片内执行完毕后,会被抢占或自愿让出 CPU,触发调度。I/O 操作完成:当一个进程的 I/O 操作完成时,可能需要调度它继续执行。在
Linux
内核
中,schedule() 函数是进程调度的核心函数,它负责选择下一个需要执行的进程。
rocflytosky_2
27
社区成员
13
社区内容
发帖
与我相关
我的任务
rocflytosky_2
复制链接
扫一扫
分享
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章