易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

在linux下安装配置svn独立服务器

在linux下安装配置svn独立服务器
subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。
svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据(jijian91在搞LDAP时就深受其害,没法根治),所以还是FSFS方式更安全一点。
1. svn服务器安装
操作系统: Redhat Linux AS4
获取svn安装包
最新版本subversion可以在http://subversion.tigris.org/getting.html 下载。
编译svn
以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tar xfvz subversion-1.4.0.tar.gz
tar xfvz subversion-deps-1.4.0.tar.gz
cd subversion-1.4.0
./configure –prefix=/opt/svn –without-berkeley-db –with-zlib
(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)
make clean
make
make install
vi /etc/profile,在/etc/profile最后加入:
PATH=$PATH:/opt/svn/bin
export PATH
svn测试
svnserve –version
如果显示如下,svn安装成功:
svnserve, vers ......

Linux内核中内存cache的实现


1. 前言
kmem_cache是Linux内核提供的快速内存缓冲接口,这些内存块要求是大小相同的,因为分配出的内
存在接口释放时并不真正释放,而是作为缓存保留,下一次请求分配时就可以直接使用,省去了各种
内存块初始化或释放的操作,因此分配速度很快,通常用于大数量的内存块分配的情况,如inode节
点,skbuff头, netfilter的连接等,其实kmalloc也是从kmem_cache中分配的,可通
过/proc/slabinfo文件直接读取cache分配情况。
以下Linux内核代码版本为2.6.19.2, 程序主要出自mm/slab.c文件, 2.4和2.6基本原理差不多,但具
体实现中有了不少变化。
2. slab和page
在介绍kmem_cache之前需要先介绍page和slab这两个定义。众所周知,page是内核中内存基本管理单
位,每个page的内存大小是固定的,对X86机器来说,是4K;slab则是kmem_cache的具体的内存空间
形式,根据cache的对象的大小,每个slab可以有1个page到最多32(128/4)个page;如果cache对象比
一个page的空间小,这个slab中会容纳多个对象以尽可能地利用空间。
struct slab {
// 链表
 struct list_head list;
// 未用空间的偏移
 unsigned long colouroff;
// 具体的内存缓冲区地址
 voi ......

[zz]浅析Linux下core文件

浅析Linux下core文件
张华 (zhanghua@eyou.net)
2006 年 8 月 02 日
 
 
 
 
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。
 
何谓core文件
    当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
 
当程序接收到以下UNIX信号会产生core文件:
名字
说明
ANSI C  POSIX.1
SVR4  4.3+BSD
缺省动作
SIGABRT
异常终止(abort)
  .       .
  .      .
终止w/core
SIGBUS
硬件故障
          .
  .      .
终止w/core
SIGEMT
硬件故障
 
  .  &n ......

linux下的printf

      有时不要以为printf一定能打印出数据来。有时,你不在程序的每个地方printf的地方都不加上"\n”,程序根本就不打印任何数据出来,信不?!我就倒霉的遇到个一次。遇到这些很头疼的,还以为是程序哪儿出错咯。原来这是因为,它其实有缓冲的功能,只有在“\n”,它才将缓冲里的数据,打印出来。切记,切记~~
      比如在父子程序中,按理来说,子程序里面的printf绝对不会打印出父程序里面的printf数据。但你试试,在父程序里面调用printf,但不加“\n”,然后调用fork(),产生子程序。在子程序里面,你再调用printf,这回你再加上“\n”。结果,你就会发现子程序输出了父程序里面printf的数据。
父程序:
       printf("1”);
       if(fork()>0)
       {//子程序
              printf(“2\n”);
       }
结果就是:
父程序:1 ......

Linux Platform Device and Driver

    

Linux 2.6
起引入了一套新的驱动管理和注册机制 :Platform_device
和 Platform_driver

     Linux
中大部分的设备驱动,都可以使用这套机制 ,
设备用
Platform_device
表示,驱动用
Platform_driver
进行注册。

     Linux platform driver
机制和传统的 device driver
机制 (
通过 driver_register
函数进行注册 )
相比,一个十分明显的优势在于
platform
机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过 platform device
提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全性 (
这些标准接口是安全的 )
。 
    Platform
机制的本身使用并不复杂,由两部分组成: platform_device
和 platfrom_driver


   
通过 Platform
机制开发发底层驱动的大致流程为 :
定义 platform_device ->
注册 platform_device->
定义 platform_driver->
注册 platform_driver
。 
   
首先 ......

Linux怎么学


一.为什么要学linux?
http://ph4nt0m.net/bbs/showthread.php?threadid=22510
http://ph4nt0m.net/bbs/showthread.php?threadid=857
当然如果没有这种必要,请不要浪费时间
二.起步
你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix
问题1:版本的选择
北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux
开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上
而应集中精力学习最有用的东西。
//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,
Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮
如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到
linux上这种需要,那么中软, ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [510] [511] [512] [513] 514 [515] [516] [517] [518] [519]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号