計算機中的 三大件python
程序執行的原理服務器
程序的做用python2.7
計算機中包含有較多的硬件,可是一個程序要運行,有 三個 核心的硬件,分別是:spa
CPU操作系統
中央處理器,是一塊超大規模的集成電路翻譯
負責 處理數據/計算code
內存內存
臨時 存儲數據(斷電以後,數據會消失)it
速度快table
空間小(單位價格高)
硬盤
永久 存儲數據
速度慢
空間大(單位價格低)
CPU | 內存 | 硬盤 |
---|---|---|
![]() |
![]() |
![]() |
計算機中哪個硬件設備負責執行程序?
CPU
內存 的速度快仍是 硬盤 的速度快?
內存
咱們的程序是安裝在內存中的,仍是安裝在硬盤中的?
硬盤
我買了一個內存條,有 500G 的空間!!!,這句話對嗎?
不對,內存條一般只有 4G
/ 8G
/ 16G
/ 32G
計算機關機以後,內存中的數據都會消失,這句話對嗎?
正確
程序 運行以前,程序是 保存在硬盤 中的
當要運行一個程序時
操做系統會首先讓 CPU 把程序複製到 內存 中
CPU 執行 內存 中的 程序代碼
程序要執行,首先要被加載到內存
操做系統會首先讓 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 密碼
將 QQ 號碼 和 QQ 密碼 發送給騰訊的服務器,等待服務器確認用戶信息
在 QQ 這個程序將 QQ 號碼 和 QQ 密碼 發送給服務器以前,是否須要先存儲一下 QQ 號碼 和 密碼?
答案
確定須要!—— 不然 QQ 這個程序就不知道把什麼內容發送給服務器了!
QQ 這個程序把 QQ 號碼 和 QQ 密碼 保存在哪裏?
答案
保存在 內存 中,由於 QQ 程序本身就在內存中
QQ 這個程序是怎麼保存用戶的 QQ 號碼 和 QQ 密碼 的?
答案
在內存中爲 QQ 號碼 和 QQ 密碼 各自分配一塊空間
在 QQ 程序結束以前,這兩塊空間是由 QQ 程序負責管理的,其餘任何程序都不容許使用
在 QQ 本身使用完成以前,這兩塊空間始終都只負責保存 QQ 號碼 和 QQ 密碼
使用一個 別名 標記 QQ 號碼 和 QQ 密碼 在內存中的位置
在程序內部,爲 QQ 號碼 和 QQ 密碼 在內存中分配的空間就叫作 變量
程序就是用來處理數據的,而變量就是用來存儲數據的