多核
:几核就是真的有几个物理核心。CPU的性能主要靠提升核心工做频率来提升,因为物理限制,不能把频率无限提升,因此发展出多核心的CPU。即一枚处理器上集成多个计算引擎(内核),共享缓存、内存、寄存器。A8处理器是一款双核处理器。多处理器
:包含多个CPU,CPU之间共享内存、I/O设备、控制器、外部设备,整个硬件系统由统一的操做系统控制,在处理器和程序之间实现做业、任务、程序、数组及其元素各级的全面并行。目前主流的服务器架构,超级计算机,都是多CPU多核架构。多线程
:线程就是咱们为了让一个进程可以同时干多件事情而发明的“分身术”,拥有最小系统资源,共享进程资源的基本调度单位。核是物理的,线程是虚拟的,双核4线程,看起来很像4核,但比真实的4核4线程慢,却比双核双线程快。进程
:就是进行中的程序(一组指令的有序集合),当一个程序被加载到内存中以后就变成了进程(进程=程序+执行)。进程有独立的地址空间,在保护模式下本身出了问题不会对其余进程产生影响。进程是操做系统分配资源的基本单位。 进程的三种状态:html
线程
:是进程的一个实体,是CPU调度和分派的基本单位,本身拥有一点运行必不可少的资源(如程序计数器、一组寄存器和堆栈)与同属进程的其余线程共享进程的拥有的所有资源。 面试
进程与线程区别
之前进程既是资源分配也是调度的最小单位,后来为了更合理的使用cpu(其实是cpu性能愈来愈好),才将资源分配和调度分开,就有了线程。线程是创建在进程的基础上的一次程序运行单位。数组
线程对操做系统来讲就是一段代码+
运行时数据(主要是寄存器数据,还有线程中与资源相关的数据,好比打开的文件句柄)。多线程实现主要是靠硬件CPU(中央处理器)
件来实现的,CPU
有一个很重要的特性时间片,每一段得到CPU
的代码只能运行一个时间片限定的时间,时间到后CPU
就会把正在运行的代码暂停,接着发生一个中断,而后按照必定的规则选择另外一段代码得到CPU
来运行。缓存
时间片设得过短会致使过多的进程切换,下降了CPU效率;而设得太长又可能引发对短的交互请求的响应变差。将时间片设为100毫秒一般是一个比较合理的折衷。安全
线程多了,能够提升程序的执行效率,但并非越多越好。服务器
操做系统面试总结—进程线程操作系统