自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (20)
  • 收藏
  • 关注

原创 知识梳理之互斥与同步(适用于面试)

互斥是指对资源的排他性访问,而同步是对进程执行的先后顺序作出妥善的安排。所谓竞态,就是多个执行路径有可能对同一资源进行操作时可能导致的资源数据紊乱的行为。把对共享的资源进行访问的代码片段成为临界区。并发的来源:中断处理路径(中断处理函数与被中断的进程之间形成的并发)、调度器的可抢占性(调度器被抢占,形成进程间的并发)、多处理器的并发执行(进程之间严格意义上的并发)。1、local_

2014-01-10 16:04:18 1221

原创 知识梳理之内存(适用于面试)

知识梳理之内存1、  kmalloc和vmalloc是分配的是内核的内存,malloc分配的是用户的内存2、  kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西(这点是自己猜测的,不一定正确)3、  kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相对较大4、  内存只有在

2014-01-09 19:30:56 542

原创 3.8.X Linux内核调用新架构

与2.6.X内核版本相比,3.8.x内核的系统调用表有着很大的区别。从结构上来说:2.6.X内核版本调用号与调用表的分离定义(调用号定义文件:/arch/x86/include/asm/unistd.h,系统调用表:arch/i386/kernel/entry.S ),当开发者对内核添加自己的系统调用时,需要分别修改这两个文件,指定系统调用号和对应的系统调用表。调用号结构如下:/*

2013-05-22 19:24:07 783

原创 Perf -- Linux下的系统性能调优工具(一)

Perf -- Linux下的系统性能调优工具(一)简介: Perf Event是一款随 Linux内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。Perf不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集。在第一部分,将介绍 Perf 在应用程序开发

2012-11-20 20:17:58 460

原创 linux内核中关于红黑树的介绍

What are red-black trees, and what are they for?------------------------------------------------Red-black trees are a type of self-balancing binary search tree, used for storing sortable key/value

2012-11-20 20:15:39 405

翻译 linux内核解读网址

http://www.kernel.orgThe Linux Kernel Archivesftp://ftp.kernel.org本站点是Linux内核开发的主站点,其中包含了最新的内核发行版本以及相关信息。注意该FTP站点的镜像已遍布全球,因此可以选择最近的镜像下载Linux源代码。http://www.linuxdoc.orgLinux Documen

2012-10-28 11:53:53 367

原创 Linux启动过程综述

内容: 一. Bootloader 二.Kernel引导入口 三.核心数据结构初始化--内核引导第一部分 四.外设初始化--内核引导第二部分 五.init进程和inittab引导指令 六.rc启动脚本 七.getty和login 八.bash 附:XDM方式登录 本文以Redhat 6.0 Linux 2.2.19 for Alpha/AXP为平台,描述

2012-10-09 17:26:30 350

原创 如何编写Linux设备驱动程序

如何编写Linux设备驱动程序Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。以下的一些文字主要来源于khg,johns

2012-10-09 17:23:44 532

原创 高质量C++/C编程指南之C++函数的高级特性

C++函数的高级特性对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。       重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。本章将探究重载和内联的优点与局限性,说明什么情况下应该

2012-09-21 09:18:26 640

原创 C/C++高质量编程之内存管理

欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:640K ought to be enough for everybody — Bill Gates 1981程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。1.1内存分配方

2012-09-20 13:53:11 734

原创 Linux核心数据结构

Linux核心数据结构本章列出了Linux实用的主要数据结构。block_dev_struct此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。struct blk_dev_struct { void (*request_fn)(void); struct request * current_

2012-09-20 13:43:33 525

原创 Linux内核之内核资源

Linux核心资源本章主要描叙寻找某个特殊核心函数时用到的Linux核心资源。本书并不要求读者具有C编程语言的能力或者拥有Linux核心源代码来理解Linux核心工作原理。但是如果 对核心源代码进行阅读将加深对Linux操作系统的理解。本章提供了一个核心源代码的综述。从哪里得到Linux核心源码所有主要Linux分发版本(如Craftworks,Debian,Slack

2012-09-20 13:42:49 738

原创 Linux内核之模块

模块本章主要描叙Linux核心动态加载功能模块(如文件系统)的工作原理。Linux核心是一种monolithic类型的内核,即单一的大程序,核心中所有的功能部件都可以对其全部内部数据结构和例程进行访问。核心的另外一种形式是微内核结构,此时核心的所有功能部件都被拆成独立部分, 这些部分之间通过严格的通讯机制进行联系。这样通过配置进程将新部件加入核心的方式非常耗时。比如说我们想为一个N

2012-09-20 13:41:46 2517

原创 Linux内核之核心机制

核心机制本章主要描叙Linux核心为使核心其他部分能有效工作而提供的几个常用任务与机制。11.1  底层部分处理机制图11.1 底层部分处理机制数据结构某些特殊时刻我们并不愿意在核心中执行一些操作。例如中断处理过程中。当中断发生时处理器将停止当前的工作, 操作系统将中断发送到相应的设备驱动上去。由于此时系统中其他程序都

2012-09-20 13:39:54 386

原创 Linux内核之网络系统

网络系统    网络和Linux是密切相关的。从某种意义来说Linux是一个针对Internet和WWW的产品。它的开发者和用户用Web来交换信息思想、程序代码,而Linux自身常常被用来支持各种组织机构的网络需求。这一章讲的是Linux如何支持如TCP/IP等网络协议的。    TCP/IP协议最初是为支持ARPANET(一个美国政府资助的研究性网络)上计算机通讯而设计的。ARP

2012-09-20 10:32:55 580

原创 Linux内核之文件系统

文件系统本章主要描叙Linux核心对文件系统的支持, 虚拟文件系统(VFS)以及Linux核心对实际文件系统的支持。Linux的最重要特征之一就是支持多种文件系统。这样它更加灵活并可以和许多其它种操作系统共存。在本文写作时Linux已经支持15种文件系统:ext,ext2,xia,minix,umsdos,msdos,vfat,proc,smb,ncp,iso9660,sysv,h

2012-09-20 10:31:59 692

原创 Linux内核之设备驱动

设备驱动操作系统的目的之一就是将系统硬件设备细节从用户视线中隐藏起来。例如虚拟文件系统对各种类型已安装的文件系统提供了统一的视图而屏蔽了具体底层细节。本章将描叙Linux核心对系统中物理设备的管理。CPU并不是系统中唯一的智能设备,每个物理设备都拥有自己的控制器。键盘、鼠标和串行口由一个高级I/O芯片统一管理,IDE控制器控制IDE硬盘而SCSI控制器控制SCSI硬盘等等。每个硬件

2012-09-20 10:31:04 796

原创 Linux内核之中断系统

中断及中断处理本章主要描叙Linux核心的中断处理过程。尽管核心提供通用机制与接口来进行中断处理,大多数中断处理细节都是CPU体系结构相关的。图7.1 中断路由的逻辑图Linux通过使用多种不同硬件来执行许多不同任务。包括驱动显示器的视频设备、驱动硬盘的IDE设备等。 我们可以同步驱动这些设备,即我们可以发送一个请求执行一组操作(

2012-09-20 10:30:22 307

原创 Linux内核之PCI设备

PCI设备外围设备互连(PCI)是一种将系统中外部设备以结构化与可控制方式连接到起来的总线标准,包括系统部件连接的电气特性及行为。本章将详细讨论Linux核心对系统中的PCI总线与设备的初始化过程。图6.1 一个基于PCI的系统示意图图6.1是一个基于PCI的系统示意图。PCI总线和PCI-PCI桥接器在连接系统中设备到上起关键作

2012-09-20 10:29:33 874

原创 Linux内核之进程间通讯

进程间通讯进程在核心的协调下进行相互间的通讯。Linux支持大量进程间通讯(IPC)机制。除了信号和管道外,Linux 还支持Unix系统V中的IPC机制。5.1  信号信号是Unix系统中的最古老的进程间通讯方式。它们用来向一个或多个进程发送异步事件信号。信号可以从键盘中断中产生,另外进程对虚拟内存的非法存取等系统错误环境下也会有信号产生。信号还被shell程序用来向其子

2012-09-20 10:27:44 492

原创 Linux内核之进程管理

进程管理本章重点讨论Linux内核如何在系统中创建、管理以及删除进程。进程在操作系统中执行特定的任务。而程序是存储在磁盘上包含可执行机器指令和数据的静态实体。进程或者任务是处于活动状态的计算机程序。进程是一个随执行过程不断变化的实体。和程序要包含指令和数据一样,进程也包含程序计数器和所有CPU寄存器的值,同时它的堆栈中存储着如子程序参数、返回地址以及变量之类的临时数据。当前的执

2012-09-20 10:26:44 1084

原创 Linux核心之内存管理

内存管理存储管理子系统时操作系统中最重要的组成部分之一。在早期计算时代,由于人们所需要的内存数目远远大于物理内存,人们设计出了各种各样的策略来解决此问题,其中最成功的是虚拟内存技术。它使得系统中为有限物理内存竞争的进程所需内存空间得到满足。虚拟内存技术不仅仅可让我们可以使用更多的内存,它还提供了以下功能:巨大的寻址空间操作系统让系统看上去有比实际内存大得多的内存空间。虚拟内

2012-09-20 10:25:28 638

原创 linu核心之软件基础

软件基础程序是执行某个特定任务的计算机指令集合。程序可以用多种程序语言来编写:从低级计算机语言-汇编语言到高级的、与机器本身无关的语言入C程序语言。操作系统是一个允许用户运行如电子表格或者字处理软件等应用程序的特殊程序。本章将介绍程序设计的基本原则,同时给出操作系统设计目标与功能的概述。2.1 计算机编程语言2.1.1 汇编语言那些CPU从主存读取出来执行的指令对人类来

2012-09-20 10:24:20 553

原创 Linux 核心之硬件基础

硬件基础操作系统必须与基本硬件系统密切协作。它需要那些仅仅能够由硬件提供的服务。为了全面理解Linux操作系统,你必须要懂得一些有关硬件的知识。本章将对硬件:现代PC做一个简要的介绍。 当1975年一月的"Popular Electronics"杂志以Altair 8080的图片作为封面时,一场革命开始了。 家用电器爱好者能独立组装出来的Altair 8080,当时价格仅仅为397美圆

2012-09-20 10:23:08 351

原创 GCC参数详解

[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -c    只激活预处理,编译,和汇编,也就是他只把程序

2012-09-14 14:08:59 280

原创 linux下SPI驱动开发

一、概述基于子系统去开发驱动程序已经是linux内核中普遍的做法了。前面写过基于I2C子系统的驱动开发。本文介绍另外一种常用总线SPI的开发方法。SPI子系统的开发和I2C有很多的相似性,大家可以对比学习。本主题分为两个部分叙述,第一部分介绍基于SPI子系统开发的理论框架;第二部分以华清远见教学平台FS_S5PC100上的M25P10芯片为例(内核版本2.6.29),编写一个SPI驱动程序实例

2012-07-12 13:43:34 1033

原创 linux spi驱动分析整理

1、SPI总线:       SPI(同步外设接口)是由摩托罗拉公司开发的全双工同步串行总线,其接口由 MISO(串行数据输入),MOSI(串行数据输出),SCK(串行移位时钟),SS/CS(从使能信号)四种信号构成(当然了,现在芯片技术日新月异,SPI模块的结构也在变化中,象 OMAP系列中的 SPI 模块还支持 5 线的一种模式),SS /CS决定了唯一的与主设备通信的从设备,

2012-07-10 17:01:43 1609

LinuxUSB转串口源代码

LinuxUSB转串口源代码

2012-09-21

高质量C++C编程指南

高质量C++C编程指南

2012-09-21

内核相关文档linux内核函数

内核相关文档\linux内核函数

2012-09-12

局域网技术讲义

局域网技术讲义

2012-09-12

华为路由器模拟软件

华为路由器模拟软件

2012-09-12

三偏心蝶阀摩擦力矩分析

通过对三偏心蝶阀蝶板的静力分析,推导出三偏心蝶阀的摩擦力矩,并且分析了径向偏心距、轴向偏心距以及偏心角对摩擦力矩的影响。

2012-07-30

《中国计算机学会通讯》2010年第11期

《中国计算机学会通讯》2010年第11期

2012-01-06

基于无线传感器网络的服务体系构建和协同控制

基于无线传感器网络的服务体系构建和协同控制

2012-01-06

2012年计算机组成原理考研

总结前几年的组成原理分数分布,以及考试重点,难点分析,及2012年可能的考点

2011-12-25

USB驱动程序原理及设计

详细介绍USB驱动程序的原理以及程序步骤。

2010-11-02

多速率数据采集与处理系统的设计与实现

多速率数据采集与处理系统的设计与实现,很好的解决方案,值得参考!

2010-10-15

VC++实现在线实时音频通信

音频通信 编解码,资源相当好,VC实现,实测通过!

2010-10-15

移动短信SMS综合资料库

移动短信SMS综合资料库,集成很多的资源,欢迎享受

2010-10-12

GPRS 电话 短信源代码

GPRS sim300 sms 电话 短信息 源码 很好的软件源码,调试通过,敬请享用!

2010-10-12

实现RSSI信号的16个Node节点采集

实现RSSI信号的16个Node节点采集,请注意对应的文件名,烧制时注意节点ID号。

2010-04-28

网络拓扑——最新资料

国外最新的路由拓扑算法,MATLAB可以仿真测试!很好的资料!

2010-04-28

数字图像压缩编码算法及压缩过程的实现

(JPEG)编码算法及压缩过程的实现编码算法及压缩过程的实现

2009-12-09

基于JPEG的图像压缩系统

基于JPEG的图像压缩系统的设计及实现 dkjanvflaisjvi

2009-10-26

基于JPEG的图像压缩系统的设计及实现

基于JPEG的图像压缩系统的设计及实现 sdcaiuhdsaphv

2009-10-26

VC++ 软件 第三方毫无服务费

通用房产管理软件 啊;殴打合法偶iewafasdv

2009-09-15

空空如也

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

TA关注的人

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