小程式執行執行過程原理 程式執行原理

2021-10-11 15:07:55 字數 2354 閱讀 3311

計算機中包含有較多的硬體,但是乙個程式要執行,有三個核心的硬體,分別是:

cpu

記憶體

硬碟

計算機中哪乙個硬體裝置負責執行程式?

記憶體的速度快還是硬碟的速度快?

我們的程式是安裝在記憶體中的,還是安裝在硬碟中的?

我買了乙個記憶體條,有 500g 的空間!!!,這句話對嗎?

計算機關機之後,記憶體中的資料都會消失,這句話對嗎?

程式執行之前,程式是儲存在硬碟中的

當要執行乙個程式時

程式要執行,首先要被載入到記憶體

作業系統會首先讓cpupython 直譯器的程式複製到記憶體

python 直譯器根據語法規則,從上向下cpu翻譯python 程式中的**cpu負責執行翻譯完成的**

python 的直譯器有多大?

# 1. 確認直譯器所在位置

$ which python

​# 2. 檢視 python 檔案大小(只是乙個軟鏈結)

$ ls -lh /usr/bin/python

​# 3. 檢視具體檔案大小

$ ls -lh /usr/bin/python2.7

軟鏈結的目的,是為了方便使用者不用記住使用的直譯器是哪乙個具體版本

程式就是用來處理資料的!
電商軟體提供的商品資訊、配送資訊……是資料

運動類軟體提供的運動資料……是資料

地圖類軟體提供的地圖資訊、定位資訊、車輛資訊……是資料

即時通訊軟體提供的聊天資訊、好友資訊……是資料

……qq 在執行之前,是儲存在硬碟中的

執行之後,qq 程式就會被載入到記憶體中了

讀取使用者輸入的qq 號碼讀取使用者輸入的qq 密碼

思考 1

在 qq 這個程式將qq 號碼qq 密碼傳送給伺服器之前,是否需要先儲存一下 qq 號碼 和 密碼?
答案肯定需要!—— 否則 qq 這個程式就不知道把什麼內容傳送給伺服器了!

思考 2

qq 這個程式把qq 號碼qq 密碼儲存在**?
答案儲存在記憶體中,因為 qq 程式自己就在記憶體中

思考 3

qq 這個程式是怎麼儲存使用者的qq 號碼qq 密碼的?
答案在記憶體中為qq 號碼qq 密碼各自分配一塊空間

使用乙個別名標記qq 號碼qq 密碼在記憶體中的位置

程式執行過程

要理解乙個程式的執行過程,首先要理解什麼是編譯器。我們用c語言寫的程式,計算機只能識別機器語言 二進位制指令 計算機並不能理解。因此,必須 將c語言轉換為機器語言。編譯器就是用來實現這一功能的。編譯器將源 檔案按照一定的對應規則映射程計算機能夠識別的二進位制指令 關於原始檔 目標檔案和可執行檔案 原...

程式執行過程

程式的執行過程大致分為以下四的步驟 1 預處理 2 編譯 3 彙編 4 鏈結 1.關於預處理 預處理階段的工作基本上是對源程式做 替代 主要有 巨集替換 條件編譯 標頭檔案展開 去除注釋 經過這番替換之後,就會生成乙個沒有巨集定義,沒有條件編譯 沒有特殊符號的輸出檔案。2.關於編譯 編譯階段的工作就...

程式執行過程

程式執行過程 不同作業系統可執行檔案的格式不同 linux elf execuatable and linkable file format windows pe portable executable format 這也是為什麼乙個程式無法同時在linux和windows下執行 這裡舉例elf檔案...