自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (6)
  • 收藏
  • 关注

转载 Linux内核学习和研究及嵌入式(ARM)学习和研究的开放文档

http://lli_njupt.0fees.net/  ----- 2

2014-03-17 14:38:36 738

转载 LINUX内核内存屏障

目录: (*) 内存访问抽象模型.     - 操作设备.     - 保证. (*) 什么是内存屏障?     - 各式各样的内存屏障.     - 关于内存屏障,不能假定什么?     - 数据依赖屏障.     - 控制依赖.     - SMP内存屏障的配对使用.     - 内存屏障举例.     - 读内存屏障与内存预取. (*) 内

2014-03-14 16:37:08 1629

转载 linux内存屏障

内存屏障出现因为编译器或现在的处理器常会自作聪明地对指令序列进行一些处理,比如数据缓存,读写指令乱序执行等等。如果优化对象是普通内存,那么一般会提升性能而且不会产生逻辑错误。但如果对 I/O操作进行类似优化很可能造成致命错误。所以要使用内存屏障,以强制该语句前后的指令以正确的次序完成。其实在指令序列中放一个wmb的效果是使得指令执行到该处时,把所有缓存的数据写到该写的地方,同时使得wmb前面的写指

2014-03-14 15:50:53 1893 1

转载 preempt_enable 和 preempt_disable

允许抢占和禁止抢占。例如:内核态程序 和 中断处理程序的互斥因为中断是异步的(不只要何时发生中断,也即随时可能发生中断),因此如果内核态的程序使用了和中断处理程序中相同的数据结构,那么必须进行互斥访问。load %r0, counteradd %r0,1 //发生中断store %r0,conter如果在第二条指令执行

2014-03-14 14:38:36 1131

转载 内核同步

内核的各个部分并不是严格按照顺序依次执行的,而是采用交错执行的方式。因此这些请求可能引起竞态条件,而我们必须采用适当的同步机制对这种情况进行控制。一、内核如何为不同的请求提供服务        把内核看作必须满足两种请求的侍者:一种请求来自顾客,另一种请求来自数量有限的几个不同的老板。对不同的请求,侍者采用如下的策略:        1、老板提出请求时,如果侍者正空闲,则侍者开始为老板

2014-03-12 11:00:13 1529

转载 内核中断,异常,抢占总结

内核中断,异常,抢占总结篇一、基本概念中断分为同步中断和异步中断。同步中断是由CPU控制单元产生的,“同步”是指只有在一条指令执行完毕后,CPU才会发出中断,而不是发生在代码指令执行期间,比如系统调用。而异步中断是由其他硬件设备依照CPU时钟信号产生的,即意味着中断能够在指令之间发生,例如键盘中断。按照Intel的微处理器手册,同步中断和异步中断也分别称为异常(或者软件中断)和中断。中

2014-03-12 10:16:26 1840 2

转载 内核中的互斥

从严格意义上说,semaphore和spinlock_XXX属于不同层次的互斥手段,前者的 实现有赖于后者,这有点象HTTP和TCP的关系,都是协议,但层次是不同的。  先说semaphore,它是进程级的,用于多个进程之间对资源的互斥,虽然也是在 内核中,但是该内核执行路径是以进程的身份,代表进程来争夺资源的。如果 竞争不上,会有context switch,进程可以去sleep,但CP

2014-03-12 10:00:29 1116

转载 向量中断和非向量中断

向量中断与非向量中断的区别     推荐向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了再判断中断标志来识别具体是哪个中断。向量中断实时性好,非向量中断简单     向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。     FIQ(fast interrpt request)快速中断请求要求具有最高优先级

2014-03-04 14:47:24 6985 1

转载 linux mmap 详解

一.前言mmap的具体实现以前在学习内核时学习过,但是对于其中的很多函数是一知半解的,有些只能根据其函数名来猜测其具体的功能,在本文中,一起来重新深入理解其具体的实现。二.mmap的用户层应用void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 具体参数含义start :

2014-03-04 11:16:36 1211

转载 linux高端内存映射

1 内核空间和用户空间 用户空间:在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚存地址是用户空间,通过每个进程自己的页目录、页表,用户进程可以直接访问。内核空间:从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问,只有内核态进程才能寻址。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态

2014-03-03 16:23:08 5115

转载 Linux中断研究

众所周知,Linux中断被分为上半部分和下半部分中断上半部分的处理流程如下:1.硬件中断-->2.do_IRQ-->3.handle_IRQ_event-->4.handler步骤1至步骤3之间(未进入步骤3),中断是被关闭的,系统无法响应中断,这段时间会造成中断丢失步骤3至步骤4,其内部处理流程如下:3.1.如果该中断申请时没有设定 IRQF_DISABLED,则打开中断loca

2014-03-03 15:56:49 2084

转载 linux tasklet和workqueue的应用情景

当前的2.6版内核中,有三种可能的选择:softirq、tasklet和work queue。 tasklet基于softirq实现,所以两者很相近。work queue与它们完全不同,它靠内核线程实现。1、softirq       软中断支持SMP,同一个softirq可以在不同的CPU上同时运行,softirq必须是可重入的。软中断是在编译期间静态分配的,它不像tasklet那样能被

2014-03-03 14:56:35 776

adv7282 datasheet

adv7282 datasheet,user manual,寄存器描述

2017-02-28

龙芯3A用户手册上卷

龙芯3A用户手册上卷,多核处理器架构、寄存器描述与系统软件编程指南

2015-03-13

龙芯1B user manual

非常完成的龙芯1B用户手册,V2.0版本的

2015-03-13

linux下的内存映射函数mmap详解及示例代码

介绍应用使用mmap以及到kernel内部的映射实现过程以及实例代码

2014-03-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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