【操作系统】
文章平均质量分 87
zthgreat
这个人很懒,什么都没有留下
展开
-
《Orange's 一个操作系统的实现》学习笔记--一个简单的引导扇区
《Orange's 一个操作系统的实现》于渊《Orange's 一个操作系统的实现》很早以前就晓得这本书了,当时还真没有打算仔细看的,随着后来了解的东西逐渐多起来后,我感觉上层的应用程序也好,还是更高级的的高级语言也好,都是按照格式来编程,根本不知道为什么,各种各样的调用(鄙人愚钝),当然也没有说高级语言不好,只是自己不喜欢在不明白为什么的情况下进行‘瞎’编程,当时在刚上大学前原创 2015-03-11 16:42:31 · 2588 阅读 · 0 评论 -
Linux进程间通信——信号
信号原创 2015-05-10 11:11:19 · 1141 阅读 · 0 评论 -
Linux进程间通信——管道
一、什么是管道当从一个进程连接数据流到另一个进程时,我们使用术语管道(pipe)。我们通常是把一个进程的输出通过管道连接到另一个进程的输入。大多数Linux用户都使用过shell,不可避免地会使用管道进行一些数据的分析和处理,命令格式如下(通常通过符号“|"来使用管道):cmd1 | cmd2shell负责安排两个命令的标准输入和标准输出,这样:1. cmd1的标原创 2015-05-04 17:41:23 · 1010 阅读 · 0 评论 -
Linux操作系统--消息队列
一、什么是消息队列二、消息队列的创建三、消息队列的控制四、消息队列的读写原创 2015-04-18 19:25:56 · 6185 阅读 · 2 评论 -
《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(一)
对于“特权级”这个词,你可能任然感到一些陌生,但如果提起DPL,RPL,你应该还是有印象吧,实际上,DPL所代表的Descriptor Privilege Level以及RPL所代表的Request Privilege Level都是用来表示特权级别的。只不过,前面所有的例子都是运行在最高特权级下,所以涉及到的DPL和RPL都是0(最高特权级别)。在IA32的分页机制中特权级别总共有4个特权级原创 2015-03-31 13:04:01 · 1189 阅读 · 0 评论 -
操作系统--分页机制的演示
如果还不了解分页机制,请先看这里:分页机制讲解注:该程序(及相关博文)源于《80X86汇编程序设计 杨季文》下面给出一个演示如何启用分页管理机制的实例。该实例的逻辑功能是,在屏幕上显示一条表示已启用分页管理机制的提示信息。该实例演示内容包括:初始化页目录表和部分页表;启用分页管理机制;关闭分页管理机制等。该实例假设系统至少有4M字节物理内存。 1.演示步骤和源程序清单原创 2015-04-27 22:42:38 · 1013 阅读 · 1 评论 -
《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(五)
一、任务切换 利用段间转移指令 JMP 或者段间调用指令 CALL,通过任务门或直接通过任务状态段,可以切换到别的任务。此外,在中断/异常或者执行 IRET 指令时也可能发生任务切换。需要注意的是,因为 RET 指令的目标地址只能使用代码段描述符,所以,不能通过 RET指令实现任务切换。1.直接通过TSS 进行任务切换段间转移指令 JMP 或段间调用指令 CALL原创 2015-04-15 15:12:19 · 1038 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--保护模式理论初步(一)
一、保护机制为了支持多任务,对个任务实施保护是必须的,从80286开始处理器就具备了保护机制。保护机制能有效地实现不同任务之间的保护和同一任务内的保护。1.不同任务之间的保护通过把每个任务放在不同的虚拟地址空间的方法来实现任务与任务的隔离,达到应用程序之间保护的目的,虚拟地址到物理地址的映射函数在每个任务中进行定义,随着任务切换,映射函数也切换,任务A的虚拟地址空间映射到物理地址空间的原创 2015-03-12 16:45:31 · 2008 阅读 · 1 评论 -
《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(三)
不原创 2015-04-09 20:46:35 · 949 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--分页机制
80386 开始支持存储器分页管理机制。分页机制是存储器管理机制的第3 二部分。段管理机制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386 的存储器分页管理机制和线性地址如何转换为物理地址。原创 2015-04-20 13:19:51 · 1107 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(四)
演示任务内特权级变换的实例原创 2015-04-11 20:19:28 · 846 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(二)
一>门描述符原创 2015-04-01 17:09:24 · 1529 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--LDT
LDT(Local Descriptor Table)它和GDT差不多,都是描述符表(Descriptor Table)区别仅仅在于全局(Global)和局部(Local)的不同。局部描述符表可以有若干张,每个任务可以有一张。LDT和GDT从本质上说是相同的,只是LDT嵌套在GDT之中。LDTR记录局部描述符表的起始位置,与GDTR不同LDTR的内容是一个段选择子。由于LDT本身同样是一段内存原创 2015-03-29 19:38:18 · 1476 阅读 · 1 评论 -
《Orange's 一个操作系统的实现》学习笔记--保护模式理论初步(二)
一、存储段描述符用于表示上述定义段的三个参数的数据结构称为描述符。每个描述符长8 个字节。在保护方式下,每一个段都有一个相应的描述符来描述。按描述符所描述的对象来划分,描述符可分为如下三类:存储段描述符、系统段描述符、门描述符(控制描述符)。下面先介绍存储段描述符。1.存储段描述符的格式存储段是存放可由程序直接进行访问的代码和数据的段。存储段描述符描述存储段,所以存储段描述符也被称原创 2015-03-12 19:21:05 · 1156 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--保护模式进阶
我们虽然成功进入了保护模式,但是并没有体验到保护模式给我们带来的便利,上一个例子中打印了一个红色的p,这在实模式中也很容易做到,但是保护模式能做的远不止如此,上文我们提到在保护模式下的寻址空间可以到达4G,首先实验一下读大地址内存,在前面程序的基础上,新建一个段,这个段是以5MB为基址,远远超过了实模式下1MB的限制,我们先读出开始处8字节的内容,然后写入一个字符串,再从中读出8个字节的内容,如果原创 2015-03-14 12:51:13 · 1869 阅读 · 0 评论 -
《Orange's 一个操作系统的实现》学习笔记--实践认识保护模式
很原创 2015-03-13 17:22:57 · 1451 阅读 · 0 评论 -
Linux进程间通信——信号量
一、什么是信号量二、信号量的创建三、信号量的控制四、信号量的操作五、信号量的总结原创 2015-05-14 13:41:32 · 752 阅读 · 1 评论