文章出處

本節目標:

  • 什么是程序
  • 什么是進程
  • 進程數據結構
  • 進程與程序區別與聯系

一,什么是程序?

程序是完成特定任務的一系列指令集合

二,什么是進程?

  • 從用戶的角度來看進程是程序的一次動態執行過程
  • 從操作系統的核心來看,進程是操作系統分配的內存、CPU時間片等資源的基本單位。
  • 進程是資源分配的最小單位
  • 每一個進程都有自己獨立的地址空間與執行狀態。
  • 像UNIX這樣的多任務操作系統能夠讓許多程序同時運行,每一個運行著的程序就構成了一個進程

三,進程數據結構

進程的靜態描述:由三部分組成:PCB、有關程序段和該程序段對其進行操作的數據結構集。

進程控制塊(PCB):用于描述進程情況及控制進程運行所需的全部信息,是操作系統用來感知進存在的一個重要數據結構。

代碼段:是進程中能被進程調度程序在CPU上執行的程序代碼段。

數據段:一個進程的數據段,可以是進程對應的程序加工處理的原始數據,也可以是程序執行后產生的中間或最終數據

進程=代碼段(編譯后形成的一些指令)+數據段(程序運行時需要的數據)+堆棧段(程序運行時動態分配的一些內存)+PCB(進程信息,狀態標識等)

數據段包括:

  • 只讀數據段:常量
  • 已初始化數據段:全局變量,靜態變量
  • 位初始化數據段(bss)(0初始化段):未初始化的全局變量和靜態變量(實際上不分配內存,因為都為0,只有一些標記信息)

四,進程與程序區別與聯系

  • 進程是動態的,程序是靜態的
  • 進程的生命周期是相對短暫的,而程序是永久的。
  • 進程數據結構PCB
  • 一個進程只能對應一個程序,一個程序可以對應多個進程。

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()