併發編程-進程-02進程基礎

一丶操做系統知識

1.1操做系統的做用:

  1. 隱藏醜陋複雜的硬件接口,提供良好的抽象接口
  2. 管理、調度進程,而且將多個進程對硬件的競爭變得有序

1.2多道技術:

  1. 產生背景:針對單核,實現併發

1.2.1什麼是多道技術

1.空間上的複用
   多個程序共用一套計算機硬件

2.時間上的複用
   切換+保存狀態
      1.當一個程序遇到IO操做 操做系統會剝奪該程序的cpu執行權限(提升了cpu的利用率 而且也不影響程序的執行效率)
      2.當一個程序長時間佔用cpu 操做系統也會剝奪該程序的cpu執行權限(下降了程序的執行效率)

ps:如今的主機通常是多核,那麼每一個核都會利用多道技術。有4個cpu,運行於cpu1的某個程序遇到io阻塞,會等到io結束再從新調度,會被調度到4個cpu中的任意一個,具體由操做系統調度算法決定。算法

單道多道

二丶什麼是進程

進程(Process)是系統進行資源分配和調度的基本單位

三丶進程與程序中的區別

大白話解讀:
    程序:一坨代碼
    進程:狹義上講正在運行的程序

程序是指令和數據的有序集合,其自己沒有任何運行的含義,是一個靜態的概念。而進程是程序在處理機上的一次執行過程,它是一個動態的概念。併發

程序能夠做爲一種軟件資料長期存在,而進程是有必定生命期的。操作系統

程序是永久的,進程是暫時的。code

注意:同一個程序執行兩次,就會在操做系統中出現兩個進程,因此咱們能夠同時運行一個軟件,分別作不一樣的事情也不會混亂。接口

相關文章
相關標籤/搜索