linux进程管理

进程是什么

1.linux下存在process 和 thread 这两种操作系统基本的概念

process是进程

一个thread是线程

计算机的核心是cpu,承担机器的计算任务,这就好比是一座工厂,时时刻刻都在运行,加工

2.假如这个功能,电力有限,一次只能提供电力给一个车间使用,那某一个车间在干活的时候,其他车间都得停下来

(可以理解为cpu一次只能处理一个任务)

3.进程的概念是什么

进程就好比是一个工厂的车间,一个工厂可能有多个车间,每一个车间代表cpu正在处理的任务,某一个时刻,cpu总是在运行一个进程

其他进程处于非运行的状态

4.在一个车间内,想要完成某一项工作,必须得有很多个工人,工人才是实实在在干活的人员,并且多个工人,协同完成这个任务

每一个车间内的工人,都可以理解为linux系统进程中的工作进程

车间==============进程 

车间内的工人========进程内的线程

5.车间内是有存放空间的,可以理解为linux的进程单位,是有存储空间的,在进程的空间内,线程共享这个资源

6.车间内的小房间,容量大小各不同,有的小房间可以容下多个工人(某一块内存数据可以被多个线程同时使用)

有的小房间只能容的下一个工人(某一块进程内的内存数据,只能给一个线程使用)

好比,进程内有一个线程正在使用一块内存数据,其他线程必须等到这个线程处理完毕,其他线程才能够使用内存

(车间内的某一个卫生间,被一个人占用了,其他人必须在外面等着,等他出来,才能使用)

7.线程在使用内存数据的时候(好比某一个卫生间正在被一个工人使用中,但是另一个工人2,不愿意等待,直接破门而入)

线程2不愿意等待,直接想去抢夺这一块内存数据,就很可能引发混乱,造成数据冲突,崩溃

这个时候,就得线程可以针对内存数据,加一把锁,这个时候,其他线程,看到了这个内存数据被上锁了,只能等人家把这个锁解开,才能拥有内存数据的使用权

如上锁的概念,就是操作系统中,进线程中的互斥锁的概念(mutex,互斥锁)

总结下进程,线程的特点

linux是一个多用户,多任务的操作系统,支持多进程,多线程

进程===========干活的车间

多线程(linux操作系统内,可以同时有多个进程在工作)============ 一 个工厂内,可以同时有多个车间在同时干活

多线程(一个进程内,有多个工人干活)

单线程(一个进程内,只有一个工人在干活,效率极其低下)

 

posted on 2021-06-10 21:26  sprr  阅读(57)  评论(0编辑  收藏  举报