摘要: 会话、进程组、线程组总体关系示意图待插入Session(会话)与进程组Shell 分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group)。一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,Shell可以同时运行一个前台作业和任意多个后台作业,这称为作业 控制(Job Control)。例如用以下命令启动5个进程(这个例子出自[APUE2e]): 其中proc1和proc2属于同一个后台进程组,proc3、proc4、proc5属于同一个前台进程组,Shell进程本身属于一个单独的进程组。这些进程组的控制终端相同,它们属于同一个Session。当用户在 阅读全文
posted @ 2014-03-25 21:52 学而~ 阅读(3969) 评论(0) 推荐(0) 编辑
摘要: 1、df查看磁盘使用情况2、将windows下的磁盘空间分出与部分给ubuntu3、格式化磁盘在终端输入:mkfs -t ext3 /dev/sdb1用ext3格式对/dev/sdb1 进行格式化4、挂载该分区:手动挂载:在终端输入:mkdir /media/sdb1 ,创建新的硬盘的挂载点在终端键入:mount /dev/sdb1 /media/sdb1如果想开机自动挂载修改/etc/fstab文件,添加如下行:/dev/sdb1/media/sdb1ext3defaults,00 阅读全文
posted @ 2014-03-25 13:39 学而~ 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: 一、概述众所周知,Android移动操作系统是Google花费了很大的财力、物力及人力的前提下,推广到世界各个角落,以开放源代码的方式(当然也不是完全开放所有),使其在世界范围内迅速漫延开来,到目前虽说只有三四年的时间 ,火热程度,也不用我细说了,看看业界新闻就明白了。这里我们主要讨论Android系统源代码的下载,这里我们先了解两个工具:1、GitGit是面向Linux内核管理的一个工具,它是一种分布式的版本控制系统,即每一个工作目录下都是一个完整的仓库,因此也支持离线工作, 在本地提交后,便会稍后更新到服务器上。它这种结构比集中式版本控制系统(如常见的SVN、CVS等只有一个完整仓库)更加 阅读全文
posted @ 2014-03-24 19:48 学而~ 阅读(329) 评论(0) 推荐(0) 编辑
摘要: https://android.googlesource.com/ google的android源码网站http://source.android.com/ android网站git://codeaurora.org/platform/manifest.git(用repo下载源码时用的) (不知道是不是https://www.codeaurora.org/里面的) android源码网站http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo 下载repo的网站http://grepcode.com/project/reposi... 阅读全文
posted @ 2014-03-24 00:04 学而~ 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现... 阅读全文
posted @ 2014-03-23 23:58 学而~ 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 本篇文章将介绍本人对以下问题的理解。1、进程、轻量级进程、线程、线程组之间的关系2、及它们的标识相关说明一、进程、轻量级进程、线程、线程组之间的关系借助上图说明:进程P0有四条执行流,即线程,主线程t0是它的第一个线程,且与进程P0相关联,之后衍生出t1、t2、t3三个线程,这三个线程与轻量级进程P1、P2、P3一一关联,所有的进程、轻量级进程、线程组成了线程组。轻量级进程也是进程,只不过它与某进程的某特定线程相关联。二、它们的标识相关说明pid是进程标识符,tgid是线程组标识符每个进程都有自己的pid,如图中:进程pid(P0)= a,轻量级进程pid(P1)= b /pid(P1)= c 阅读全文
posted @ 2014-03-22 15:15 学而~ 阅读(3124) 评论(1) 推荐(0) 编辑
摘要: 目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑。众所周知,如今在移动平台市场上,苹果的iOS、谷歌的Android和微软的Windows Phone系统已经形成了三足鼎立的形势,而Android系统的市场占有率是最高的。Android系统之所以能够在市场上占据着第一的位置,一来是因为它依托着谷歌的品德效应和技术实力,二来是因为它是开放的,任何人都可以得到它的源代码,并且能够自由地使用它。既然Android系统是开放的,作为一个移动平台开发人员来说,当然希望能够深入地去分析和研究它的源代码了,然而,Android系统的源代码非常庞大,我们需要循序渐 阅读全文
posted @ 2014-03-22 14:31 学而~ 阅读(885) 评论(0) 推荐(0) 编辑
摘要: 引入PAE机制后,分页模式是怎样的呢?首先,要搞明白几件事,2.6.11以上版本的linux内核中,存在4中页表(页全局目录,页上级目录,页中级目录,页表),这些页表结构是已经存在于硬盘中的,当进程被创建或这些页表被使用到时,将其调入物理内存(页框)中。而每一线性地址都与某目录项或表项对应,也就是说,根据每一线性地址都能特定地找到某一目录项,例如下面这个例子:当某进程被创建时,此进程的页全局目录被调入物理内存(页框)中,页全局目录的地址被存入到进程控制块中,假如此时采用二级页表,需要寻址进程线性地址0x12345678的物理地址,步骤如下:线性地址0x12345678的前10位为0x48,它就 阅读全文
posted @ 2014-03-22 14:29 学而~ 阅读(3129) 评论(0) 推荐(0) 编辑
摘要: task state segment,任务状态段。关于每个cpu对应不同TSS段的问题,如下解释:TSS段主要用在当前的任务从用户态切入内核态时去找到该任务的内核堆栈。多核上的任务是真正的并发,每个核都可以同时运行不同的任务,所以“当前任务”的数量可能达到cpu数量这么多,所以要为每一个“当前任务”准备一个TSS。也就是有几个核就得有几个TSS。任务切换是通过中断实现的,中断时任务处于内核态,所以任务切换时,当前任务处于内核态,当切换到新任务时,当前任务的上上文先保存在它的内核栈。当切换回该任务时,先从任务描述符中得到它内核栈的栈顶指针,然后恢复上下文,之后再从内核栈中恢复到用户态。1、工作细 阅读全文
posted @ 2014-03-22 14:28 学而~ 阅读(2383) 评论(0) 推荐(1) 编辑
摘要: 《UNIX环境高级编程》,推荐指数:★★★★★《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。对于初学者,如果你能将《操作系统》这门课程结合着这本书来学习,试着用 Linux 程序实践《操作系统》这门书中讲的进程间通信、进程调度、进程同步等内容,相信这将是一个一举两得的事情。哦,忘了告诉大家,上次 CNN 采访 Google 总裁佩林的时候,就看到佩林的书架上就有这本 阅读全文
posted @ 2014-03-22 14:25 学而~ 阅读(1244) 评论(0) 推荐(1) 编辑