08 2016 档案

摘要:本文转载自:https://www.ibm.com/developerworks/cn/linux/l-linux-slab-allocator/ 良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux 阅读全文
posted @ 2016-08-31 08:56 请给我倒杯茶 阅读(246) 评论(0) 推荐(0) 编辑
摘要:简单来谈一下,ARM和X86之间为什么不太具有可比性的问题。要搞清楚这个问题首先要明白什么是架构,之前也有很多人提到了架构不同,但架构是什么意思?它是一个比较抽象的概念,不太容易用几句话就解释清楚。 我们要明白CPU是一个执行部件,它之所以能执行,也是因为人们在里面制作了执行各种功能的硬件电路,然后 阅读全文
posted @ 2016-08-30 12:55 请给我倒杯茶 阅读(1299) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/li-hao/archive/2011/12/21/2296010.html 材料一: 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数 阅读全文
posted @ 2016-08-30 11:18 请给我倒杯茶 阅读(1002) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://chang6520.blog.163.com/blog/static/112665875201302843359715/ bzero 原型: extern void bzero(void *s, int n); 用法: #include <string.h> 功能:置字节字 阅读全文
posted @ 2016-08-29 19:00 请给我倒杯茶 阅读(750) 评论(0) 推荐(0) 编辑
摘要:#define MIN(A,B) ((A) <= (B) ? (A) : (B))MIN(*p++, b)会产生宏的副作用剖析:这个面试题主要考查面试者对宏定义的使用,宏定义可以实现类似于函数的功能,但是它终归不是函数,而宏定义中括弧中的“参数”也不是真的参数,在宏展开的时候对“参数”进行的是一对一 阅读全文
posted @ 2016-08-29 16:06 请给我倒杯茶 阅读(5683) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/skywang12345/p/3245399.html R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑( 阅读全文
posted @ 2016-08-26 23:18 请给我倒杯茶 阅读(255) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.sina.com.cn/s/blog_a459dcf5010153m5.html 跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包, 阅读全文
posted @ 2016-08-22 09:17 请给我倒杯茶 阅读(381) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time), atime(access time), mtime(modify time)。这三个时间很容易 阅读全文
posted @ 2016-08-21 11:39 请给我倒杯茶 阅读(1052) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/tennysonsky/article/details/45870459 dup() 和 dup2() 是两个非常有用的系统调用,都是用来复制一个文件的描述符,使新的文件描述符也标识旧的文件描述符所标识的文件。 这个过程类似于现实生活中的配钥匙, 阅读全文
posted @ 2016-08-21 11:27 请给我倒杯茶 阅读(486) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://my.oschina.net/shelllife/blog/123202 在宏定义中#和##的作用是:前者将宏定义的变量转化为字符串;后者将其前后的两个宏定义中的两个变量无缝拼接在一起转化为字符串。 1. #: 在宏定义中,将其后的变量,转化为字符串。 eg: #defin 阅读全文
posted @ 2016-08-19 16:54 请给我倒杯茶 阅读(397) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/11760187 一、概述 a) 在编写与计算机通信的程序时,首先要确定的就是和计算机通信的协议,从高层次来确定通信由哪个程序发起以及响应在合适产生。大多数网络应用按照划分成客户和服务器来组织 阅读全文
posted @ 2016-08-17 09:01 请给我倒杯茶 阅读(343) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/17538499 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的Q 阅读全文
posted @ 2016-08-17 08:51 请给我倒杯茶 阅读(346) 评论(0) 推荐(0) 编辑
摘要:本文转载自:https://segmentfault.com/a/1190000002711544 内核按照体系结构分为两类 : 微内核(microkernel)与宏内核(macrokernel). 微内核 是将各种服务功能放到内核之外,自身仅仅是一个消息中转战,用于各种功能间的通讯.宏内核 是将所 阅读全文
posted @ 2016-08-15 21:12 请给我倒杯茶 阅读(899) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cppblog.com/aaxron/archive/2013/04/12/199386.html 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此 阅读全文
posted @ 2016-08-15 21:09 请给我倒杯茶 阅读(308) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14237277 在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来 阅读全文
posted @ 2016-08-15 19:42 请给我倒杯茶 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/21560079 一、简介 1.1 进程/线程同步方法 常见的进程/线程同步方法有互斥锁(或称互斥量Mutex)、读写锁(rdlock)、条件变量(cond)、信号量(Semophore)等。 阅读全文
posted @ 2016-08-15 18:57 请给我倒杯茶 阅读(849) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/18401277 一、线程池 大多数的网络服务器,包括Web服务器都具有一个特点,就是单位时间内必须处理数目巨大的连接请求,但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的:一 阅读全文
posted @ 2016-08-15 17:20 请给我倒杯茶 阅读(257) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14161061 1. 优先级反转(Priority Inversion) 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统 阅读全文
posted @ 2016-08-15 17:12 请给我倒杯茶 阅读(771) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/12405953 【概念上】 一 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位; 二 线程是进程的一个实体,是CPU调度和分派的基本单位 阅读全文
posted @ 2016-08-15 17:06 请给我倒杯茶 阅读(270) 评论(0) 推荐(0) 编辑
摘要:很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。 今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发? 这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们 阅读全文
posted @ 2016-08-15 16:50 请给我倒杯茶 阅读(264) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/12683941 四种进程或线程同步互斥的控制方法 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的 阅读全文
posted @ 2016-08-15 16:21 请给我倒杯茶 阅读(418) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/14110437 信号量是最早出现的用来解决进程同步与互斥问题的机制(也可实现进程通信),包括一个称为信号量的变量及对它进行的两个原语操作。信号量为一个整数,我们设这个信号量为:sem。很显然 阅读全文
posted @ 2016-08-15 08:38 请给我倒杯茶 阅读(454) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/12045255 关于虚拟内存有三点需要注意: 4G的进程地址空间被人为的分为两个部分--用户空间与内核空间。用户空间从0到3G(0xc0000000),内核空间占据3G到4G。用户进程通常情 阅读全文
posted @ 2016-08-14 20:11 请给我倒杯茶 阅读(245) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/ljianhui/article/details/10875883 前文再续,书接上一回,在上一篇文章:Linux多线程——使用信号量同步线程中,我们留下了一个如何使用互斥量来进行线程同步的问题,本文将会给出互斥量的详细解说,并用一个互斥量解决上 阅读全文
posted @ 2016-08-14 17:05 请给我倒杯茶 阅读(202) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/ljianhui/article/details/10813469 信号量、同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过是同步的对象不同而已。但是下面介绍的信号量的接口是用于线程的信号量,注意不要跟用于进程间通信的信号量 阅读全文
posted @ 2016-08-14 16:53 请给我倒杯茶 阅读(804) 评论(0) 推荐(0) 编辑
摘要:我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。 有关Lin 阅读全文
posted @ 2016-08-14 16:38 请给我倒杯茶 阅读(274) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/ljianhui/article/details/10243617 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间 阅读全文
posted @ 2016-08-14 16:29 请给我倒杯茶 阅读(352) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/parrynee/archive/2010/01/29/1659071.html 可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 阅读全文
posted @ 2016-08-14 15:26 请给我倒杯茶 阅读(184) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/9668363 这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析 CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步(如下图): 首先,将给定一个逻辑地址(其实是段内偏 阅读全文
posted @ 2016-08-14 14:36 请给我倒杯茶 阅读(228) 评论(0) 推荐(0) 编辑
摘要:本文转载自: http://blog.csdn.net/yusiguyuan/article/details/9664887 分析linux内存管理机制,离不了上述几个概念,在介绍上述几个概念之前,先从《深入理解linux内核》这本书中摘抄几段关于上述名词的解释: 一、《深入理解linux内核》的解 阅读全文
posted @ 2016-08-14 14:21 请给我倒杯茶 阅读(442) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/yusiguyuan/article/details/39432377 1、首先要明确进程和线程的含义: 进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。与程序相比,程序只是 阅读全文
posted @ 2016-08-14 12:48 请给我倒杯茶 阅读(195) 评论(0) 推荐(0) 编辑
摘要:在解释完内核中的链表基本知识以后,下面解释链表的重要接口操作: 1. 声明和初始化 实际上Linux只定义了链表节点,并没有专门定义链表头,那么一个链表结构是如何建立起来的呢?让我们来看看LIST_HEAD()这个宏: #define LIST_HEAD_INIT(name) { &(name), 阅读全文
posted @ 2016-08-14 12:31 请给我倒杯茶 阅读(492) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/youngforever/p/3250270.html 这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。 在好多教材上(包括国内与国外的)也没有明确这些概念,现在对每个问题还没有准确的答 阅读全文
posted @ 2016-08-14 11:43 请给我倒杯茶 阅读(540) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了 阅读全文
posted @ 2016-08-13 23:49 请给我倒杯茶 阅读(294) 评论(0) 推荐(0) 编辑
摘要:本文转载自:https://www.ezloo.com/2007/10/thread_process_program.html 我对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起来就是,线程是进程的一部分,进程是程序的一部分。 线程的引入:例如,有一个Web服务器要进程的方式并发地处理来 阅读全文
posted @ 2016-08-13 20:17 请给我倒杯茶 阅读(345) 评论(0) 推荐(0) 编辑
摘要:一、先来了解下什么是文件I/O和标准I/O: 文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台。 标准I/ 阅读全文
posted @ 2016-08-13 15:32 请给我倒杯茶 阅读(448) 评论(0) 推荐(1) 编辑
摘要:本文转载自:http://www.cnblogs.com/Anker/p/3271773.html 1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入 阅读全文
posted @ 2016-08-13 15:27 请给我倒杯茶 阅读(747) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对 阅读全文
posted @ 2016-08-13 08:46 请给我倒杯茶 阅读(324) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://www.cnblogs.com/felixfang/p/3420462.html 1. 物理地址和逻辑地址 物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nor 阅读全文
posted @ 2016-08-11 23:35 请给我倒杯茶 阅读(1957) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://blog.csdn.net/yusiguyuan/article/details/19840065 一、首先介绍内核中链表 内核中定义的链表是双向链表,在上篇文章--libevent源代码分析--queue.h中关于TAILQ_QUEUE的理解中介绍了FreeBSD中如何定义 阅读全文
posted @ 2016-08-11 17:45 请给我倒杯茶 阅读(423) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.sina.com.cn/s/blog_63f31f3401013jrn.html 先来了解下什么是标准IO以及文件IO。 标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准IO库处理 阅读全文
posted @ 2016-08-05 20:03 请给我倒杯茶 阅读(346) 评论(0) 推荐(0) 编辑
摘要:本文转载自:http://blog.csdn.net/ymangu666/article/details/39292651 应用程序可以通过对/dev 目录下的设备文件读写,从而访问实际的设备。1)每个设备文件对应有两个设备号:主设备号,次设备号① 主设备号:标识该设备的类型,也表示了该设备所使用的 阅读全文
posted @ 2016-08-05 19:01 请给我倒杯茶 阅读(446) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示