首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ucore-lab1

也就是异常里可以出现异常 系统调用采用int和iret指令,可以进行堆栈切换以及特权级的转换,函数调用采用call和ret指令,一般情况下没有堆栈切换 遗漏的知识点参考kiprey,仅记录本人不熟悉的知识点 bios/linux.../dos中断的区别 bios/dos建立在实模式下,他们建立的中断调用都采用中断向量表,linux则是在进入保护模式后才建立中断例程,通过中断描述符表idt实现中断 文件 os通过文件系统的magic...create_target,ucore.img) 其中dd命令和cp差不多,但dd更多的针对底层文件的复制. if和ifeq差不多,仍是实现条件判断的语句,实际上是判断后面的文件是否存在,比如/dev/zero就存在于linux...最后就是使用sign处理bootblock.o,首先objcopy -S -O binary obj/bootblock.o obj/bootblock.out,实际上-S移除了所有符号和重定位信息,-...O指定输出格式,sign在处理bootblock.out生成bootblock 对于kernel,实际上没有用到多少新的参数。

1.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

xv6(2) 启动代码部分

此时内存布局为: $Bootblock$($MBR$ && $Bootloader$) 接下来的代码操作系统就可以来掌控了,但 $xv6$ 并没有实际构造 $MBR$ 结构,从 $Makefile$ 中可以知晓最开始那个扇区写入的是...$bootblock$,$bootblock$ 又是由 $bootasm.S$ 和 $bootmain.c$ 两文件经过一些列编译汇编链接再转换格式得来,这两个文件组成的程序就是充当前面说的 $MBR...bootblock: bootasm.S bootmain.c ################################ dd if=bootblock of=xv6.img conv=notrunc...这是从 $Makefile$ 中截取的两句,$bootblock$ 依赖 $bootasm.S$ 和 $bootmain.c$ 生成,然后使用 dd 命令将其写入 $xv6.img$。...指定操作的块数 $seek=BLOCKS$,指定把块输出到文件时要跳过多少块 $conv=CONVS$,指定如何转换文件,一般指定为 notrunc,一维不打断截短文件 因此上述的 dd 命令就是将 $bootblock

23900

Linux - Linux内存管理

为了解决内存紧缺的问题,Linux引入了虚拟内存的概念。为了解决快速存取,引入了缓存机制、交换机制等。...要深入了解Linux内存运行机制,需要知道下面提到的几个方面。 首先,Linux系统会不时地进行页面交换操作,以保持尽可能多的空闲物理内存。...其次,Linux进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存中,Linux内核根据“最近最经常使用”算法,仅仅将一些不经常使用的页面文件交换到虚拟内存中。...Linux虽然可以在一段时间内自行恢复,但是恢复后的系统已经基本不可用了。...Linux下可以使用文件系统中的一个常规文件或者一个独立分区作为交换空间。同时Linux允许使用多个交换分区或者交换文件。

52.1K41

Linux】--- Linux权限概念

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。...2.3 Linux中的用户 Linux下有两种用户:超级管理员(root)、普通用户。 超级管理员(root):可以再linux系统下做任何事情,不受权限约束 普通用户:在linux下做有限的事情。...Linux具有组的概念,主要是在多人协作的时候,更好的进行权限管理!...而在Linux中不通过后缀区分文件类型!但并不是说Linux不用后缀。 那通过什么区分呢?即ls -l第一个属性列。 Linux文件类型: -:普通文件。...很简单一个道理,Linux系统不以文件后缀作为区分文件类型的依据,但并不代表gcc不需要,Linux系统 != gcc。

8210
领券