面试官: 小伙子,说下进程和线程?
我:
1, 早期的计算机是没有操作系统的,只有输入,计算,输出。手工输入速度远低于计算机
的计算速度。
2, 于是出现了批处理操作系统,通过纸带,磁带等工具预先写入指令,形成一个指令清单
(即任务)交给计算机处理。但批处理系统的缺点是只能有一个任务,而且当计算机在进行I/
O处理时,CPU是空闲的。
3, 世人发明了进程,一个进程就代表一个任务,多个进程通过分时操作能让用户认为并行
操作多任务,进程间的资源是独立单元,但是可以通过介质进行通信。缺点:进程内只进行
串行处理,无法很好地分工合作提高处理效率。
4, 于是就有了操作系统调度的最小单元-线程,线程能够使进程内的子任务能够共享进程内
的资源,并并行工作,大大提高操作系统的性能。
区别:
线程是任务调度的最小单元,共用进程内的资源。
进程是资源分配的最小单元,与其他进程资源互相独立。