㈠ 信息怎麼儲存
計算機通過存儲系統來完成信息的保存和提取。
存儲系統是指計算機中由存放程序和數據的各種存儲設備、控制部件及管理信息調度的設備(硬體)和演算法(軟體)所組成的系統。計算機的主存儲器不能同時滿足存取速度快、存儲容量大和成本低的要求,在計算機中必須有速度由慢到快、容量由大到小的多級層次存儲器,以最優的控制調度演算法和合理的成本,構成具有性能可接受的存儲系統。
在計算機系統中存儲層次可分為高速緩沖存儲器、主存儲器、輔助存儲器三級。高速緩沖存儲器用來改善主存儲器與中央處理器的速度匹配問題。輔助存儲器用於擴大存儲空間。
信息存取過程中,存儲系統必須完成邏輯地址空間和物理地址空間之間的變換,並且合理地管理存儲系統資源。邏輯地址是指程序員編制的程序地址,由它構成邏輯地址空間。程序主存儲器中的實際地址稱為物理地址,由它構成物理地址空間。存儲映像基本上分為兩種情況:一種是邏輯地址空間小於物理地址空間,映像要求可以訪問所有的物理存儲器;另一種是邏輯地址空間大於物理地址空間,映像要確定每個邏輯地址實際所對應的物理地址。
最後補充下「靜態內存」和「動態內存「的區別:
1.靜態內存是指在程序開始運行時由編譯器分配的內存,它的分配是在程序開始編譯時完成的,不佔用CPU資源。程序中的各種變數,在編譯時系統已經為其分配了所需的內存空間,當該變數在作用域內使用完畢時,系統會自動釋放所佔用的內存空間。變數的分配與釋放,都無須程序員自行考慮。如:基本類型,數組。
2.動態內存:用戶無法確定空間大小,或者空間太大,棧上無法分配時,會採用動態內存分配。
3.二者區別:
a) 靜態內存分配在編譯時完成,不佔用CPU資源; 動態內存分配在運行時,分配與釋放都佔用CPU資源。
b) 靜態內存在棧(stack)上分配; 動態內存在堆(heap)上分配。
c) 動態內存分配需要指針和引用類型支持,靜態不需要。
d) 靜態內存分配是按計劃分配,由編譯器負責; 動態內存分配是按需分配,由程序員負責。