linux内核并发情景

通过《linux内核并发基本概念》,我们看到了,对于并发访问共享资源,造成的运行结果与预期的不一致问题,这样的结果是软件设计者不能允许的。我们知道,我们编写一个软件一定是需要软件实现特定的功能,如果我们在设计的时候,期望得到结果A,但实际软件运行中却得到的结果B,那么这个软件是相当糟糕的,因此,对...

2014-11-30 21:42:59

阅读数 556

评论数 0

linux内核并发基本概念

在讨论linux内核并发之前,我们先来分享一个情景。 字符数组array是一个内核全局数组,执行函数ArrayWrite_A的线程称为线程A,执行函数ArrayWrite_B的线程称为线程B。线程A和线程B均可访问全局数组array,ArrayWrite_A函数实现的功能是将数组成员依次从0递增赋...

2014-11-27 23:59:15

阅读数 986

评论数 0

5-寄存器与BIOS中断

在计算机系统中,数据存储采用三级存储架构——寄存器,内存和硬盘。寄存器在CPU的芯片内,其访问速度和CPU的计算速度差不多,但成本比较高,而且CPU的体积也决定了寄存器不可能有较大的容量。在编写focus系统的启动代码部分,因为要使用汇编语言,因此,就需要直接操作寄存器。那么我们就先了解下CPU内...

2014-05-31 19:13:52

阅读数 970

评论数 0

4 - 谁都能写的操作系统

今天已经29号了,从开始决定写focus到现在,已经过去了快二十天了,

2014-05-30 21:40:33

阅读数 855

评论数 0

3-我们需要一个Bochs

今天的分享,我们需要继续讨论一下我们focus的开发环境,我们开发的focus操作系统,在哪里运行呢?大家这里可以思考一下,可不可以像应用程序一样,直接在我们的linux或windows系统上直接运行? 当然不行哈,因为我们既然是写的操作系统,这就和应用程序有很大的不同,应用程序的运行需要在操作...

2014-05-15 20:24:48

阅读数 591

评论数 0

2-focus开发平台

在介绍开发环境之前,有两点需要注意: 1:如果文中提到linux操作系统,就是泛指的意思,因为linux是个概念比较泛的名词,他可以专指由纯净linux源代码编译的操作系统,也可以是其他公司或团体在linux源代码的基础之上进行优化和改编的发行版本,因为linux是开源的,很多公司在linux的...

2014-05-15 16:52:05

阅读数 491

评论数 0

1 - BIOS是个什么东东?

如果想编写操作系统,那么就一定要先了解操作系统工作的目标对象——计算机,如果想了解计算机究竟是如何工作的,那么BIOS一定我们要了解的一个神器!         你是否有过好奇,为什么我们一按下电源键,计算机就开始运行起来了,关闭的电脑就像睡着的人一样,人一睡醒就可以进行正常的活动,但人是有血有...

2014-05-12 19:16:43

阅读数 549

评论数 0

在字符串中找出第一个只出现一次的字符

/* 题目描述:在字符串中找出第一个只出现一次的字符。例如字符串"abaccdeff",则输出'b'。 */ #include #define CHAR_SIZE 256 #define NONE -1 //字符没有出现过 #define MORE -2 //字符出现2...

2013-04-18 17:06:17

阅读数 592

评论数 0

素数查找——另一种方法

#include int main(void) { int n = 1000; int i; int j; int array[1000] = {0}; printf("1000以内的素数有:\n"); printf("2"); /* ...

2013-04-18 17:00:02

阅读数 426

评论数 0

素数的查找

/************************************************************************************* *file: Prime.c *data: 2013/3/10 *description: (1)2是最小的素数,且...

2013-03-11 11:18:44

阅读数 711

评论数 0

系统调用和API

系统调用与API         在开发应用程序的时候,应用程序的功能实现经常需要使用操作系统提供的服务,以及需要操作相关硬件,比如我们听音乐用的QQ music,QQ music就属于应用程序,当我们运行QQ music的时候,其首先要通过调用相应的API(应用程序编程接口)库函数,来使用...

2012-11-22 14:31:20

阅读数 3043

评论数 0

把时间花在进步上,而不是抱怨上

如果你研读马云的人生,在前37年里,他的人生就充斥着2个字:失败 37岁之后,他突然飞黄腾达了,秘诀就是四个字:永不抱怨   我对这四个字的体会越来越深。原因是我接触的的成功人士近期进入核爆炸状态,我和这些人打交道,再加上我自己的体会,发现,成功的秘诀就是这四个字:永不抱怨   我很欣赏...

2012-08-11 21:08:56

阅读数 842

评论数 0

bochs调试指令

一:配置 bochs.exe是执行模式,不能调试的。Bochs的调试工具是Bochsdbg.exe。同样,调试的时候你仍然需要进行配置。此时如果我们还使用双击.bxrc配置文件的方法显然是不行的(因为此时会运行Bochs.exe而不是Bochsdbg.exe)。所以我copy了《自己动手写操作系...

2012-07-08 19:46:02

阅读数 395

评论数 0

操作系统学习笔记——保护模式——中断和异常(1)

中断和异常:         中断通常分为同步中断和异步中断。         同步中断:当指令执行时由CPU控制单元产生的,称为同步,是因为只有当一条指令终止执行后CPU才会发出中断。         异步中断:由其他硬件设备依照CPU时钟信号随机产生的。         在inter微...

2012-07-06 15:05:52

阅读数 792

评论数 0

操作系统学习笔记——保护模式——分页机制

在保护模式下,提供了分段和分页两种内存管理机制。这两种机制的内存寻址方式,都可以归结为查表。   如何开启分页机制:         通过设置CR0寄存器的PG位(即第31位),来启用分页机制。注意:启用分页机制之前,CPU必须已经进入到保护模式下,如果CPU仍工作在实模式下,开启分页机制是...

2012-07-06 10:11:30

阅读数 899

评论数 0

操作系统学习笔记——保护模式——分段机制

以前学习微机原理的时候,接触到的是8086/8088处理器,这些处理器都是16位的,地址线为20位,共可寻址1MB的内存空间,即它们都工作在实模式下。         1985年,IBM公司引入AT机时,使用的是INTER80286CPU,具有24根地址线,可寻址16MB的地址空间,并且保留了实...

2012-07-05 20:09:32

阅读数 2243

评论数 0

内联函数的优缺点

在C++语言的设计中,内联函数的引入可以说完全是为了性能的考虑。因此在编写对性能要求比较高的C++程序时,非常有必要仔细考量内联函数的使用。 所谓“内 联”,即将被调用函数的函数体代码直接地整个插入到该函数被调用处,而不是通过call语句进行。当然,编译器在真正进行“内联”时,因为考虑到被内联函...

2012-06-24 11:34:22

阅读数 10096

评论数 0

内联函数详解

什么是内联性和外联函数 类的成员函数可以分为内联函数和外联函数。内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。而说明在类体内,定义在类体外的成员函数叫外联函数。外联函数的函数体在类的实现部分。  内联函数在调用时不是像一般的函数那样要转去执行被调用函数的函数体,执...

2012-06-24 11:31:48

阅读数 786

评论数 1

bochs在windows下的使用

Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。开始它仅仅是一个商业产品,不过您可以购买到它的源程序。在2000年3月这个时刻,Mandrakesoft买下了Bochs,并把它置于GNU LGPL下使之成为一个开源程序。在2001年3月,Ke...

2012-06-11 18:15:32

阅读数 7380

评论数 0

男人的责任,你能做到吗?

男人的责任,你能做到吗? 一、拥有自信和风度   男人到了二十几岁后,就要开始学着用心去经营自己了,它体现在自己的思想与涵养上。自信是一个男人最重要的品质,自信的男人就你像一只在暴风雨中战斗的海鸥。海鸥所要说的只有一句话“让暴风雨来的再猛烈些吧”,只因为它无所畏惧。一个自信的男人,总是能够感...

2012-06-11 18:12:23

阅读数 1362

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭