头歌操作系统 课堂练习3.1:进程的描述与状态 答案

您所在的位置:网站首页 头歌educoder操作系统答案 头歌操作系统 课堂练习3.1:进程的描述与状态 答案

头歌操作系统 课堂练习3.1:进程的描述与状态 答案

2024-04-18 09:43| 来源: 网络整理| 查看: 265

第1关:任务寄存器(TR)的分析 编程要求

根据相关知识,回答问题:(将答案填写在/data/workspace/myshixun/第一关.txt中)

1 号进程的任务状态段(TSS)的地址是多少?1 号进程的核心栈栈底的位置是多少?

1 号进程运行时,任务寄存器(TR)的值是多少?它指向的任务状态段描述符的值是多少?该描述符里记录的任务状态段起始地址是多少?

先配置版本内核1

cp /data/workspace/myshixun/exp1/1.tgz ~/os/ cd ~/os/linux-0.11-lab/ tar -zxvf ../1.tgz rm -rf cur ln -s 1 cur cd 1/linux make cd ../..

启动虚拟机

./rungdb ./mygdb

在gdb调试器:

b task1 c p *current p/x current->tss p ¤t->tss quit

启动dbg调试器:

./rundbg

在dbg调试器中输入:

b 0x7985 c sreg x/14wx 0x5cc0

扫描二维码关注公众号,回复: 15102343 查看本文章

第2关:1 号进程的状态变化 编程要求

根据相关知识,回答问题:(将答案填写在/data/workspace/myshixun/第二关.txt中)1 号进程第一次由睡眠态变为就绪态时:

系统处于几号进程的上下文(或者说,当前进程是几号进程)?

内核的函数调用栈中的底层函数是什么?内核处于哪种控制流(选择:系统调用、中断、异常)?

后续回到用户态时,恢复点的位置是什么?以前的断点位置是什么?

该版本内核使用与第一关相同的版本1内核,详细环境配置操作请移步本文章第一关~

在gdb调试器中:

b sys_pause if current->pid==1 b sched.c:120 if p->pid ==1 c display current->state n c p p->pid p p->state bt disable finish list finish x/3i $eip si si x/28i $eip b *0x77dd c si disassemble info registers quit



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3