計算機中包含有較多的硬體,但是乙個程式要執行,有三個核心的硬體,分別是:
cpu
記憶體
硬碟
計算機中哪乙個硬體裝置負責執行程式?
記憶體的速度快還是硬碟的速度快?
我們的程式是安裝在記憶體中的,還是安裝在硬碟中的?
我買了乙個記憶體條,有 500g 的空間!!!,這句話對嗎?
計算機關機之後,記憶體中的資料都會消失,這句話對嗎?
程式執行之前,程式是儲存在硬碟中的
當要執行乙個程式時
程式要執行,首先要被載入到記憶體
作業系統會首先讓cpu把python 直譯器的程式複製到記憶體中
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檔案...