
linux
Mr yau
存储领域8年搬砖工。
展开
-
linux内核并发情景
通过《linux内核并发基本概念》,我们看到了,对于并发访问共享资源,造成的运行结果与预期的不一致问题,这样的结果是软件设计者不能允许的。我们知道,我们编写一个软件一定是需要软件实现特定的功能,如果我们在设计的时候,期望得到结果A,但实际软件运行中却得到的结果B,那么这个软件是相当糟糕的,因此,对于并发引起的竞态,是我们在设计内核和驱动软件时,必须要留意的。在《linux内核并发基本概念》中,原创 2014-11-30 21:42:59 · 838 阅读 · 0 评论 -
linux内核并发基本概念
在讨论linux内核并发之前,我们先来分享一个情景。字符数组array是一个内核全局数组,执行函数ArrayWrite_A的线程称为线程A,执行函数ArrayWrite_B的线程称为线程B。线程A和线程B均可访问全局数组array,ArrayWrite_A函数实现的功能是将数组成员依次从0递增赋值到9,ArrayWrite_B函数实现的功能是将数组成员全部赋值为1。假设此时原创 2014-11-27 23:59:15 · 1238 阅读 · 0 评论 -
5-寄存器与BIOS中断
在计算机系统中,数据存储采用三级存储架构——寄存器,内存和硬盘。寄存器在CPU的芯片内,其访问速度和CPU的计算速度差不多,但成本比较高,而且CPU的体积也决定了寄存器不可能有较大的容量。在编写focus系统的启动代码部分,因为要使用汇编语言,因此,就需要直接操作寄存器。那么我们就先了解下CPU内部的一些寄存器。这里andrew感到很抱歉,因为没有办法深入的去介绍细节性的东西了,如果andre原创 2014-05-31 19:13:52 · 1411 阅读 · 0 评论 -
系统调用和API
系统调用与API 在开发应用程序的时候,应用程序的功能实现经常需要使用操作系统提供的服务,以及需要操作相关硬件,比如我们听音乐用的QQ music,QQ music就属于应用程序,当我们运行QQ music的时候,其首先要通过调用相应的API(应用程序编程接口)库函数,来使用操作系统提供的服务,linux操作系统提供的API遵循的是POSIX标准。API函数封装了系统调用,系原创 2012-11-22 14:31:20 · 3526 阅读 · 0 评论 -
bochs调试指令
一:配置bochs.exe是执行模式,不能调试的。Bochs的调试工具是Bochsdbg.exe。同样,调试的时候你仍然需要进行配置。此时如果我们还使用双击.bxrc配置文件的方法显然是不行的(因为此时会运行Bochs.exe而不是Bochsdbg.exe)。所以我copy了《自己动手写操作系统》作者于渊的方法——使用bat批处理文件。新建一个批处理文件然后进行编辑。以下内容为我的bat文转载 2012-07-08 19:46:02 · 685 阅读 · 0 评论 -
操作系统学习笔记——保护模式——分页机制
在保护模式下,提供了分段和分页两种内存管理机制。这两种机制的内存寻址方式,都可以归结为查表。 如何开启分页机制: 通过设置CR0寄存器的PG位(即第31位),来启用分页机制。注意:启用分页机制之前,CPU必须已经进入到保护模式下,如果CPU仍工作在实模式下,开启分页机制是无效的。 分页机制: 开启分页机制后,分页机制会将线性地址空和物理地址空间都划原创 2012-07-06 10:11:30 · 1429 阅读 · 0 评论 -
操作系统学习笔记——保护模式——中断和异常(1)
中断和异常: 中断通常分为同步中断和异步中断。 同步中断:当指令执行时由CPU控制单元产生的,称为同步,是因为只有当一条指令终止执行后CPU才会发出中断。 异步中断:由其他硬件设备依照CPU时钟信号随机产生的。 在inter微处理器手册上,将同步中断称为异常;将异步中断称为中断。 异常和中断向量: 每原创 2012-07-06 15:05:52 · 1055 阅读 · 0 评论 -
操作系统学习笔记——保护模式——分段机制
以前学习微机原理的时候,接触到的是8086/8088处理器,这些处理器都是16位的,地址线为20位,共可寻址1MB的内存空间,即它们都工作在实模式下。 1985年,IBM公司引入AT机时,使用的是INTER80286CPU,具有24根地址线,可寻址16MB的地址空间,并且保留了实模式来向下兼容。直到今天的32位/64位的CPU,上电后CPU的初始模式仍然是实模式。原创 2012-07-05 20:09:32 · 2696 阅读 · 0 评论 -
bochs在windows下的使用
Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。开始它仅仅是一个商业产品,不过您可以购买到它的源程序。在2000年3月这个时刻,Mandrakesoft买下了Bochs,并把它置于GNU LGPL下使之成为一个开源程序。在2001年3月,Kevin把Bochs的家从bochs.com移到了bochs.sourceforge.net,到现在为止转载 2012-06-11 18:15:32 · 13041 阅读 · 0 评论 -
linux启动流程
前一阶段在学习linux的过程中,启动过程这一块比较繁琐,涉及到的流程和系统文件比较多,于是就自己做了下面这个图,整个过程就比较直观了,由于学识尚浅,其中可能有不对或有待完善的地方,而且不同版本的操作系统所用的配置文件也可能不同,这个图所表示的内容是以Centos为参考的,根据鸟哥私房菜的讲解完成的,大部分linux的发行版本也是这种启动流程,我用的Ubuntu里面死活找不到图中init进程调用的原创 2012-01-18 15:55:44 · 378 阅读 · 0 评论