Linux进程入门学习(一)-认识进程
来源:互联网 发布:pokemon go unity源码 编辑:程序博客网 时间:2024/06/01 10:20
1.进程的概念
一个可执行的程序文件(ELF格式)被加载到内存当中,然后让CPU逐条执行其代码,根据代码作出相应的动作,这样一个动态进程就产生了。因此,进程是一个动态变化的过程。
下面用一张图来表示一个程序从编写到最终运行的过程:
一段固化在磁盘的代码可以多次被加载到内存中运行,从而产生多个进程。磁盘,即ROM(Read Only Memory只读存储器) 掉电不丢失数据,但读写速度非常慢,所以用来存储数据;内存DDR,即RAM(RamdomAccessMemory随机存取存储器),读写速度快,掉电丢失数据。故程序固化在磁盘中,运行时则加载到内存中,然后执行代码。
当ELF格式的程序被执行时,内核中实际上产生了一个名为task_struct{}的结构体来表示这个进程。进程从一开始就需要各种资源来维护,比如内存资源、CPU资源、文件、信号、各种锁资源等,所有这些东西都是动态变化的,而进程的这些信息都会记录在task_struct当中,所以这个结构体也常称为进程控制块(Process Control Block,简称PCB)。
下面是内核中task_struct的截图
总之,当一个程序文件被执行产生一个进程时,内核将会产生一个task_struct结构体,来承载该进程运行后所需要的所有资源,随着进程的运行,各种资源被分配和释放,是一个动态的过程。
2.进程的组织方式
进程是一个动态的过程,既然会产生进程,那么进程也会消失,即死亡。每个进程都是有其父进程产生,若子进程结束后,父进程会回收其资源。若子进程的父进程先被结束,那么子进程就会进入孤儿态,其会被系统的1号进程回收其资源。
shell命令ps -lA可以查看当前系统的进程,例如:
关于进程的生命周期,下节继续学习。
- Linux进程入门学习(一)-认识进程
- linux 进程学习(一)
- Linux进程学习一
- Linux进程学习一
- Linux 进程学习(一)
- Linux 进程学习(一)
- Linux进程入门学习(三)-进程创建等待
- Linux进程入门学习(四)-进程启动退出
- Linux进程入门学习(二)-基础知识
- linux进程学习笔记一--进程控制
- Linux学习记录之进程(一)
- Linux进程学习笔记(一)
- linux内核学习(一):进程管理
- linux进程(一)
- Linux进程(一)
- Linux进程(一)
- Linux学习之进程一
- Linux进程学习笔记一
- android 贪吃蛇简易实现
- HTTP 代理服务器技术选型之旅
- C++对象模型之内存布局一
- String、StringBuffer与StringBuilder之间区别
- webservice
- Linux进程入门学习(一)-认识进程
- 基于restful服务端接口(一)
- vue单页面之友盟代码统计
- Spring4 初级
- 从Android/Java基础之上学习C/C++语言(5)--C语言基础--结构体
- Mysql5.7版本(win7-64)安装方法
- oracle 用户名密码找回
- Qt Creator 打开 catkin 工程之添加ROS环境变量
- 条形码生成