进程概念(详细)
Posted KD大毛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程概念(详细)相关的知识,希望对你有一定的参考价值。
进程概念
文章目录
进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。总而言之,进程就是一段程序执行的过程。
pcb(进程控制块)
为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。
pcb描述信息:标识符-PID,内存指针,程序计数器,上下文数据,进程状态,程序优先级,IO信息,记账信息
进程状态
进程状态: 描述进程当前出于什么状态应该如何被操作系统调度管理
种类: 就绪,运行,阻塞
Linux分类:
运行态-R:正在运行的,以及拿到时间片就能运行的
可中断休眠态-S:可以被打断的阻塞状态
不可中断休眠态-D:不可以被打断的阻塞状态
停止态:停止运行
僵尸态:程序退出后的中间等待处理状态
僵尸进程 :僵尸态的进程,退出后资源没有完全被释放的进程
产生原因:子进程先于父进程退出,为了保存自己 的退出返回值,因此没有完全被释放资源,等待被父进程处理
避免:进程等待
处理:退出父进程
危害:资源泄漏(内存+进程数量)
创建进程
查看进程: ps -ef -aux
创建进程: pid_t fork(void)
其他进程
孤儿进程
**孤儿进程 :**父进程先于子进程退出,子进程成为孤儿进程
特性:运行在后台,父进程成为一号进程,孤儿进程退出后不会成为僵尸进程,因为他会立马被一号进程处理
守护进程(精灵进程)
守护进程:是一个特殊的孤儿进程,运行在后台,与终端脱离关系
冯诺依曼体系结构
我们常见的计算机,如笔记本,我们不常见的计算机,如服务器大部分都遵守冯诺依曼体系。
输入单元:包括键盘,鼠标,扫描仪等
中央处理器(CPU):含有运算器和控制器等
输出单元:显示器,打印机等
所有设备都是围绕着内存工作
程序地址空间
内核除了管理自身的内存外,还必须管理用户空间中进程的内存,称该内存为进程地址空间,也就是系统中每个用户空间进程所看到的内存。Linux采用虚拟内存技术,所有进程之间以虚拟方式共享内存,对一个进程而言,好像都能访问整个系统的所有物理内存,甚至远远大于物理内存。
操作系统给每个进程都虚拟一个独立的完整的虚拟地址空间,让每个进程都可以防卫自己独立的连续的虚拟地址,但是实际的数据存储可以经过映射之后,可以存储到物理内存的任意位置不用联系,实现数据在物理内存上的离散式存储。离散式存储提高了内存的利用率。
程序地址空间,本质上是操作系统为进程通过mm_struct描述的虚拟地址空间,让每个进程都能访问一个独立的完整的连续的虚拟地址,经过映射之后,实现在物理内存上的离散存储,提高内存的利用率,提高了内存的访问控制
以上是关于进程概念(详细)的主要内容,如果未能解决你的问题,请参考以下文章