操作系统第二次实验问题清单

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

实模式就是用基地址+偏移量就可以拿到物理地址的模式

保护模式就是不能直接拿到物理地址的模式

2. 什么是选择子

  • 选择子共16位,放在段选择寄存器里
  • 低2位表示请求特权级
  • 第三位表示选择GDT方式还是LDT方式
  • 高13位标识在描述符表中的偏移

3. 什么是描述符

保护模式下引入描述符来描述各种数据段,所有描述符均为8个子节(0-7),由第5个子节说明描述符的类型。类型不同,描述符的结构也有所不同。

4. 什么是GDT,什么是LDT

GDT

全局描述符表,是全局唯一的。存放一些公用的描述符和包含各进程局部描述符表首地址的描述符

LDT

局部描述符表,每个进程可以有一个。存放本进程使用的描述符。

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

GDTR

48位寄存器,高32位放置GDT首地址,低16位放置GDT限长(限长决定了可寻址的大小,注意低16位放的不是选择子)

LDTR

16位寄存器,放置一个特殊的选择子,用于查找当前进程的LDT首地址

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

  • 给出段选择子+偏移量
  • 若选择了GDT方式,则从GDTR获取GDT首地址,用段选择子中的13位做偏移,拿到GDT中的描述符
  • 如果合法且有权限,用描述符中的段首地址加上(1)中的偏移量找到物理地址。

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

  • 给出段选择子+偏移量
  • 若选择了LDT方式,则从GDTR获取GDT首地址,用LDTR中的偏移量做偏移,拿到GDT中的描述符1
  • 从描述符1中获取LDT首地址,用段选择子中的13位做偏移,拿到LDT中的描述符2
  • 如果合法且有权限,用描述符2中的段首地址加上(1)中的偏移量找到物理地址。

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

不一定,1+9+9=19(fat12),因为长文件名需要追加LFN项

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

2号。因为FAT表前三个字节为0xf0, 0xff, 0xff,一个簇用12位表示,所以前三个固定字节占去了2个簇号,因此数据区的第一个簇号是2号。

10. FAT表的作用

FAT文件分配表被划分为紧密排列的若干个表项,每个表项都与数据区中的一个簇相对应,而且表项的序号也是与簇号一一对应的。

11. 解释静态链接的过程

静态链接是指在编译阶段直接把静态库加入到可执行文件中去,这样可执行文件会比较大。

  1. 空间与地址分配
  2. 符号解析和重定位

12. 解释动态链接的过程

动态链接是指链接阶段仅仅只加入一些描述信息,而程序执行时再从系统中把相应动态库加载到内存中去。

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

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

15. BPB指定字段的含义

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

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

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

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值