检查之前

运行程序前同样请同学们先检查镜像的MD5值,确保镜像没有被修改,命令如下:

macOS/Linux

md5sum lab2.img

Windows

certutil -hashfile lab2.img MD5
正确的值是:

43eeafb0f344a58737924394b9b676f6

实验部分

目录结构

.

|__NJU

| |__CS

| | |__TEST.TXT

| |__SOFT

| |__OS

| |__HELLO.TXT

|__OTHERS

​ |__NEWS.TXT

ls

1
> ls

ls -l

1
2
3
4
5
> ls -l /NJU
# 下面任选一个运行
> ls -llll
> ls /NJU -l
> ls -l -ll /NJU

cat

1
> cat /OTHERS/NEWS.TXT

错误提示

1
2
3
4
5
6
# 不支持的命令参数
> ls -a -b
# 输入路径不存在
> ls /NJU/B
# 指定路径不是普通文件
> cat /NJU/CS

相对路径

1
2
> ls /NJU/CS/../../../..
> ls /NJU/A/..

其他

  • 解释一下输出方式

  • 读取镜像二进制内容

实验问题

Click the button to see a random number

ppt

  1. 什么是实模式,什么是保护模式?

  2. 什么是选择子?

  3. 什么是描述符?

  4. 什么是GDT,什么是LDT?

  5. 请分别说明GDTR和LDTR的结构。

  6. 请说明GDT直接查找物理地址的具体步骤。

  7. 请说明通过LDT查找物理地址的具体步骤。

  8. 根目录区大小一定么?扇区号是多少?为什么?

  9. 数据区第一个簇号是多少?为什么?

  10. FAT表的作用?11. 解释静态链接的过程。

  11. 解释动态链接的过程。

  12. 静态链接相关PPT中为什么使用ld链接⽽不是gcc?

  13. linux下可执行文件的虚拟地址空间默认从哪里开始分配

Click the button to see a random number

实验相关

  1. BPB指定字段的含义。

  2. 如何进⼊子目录并输出(说明方法调用)。

  3. 如何获得指定文件的内容,即如何获得数据区的内容(比如使用指针等)。

  4. 如何进行C代码和汇编之间的参数传递和返回值传递。

  5. 汇编代码中对I/O的处理方式,说明指定寄存器所存值的含义