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

Linux 进程管理剖析

文章来源:http://www.ibm.com/developerworks/cn/linux/l-linux-process-management/
级别: 中级
M. Tim Jones, 顾问工程师, Emulex Corp.
2009 年 1 月 20 日
Linux® 的用户空间进程的创建和管理所涉及的原理与 UNIX® 有很多共同点,但也有一些特定于 Linux 的独特之处。在本文中,了解 Linux 进程的生命周期,探索用户进程创建、内存管理、调度和销毁的内核内幕。
Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。
在用户空间,进程是由进程标识符(PID)表示的。从用户的角度来看,一个 PID 是一个数字值,可惟一标识一个进程。一个 PID 在进程的整个生命期间不会更改,但 PID 可以在进程销毁后被重新使用,所以对它们进行缓存并不见得总是理想的。
在用户空间,创建进程可以采用几种方式。可以执行一个程序(这会导致新进程的创建),也可以在程序内,调用一个 fork 或 exec 系统调用。fork 调用会导致创建一个子进程,而 exec 调用则会用新程序代替当前进程上下文。接下来,我将对这几种方法进行讨论以便您能很好地理解它们的工作原理。
在本文中,我将按照下面的顺序展开对进程的介绍,首先展示进程的内核表示以及它们是如何在内核内被管理的,然后来看看进程创建和调度的各种方式(在一个或多个处理器上),最后介绍进程的销毁。
进程表示
阅读 developerWorks 上 Tim Jones 所撰写的更多文章
Tim 的剖析…… 系列文章
在 Linux 内核内,进程是由相当大的一个称为 task_struct 的结构表示的。此结构包含所有表示此进程所必需的数据,此外,还包含了大量的其他数据用来统计(accounting)和维护与其他进程的关系(父和子)。对 task_struct 的完整介绍超出了本文的范围,清单 1 给出了 task_struct 的一小部分。这些代码包含了本文所要探索的这些特定元素。task_struct 位于 ./linux/include/linux/sched.h。
清单 1. task_struct 的一小部分

struct task_struct {
volatile long state;
void *stack;
unsigned int flags;
int prio, static_prio;
struct list_head tasks;
struct mm_struct *mm, *active_mm;
pid_t pid;
pid_t tgid;
struct task_struct *real_parent;
char comm[TASK_


相关文档:

linux:Dynamic MMap ran out of room

    当我的ubuntu进行如常的更新时,突然告诉我Dynamic MMap ran out of room.然后google得解法,记录如下:
    sudo gedit /etc/apt/apt.conf.d/70debconf
    增添以下两行:APT::Cache-Limit "200000000";
       &nbs ......

linux系统信息查看 基本命令

最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。想起以前写过的一篇其实Linux这样用更简单,发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里还有非常多的命令,可以作为参考。
系统
# uname -a             &n ......

rar for linux的安装使用

一.安装
1.到网上下载rar for linux
2.tar zxvf   rarlinux-3.7.b1.tar.gz
3.make
二.使用
1. rar e test.rar 解压RAR档
2. rar a 压缩后的文件名.rar 待压文件或目录
三.问题
若运行RAR提示如下:
rar: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by rar)
则用里面提供的 rar_stati ......

用命令行加挂Linux的文件系统简介


学习操作系统时我们都了解到文件系统是操作系统的重要组成部分之一。文件系统有很多种类型,比Windows的fat、fat32;Linux的ext、ext2或ext3;FreeBSD的ufs等等。在使用Linux的过程,也常常Linux操作系统使用虚拟文件系统VFS,通过VFS可以直接存取其它已被内核支持的各种文件系统,用起来就像是在普通的 Linux的ext系列文 ......

linux下强制新用户首次登陆修改密码


如果系统管理员希望添加一个用户以后,让该用户第一次登录以后自己设置自己的密码,那么就要使得用户的初始密码或者空密码立刻过期,强制用户第一次登录后立刻修改密码。
为了强制用户第一次登录时设置一个新密码,请按照下面的指示来做,但是需要的注意的时候如果用户是通过SSH远程登录进去的,那么该方法是不能生效的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号