多核
:幾核就是真的有幾個物理核心。CPU的性能主要靠提升核心工做頻率來提升,因爲物理限制,不能把頻率無限提升,因此發展出多核心的CPU。即一枚處理器上集成多個計算引擎(內核),共享緩存、內存、寄存器。A8處理器是一款雙核處理器。多處理器
:包含多個CPU,CPU之間共享內存、I/O設備、控制器、外部設備,整個硬件系統由統一的操做系統控制,在處理器和程序之間實現做業、任務、程序、數組及其元素各級的全面並行。目前主流的服務器架構,超級計算機,都是多CPU多核架構。多線程
:線程就是咱們爲了讓一個進程可以同時幹多件事情而發明的「分身術」,擁有最小系統資源,共享進程資源的基本調度單位。核是物理的,線程是虛擬的,雙核4線程,看起來很像4核,但比真實的4核4線程慢,卻比雙核雙線程快。進程
:就是進行中的程序(一組指令的有序集合),當一個程序被加載到內存中以後就變成了進程(進程=程序+執行)。進程有獨立的地址空間,在保護模式下本身出了問題不會對其餘進程產生影響。進程是操做系統分配資源的基本單位。 進程的三種狀態:html
線程
:是進程的一個實體,是CPU調度和分派的基本單位,本身擁有一點運行必不可少的資源(如程序計數器、一組寄存器和堆棧)與同屬進程的其餘線程共享進程的擁有的所有資源。 面試
進程與線程區別
之前進程既是資源分配也是調度的最小單位,後來爲了更合理的使用cpu(其實是cpu性能愈來愈好),纔將資源分配和調度分開,就有了線程。線程是創建在進程的基礎上的一次程序運行單位。數組
線程對操做系統來講就是一段代碼+
運行時數據(主要是寄存器數據,還有線程中與資源相關的數據,好比打開的文件句柄)。多線程實現主要是靠硬件CPU(中央處理器)
件來實現的,CPU
有一個很重要的特性時間片,每一段得到CPU
的代碼只能運行一個時間片限定的時間,時間到後CPU
就會把正在運行的代碼暫停,接着發生一箇中斷,而後按照必定的規則選擇另外一段代碼得到CPU
來運行。緩存
時間片設得過短會致使過多的進程切換,下降了CPU效率;而設得太長又可能引發對短的交互請求的響應變差。將時間片設爲100毫秒一般是一個比較合理的折衷。安全
線程多了,能夠提升程序的執行效率,但並非越多越好。服務器
操做系統面試總結—進程線程操作系統