显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xu3stones的技术博客

OS >> Virtualization >> Cloud

 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 

浙江省 杭州市

 发消息  写留言

 
学    历 博士或博士以上
职    业 系统工程师
大    学 浙江大学(浙江省)计算机学院(博士)2010-2012
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
 

Android Binder设计与实现 – 设计篇

 

读后感:

         这篇文章从理论讲解出发,基本看不到代码,但是条理清晰,逻辑明了,我前前后后反复读了几遍,结合作者的示例图片,还算是基本理解了其中的内容。作者很牛逼呀!只能这么说了。非常感谢作者的付出和分享。

 

 

关键词

Binder Android IPC Linux 内核 驱动

摘要

Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和 Binder通

作者  | 2013-8-21 16:15:22 | 阅读(710) |评论(0) | 阅读全文>>

/dev/ttyN、/dev/ttySN、/dev/pts、/dev/tty、/dev/console

2013-6-18 9:34:28 阅读310 评论0 182013/06 June18

linux下的控制台由好几类设备构成,下面我一一介绍:
/dev/tty  : 这个设备就是当前进程的控制终端,可以是终端或伪终端,它可链接到任意ttyN,ptsN...

/dev/tty0 :这个设备是当前正被使用的终端的一个链接,其只是链接到ttyN,而不能链接到ptsN上; 其只有root用户可以进行写操作;系统默认会向该设备发送信息,这样,不管当前正在使用的是tty几,都可以保证信息会发送到前台上。  注意区别/dev/tty0和/dev/tty,两者都是一个终端链接,只是链接的目标和作用不同。
一个简单的实验:
在图形界面下,启动终端控制器,即ptsN,在shell提示符下输入如下命令:
        

作者  | 2013-6-18 9:34:28 | 阅读(310) |评论(0) | 阅读全文>>

虚拟化技术 概要

2013-3-14 15:59:32 阅读153 评论2 142013/03 Mar14

1. 什么是CPU虚拟化?
CPU虚拟化的作用是使那些非特权指令的敏感指令在执行时能够陷入到VMM中,从而由VMM来模拟执行返回结果。而对于Guest OS的普通指令,则直接由CPU执行。

实现该目的,有两个思路:(1)全虚拟化,Guest OS像没事似的如在物理机上执行每条代码,所有的处理工作由VMM来完成。方法有:二进制翻译(VMware),动态扫描修补(Virtualbox),CPU硬件辅助(KVM);(2)类虚拟化,修改Guest OS的源代码,让它意识到自己运行于虚拟化环境下,当要执行非特权敏感代码时,主动通过heypercall,交由VMM来处理。(Xen)

2. 什么是内存虚拟化?
内存虚拟化的作用是使Guest OS中的虚拟地址能够正确映射到宿主机的物理地址上。
Guest OS维护着一套页表机制,负责将Guset Virutal Address映射到Guest Physical Address;

作者  | 2013-3-14 15:59:32 | 阅读(153) |评论(2) | 阅读全文>>

iphone IOS后台程序的管理 [转]

2013-3-14 15:20:51 阅读173 评论0 142013/03 Mar14

There is one iOS "tip" that I keep hearing and it is wrong. Worse, I keep hearing it from supposedly authoritative sources. I have even heard it from the lips of Apple "Geniuses" in stores.

Here is the advice - and remember it is wrong:

All those apps in the multitasking bar on your iOS device are currently active

作者  | 2013-3-14 15:20:51 | 阅读(173) |评论(0) | 阅读全文>>

Debian系(debian/ubuntu)第一进程init的执行流程分析

2013-1-16 10:45:02 阅读80 评论0 162013/01 Jan16

之前在查找Linux系统init流程的相关资料时总是能够看到inittab的身影,但是在我的Ubuntu上是没有这个文件的,到后来才知道采用 Upstart方式的Ubuntu上是没有inittab这个文件的。在旧式的System V initialization中,/etc/inittab可是个相当重要的文件。init进程启动后第一时间找的就是它!那么Upstart job是怎么样的呢?我们知道,System

作者  | 2013-1-16 10:45:02 | 阅读(80) |评论(0) | 阅读全文>>

Linux 启动流程学习笔记

2013-1-16 10:39:40 阅读125 评论0 162013/01 Jan16

Linux启动有很多个init,包括内核初始化,initrd,/sbin/init,用户环境初始化等等,足以把人绕晕。在深入学习后,写下本文的笔记(所有内容来源于网络,本人只是稍加整理和梳理)。

开机过程详细说明 (Red Hat系,Debian系有所不同):

作者  | 2013-1-16 10:39:40 | 阅读(125) |评论(0) | 阅读全文>>

1、由来:

刘备接受了诸葛亮的提议,决定将paxos算法的思想应用到蜀帝国的决策机制上。然而,玄德生性谨慎,决定先行试点,实践下可行性。孔明提议,由蜀国五大肌肉男:关羽、张飞、赵云、马超、黄忠,做为决策者,而廖化、周仓、魏延分别无序的提出关于同一件事的水火不容的三个提案,孔明坚信:即使脑残者使用了paxos算法,也不会出现冲突的政令不一情况。paxos算法理论以及刘备是怎么被孔明忽悠的部分,同学们可以参考上篇《paxos分布式一致性算法--讲述诸葛亮的反穿越》:http:

作者  | 2012-12-13 16:15:31 | 阅读(280) |评论(0) | 阅读全文>>

一日,诸葛亮找到刘备,突然献上一曲《独角戏》,而后放声大哭。刘备正沉醉于新曲,暗叹孔明大才,竟作得如此不凡仙乐,看到孔明忽而大悲,慌问:“水,何事悲恸?”

诸葛亮止住抽泣:“亮自主公三顾茅庐出山以来,蒙主公厚爱,自比如鱼得水,敢不尽力?然每日击鼓升帐,皆亮一人在上唱独角戏,众将在下唯唯诺诺,只是照亮的安排做事。如此下去,亮日后定会被司马懿那厮累死呀。”
刘备眨着充满问号的大眼睛:“孔明可是说曹贼丞相府小小的主薄司马懿?他有何德何能。。。”
诸葛亮慌打断:“亮心有些乱,且不提司马懿那小子。”

作者  | 2012-12-13 16:14:32 | 阅读(184) |评论(0) | 阅读全文>>

CENTOS KVM安装及配置

2012-11-30 22:02:26 阅读516 评论0 302012/11 Nov30

本文档主要记录CentOS服务器的KVM安装及配置的一般过程,以方便今后快速配置CentOS服务器。 

初步交代

  1. 必须安装CentOS 64位,才可以安装KVM虚拟机。32位系统的内核默认没有把KVM模块编译进去,而且源中也没有与虚拟化相关的软件包,如Qemu等。
  2. 使用modprobe -l kvm*,可以查看内核是否支持KVM
  3. 使用grep vmx /proc/cpuinfo,可以查看CPU是否支持硬件辅助虚拟化
  4. KVM虚拟机的运行需要包括两个组件:内核可加载模块(kvm.ko kvm-intel.ko/kvm-amd.ko)以及修改过的qemu(qemu-kvm)

作者  | 2012-11-30 22:02:26 | 阅读(516) |评论(0) | 阅读全文>>

几个个人常用的汇编指令

2012-11-30 21:58:33 阅读108 评论0 302012/11 Nov30

1:je/ja/jb/jz/jne/jna/jnb/jnz
   je         等于则转移     zf = 1 
   jne         不等于则转移   zf = 0 
   jz   

作者  | 2012-11-30 21:58:33 | 阅读(108) |评论(0) | 阅读全文>>

Windows下Python安装后的PATH设置

2012-11-30 21:57:46 阅读1082 评论0 302012/11 Nov30

默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。

1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:

(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。)

作者  | 2012-11-30 21:57:46 | 阅读(1082) |评论(0) | 阅读全文>>

操作系统学习笔记(七)-复习汇编的一些心得

2012-11-30 21:56:14 阅读60 评论0 302012/11 Nov30

汇编课程的研究重点在于如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作;
汇编指令是机器指令便于记忆的书写格式,即机器码的助记符;
伪指令没有对应的机器码,它是由编译器执行的,计算机并不执行,+、-、*、/等也是由编译器识别,没有对应的机器码;

若想同时修改CS:IP的内容,可用jmp 段地址:偏移地址的指令来完成,如jmp 2AE3:0B16;

作者  | 2012-11-30 21:56:14 | 阅读(60) |评论(0) | 阅读全文>>

操作系统学习笔记(六)-认识X86

2012-11-30 21:55:17 阅读63 评论0 302012/11 Nov30

 这篇文章的主要内容摘自于各种百科,我只是把他们所描述的知识梳理一下,帮助大家更全面的了解what is X86。
X86:       
X86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。由于数字并不能作为注册商标,因此Intel及其竞争者均在新一代处理器使用可注册的名称,如Pentium。

作者  | 2012-11-30 21:55:17 | 阅读(63) |评论(0) | 阅读全文>>

操作系统学习笔记(五)-认识BIOS

2012-11-30 21:54:14 阅读28 评论0 302012/11 Nov30

计算机用户在使用计算机的过程中,都会接触到BIOS,它在计算机系统中起着非常重要的作用;而计算机底层开发人员,尤其是操作系统和虚拟机的开发人员更是要非常了解BIOS,本文将详细介绍一下BIOS这个家伙。

      BIOS,是计算机的基本输入输出系统(Basic Input System),它也是一个应用程序,只不过它是工作在操作系统层之下,硬件层之上的程序罢了,程序的代码被烧制集成在计算机主板上的一个ROM芯片上。它负责为操作系统提供最直接的硬件控制。

作者  | 2012-11-30 21:54:14 | 阅读(28) |评论(0) | 阅读全文>>

操作系统学习笔记(四)-计算机启动流程解析

2012-11-30 21:53:21 阅读68 评论0 302012/11 Nov30

计算机启动时,CPU工作在实模式下,最大寻址空间只有1MB,这1MB非常重要,它又可以分为高地址部分和低地址部分:00000H~9FFFFH为低地 址;A0000H~FFFFFH为高地址部分,其中低地址总共640KB,为基本存储空间,存放中断向量、BIOS数据、存放引导扇区等,高地址可细分为 A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中

作者  | 2012-11-30 21:53:21 | 阅读(68) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016

注册 登录  
 加关注