本質即二進位制與十進位制的相互轉換。
常用的英文編碼表為ascii系統,這個編碼系統中,每個符號(英文,數字或符號等)都會占用1b的記錄。
中文當中的編碼系統最常用的是big5(簡體是gb2312)編碼表。每個中文字元占用2b。
為了解決某些生僻字被識別成亂碼的問題,由國際組織iso/iec指定了所謂的unicode編碼系統,即utf8或統一碼,從而打破了所有國家的不同編碼。
目前的計算機系統將軟體分為兩大類,乙個是系統軟體,乙個是應用程式。
首先看一下直接在cpu的微指令集上進行程式設計的缺點:
①需要了解複雜的組合語言
②需要了解所有硬體的相關功能函式
③程式不具有可移植性
④程式具有專一性
而高階語言可以通過編譯或解釋將人類能夠看懂的程式語言轉譯成為機器能看懂的機器碼,如此一來修改和編寫程式都會輕鬆得多。
另外一方面,為了克服硬體方面老師需要重複編寫控制代碼的問題,所以就有作業系統(operating system,os)。
作業系統其實也是一組程式,這組程式的重點在於
①管理計算機的所有活動
②驅動系統中的所有硬體
而重點的實現就是作業系統核心
作業系統能否做到某些事情都與核心有關。核心如果不支援tcp/ip協議,買什麼網絡卡都沒法上網。
核心程式所放置到記憶體當中的區塊是受保護的,並且開機後就一直常駐在記憶體當中。
只要硬體不同(如x86架構與risc架構的cpu),核心就得要進行修改才行。
為了保護核心,並且讓程式設計師比較容易開發軟體,因此作業系統除了核心程式之外,通常還會提供一整組開發介面,那就是系統呼叫層。
軟體開發工程師只要遵循公認的系統呼叫引數來開發軟體,該軟體就能夠在該核心上面執行,所以軟體與核心有比較大的關係,與硬體關係並不大。
作業系統的核心層直接參考硬體規格寫成。所以同乙個作業系統程式不能夠在不一樣的硬體結構下執行。
作業系統只是在管理整個硬體資源,包括cpu 記憶體 io裝置及系統檔案。
應用程式的開發都是參考作業系統提供的開發介面,所以該應用程式只能在該作業系統上面執行而已,不可以在其他作業系統上面執行的。
核心的功能:
①系統呼叫介面
②程式管理
③記憶體管理
④檔案系統管理
⑤裝置驅動
①作業系統必須要能夠驅動硬體,如此應用程式才能夠使用該硬體功能。
②一般來說,作業系統會提供開發介面,讓開發商製作他們的驅動程式。
③要使用新硬體功能,必須要安裝廠商提供的驅動程式才行。
④驅動程式是由廠商提供的,與作業系統開發者無關。
計算機組成原理 資料表示
計算機處理的物件是各種資料,但計算機只能識別0和1兩個數碼,所以進入計算機的任何資料都要轉換成0和1數碼,即計算機中的資料需要使用二進位制的0和1組合表示 p進製是採用p個數字表達乙個屬的位置計數法,其中p是正整數,成為基數 計算機的硬體基礎是數位電路,它處理具有低電平和高電平兩種穩定狀態的脈衝訊號...
計算機資料表示及進製轉換
進製轉換 1.1 二進位制與十進位制互換 1.2二進位制和八進位制互換 1.3二進位制與十六進製制互換 1.4十進位制與八進位制 十六進製制轉換需要先轉換為二進位制進行 1.5八進位制 十六進製制轉換為十進位制參考二進位制轉換為十進位制,將底數換為8或16 1.6八進位制與十六進製制互換都需要先轉換...
計算機組成 資料表示
在學習原碼,反碼 補碼和移碼之前,需要先了解機器數和真值的概念。關於原碼 反碼和補碼的詳解,請看 原碼 反碼 補碼的使用及其原理 理解 補碼是為了化減法為加法方便計算機設計運算 移碼是為了方便比較大小,用在浮點數的階碼中。關於浮點數的詳解,請看 浮點數在計算機中的表示與轉二進位制 浮點數的特殊情況 ...