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

转载-linux 2.6 进程总结


转载-linux 2.6 进程总结
 
 
进程、轻量级进程(LWP)、线程
进程:程序执行体,有生命期,用来分配资源的实体
线程:分配CPU的实体。
  用户空间实现,一个线程阻塞,所有都阻塞。
  内核实现,不会所用相关线程都阻塞。用LWP实现,用线程组表示这些线程逻辑上所属的进程。
进程描述符
进程描述符(简称pd, process descriptors),结构体是:task_struct
  数据较多,存放在kenerl的动态内存空间。
  pd的引用放在thread_info中,
   thread_info与内核栈,放在一个8K空间(它的地址8K对齐)。内核程序使用的栈空间很小。
   thread_info在底部,内核栈在顶部向下增长。
    好处:多CPU时方便,每个CPU根据自己的栈指针就可以找到当前的pd (以后用current表示当前CPU运行的进程描述符)。
     esp(内核栈指针)低8位置零,就是thread_info地址。
   每进程有自己的thread_info, (分配释放函数: alloc_thread_info, free_thread_info)
描述符的内容
  相关的ID (一个4元素数组)
   进程ID (PID)
    PID按创建顺序连续增长,到最大值后从最小值开始。
    0号进程:交换进程(swapper)
    有PID可用位图,表示那一个PID可用,至少占一个页。
   线程组ID(tgid),用LWP实现多线程支持
    多进程时,进程id,就是线程组id, 也就是组长的pid(LWP)。 getpid() 取的是线程组的id(tgid), 也是组长的pid.
    单线程时,pid = gid。所以getpid,也是真正的pid.
   进程组ID(pgrp)。
   回话的ID(session).
    组ID,都是组长的PID。FIXME: 但pb也有各组长的PID
     线程组长:tgid
     进程组长:signal->pgrp ,
     会话长:signal->session
   管理ID数据结构——哈希表管理 (利用id找到所用相关的pd,方便)。
    一个哈希表数组(pid_hash),存放四个哈希表, 每一个表代表一类id (pid, tgid, pgrp, session)
    每个哈希表的由数组(索引为哈希值)和二维链表(嵌入到进程描述符内的pids中)实现
    


相关文档:

Linux设置环境变量小结

1、总结背景
在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲 ......

Linux 下php的安装

环境软件版本介绍:
 
   APACHE 2.0.59
   PHP5.2.3
   MYSQL5.0.45
   GD-2.0.35
   Zend Optimizer v3.3.0
  
                     ......

Linux PCI驱动的编写


作者:曹忠明,华清远见嵌入式学院讲师。
PCI是外围设备互联的简称(Peripheral Component Interconnect)的简称,作为一种通用的总线接口标准,他在计算机系统中得到了广泛的使用。PCI的速度能够达到132M/s。在这里简单的介绍一下 linux 下PCI驱动的实现。
在编写一个PCI驱动的时候我们先得确定系统中是否有我们的设备。� ......

win32错误码和linux的错误码的简单转换

我们知道,在linux下,我们用errno来查看API返回的错误码,并用strerror(errno)来获得错误信息。
而在windows下也有这的错误码,可以用GetLastError
来获得,在windows下,要获得错误码对应的信息就没有linux下那么方便了。
其获得方式可以参考《windows核心编程》。
但我们也可以用linux下的api来获得windows下的错误� ......

Linux下解压常用命令

     .tar
  解包:tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
  (注:tar是打包,不是压缩!)
  ———————————————
  .gz
  解压1:gunzip FileName.gz
  解压2: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号