2020-2021-1 20209315《Linux内核原理与分析》第七周作业

作业信息

这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)>
这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第七周作业>
这个作业的目标 <进程的描述和进程的创建>
作业正文 <本博客链接>

进程的描述与进程的创建

操作系统内核实现操作系统的三大管理功能

  • 进程管理
  • 内存管理
  • 文件系统

进程的三种状态

  • 就绪态
  • 运行态
  • 阻塞状态
    三种状态的转换如下所示:

给Menu OS添加fork指令

具体指令如下

cd ~/LinuxKernel
rm menu -rf
git clone https://github.com/mengning/menu.git
cd menu 
mv test_fork.c test.c
make rootfs

在Menu OS中输入fork可以看到新增了fork指令

启动gdb跟踪调试内核程序

输入如下指令:

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

重新打开一个shell输入如下指令:

gdb
file linux-3.18.6/vmlinux
target remote:1234

在程序中添加断点

b sys_clone
b do_fork
b dup_task_struct
b copy_process
b copy_thread
b ret_from_fork

info break指令查看设置的断点

运行内核程序,跟踪设置的几个断点

posted @ 2020-11-21 23:26  20209315  阅读(87)  评论(0编辑  收藏  举报