OrangeS一个操作系统的实现
goodcrony
这个作者很懒,什么都没留下…
展开
-
一个操作系统的实现:序篇
首先是做个自我总结,本人比较喜欢操作系统的知识,一直也在学习相关知识,读过《程序员的修养》、《深入理解计算机系统》、《现代操作系统》、《分布式系统原理与范型》等操作系统原理或相关的书,看的时候确实有用,对操作系统有了进一步的认知,但是对操作系统的认知还是很模糊,知道的越多越是感到无知。后来准备看一些相关操作系统源码的书《操作系统设计与实现》、《深入Linux内核架构》、《Linux内核完全剖...原创 2019-02-27 15:13:34 · 664 阅读 · 0 评论 -
一个操作系统的实现:第八章——进程间通信
声明:随着学习的深入,本人发现后面的章节越来越不好进行总结,感觉想把全部内容总结好就要直接“抄书”了。本人只是想把书中的一些重点、或者查阅点记录下来,方便后面学习的查阅,所以后面的总结会越来越不尽人意,望谅解。C语言语法:#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。##被称为连接符(...原创 2019-04-27 21:27:25 · 660 阅读 · 0 评论 -
一个操作系统的实现:第七篇——输入/输出系统
键盘敲击的过程:在键盘中存在一枚叫做键盘编码器(Keyboard Encoder)的芯片,它通常是Intel 8048以及兼容芯片,作用是监视键盘的输入,并把适当的数据传送给计算机。另外,在计算机主板上还有一个键盘控制器(Keyboard Controller),用来接收和解码来自键盘的数据,并与8259A以及软件等进行通信。敲击键盘有两个方面的含义:动作和内容。动作可以分解成三类:按...原创 2019-04-13 14:31:44 · 1084 阅读 · 0 评论 -
一个操作系统的实现:第六篇——进程
汇编知识:iretd当一个中断服务程序执行完毕时,CPU将恢复被中断的现场,返回到引起中断的程序中。为了实现此项功能,指令系统提供了一条专用的中断返回指令。该指令执行的过程基本上是INT指令的逆过程,具体如下:◆从栈顶弹出内容送入IP;◆再从新栈顶弹出内容送入CS;◆再从新栈顶弹出内容送入标志寄存器;对80386及其以后的CPU,指令IRETD从栈顶弹出32位内容送入EIP。mov...原创 2019-04-09 20:06:08 · 1112 阅读 · 0 评论 -
一个操作系统的实现:第五篇——内核雏形
汇编和C同步使用说明:1、汇编使用关键字global导出函数2、导入使用关键字extern声明函数3、遵循C调用约定(C Calling Convention),后面的参数先入栈,并由调用者(Caller)清理堆栈。编译链接方法:(ld的 '-s' 选项意为"stripall")nasm -f elf foo.asm -o foo.ogcc -c bar.c -o bar.ol...原创 2019-04-04 18:14:57 · 1217 阅读 · 0 评论 -
一个操作系统的实现:第四篇——让操作系统走进保护模式
参考链接:FAT16文件系统简介:https://blog.csdn.net/menghnhhuan/article/details/4270168引导扇区:https://baike.baidu.com/item/%E5%BC%95%E5%AF%BC%E6%89%87%E5%8C%BA/7444926?fr=aladdin主引导记录:https://baike.baidu.com/i...原创 2019-03-13 21:22:32 · 1098 阅读 · 0 评论 -
一个操作系统的实现:第三篇——保护模式(Protect Mode)
目录汇编知识:GDT(Global Descriptor Table)全局描述符表GDTR 全局描述符寄存器段选择子(Selector)描述符(Descriptor)LDTR 局部描述符寄存器TR 任务寄存器门描述符:进入保护模式的主要步骤:保护模式下寻址的机制:一致代码段:非一致代码段:特权级:TSS结构:什么叫做“页”:PDE和P...原创 2019-03-05 12:15:16 · 6886 阅读 · 0 评论 -
一个操作系统的实现:第二篇——搭建你的工作环境
Bochs的安装:DebianGNU/Linux或其近亲(比如Ubuntu),可以使用这样的命令:sudo apt-get install vgabios bochs bochs-x bximage源代码安装:tar vxzf bochs-2.3.5.tar.gzcd bochs-2.3.5./configure --enable-debugger --enable-disasm...原创 2019-02-28 17:35:42 · 3449 阅读 · 0 评论 -
一个操作系统的实现:第一篇——马上动手写一个最小的“操作系统”
参考链接:org07c00h的原因:http://blog.sina.com.cn/s/blog_861912cd010117ez.htmlorg 0x7c00解疑:https://blog.csdn.net/judyge/article/details/52333656NASM的ORG 0100h的实际含义:https://blog.csdn.net/ruyanhai/articl...原创 2019-02-27 16:54:35 · 2230 阅读 · 0 评论 -
一个操作系统的实现:第九章——文件系统
IDE接口(Integrated Drive Electronics)是电子集成驱动器,是把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起减少硬盘接口的电缆数目与长度,数据传输的可靠性得到增强,硬盘制造起来变得更容易的技术。IDE是一种计算机系统接口,主要用于硬盘和CD-ROM,本意为“把控制器与盘体集成在一起的硬盘”。ATA(英语:Advanced Technolo...原创 2019-05-05 21:07:28 · 1069 阅读 · 0 评论