OS基础总结

要想顺利启动系统,bootsect.s必须让在磁盘的固定位置上,这个工作是由谁完成的?

答:makefile控制软件合成结构(位置),文件的位置固然也是
gcc应该是完成c语言compile的命令
ld 用于将目标文件与库链接为可执行程序或库文件。
对于一些makefile一般都是先gcc后ld

启动保护模式以后,指令jmpi 0, 8执行和没有启动保护模式有何区别?

答:得出跳转地址的方式不同
实模式:cs<<4 + ip
保护模式:cs查表 + ip

下面哪项工作不是操作系统启动要完成的工作?

答:检查硬件设备是否正常(这是引导扇区BIOS的六项工作之一)

setup:获取硬件参数、读入操作系统内核、初始化LDT表

mem_init就是初始化一个数组,下面哪个论述不对?

答:mem_init调用之前可以不获得物理内存的大小。(不行哦,必须知道内存大小)

mem_init工作:如果某个数组项中的内容为0,则表示对应的那一段内存空闲;初始化时将所有数组项中的内容都设置为0;数组中的每个项用来表示内存中一段固定大小的内存

鼓励操作系统实现POSIX接口的真正目的是什么?

答: 可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX )
软件可移植性是指软件不仅可以在当前操作系统运用还可以在其他操作系统使用的一个特性,软件移植可以实现很多软件的跨平台使用

Windows的系统接口和Linux接口的不一样导致了什么样的结果?

答:Windows上的程序不能在Linux上运行
但文件可以传输、打开;同时一台机器可以利用虚拟机有两套os

在Linux上添加一个系统调用foo()的步骤,下面哪个步骤是不对的?

答:设置int 0x80的中断处理程序入口地址,因为这是统一的跳转方式,无需再多设置!!!

上一篇:memtester测试——Linux内存测试工具


下一篇:海思MMZ每次分配