OS-Lab0笔记

Posted by BUAADreamer on 2021-03-10
Words 485 and Reading Time 2 Minutes
Viewed Times

OS课程Lab0学习笔记

基础操作·

命令行·

命令格式:命令名 [选项] [参数]

Linux命令在系统中有两种类型:内置Shell(外壳)命令Linux命令

1
rm -rf #删除所有文件

OS常用命令·

1
2
find ./ test.md 	#查找文件
grep -r printf ./ #查找函数变量。。

vim常用命令·

撤销重做:u Ctrl+r

复制粘贴:y p

剪切:d

查找某个单词:/word 有多个则按n/N移到上一个或者下一个

查看某一行代码::n

永久配置vim:在~/.vimrc文件中进行配置

1
2
3
4
set nu
set mouse=a
set tabstop=2
set tags=~/19373573-lab/tags

Ctags使用·

配置·
  1. 首先,在项目根目录(例如 19373573-lab)下面建立索引,即在根目录下敲:ctags -R *
  2. 在 vim 配置文件 .vimrc 里面加上这句话,告诉 vim 我们 tags 文件的位置:set tags=~/19373573-lab/tags
使用·
  • 光标放在某函数/变量上,Ctrl+N或者Ctrl+P进行代码补全。Ctrl+]进入代码的定义位置,Ctrl+T返回。

  • 同时,Ctrl+W+]可以在新窗口打开其他代码。Ctrl+W K/Ctrl+W J在窗口间移动 :q退出窗口

git·

1
2
3
4
#回退版本时常用
git reset hashid --hard
git checkout .
git add . && git commit -m "1" && git push --force

运行小操作系统·

1
2
/OSLAB/gxemul -E testmips -C R3000 -M 64 gxemul/vmlinux #直接运行
/OSLAB/gxemul -E testmips -C R3000 -M 64 -V gxemul/vmlinux #调试

由于OS实验经常需要使用gexmul模拟器,所以我直接写了一个test脚本封装这个指令,如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash 
if [$1 = ''];then
/OSLAB/gxemul -E testmips -C R3000 -M 64 gxemul/vmlinux
else
/OSLAB/gxemul -E testmips -C R3000 -M 64 -V gxemul/vmlinux
fi
#breakpoint add addr (addr-->usually function name)
#continue (continue execute to next breakpoint)
#step n (execute n steps asm code)
#lookup name|addr
#dump addr
#help (get cmd help)
#quit

再给它加上权限chmod +x test

就可以使用./test 直接运行操作系统

加一个任意的参数比如./test 1则进入调试模式