linux是一个多用户多任务的 *** 作系统,多用户是指多个用户可以在同一个时间用计算机,多任务是指linux可以同时执行那个多个任务,它可以在还未执行完一个任务时又执行另一个任务。
每当运行一个任务时,系统就会启动一个进程,进程是一个程序在其自身的虚拟地址空间中的一次执行活动,之所以要创建进程,就是为了使多个程序可以并发的执行。从而提高系统的资源利用率和吞吐量。
程序只是一个静态的指令集合,儿进程是一个程序的动态执行过程,它具有生命期,是动态的产生和消亡的。
方法2
1、进程是资源申请,调度和独立运行的单位,它使用系统中的运行资源,而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,它不占用系统的运行资源,
2、进程和程序无意义对应的关系,一方面一个程序可以由多个进程公用,即一个程序在运行过程中可以产生多个进程,另一个方面,一个进程在生命期内可以顺序的执行若干个程序。
3、在linux系统中总是又很多的进程同时运行,系统根据进程号pid区分不同的进程,系统启动后的第一个进程是init,它的pid是1,init是唯一一个由系统内核直接运行的进程。
4、新的进程可以用系统调用fork()来产生,就是从一个已经存在的旧进程中分出一个新进程来,旧进程就是新进程的父进程。
线程是进程中执行的一条路径,是系统调度的最小单位。
进程是正在运行的程序,是系统分配资源的最小单位。
线程与进程之间有什么关系?
1.一个进程可以有多个线程,一个线程只能属于一个进程。
2.同一个进程下的所有线程共享该进程下的所有资源。
3.真正在处理机上运行的是线程,不是进程,线程是进程内的一个执行单元,是进程内的可调度实体。
Linux线程与进程有什么区别?
进程:
优点:多进程可以同时利用多个CPU,能够同时进行多个 *** 作。
缺点:耗费资源(创建一个进程重新开辟内存空间)。
进程不是越多越好,一般进程个数等于cpu个数。
线程:
优点:共享内存,尤其是进行IO *** 作(网络、磁盘)的时候(IO *** 作很少用cpu),可以使用多线程执行并发 *** 作。
缺点:抢占资源。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)