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

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

进程是程序执行时的一个实例,是充分描述程序已经执行到何种程度的数据结构的汇集。在linux中,常将进程称为任务(task)或者线程(thread)。进程的目的就是承担分配系统资源的实体。
当一个进程创建时,几乎与父进程相同。接受父进程地址空间的一个逻辑拷贝,并从进程创建系统调用的下一条指令开始执行与父进程相同的代码。尽管父子进程可以共享含有程序代码的页,但是它们各自有独立的数据拷贝(栈和堆),因此子进程对一个内存单元的修改对父进程是不可见的。
linux使用轻量级进程(lightwetght process)对多线程应用程序提供更好的支持。两个轻量级进程基本上可以共享一些资源,诸如地址空间、打开的文件等等。只要其中一个修改共享资源,另一个就立即查看这种修改。两个线程访问共享资源时就必须同步它们自己。实现多线程应用程序的另一个简单方式就是把轻量级进程与每个线程关联起来。线程之间就可以通过简单地共享同一内存地址空间、同一打开文件集等来访问相同的应用程序数据结构集;同时,每个线程都可以由内核独立调度,以便于一个睡眠的同时另一个仍然是可以运行的。
描述进程数据结构的是task_struct,它的字段包含了与一个进程相关的所有信息。/include/linux/sched.h
进程的状态和进程的父/子间关系
进程状态:
进程描述符中的state字段描述了进程当前所处的状态。由一组标志组成,其中每个标志描述一种可能的进程状态。这些状态是互斥,因此只能设置一种状态,其余的标志将被清除。
#define TASK_RUNNING            0    
可运行状态,进程要么在cpu上执行,要么准备执行。
#define TASK_INTERRUPTIBLE      1    
可中断等待状态,进程被挂起(睡眠),直到某个条件变为真。产生一个硬件中断,释放进程正等待的系统资源,或传递一个信号都是可以唤醒进程的条件(把进程的状态放回到TASK_RUNNING).
#define TASK_UNINTERRUPTIBLE    2
不可中断的等待状态,与可中断的等待状态类似,担忧一个例外,把信号传递到睡眠进程不能改变它的状态。这种状态很少用到,但在一些特定的情况下(进程必须等待,直到一个不能被中断的事件发生),这种状态是很有用的。例如,当进程打开一个设备文件,其相应的设备驱动程序开始探测相应的硬件设备时会用到这种状态。探测完成以前,设备驱


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

在vMware装上linux鼠标无法使用问题解答


在vMware装上linux鼠标无法使用问题解答
     昨天装了Linux+VMware,还用得好好的,今天鼠标就不能用,现在终于把问题解决了!
       目前大部分鼠标是usb接口的,特别是笔记本。在vMware装上linux时鼠标类型选择带滑轮的USB后,进入系统时将出现鼠标无法使用的情 ......

VMware下windows和Linux共享文件的方法

                                                  VMwar ......

linux压缩命令

01-.tar格式
解包:[*******]$ tar xvf FileName.tar
打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)
02-.gz格式
解压1:[*******]$ gunzip FileName.gz
解压2:[*******]$ gzip -d FileName.gz
压 缩:[*******]$ gzip FileName
03-.tar.gz格式 ......

RedHat Linux分区(转载)

Red Hat Linux的分区是不同于其它操作系统分区的,它的分区格式只有Ext2(Ext3)和Swap两种,Ext2(Ext3)用于存放系统文件,Swap则作为Red Hat Linux的交换分区。Red Hat Linux至少需要两个专门的分区(Linux Native和Linux Swap)况且不能将Red Hat Linux安装在Dos/Windows分区。一般来说我们将Red Hat Linux安装一个或多 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号