操作系统精髓与设计原理--linux进程和线程
2016-10-13 22:08
288 查看
linux中的进程或任务由一个task_struct数据结构表示,task_struct包含以下分类信息:
(1)状态,进程执行状态(执行,就绪,挂起,停止,僵死)
(2)调度信息:linux调度进程所需要的信息。
(3)标识号:每个进程有一个唯一的进程标识号,还有用户标识号和组标识号。
(4)进程间通信:linux支持UNIX SVR4中的IPC机制
(5)链接:每个进程都有一个到他的父进程的链接以及它的兄弟进程的链接和到所有子进程的链接
(6)时间和计时器:包括进程创建时间和进程所消耗的处理器的时间总量。
(7)文件系统:包括指向被该进程打开的任何文件的指针和指向该进程当前目录和根目录的指针
(8)虚存:定义分配给该进程的虚存空间
(9)处理器专用上下文:构成该进程上下文的寄存器和栈信息
linux线程:
在linux中通过复制当前进程的属性可创建一个新进程。
一个新进程可以被克隆,因此它可以共享资源如文件,信号处理程序和虚存。
当两个进程共享相同的虚存时,他们可以被当作是一个进程中的线程。
但是没有单独为线程定义的数据接口。
通常在使用fork()的地方,linux用clone()命令创建进程。
传统的fork()系统调用在Linux上是用所有克隆标志清除的clone()系统调用实现的
被克隆的进程是共享同一内存空间进程组的组成部分,但他们不能共享同一个用户栈。
所以clone()调用为每个进程创建独立的栈空间
(1)状态,进程执行状态(执行,就绪,挂起,停止,僵死)
(2)调度信息:linux调度进程所需要的信息。
(3)标识号:每个进程有一个唯一的进程标识号,还有用户标识号和组标识号。
(4)进程间通信:linux支持UNIX SVR4中的IPC机制
(5)链接:每个进程都有一个到他的父进程的链接以及它的兄弟进程的链接和到所有子进程的链接
(6)时间和计时器:包括进程创建时间和进程所消耗的处理器的时间总量。
(7)文件系统:包括指向被该进程打开的任何文件的指针和指向该进程当前目录和根目录的指针
(8)虚存:定义分配给该进程的虚存空间
(9)处理器专用上下文:构成该进程上下文的寄存器和栈信息
linux线程:
在linux中通过复制当前进程的属性可创建一个新进程。
一个新进程可以被克隆,因此它可以共享资源如文件,信号处理程序和虚存。
当两个进程共享相同的虚存时,他们可以被当作是一个进程中的线程。
但是没有单独为线程定义的数据接口。
通常在使用fork()的地方,linux用clone()命令创建进程。
传统的fork()系统调用在Linux上是用所有克隆标志清除的clone()系统调用实现的
被克隆的进程是共享同一内存空间进程组的组成部分,但他们不能共享同一个用户栈。
所以clone()调用为每个进程创建独立的栈空间
相关文章推荐
- <操作系统:精髓与设计原理> 进程描述和控制
- <操作系统:精髓与设计原理> 线程
- 操作系统精髓与设计原理-线程、对称多处理(SMP)和微内核
- 操作系统精髓与设计原理之线程
- 操作系统精髓与设计原理--线程,对称多处理和微内核
- 操作系统精髓与设计原理学习笔记三:进程描述和控制
- 操作系统精髓与设计原理之进程描述和控制
- 操作系统精髓与设计原理-线程、对称多处理(SMP)和微内核
- 操作系统精髓与设计原理-进程描述和控制
- 操作系统精髓与设计原理--进程控制
- 操作系统精髓与设计原理--虚拟内存
- 操作系统精髓与设计原理--计算机系统概述
- 操作系统精髓与设计原理(原书第6版)——学习笔记(11)
- 操作系统精髓与设计原理-计算机系统概述
- 操作系统精髓与设计原理--虚拟内存(2)
- 操作系统精髓与设计原理(原书第6版)——学习笔记(2)
- 操作系统精髓与设计原理学习笔记八:单处理器调度
- 操作系统精髓与设计原理学习笔记一:计算机系统概述
- 操作系统精髓与设计原理--并发性:互斥和同步
- 操作系统_精髓与设计原理_内存管理之需求