进程与线程

来源:互联网 发布:西方国家的虚伪 知乎 编辑:程序博客网 时间:2024/06/07 10:02

好几天没写了,忙过了春节这段准备时间,终于有机会看书了,静下心来,继续学习《现代操作系统》,又迎来了一个新的难题,下面我就对这个难题提出自己的看法,希望得到大家的批评指正。

第二章讲的都是进程与线程,前三节介绍的都是相关的概念,读到这有些问题已经有些混了。

进程指的是某种类型的一个活动。重点是活动,好比我们打开的某个程序,这个程序就是一个进程。创建进程的方法有:系统的初始化、执行了正在运行的进程所调用的进程创建系统调用、用户请求创建一个新的进程以及一个批处理作业的初始化。这是书上的原话,我觉得从打开电脑开始就开始创建一个新的进程,在系统中打开一个软件就是一个进程等等。既然进程有创建就应该有结束,那么进程的结束一般是由:正常退出、出错退出、严重错误、以及被其他进程杀死而退出这几种(同样这也是书上的原话)。这时出现了三个概念分别是:运行态、就绪态以及阻塞态。进程的一生似乎和万物一样,由生到死。看到这似乎感觉自己理解了,于是往下看就遇到了线程这个概念。

线程概念以及理念和进程几乎一致,但是线程的生存空间是在进程,一个进程可以创建多个线程,说到这突然发现进程和线程之间似乎是一种你中有我我中有你的感觉。对于进程而言,他创造出来的也可以是线程,也可以是进程。

其实前三节最重点的就是线程与进程的区别。

说道二者的区别,以前面提到的为例,我们打开电脑进入操作系统,这个操作系统就是一个进程,在操作系统中我们要使用各个软件,打开各个软件相对于操作系统而言就是一个个线程,线程依附的是进程,靠进程提供的信息来运行。

做个总结,进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。

进程的出现是为了降低成本,提高效率。

对于这个问题似乎我觉得自己还是没说清楚,到目前为止自己对这个问题似乎也有些昏,所欲对于以上的观点,希望批评指正!

0 0
原创粉丝点击