自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux PM QoS framework(

Linux PM QoS framework(1)_概述和软件架构Linux PM QoS framework(2)_PM QoS classLinux PM QoS framework(3)_per-device PM QoS

2015-03-10 15:03:39 1612

原创 毕业四年后的总结和新的开始

今天最后一天下班,意味着我这一份工作的结束,也意味着下一份工作即将开始。不知不觉中,我已经毕业四年多了!这次换工作直接换了城市,对我而言,很多东西都会是一个新的开始。也趁着这新的生活还没有到来之际,对自己过去的四年简单的总结一下。并且对下一个五年生活做一个新的调整和规划。总的来说,过去四年多的工作中我算是比较顺利的,也算比较幸运的。这里先从第一份工作说起,第一份工作

2015-01-09 19:20:07 1803 3

转载 Ubuntu 12.04中设置安装Google拼音输入法

写在最前好久没写文章了,随着近期时间的充裕,肯定会加快会博文更新的速度。言归正传,在安装英文Linux系统后(作为开发来说,本人更倾向于安装英文语言环境的Linux系统,这样各种提示,尤其是错误提示,都很容易在Google上找到),如果为了方便一些日常的使用,也为了方便在搜索引擎中输入中文,我们可以安装中文输入法,网上有很多教程,但有些说得过于冗杂。本文所针对的系统环境是,利用Ubuntu

2014-11-25 09:45:26 1289

原创 在Ubuntu 12.04 为 Eclipse 添加快速启动项

Ubuntu 12.04使用了Unity界面,在桌面左侧侧多了一个启动器栏。我们可以将自己常用的软件在启动器栏放一个图标,实现快速地启动。启动器栏的每一个图标实际上都对应了/usr/share/applications目录下的一个文件。 为了给eclipse创建启动栏图标,我们可以在/usr/share/applications目录下创建文件eclipse.desktop(

2014-08-21 10:03:01 1166

原创 搭建Android本地镜像

安装git服务$sudo apt-get install git-daemon-run

2014-08-21 09:10:04 1819

原创 Ambari源码分析

Ambari源码分析之总览

2014-08-20 23:50:36 1347

原创 Android系统性能调优工具介绍

Android系统性能调优工具介绍

2014-08-14 17:33:30 979

转载 用户空间缺页异常pte_handle_fault()分析--(上)

前面简单的分析了内核处理用户空间缺页异常的流程,进入到了handle_mm_fault()函数,该函数为触发缺页异常的地址address分配各级的页目录,也就是说现在已经拥有了一个和address配对的pte了,但是这个pte如何去映射物理页框,内核又得根据pte的状态进行分类和判断,而这个过程又会牵扯出一些其他的概念……这也是初读linux内核源码的最大障碍吧,在一些复杂的处理中,一个点往往可以

2014-08-12 03:18:19 1171

转载 用户空间缺页异常pte_handle_fault()分析--(下)--写时复制

在pte_handle_fault()中,如果触发异常的页存在于主存中,那么该异常往往是由写了一个只读页触发的,此时需要进行COW(写时复制操作)。如当一个父进程通过fork()创建了一个子进程时,子进程将会共享父进程的页框。之后,无论是父进程还是子进程要对相应的内存进行写操作,都要进行COW,也就是为自己重新分配一个页框,并把之前的数据复制到页框中去,再写。[cpp] view

2014-08-12 03:16:48 1472

转载 linux缺页异常处理--内核空间

缺页异常被触发通常有两种情况——1.程序设计的不当导致访问了非法的地址2.访问的地址是合法的,但是该地址还未分配物理页框下面解释一下第二种情况,这是虚拟内存管理的一个特性。尽管每个进程独立拥有3GB的可访问地址空间,但是这些资源都是内核开出的空头支票,也就是说进程手握着和自己相关的一个个虚拟内存区域(vma),但是这些虚拟内存区域并不会在创建的时候就和物理页框挂钩,由于程序

2014-08-12 03:12:14 1280

转载 linux缺页异常处理--用户空间

用户空间的缺页异常可以分为两种情况--1.触发异常的线性地址处于用户空间的vma中,但还未分配物理页,如果访问权限OK的话内核就给进程分配相应的物理页了2.触发异常的线性地址不处于用户空间的vma中,这种情况得判断是不是因为用户进程的栈空间消耗完而触发的缺页异常,如果是的话则在用户空间对栈区域进行扩展,并且分配相应的物理页,如果不是则作为一次非法地址访问来处理,内核将终结进程

2014-08-12 03:11:06 1129

转载 ARM-LINUX的进程切换

本文主要记录S3C6410/ARM1176JZF-S架构下Linux(kernel 2.6.35)内核如何进行进程切换。进程切换是操作系统进程调度的基础,首先要能够实现切换,接下来才谈得上“多进程”、“多线程”以及调度算法等更高级的话题。(这里在说“进程切换”的时候提到多线程,并不是把概念搞混淆了。在内核里谈切换的时候,Linux并不区分进程与线程,因为这里只有task,一个进程里如果有多

2014-08-12 02:37:34 1289

转载 Linux Support for ARM LPAE

介绍        早期的ARM系统仅需要MB级别的RAM,但是,随着设备的升级,现在更多复杂的智能手机设备 需要 百M甚至GB级别的RAM,而32bit的物理地址空间就显得捉襟见肘了。更让人紧张的是,这些地址空间不仅仅是RAM占用了,还有 外设、FLASH存储器以及系统ROM也占用了部分地址空间。         新兴起的 移动虚拟化 需要更多是RAM,当然在 Guest

2014-08-11 15:38:42 1771

原创 Linux MMU

create_mapping如何创建内存映射表

2014-08-11 01:19:15 1224

转载 linux内核 address_space 结构

在阅读Linux2.6的内核内存管理这一部分时,我看到page结构中的一个mapping成员,我感到很迷惑,这个成员的属性太复杂了,我们来看看:struct address_space *mapping;表示该页所在地址空间描述结构指针,用于内容为文件的页帧(1)       如果page->mapping等 于0,说明该页属于交换告诉缓存swap cache(2)  

2014-08-08 16:28:51 2694 1

转载 mmc驱动的读写过程解析

mmc io的读写从mmc_queue_thread()的获取queue里面的request开始。 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作。host->ops->request() // sdhci_request()mmc_start_request()mmc_start_req()mmc_blk_issue_rw_

2014-08-06 23:54:46 7492

转载 Linux内核调试方法总结

内核开发比用户空间开发更难的一个因素就是内核调试艰难。内核错误往往会导致系统宕机,很难保留出错时的现场。调试内核的关键在于你的对内核的深刻理解。 一  调试前的准备在调试一个bug之前,我们所要做的准备工作有: 有一个被确认的bug。包含这个bug的内核版本号,需要分析出这个bug在哪一个版本被引入,这个对于解决问题有极大的帮助。

2014-08-04 23:11:07 2422

原创 访问CP15寄存器的指令

4.1.1  访问CP15寄存器的指令访问CP15寄存器指令的编码格式及语法说明如下:31  2827  2423  212019  1615  1211  87  543  0cond1 1 1 0opcode_1

2014-08-01 12:25:01 1219

转载 Kernel编译和链接中的linker script语法详解

先要讲讲这个问题是怎么来的。(咱们在分析一个技术的时候,先要考虑它是想解决什么问题,或者学习新知识的时候,要清楚这个知识的目的是什么)。我在编译内核的时候,发现arch/arm/kernel目录下有一个这样的文件:vmlinux.lds.S。第一眼看上去,想想是不是汇编文件呢?打开一看,好像不是。那它是干嘛的?而且前面已经说过,make V=1的时候,发现这个文件的用处在ld命令中,即ld

2014-08-01 11:00:15 1634

原创 wait()和waitpid()函数

1)wait()和waitpid()函数说明    wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接收到了一个指定的信号为止。如果该父进程没有子进程或者它的子进程已经结束,则wait()就会立即返回。    waitpid()的作用和wait()一样,但它并不一定要等待第一个终止的子进程,它还有若干选项,如可提供一个非阻塞版本的wait()功

2014-07-30 10:33:01 1573

原创 启动系列Blog

ARM架构内核启动分析-head.S(1.2、stext分析之准备阶段)

2014-07-25 00:44:22 638

原创 linux 内核管理几篇好Blog

http://www.cnblogs.com/zhaoyl/p/3695517.html

2014-07-23 16:58:47 713

转载 从一道面试题谈linux下fork的运行机制

今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目:      给出如下C程序,在linux下使用gcc编译:#include "stdio.h"#include "sys/types.h"#include "unistd.h"int main(){ pid_t pid1; pid_t pid2; pid1 = fork

2014-07-21 00:23:30 526

原创 linux中关于创建子进程系统堆栈的分析

2.6.24内核在task_struct结构中增加了一个void类型的指针stack,使它指向进程的系统空间堆栈顶端这是在do_fork()-->copy_process()-->dup_task_struct()函数中实现的:struct thread_info *ti;ti = alloc_thread_info(tsk);if (!ti) {  free_task_struc

2014-07-20 22:43:00 749

原创 Linux内存系列文章

从硬件的系统结构开始  http://blog.csdn.net/vanbreaker/article/details/7464894

2014-07-02 21:31:11 495

转载 C语言函数之可变参数原理:va_start、va_arg及va_end

C语言函数之可变参数原理:va_start、va_arg及va_end

2014-06-20 16:58:38 847

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来

2014-05-27 14:08:02 612

原创 使用QEMU模拟搭建ARM开发平台

使用QEMU模拟搭建ARM开发平台(一)——交叉编译Linux内核使用QEMU模拟搭建ARM开发平台(二)——加入busybox支持使用QEMU模拟搭建ARM开发平台(三)——添加SCSI和MTD以及NAND flash支持MTD设备及JFFS2, UBIFS文件系统的使用简介

2014-01-22 17:24:06 948

原创 Linux I/O Scheduler--CFQ

分析Linux CFQ调度器的两篇很好的文章。Linux I/O Scheduler--CFQ(上)Linux I/O Scheduler--CFQ(下)

2014-01-11 13:22:03 916

转载 大数据处理书籍

apache yarnhttp://www.amazon.com/Apache-Hadoop-YARN-Processing-Addison-Wesley/dp/0321934504/ref=sr_1_1?ie=UTF8&qid=1383118090&sr=8-1&keywords=apache+yarn zookeeperhttp://www.amazon.com

2014-01-04 12:08:25 818

原创 sys_open/sys_read/sys_umount/sys_mount

Linux虚拟文件系统之文件打开(sys_open())Linux虚拟文件系统之文件读取(sys_read())Linux虚拟文件系统之文件系统安装(sys_mount())Linux虚拟文件系统之文件系统卸载(sys_umount())Linux虚拟文件系统(安装根文件系统)

2013-12-23 17:29:23 879

原创 linux fd 系列

linux内核中的文件描述符(一)--基础知识简介linux内核中的文件描述符(二)--socket和文件描述符linux内核中的文件描述符(三)--fd的回收linux内核中的文件描述符(四)--fd的分配--get_unused_fdlinux内核中的文件描述符(五)--fd的分配--locate_fdlinux内核中的文件描述符(六)--fd的分配--ex

2013-12-16 12:37:36 1215

原创 CentOS6.4安装hadoop2.2.0集群Pass总结

http://blog.csdn.net/licongcong_0224/article/details/12972889   这篇Blog 对细节部分介绍的很好,但我站在一个才接触hodoop的新手的角度来看,有些东西讲的有点杂乱,不好理解。我的意思并不是说前面的Blog写的不好 ,我还是非常感谢作者的分享。我只是在其基础上,将其重要的需要注意的地方总结一下,方便大家,也方便自己以后查阅

2013-11-23 00:53:52 2220

原创 全排列与逆序对

在百度上搜索“全排列及其逆序数”能找出N多结果,但是内容很分散。本文旨在对这一方面的问题进行总结整理,如有不完整或者错误之处请与本人联系。  下面是正文。.  一. 预备知识.  这部分就是百度上一搜一大片的东西,不过还是强调一下。.  1. 全排列    从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同

2013-11-21 20:07:48 1319

原创 CentOS编译Hadoop 2.2.0 Pass 总结

1. 不要使用最新的 Maven3.1.1,与Maven3.0.x存在兼容性问题,所以老是出现java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter之类的错误。我选择环境如下:Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da

2013-11-21 09:37:47 4814 5

原创 常用排序算法

排序算法http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95常用排序算法稳定性、时间复杂度分析http://www.cnblogs.com/nannanITeye/archive/2013/04/11/3013737.html视觉直观感受 7 种常用的排序算法http://blog

2013-11-20 14:00:56 861

原创 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法一网打尽

http://dsqiu.iteye.com/blog/1700312

2013-11-20 13:53:25 1113

原创 VMware Player 安装MAC OS X Mavericks 10.9

http://blog.sina.com.cn/s/blog_624893280101i1dq.html

2013-11-08 11:17:52 1272

转载 VS2012 下编译boost1.52

VS2012 下编译boost1.522012-12-25 20:35 by Scott Guthrie Liu, 684 阅读, 1 评论, 收藏, 编辑1. 下载boost_1_52_0.7z    http://sourceforge.net/projects/boost/files/boost/1.52.0/2. 解压缩到d:\boost目录下3. 编译bjam

2013-11-07 13:02:31 829

转载 ARM汇编语言调用C函数之参数传递

对于ARM体 系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2 Online Books ——Developer Guide的2.1节。这篇文档要讲的是 汇编代码中对C函数调用时如何

2013-11-01 15:39:18 949

ACPI规范30b.pdf

Advanced Configuration and Power Interface Specification

2010-04-15

C语言完美演绎

这个chm文件 是用实例的方式来给大家讲解C语言,我个人认为非常好,很喜欢,希望能给大家带来帮助!

2008-03-06

C语言案例

学习C语言很好的东西,里面的案例有<br>案例一 贪吃蛇游戏<br>案例二 计算器<br>案例三 黑白棋游戏<br>案例四 迷宫问题<br>案例五 扫地雷游戏<br>案例六 速算24<br>案例七 数据结构CAI系统<br>案例八 进程调度<br>案例九 存储管理分区分配算法<br>案例十 通讯录<br>案例十一 学生成绩管理<br>案例十二 工资管理<br>案例十三 图书借阅管理<br>案例十四 教师工作量计算<br><br>

2008-03-06

空空如也

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

TA关注的人

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