热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>内核研究>

《深入理解Linux内核(第三版)》§3.1 进程,轻量级进程,线程

来源: 作者: 时间:2008-10-17 Tag: 点击:

§3     进程

       进程是多道OS的基础。Linux源代码中也经常称之为任务或者线程。

       本章讨论进程的静态属性,内核对进程的切换。最后2节讨论进程的创建和消灭。还涉及第1章提及的多线程应用程序,它基于lightweight processes (LWP)

 

§3.1  进程,轻量级进程,线程

       进程的含义很广。我们采用OS教材中的定义:进程是程序运行的实例。可以把它看做程序执行时数据结构的集合。

       从内核看来,进程是占用系统资源的实体。

进程创建的时候几乎和父进程一样,是父进程地址空间的逻辑拷贝,并执行相同的代码,开始于进程创建系统调用的下一指令。子进程有自己的数据拷贝(stack and heap),内存分配是独立的。

现代Unix系统支持多线程应用,进程结构更加复杂,拥有很多共享大量应用数据结构的相对独立的执行流。一般使用pthread (POSIX thread) libraries书写。

较早版本的linux内核不支持多线程,从内核角度看来,多线程不过是一个正常的进程。多线程实际为在用户模式下使用POSIX-compliant pthread创建和处理。

这样实现多线程不是很完美。Linux使用了轻权进程来实现。这些进程共享一些资源,比如地址空间,打开的文件等。使用轻权进程的POSIX-compliant pthread libraries LinuxThreads, Native POSIX Thread Library (NPTL), and IBM's Next Generation Posix Threading Package (NGPT).

POSIX兼容多线程应用在线程组下工作更好。




相关文章:
精通initramfs构建step by step
Linux利用kexec迅速切换内核
进程上下文VS中断上下文
内核通知链 学习笔记
linux spi子系统驱动分析
menuconfig 配置选项
《Linux操作系统内核实习》之练习一
udev详解
什么叫微内核,宏内核?
Linux 信号signal处理机制
开发简单的 Linux2.6 内核模块
删除内核的perl脚本
Linux2.6内核usb gadget驱动移植
GCC hacks in the Linux kernel
iomem
kernel学习的想法
让自己的驱动支持udev
linux内核编译步骤
内核的等待队列
Linux内核wait_queue深入分析
升级和删除内核
SD卡驱动分析2
Linux Kernel VDSO本地权限提升漏洞
内核中的TCP的追踪分析-15-TCP(IPV4)的客户端与
linux 2.6内核可加载模块的编译
内核模块HelloWorld
在环回接口上发送一个数据报
ARP初始化
1分钟编译FreeBSD内核
linux设备模型之uart驱动架构分析