明确你的项目到底是做什么的,有哪些功能2
明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用3
明确你的模块在整个项目中所处的位置及作用4
明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术操作系统1
操作系统的四大特性:a)并发性b)共享性c)虚拟性d)不确定性2
请叙述一下并发和并行两个概念的区别
a)并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间间隔内发生
a)“进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和调度的独立单位”
进程是资源分配的基本单位
b)线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实体,是系统独立调度和分派处理机的基本单位
线程是操作系统调度的最小单位
进程和线程的区别
从调度、并发性、拥有资源和系统开销四个方面来比较:a)调度
在引入线程的操作系统中,把线程作为调度和分派 CPU 的基本单位,把进程作为资源分配的基本单位,显著提高了并发程度
由于系统调度的基本单位是线程,所以每个进程至少创建一个线程,否则无法被调度
多线程可以提高服务的质量,在一个线程堵塞时,还有其他线程提供服务
c)拥有资源
进程是拥有资源的独立单位,线程自己不拥有系统资源,而是共享进程的资源(包括代码段、数据段即系统资源等)
d)系统开销
进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多现场,但线程只需要保存和设置少量的寄存器内容,不涉及存储器管理方面的操作
进程的特征:a)动态性:进程是动态产生和动态消亡的,有其生存周期
b)并发性:一个进程可以与其他进程一起向前推动
c)独立性:一个进程是一个相对完整的调度单位