- 博客(7)
- 收藏
- 关注
原创 BUAA-OS实验笔记之Lab6
更多内容可见 我的博客 和 仓库一、Lab6 前言操作系统实验的最后一篇笔记,不说什么了。本文主要讲了 Shell 的实现机制,管道通信略有说明。二、Shell 程序的启动这次我们还要回到 Init/init.c 文件。我们的 MOS 的所有实验都结束之后,mips_init 函数应该是这样的void mips_init() { printk("init.c:\tmips_init() is called\n"); // lab2: mips_detect_memory(); mi
2024-02-15 14:42:01
1514
1
原创 BUAA-OS实验笔记之Lab5
这是最长的一篇文章,可就算这么长,文中出现的代码也不过本次 Lab 中新增加的代码的一小部分。幸好完成本次实验不需要熟悉所有代码,一部分练习甚至不需要熟悉要填写的代码的前后文,只需要根据注释就可以填出很多。可是我感觉本篇文章还是有帮助的,毕竟谁也不知道 Exam 会出什么题。Lab5 主要分为四部分,分别是镜像制作工具、关于设备的系统调用、文件系统服务进程、文件操作库函数。本文对这四个方面都有所涉及,第二章主要讲镜像制作工具,第三章主要讲文件系统服务进程和文件操作库函数,最后一章讲关于设备的系统调用。
2024-02-03 21:14:47
1788
1
原创 BUAA-OS实验笔记之Lab4
Lab4 主要实现了系统调用,并通过系统调用实现了进程的创建和通信等操作。按照提示编写代码的难度应该不大(除非你的 Lab3schedule函数有 bug,很可惜我就是这样:(),所以本次的笔记更多的讨论了一些和实验无关的代码。希望不会显得太啰嗦。more。
2024-01-29 14:56:35
2309
原创 BUAA-OS实验笔记之Lab3
不知道为什么,虽然写 Lab3 所用的时间比 Lab2 少,但这次的笔记居然比 Lab2 长。我认为可能是因为自己在本篇文章中讲了更多和实验本身无关的东西。不过既然讲了,应该也会对进一步认识操作系统起到一些作用吧。希望本篇文章不会显得太啰嗦。more如果你想了解一下不同异常的异常处理函数,可能会发现自己根本找不到handle_tlbhandle_mod等函数的定义。实际上这些函数都定义在 kern/genex.S 中。当然,handle_int。
2024-01-28 11:02:44
2307
原创 BUAA-OS实验笔记之Lab2
这篇文章应该是我目前写过的文章中长度排行前几的了。Lab2 的内容着实繁多,不仅是分页内存管理本身的理论和实现细节颇多;操作系统的基本知识和注意事项也占据了很大的篇幅。后者在不理解的情况下实在会对本次实验产生许多困惑。本人也是在逐步地探索之后才得以有了较多的认识——当然,这一认识或许也只是片面的。本文逐函数、逐代码地讲解了 Lab2 中新增的内容。主要在于内核初始化中关于内存的部分以及分页内存管理的实现。在本文中,关于链表宏和虚拟/物理内存的辨析也占据了比较多的内容。more。
2024-01-26 17:01:57
2555
1
原创 BUAA-OS实验笔记之Lab1
操作系统是一门重课,我并不知晓自己是否做好了准备。“在这样的情况下就开始写文章,是否太着急了?” 我这样想,不知道对这门课自己是否有写文章的水平,也不知道自己是否会半途而废。但我还是决定开始,并不是因为有什么十足的信心,而是希望这一系列文章能帮助自己更深入的理解操作系统的知识,在讲解的过程中发现自己的不足。我希望这系列能持续下去,希望未来的自己看到结果时能够满意;希望他人也能从中得到收获。more。
2024-01-11 20:58:30
1919
原创 超简单CMake入门指南:从零开始构建项目结构
说实话,cmake 奇怪的语法在一开始实在容易让人望而生畏。但是上手使用的话就会发现平常会用到的不过是其中的一小部分,并且通常有规律可循。掌握这一部分的内容,大概率就可以组织起一个规模较大的项目了。因此本文也就旨在讲述 cmake 的这一部分的内容。当然,阅读本教程之前需要了解代码编译、链接的相关知识。关于编译相关的命令,可见我的文章系统编程之命令行编译。本文配套代码,欢迎 star 😃更多内容请看博客。
2023-09-03 20:06:55
448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人