自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别

命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch – 体系架构,如ARM,MIPSvendor – 工具链提供商os – 目标操作系统eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface)根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,

2015-04-23 09:26:01 429

原创 container_of()

最近在看linux 驱动,看到这个宏,同时这个宏在LINUX设备驱动程序中也有出现过。所以今天就研究一下这个是如何通过结构中的元素指针,来获取整个结构体的指针。先放出宏定义#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mp

2015-11-26 22:49:27 394

转载 Device namespace简介 - 基于Kernel namespace的设备虚拟化

转与:http://blog.csdn.net/jinzhuojun/article/details/43113195在移动设备上,虚拟化的需求正在逐渐增加。其一,移动设备配置越来越高,一些高端配置已和桌面设备接近,这为虚拟化奠定了基础;其二,用户对于移动设备使用场景的多样性与日俱增。现在移动设备不仅用于娱乐日用,还用于工作;其三,安全与隐私问题日益凸显。移动设备上有更多的隐私信息,如各种账号

2015-11-18 11:37:29 590

转载 采用dlopen、dlsym、dlclose加载动态链接库

这两天 看到Android中有很多load 动态库,所以搜了一下相关的关于加载动态库的总结此文章是转载1、前言  为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作

2015-09-25 11:11:29 457

转载 C++11中的右值引用及move语义编程

C++0x中加入了右值引用,和move函数。右值引用出现之前我们只能用const引用来关联临时对象(右值)(造孽的VS可以用非const引用关联临时对象,请忽略VS),所以我们不能修临时对象的内容,右值引用的出现就让我们可以取得临时对象的控制权,终于可以修改临时对象了!而且书上说配合move函数,可以大大提高现有C++的效率。那么是怎样提高它的效率的呢?看段代码先!#include #i

2015-09-22 22:56:44 456

原创 LXC1.0.7-- lxc-start 源码分析 04

lxc start部分的源码的大致工作流程已经熟悉,那么就要关注他的核心内容了,就是关于namespace 和 cgroup的内容了。根据前面的分析已经知道,lxc根据一些配置会自动将flag设置成CLONE_NEWXXX,然后会通过cgroup init 来初始化一堆 cgroup。我们先来看一下。首先通过cgroup_create 来创建 cgroup,前面介绍都是有个ops 指向函数

2015-09-11 10:43:07 1436

转载 Linux内存管理之mmap详解

一. mmap系统调用1. mmap系统调用        mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.

2015-09-07 22:29:56 430

原创 LXC1.0.7-- lxc-start 源码分析 03

前面的过程就不赘述了,看一下lxc-start 一些流程中重要的过程,有些无关紧要的函数还是依旧跳过。OK。1、首先就是第一个lxc_check_inherited函数dir = opendir("/proc/self/fd");    if (!dir) {        WARN("failed to opendirectory: %m");        return

2015-09-06 10:14:25 2126

原创 LXC1.0.7-- lxc-start 源码分析 02

最近在忙别的事,耽误了接着reboot说reboot:    conf->reboot = 0;    ret = lxc_start(c->name, argv, conf, c->config_path);    …..}reboot 又调用lxc-start 泪奔。int lxc_start(const char *name, char *co

2015-09-01 09:15:35 1871

转载 Linux 中使用 clone 函数

来源:http://my.oschina.net/sincoder/blog/132303接着上文没介绍完的clone的细节。Linux 上创建线程一般使用的是 pthread 库  实际上 libc 也给我们提供了创建线程的函数 ,那就是 cloneint clone( int (*fn)(void *), void *child_stack,

2015-08-28 10:38:56 1665

转载 linux中waitpid系统调用

在上篇中的pid,如果没有wait的话会成为僵尸进程(zombie),因此从网上搜了关于waipid的介绍对于进程的一生可以用一些形象的比喻作一个小小的总结:随着一句fork,一个新进程呱呱落地,但它这时只是老进程的一个克隆。然后随着exec,新进程脱胎换骨,离家独立,开始了为人民服务的职业生涯。人有生老病死,进程也一样,它可以是自然死亡,即运行到main函数的最后一个”}”,从容

2015-08-28 09:59:15 536

转载 linux下的 fork vfork和clone函数

Linux的用户进程不能直接被创建出来,因为不存在这样的API。它只能从某个进程中复制出来,再通过exec这样的API来切换到实际想要运行的程序文件。    复制的API包括三种:fork、clone、vfork。    这三个API的内部实际都是调用一个内核内部函数do_fork,只是填写的参数不同而已。    vfork,其实就是fork的部分过程,用以简化并提高效率。

2015-08-27 23:17:04 357

转载 Linux中/proc

摘要:Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的 Linux 系统的 /proc 文件系统的基本概念都是相同的,但本文只讨论基于 intel x86 架构的 Linux /proc 文件系统。一./proc --- 一个虚拟文件系统/proc 文件系统是一种内核和内核模块用来向进程 (proce

2015-08-27 22:27:20 441

原创 关于lxc中看到的一些东西,ptmx,blockdev,sigprocmask

so,标题已经吊炸天了,这个是看lxc源码中出现的一堆东西。 没办法,学的差,什么不懂,不懂没问题,会google就ok么,所以整理了这篇杂篇。 ok,一个一个来总结 ptmx: 讲ptmx,不得不说tty,pty,等,很多人应该都用过终端的命令模式,那个就是pty 那么ptmx的作用就出来了,pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo

2015-08-25 22:29:57 806

原创 strdup 的用法

在看lxc代码中很多出现这个strdup()函数所以非常好奇这个函数是做什么的,就查了一下这个东西是做什么用的。头文件:#include 定义函数:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以

2015-08-25 21:30:25 613

原创 linux dmesg命令

linux dmesg命令这个忘记在哪看到的东西,所以整理一下吧。 首先这个命令的功能是显示开机的一些信息, ‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。 可

2015-08-25 21:17:13 896

原创 LXC1.0.7-- lxc-start 源码分析 01

最近较关心LinuxContainer 的启动流程,所以就从lxc_start.c这个文件看起。首先进入源文件,直接到main程序来,本人喜欢按照程序执行的顺序来看代码,所以看个人喜好了。 int main(int argc, char *argv[]){ int err = 1; struct lxc_conf *conf; //初始化config结构 c

2015-08-25 11:31:22 3043

原创 lxc源码-- 序

这个系列作为自我激励的一种方式,能坚持下去就很不错了。所以要求不是很高,很多东西整理的可能都很乱。或者只有我能看得懂,btw,这样才有进步嘛。ok,说了很多废话,每周看看能否坚持更新,边发布边修改吧,能力有限。好的开端,加油吧 少年

2015-08-25 10:02:10 1032

原创 最近因为项目需求可能需要研究lxc 源码

项目需求需要研究lxc源码,不定期更新,记录下自己学习的状态  提前MARK一下,激励自己

2015-08-24 09:41:01 606

2012年中科大考研复试离散数学

2012年中科大考研复试离散数学、编 考研复试的好东西

2013-06-24

空空如也

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

TA关注的人

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