自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 操作系统MIT6.S081:陷入(trap)流程

假设有一个程序需要执行write系统调用,xv6会先执行ecall进入内核空间,然后跳转到uservec保护现场,接着进入usertrap()判断是什么出发了trap,这里是write系统调用,所以会进入syscall()中处理系统调用,然后进入usertrapret()函数处理一下,最后进入userret()恢复现场,返回用户空间中。

2024-06-23 16:42:00 945

原创 操作系统MIT6.S081:启动xv6和第一个进程

命令make qemu ,首先会把kernel/子目录下的源文件编译成可执行文件kernel/kernel(内核编译:Makefile会读取所有kernel下的.c文件。然后调用gcc编译器,生成对应的.s文件,这个是RISC-V汇编语言文件。之后在调用汇编解释器,生成.o文件,这个是汇编语言的二进制格式。最后,系统加载器(Loader)会收集所有的.o文件,将它们链接在一起,并生成内核文件。

2024-05-29 15:59:24 830

原创 操作系统MIT6.S081:第二章操作系统架构

我们可以将系统调用实现为一个库,应用程序可以与之链接。在此方案中,每个应用程序甚至可以根据自己的需求定制自己的库。应用程序可以直接与硬件资源交互,并以应用程序的最佳方式使用这些资源(例如,实现高性能或可预测的性能)。一些嵌入式设备或实时系统的操作系统就是这样组织的。 这种方法的缺点是,如果有多个应用程序在运行,这些应用程序必须运行完好。例如,每个应用程序必须定期放弃中央处理器,以便其他应用程序能够运行。如果所有应用程序都相互信任并且没有错误,这种协同操作的分时方案可能是可以的。然而通常情况下应

2024-05-26 20:30:00 604

原创 MIT操作系统6.828/6.S081:环境搭建

然后创建一个新的文件,以.sources结尾,例如里面填入之后运行。

2024-05-20 16:17:14 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除