XV6-RISCV多核启动及ls命令内容简述
多核启动
使用make qemu
命令启动xv6是单核启动,如果要使用多个CPU,需要使用以下命令启动,其中 -smp n
为设置核心个数的选项,n
为要启动的核心个数。
qemu-system-riscv64 -machine virt -bios none -kernel kernel/kernel -m 128M -smp 4 -nographic -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0
在该命令中n
设置为4,就是启动了4个CPU核心,具体如下。
ls命令内容简述
在xv6中使用ls
命令,会陈列出所有可执行程序,即命令语句,如下
形如“cat 2 4 24048”的输出告诉我们,根目录下的文件cat在硬盘上占用了24048字节的空间,其i节点号为4,文件类型为2,即普通的文件(不是目录,也不是设备文件)。
“. 1 1 1024”告诉我们,当前所处的目录也是个文件,其文件类型为1,在XV6中,这代表着一个目录,其i节点号为1,共占用1024字节硬盘空间。
“console 3 27 0”则告诉我们文件console所占的硬盘空间为0,这是一个类型为3的文件,即设备文件,其i结点号为18。文件console即所谓的“控制台”,对应的物理实体是键盘和显示器,对该console文件的读操作,相当于是读取从键盘输入的字符,对console文件的写操作,则是在屏幕上显示字符。
文件的类型总共只有三种,分别为:
编号 | 类型 |
---|---|
1 | $目录文件 |
2 | $普通文件 |
3 | $设备文件 |