自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 Pthread创建线程后必须使用join或detach释放线程资源

这两天在看Pthread 资料的时候,无意中看到这样一句话(man pthread_detach):Either pthread_join(3) or pthread_detach() should be called for each thread that an application creates, so that system resources for the

2012-10-30 12:02:48 991

转载 git/github初级运用自如

之前初学过一点git版本控制工具,利用github做仓库,照着github上的文档练习的了一下。不过那只篇只是照虎画猫(我的水平只能照着老虎画个猫模样,嘻嘻!)。最近在学hibernate,公司与家之间都要调用我练习的小项目,交给git/github来管理,我只想说真的爽歪歪了。本文在我之前的那篇《git/github学习笔记》的基础上,属于那个的升级加强版,欢迎对照阅读:http://w

2012-10-19 09:57:22 436

转载 git/github学习笔记

1. git 版本控制系统相比CVS\SVN优势:- 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块ps:关于git的更详细的介绍于优点在此就不介绍了,教大家怎么用是关键。:)==============运行环境========系统:windowsgit : Git-1.7.3.1-preview20101002.rar

2012-10-19 09:55:31 405

转载 github 注册及创建自己的库

如果你的代码不知道放哪里好,放到github是一个不错的选择。下面奉上一文入门级别的配置篇。(以下配置同时适用于window和linux) 在github注册完后,首先创建一个仓库(repositry),在你的个人页面右边"Your Repositories"模块,点击 New repository,这里我们把project name 填写为 “test"除了项目的名字是必填的外,

2012-10-19 09:41:10 2253

转载 malloc 和 mmap 的内存,到底哪个性能好?

测试MALLOC 与 MMAP之间读写的性能差异, 测试方法如下:1)编写两个MALLOC程序,一个是随机读,一个是随机写,获取1G内存空间,空间中存放数据结构为 一个总大小为28字节的数据结构,包括一个16字节的字符串, 3个INT数,用于模拟索引结构2)循环100W次,随机获取1G空间范围内的数, 以获取到的随机数为下标,对MALLAC获取到的内存地址进行随机写入 和 读取 并打印完成

2012-10-16 16:18:11 3415

转载 Linux Scheduling Domains

Scheduling Domains 是现代硬件技术尤其是多 CPU 多核技术发展的产物。现在,一个复杂的高端系统由上到下可以这样构成:它是一个 NUMA 架构的系统,系统中的每个 Node 访问系统中不同区域的内存有不同的速度。同时它又是一个 SMP 系统。由多个物理 CPU(Physical Package) 构成。这些物理 CPU 共享系统中所有的内存。但都有自己独立的 Cache

2012-10-16 12:17:48 650

转载 kernel] SMP系统负载均衡原理

kernel] SMP系统负载均衡原理【转载请注明出处:http://donghao.org/uii/ 】【原理】现在互联网公司使用的都是多CPU(多核)的服务器了,Linux操作系统会自动把任务分配到不同的处理器上,并尽可能的保持负载均衡。那Linux内核是怎么做到让各个CPU的压力均匀的呢?做一个负载均衡机制,重点在于:1. 何时检查并调整负载情况?2.

2012-10-16 11:53:22 1465

转载 linux内核SMP负载均衡浅析

linux内核SMP负载均衡浅析需求在《linux进程调度浅析》一文中提到,在SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加入到一个run_queue),以便让调度程序安排它在这个run_queue对应的CPU上面运行。一个CP

2012-10-16 11:52:01 438

转载 [整理】Linux中对于SMP系统的实现

Linux从2.0开始增加对SMP系统的支持。在2.2前的内核中,SMP实现在用户级,Linux内核本身并不能因为有多个处理器而得到加速;在2.4内核后,SMP实现在核心级,使用多处理器可以加快内核的处理速度。   1、SMP中的系统引导      在同一时间,一个“上下文”只能由一个CPU处理。在系统引导和初始化阶段,只有一个“上下文”,只能由一个处理器来处理。BP完成系统的引导和初始化

2012-10-16 11:35:10 1024

转载 【整理】SMP实现中的关键技术

SMP系统的实现需要软件和硬件协同完成。作为硬件来说,组成SMP系统的CPU需要支持处理器间的通信,需要硬件提供机制来维护CUP之间Cache内容的一致性等;而作为软件的OS来说,需要配合硬件来实现进程在各个CPU间的调度,处理各种外部中断等工作。  1、处理器间的同步与互斥     进程间的同步实际上可以归结为对临界资源的互斥操作。在单处理器结构中,只要能保证在对临界资源的操作中不会发生

2012-10-16 11:34:04 727

转载 armlinux系统调用号和系统调用实现函数位置

armlinux系统调用号和系统调用实现函数位置系统调用序号:linux/include/asm-arm/unistd.h系统调用函数:arch/arm/kernel/calls.S 对应了的文件:kernel/include/asm-generic/unistd.h可以查找关键字SYSCALL_DEFINE因为kernel/include/linux/syscalls

2012-10-11 15:09:17 1448

转载 Linux动态连接原理 GOT PLT表详解

注意:以下所用的连接器是指,ld,而加载器是指ld-linux.so;1,  GOT表;GOT(Global Offset Table)表中每一项都是本运行模块要引用的一个全局变量或函数的地址。可以用GOT表来间接引用全局变量、函数,也可以把GOT表的首地址作为一个基 准,用相对于该基准的偏移量来引用静态变量、静态函数。由于加载器不会把运行模块加载到固定地址,在不同进程的地址空间中

2012-10-11 12:22:38 816

转载 ELF文件的加载和动态链接过程

近段时间在研究Erlang核心特性的实现,也许过段时间会有个系列的总结,期待...今天看到有人写一个深入Hello World的文章,想起来读研的时候做的一个关于程序加载和链接的课程设计,也是以Hello World为例说明的,随发出来共享。文后有下载链接。======================================================本文的目的:大家对于H

2012-10-11 12:09:32 1033

转载 elf 记录

链接器对编译生成的目标文件进行链接时,A.首先进行符号解析,找出外部符号在哪定义。如果外部符号在一个静态库中定义,则直接将对应的定义代码复制到最终生成的目标文件中。B.接着链接器进行符号重定位。编译器在生成目标文件时,通常使用从零开始的相对地址,而在链接过程中,链接器从一个指定的地址开始,根据输入目标文件的顺序,以段(segment)为单位将它们拼装起来。其中每个段可以包括很多个节(s

2012-10-08 20:17:57 408

转载 生成可执行的共享库

Linux系统下共享对象文件和可执行文件的格式都是ELF格式,它们并没有什么本质 上的区别。共享对象文件也是可以执行的。例如Linux下动态链接器ld-linux.so就 是共享对象文件,它也可以像可执行文件一样执行;Glibc库函数也是一样。共享对象文件要执行有2个问题要解决:共享对象文件的加载地址(loading address)是随机的(由操作系统决定恰当的地址),不像可执行

2012-10-08 11:25:44 851

转载 Linux下程序的加载、运行和终止流程 .

简介用户在编写程序时都要定义一个main()函数作为程序运行的入口。程序开始执行时就从这个函数开始。当这个函数返回时就表明程序运行结束了。可是用户编写的程序要能正确运行远不是这么简单。比如,我们不禁要问main()是由谁调用的呢?当从main()返回后又运行到哪里去了呢?C++程序中定义的全局对象是如何构造的呢?又是如何析构的呢?如果程序是动态链接的,它所依赖的共享库是如何加载进内存的?更复杂

2012-10-08 11:08:08 833

空空如也

空空如也

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

TA关注的人

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