没有合适的资源?快使用搜索试试~ 我知道了~
18342075米家龙实验61
需积分: 0 0 下载量 94 浏览量
2022-08-03
12:43:48
上传
评论
收藏 1.71MB PDF 举报
温馨提示
试读
20页
1. 为进程创建一个新的 mm (调用 mm_create 函数) 2. 创建一个新的页表目录,并且让 mm->pgdir 指向该页表目录的内核虚拟地址 (调用
资源详情
资源评论
资源推荐
实验6
个人信息
数据科学与计算机学院
2018级 软工3班
18342075
米家龙
目录
实验6
个人信息
目录
实验名称
实验目的
实验要求
实验内容
实验环境
2. WSL
实验过程
练习0:填写已有实验
练习1:加载应用程序并执行
回答问题
练习2:父进程复制自己的内存空间给子进程
更新代码
1. alloc_proc 函数
2. do_fork 函数
3. idt_init 函数(位于 kern/trap/trap.c)中
4. trap_dispatch 函数(位于 kern/trap/trap.c)中
完善 copy_range 函数
简要设计“COW 机制”
练习3:阅读分析源代码
分析
1. fork 函数
2. exec 函数
3. wait 函数
4. exit 函数
回答问题
生命周期图
实验结果
实验总结
对比 ucore_lab 中提供的参考答案,描述区别
重要并且对应的知识点
实验中没有对应上的知识点
实验名称
实验6 用户进程管理
实验目的
了解第一个用户进程创建机制
了解系统调用框架的实现机制
了解ucore如何实现系统调用 sys_fork / sys_exec / sys_exit / sys_wait 来进行进程管理
实验要求
实验5(ucore lab4)完成了内核线程,但到目前为止,所有的运行都在内核态执行。
本实验6 (ucore lab5)将创建用户进程,让用户进程在用户态执行,且在需要 ucore 支持时,可通过系
统调用来让 ucore 提供服务。
为此需要构造出第一个用户进程,并通过系统调用 sys_fork / sys_exec / sys_exit / sys_wait 来
支持运行不同的应用程序,完成对用户进程的执行过程的基本管理。
实验内容
练习0:填写已有实验
练习1:加载应用程序并执行(需要编码)
练习2:父进程复制自己的内存空间给子进程(需要编码)
练习3:阅读分析源代码,理解进程执行 fork/exec/wait/exit 的 实现,以及系统调用的实现(不需要
编码)
实验环境
使用老师提供的 mooc-os-2015.vdi ,在虚拟机中创建 64 位的 Ubuntu 虚拟机并加载该 vdi ,获得了版
本为:
的虚拟机操作系统
并且使用 vscode 配合 Remote SSH 插件,实现通过远程终端在 windows 环境的对文件的编辑和运行
2. WSL
WSL 配置如下:
mijialong@LAPTOP-QTCGESHO:/mnt/d/ucore_os_lab/labcodes/lab5$ uname -a
Linux LAPTOP-QTCGESHO 4.4.0-19041-Microsoft #1-Microsoft Fri Dec 06 14:06:00 PST
2019 x86_64 x86_64 x86_64 GNU/Linux
1
2
kern/mm/pmm.c
kern/mm/vmm.c
kern/mm/swap_fifo.c
剩余19页未读,继续阅读
老光私享
- 粉丝: 83
- 资源: 255
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0