易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 2.6源代码情景分析笔记之进程6

每个进程都有一组相关的资源限制(resource limit),限制了指定进程能使用的系统资源数量。
对当前进程的资源限制存放在current->signal->rlim字段,进程的信号描述符的一个字段。该字段类型为rlimit结构的数组,每个资源限制对应一个元素。
struct rlimit {
        unsigned long   rlim_cur;
        unsigned long   rlim_max;
};
其中rlim_cur字段是资源的当前资源限制(current->signal->rlim[RLIMIT_CPU])。rlim_cur表示正运行进程所占用cpu时间的当前限制
rlim_max字段是资源限制所允许的最大值。利用getrlimit()和setrlimit()系统调用,用户总能把一些资源的rlim_cur限制增加到rlim_max。只有超级用户(具有CAP_SYS_RESOURCE权能的用户)才能改变rlim_max字段,或把rlim_cur字段设置成大于相应rlim_max字段的一个值。
大多数资源限制包含数值RLIM_INFINITY(0xffffffff),它意味着没有对相应的资源施加用户限制。
#ifndef __ARCH_RLIMIT_ORDER
#define RLIMIT_CPU              0       /* CPU time in ms */进程使用cpu最长时间(秒)。进程超过了这个限制,内核就给它发送一个SIGXCPU信号,然后如果进程还不终止,再发一个SIGKLL信号。
#define RLIMIT_FSIZE            1       /* Maximum filesize */文件大小的最大数值(字节)。如果进程试图把一个文件的大小扩充到大于这个值,内核就给这个进程发SIGXFSZ信号。
#define RLIMIT_DATA             2       /* max data size */堆大小的最大数值(字节)。在扩充进程的堆之前,内核检查这个数值。
#define RLIMIT_STACK            3       /* max stack size */栈大小的最大数(字节)。内核在扩充进程的用户态堆栈之前检查这个数值。
#define RLIMIT_CORE             4       /* m


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

巧用cfengine管理linux服务器(转)

cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine
适用于管理各种环境,从一台主机到上万台主机的机群均可使用。到2.2 版本为止,我们现在所知的用于一般性管理的最大安装机群约为20,000 台。
  图-1 是Cfengine 的组成部分的关系图 。
  ......

linux目录架构

linux目录架构
/   根目录
/bin    常用的命令 binary file 的目錄
/boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内
     /boot/grub/menu.lst   GRUB设置
     /boot/vmlinuz   内核
 & ......

linux 2.6源代码情景分析笔记之进程3

为内核寻找新进程在cpu上运行时,必须只考虑可运行进程(TASK_RUNNING)。
提高调度程序运行速度的诀窍是建立多个可运行进程链表,每种进程优先权对应一个不同的链表。每个task_struct描述符包含一个list_head类型的字段run_list。如果进程的优先权等于k(0-139),run_list字段把该进程链入优先权为k的可运行进程的链表中。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号