(2)从零开始的操作系统开发日记

来源:互联网 发布:西西影音软件下载 编辑:程序博客网 时间:2024/06/05 02:47

继续这几天的自己都看不懂的笔记…


P528,每一个程序对应开一个控制台,并且给每一个程序记录自己的父控制台,
GDT:global descriptor table提供异常的硬件基础,用于防止应用程序访问操作系统的内存段
LDT:local descriptor table,P580只用两个,相当于当前的并发度为3?2个应用程序一个操作系统
P590文件分类
P596批处理命令

总结:

30天这本书到此算是很粗略的看完,说实话是有点失望,没有我预期那样能有一个操作系统原理课上讲解的结构的内核,很多地方其实写得很别扭,一些现代操作系统有的机制,比如内存管理,文件管理,进程管理,用户态系统态切换等等,也不能说没有,但可能是作者考虑到篇幅和空间大小,并没有去做很好的实现。这本书,当你学习了汇编,C,计算机组成原理,数据结构,操作系统以后再看的话其实就比较浅显了,但如果你只是刚学会了C去看【比如当时的我】,就会觉得尤其是跟硬件打交道的汇编代码编写起来会很累。总的来说,这本书看完能给你一种错觉“什么嘛一个操作系统不过如此,就是在写好一些硬件的接口以后就可以自由发挥了”,毕竟这本书屏蔽了太多细节,光是怎么调试就是个头疼的问题。

这两天我在知乎上面收集了不少资源,经过一些权衡,打算以清华大学的ucore作为框架,在尽可能短的时间,扎实牢固地完成他们的操作系统课程实验,逐步实现出1W行左右的ucore,然后在此基础上,考虑添加不同的算法机制,提供点函数库,系统API,提供比《30天》还要烂的图形驱动(笑),移植几个例程,写个测试多进程的simple和资源查看器【为了课程设计答辩的时候能看效果,反正测试也要用】,基本上可能就不是很多时间了。

现在整理一下这几天获得的资源吧:
1. ucore的课程视频:http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X_tv+2015_T1/about
2. ucore的项目地址:https://github.com/chyyuu/ucore_os_lab
3. ucore的镜像【vmdk,自己特地转换了,他提供的是vid感谢我吧(笑)】:http://pan.baidu.com/s/1eROucOq
4. ucore的实验指导书:https://objectkuan.gitbooks.io/ucore-docs/content/index.html
5. 知乎上相关问题下有大量资源:https://www.zhihu.com/question/25628124
6.git教学:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
7. vim教学:http://download.csdn.net/detail/xinguimeng/7714213
8. ucore的工具链简单入门教学:【ucore官方版,注意科学上网】

apt-get
http://wiki.ubuntu.org.cn/Apt-get%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97
git github
http://www.cnblogs.com/cspku/articles/Git_cmds.html
http://www.worldhello.net/gotgithub/index.html
diff patch
http://www.ibm.com/developerworks/cn/linux/l-diffp/index.html
http://www.cnblogs.com/itech/archive/2009/08/19/1549729.html
gcc
http://wiki.ubuntu.org.cn/Gcchowto
http://wiki.ubuntu.org.cn/Compiling_Cpp
http://wiki.ubuntu.org.cn/C_Cpp_IDE
http://wiki.ubuntu.org.cn/C%E8%AF%AD%E8%A8%80%E7%AE%80%E8%A6%81%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97
gdb
http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F
make & makefile
http://wiki.ubuntu.com.cn/index.php?title=%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile&variant=zh-cn
http://blog.csdn.net/a_ran/article/details/43937041
shell
http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
http://wiki.ubuntu.org.cn/%E9%AB%98%E7%BA%A7Bash%E8%84%9A%E6%9C%AC%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97
understand
http://blog.csdn.net/qwang24/article/details/4064975
vim
http://www.httpy.com/html/wangluobiancheng/Perljiaocheng/2014/0613/93894.html
http://wenku.baidu.com/view/4b004dd5360cba1aa811da77.html
meld
https://linuxtoy.org/archives/meld-2.html
qemu
http://wenku.baidu.com/view/04c0116aa45177232f60a2eb.html
Eclipse-CDT
http://blog.csdn.net/anzhu_111/article/details/5946634
haroopad
http://pad.haroopress.com/
gitbook
https://github.com/GitbookIO/gitbook https://www.gitbook.com/

日常感想部分:

其实在看到清华的操作系统实验课,我第一次深深的感受到了TOP1和二三流学校的差距,他们的课程,有着别人要东凑西凑才辛辛苦苦凑齐的各种资源,有一代又一代的师兄师姐(?)去维护升级,普通一点的学校真的是就算有心想开操作系统实验课,也没有这个资源,学生也不见得受用。

私、まだ怠惰ですね~

0 0
原创粉丝点击