计算机基础
一、編程語言的作用
? 我們使用電腦的目的就是讓計算機幫助我們實現一些功能,提高我們的工作效率。老板讓員工干一件事情,需要下達指令,這個指令可以是口頭表達、文件下發,總之需要一個交流的介質或者溝通的媒介。編程語言就是人和計算機之間溝通的媒介。使用編程語言才能讓計算機完成我們想要干的事情,達到我們想要達到的目的。
二、編程與操作系統及硬件的關系
? 計算機硬件是由CPU、內存、主板、硬盤、I/O設備等構成。
計算機軟件包括系統軟件和應用軟件。我們所學的編程語言就是去做應用軟件,在操作系統上去運行,控制計算機運行完成我們的功能得出相應的結果。用圖標表示就是以下的關系。
三、CPU、內存、硬盤的關系
? 計算機軟件包括系統軟件和應用軟件。我們所學的編程語言就是去做應用軟件,在操作系統上去運行,控制計算機運行完成我們的功能得出相應的結果。用圖標表示就是以下的關系。
? CPU是做運算處理的操作,相當于人的大腦;內存是短暫存儲CPU所用的數據,相當于人的臨時記憶;硬盤是永久儲存數據的部分,相當于人記錄所用到的筆記本。我們的軟件是儲存在硬盤(磁盤)當中,當運行軟件時,這些相關的數據會加載到內存當中, CPU從內存中讀寫數據進行相應的運算操作。CPU、內存、硬盤之間形成層級關系,主要是因為讀取及運算的速度存在差異。CPU的速度最快,內存其次,硬盤最慢。所以CPU不從硬盤直接讀取數據,而是從速度較快的內存的讀取數據進行運算。關系也可以用下圖表示。
四、CPU和寄存器
? CPU的工作就是從內存中取指令→解碼→執行,循環往復地執行下去。CPU執行的時間比比CPU從內存得到指令獲取數據的時間要少很多,所以CPU內部需要有一些用來保存關鍵變量和臨時數據的寄存器,這樣能夠提高速度也防止出錯。
? 寄存器的分類:
? 1、通用寄存器:用來保存變量和臨時結果,可以保存數據也可以保存地址;
? 2、程序計數器:用于存放下一條指令所在單元的地址的地方。
? 3、程序狀態字寄存器(Program Status Word ,PSW):PSW是一個8位二進制寄存器,用來存放指令招待后的有關CPU的狀態,通常由CPU來填寫,但是用戶也可以改變各狀態位的值。
? 4、堆棧指針(SP寄存器):堆棧指針寄存器在堆棧操作中使用,PUSH和POP指令是從SP寄存器得到現行堆棧段的段內偏移量。
五、內核態與用戶態及切換
在CPU的設計中,用戶態和內核態是兩種可執行的狀態。
內核態:處于內核態,及特權狀態。在這種模式下只有內核運行并且可以訪問所有內存和其他系統資源。
用戶態:處于用戶態,及非特權狀態,執行的代碼被硬件限定,不能進行某些操作,比如寫入其他進程的存儲空間,以防止給操作系統帶來安全隱患。每個進程都在各自的用戶空間中運行,而不允許存取其他程序的用戶空間。
用戶態下工作的軟件不能操作硬件,但是我們的軟件比如暴風影音,一定會有操作硬件的需求,比如從磁盤上讀一個電影文件,那就必須經歷從用戶態切換到內核態的過程,為此,用戶程序必須使用系統調用(system call),系統調用陷入內核并調用操作系統,TRAP指令把用戶態切換成內核態,并啟用操作系統從而獲得服務。系統調用可以看成是一個特別的的過程調用指令,該指令具有從用戶態切換到內核態的特別能力。
六、存儲器
? 存儲器的主要功能是存儲程序和各種數據,并能在計算機運行過程中高速、自動地完成程序或數據的存取。在計算機中采用只有兩個數碼“0”和“1”的二進制來表示數據。
計算機存儲器的系列:
? L1緩存:即為寄存器。用和CPU相同材質制造,與CPU的速度一樣快,因而CPU訪問它無時延。典型容量是:在32位CPU中為3232,在64位CPU中為6464,在兩種情況下容量均<1KB。
? L2緩存:即為高速緩存。高速緩存是存在于主存與CPU之間的一級存儲器, 由靜態存儲芯片(SRAM)組成,容量比較小但速度比主存高得多,接近于CPU的速度。在計算機存儲系統的層次結構中,是介于中央處理器和主存儲器之間的高速小容量存儲器。
? 內存:再往下一層是主存,此乃存儲器系統的主力,主存通常稱為隨機訪問存儲RAM,就是我們通常所說的內存,容量一直在不斷攀升。所有不能在高速緩存中找到的,都會到主存中找,主存是易失性存儲,斷電后數據全部消失。除了主存RAM之外,許多計算機已經在使用少量的非易失性隨機訪問存儲如ROM(Read Only Memory,ROM),在電源切斷之后,非易失性存儲的內容并不會丟失,ROM只讀存儲器在工廠中就被編程完畢,然后再也不能修改。EEPROM(Electrically Erasable PROM,電可擦除可編程ROM)和閃存(flash memory)也是非易失性的,但是與ROM相反,他們可以擦除和重寫。不過重寫時花費的時間比寫入RAM要多。
? CMOS,它是易失性的,許多計算機利用CMOS存儲器來保持當前時間和日期。CMOS存儲器和遞增時間的電路由一小塊電池驅動,所以即使計算機沒有加電,時間也仍然可以正確地更新,除此之外CMOS還可以保存配置的參數,比如,哪一個是啟動磁盤等。CMOS的耗電非常少,一塊工廠原裝電池往往能使用若干年,但是當電池失效時,相關的配置和時間等都將丟失。
? 磁盤:是計算機的外部存儲器中類似磁帶的裝置,將圓形的磁性盤片裝在一個方的密封盒子里,這樣做的目的是為了防止磁盤表面劃傷,數據丟失。磁盤有軟磁盤,硬磁盤。硬磁盤就是機械硬盤。
磁盤低速是因為它一種機械裝置,在磁盤中有一個或多個金屬盤片,它們以5400,7200或10800rpm(RPM =revolutions per minute 每分鐘多少轉)的速度旋轉。從邊緣開始有一個機械臂懸在盤面上,這類似于老式黑膠唱片機上的拾音臂。信息寫在磁盤上的一系列的同心圓上,是一連串的2進制位(稱為bit位)。為了統計方便,8個bit稱為一個字節bytes,1024bytes=1k,1024k=1M,1024M=1G。
每個磁頭可以讀取一段環形區域,稱為磁道。
把一個磁頭臂所在位置上所有的磁道合起來,組成一個柱面。
每個磁道劃成若干扇區,扇區典型的值是512字節。
數據都存放于一段一段的扇區,即磁道這個圓圈的一小段圓圈,從磁盤讀取一段數據需要經歷尋道時間和延遲時間。
平均尋道時間:機械手臂從一個柱面隨機移動到相鄰的柱面的時間成為尋到時間,找到了磁道就意味著找到了數據所在的那個圈圈,但是還不知道數據具體這個圓圈的具體位置。
平均延遲時間:機械臂到達正確的磁道之后還必須等待旋轉到數據所在的扇區下,這段時間稱為延遲時間。
虛擬內存:許多計算機支持虛擬內存機制,該機制使計算機可以運行大于物理內存的程序,方法是將正在使用的程序放入內存取執行,而暫時不需要執行的程序放到磁盤的某塊地方,這塊地方成為虛擬內存,在Linux中成為SWAP,這種機制的核心在于快速地映射內存地址,由CPU中的一個部件負責,稱為存儲器管理單元(Memory Management Unit MMU)。
磁帶:在價錢相同的情況下比硬盤擁有更高的存儲容量,雖然速度低于磁盤,但是因其大容量,在地震水災火災時可移動性強等特性,常被用來做備份。
七、控制器和驅動
? 控制器是插在主板上的一塊芯片或一組芯片(硬盤,網卡,聲卡等都需要插到一個口上,這個口連的便是控制器),控制器負責控制連接的設備,它從操作系統接收命令,比如讀硬盤數據,然后就對硬盤設備發起讀請求來讀出內容。控制器的功能:通常情況下對設備的控制是非常復雜和具體的,控制器的任務就是為操作系統屏蔽這些復雜而具體的工作,提供給操作系統一個簡單而清晰的接口。
? 驅動:驅動程序即添加到操作系統中的一小塊代碼,其中包含有關硬件設備的信息。有了此信息,計算機就可以與設備進行通信。驅動程序是硬件廠商根據操作系統編寫的配置文件,可以說沒有驅動程序,計算機中的硬件就無法工作。操作系統不同,硬件的驅動程序也不同,各個硬件廠商為了保證硬件的兼容性及增強硬件的功能會不斷地升級驅動程序。在Windows系統中,需要安裝主板、光驅、顯卡、聲卡等一套完整的驅動程序。如果你需要外接別的硬件設備,則還要安裝相應的驅動程序,如:外接游戲硬件要安裝手柄、方向盤、搖桿、跳舞毯等的驅動程序,外接打印機要安裝打印機驅動程序,上網或接入局域網要安裝網卡、Modem甚至ISDN、ADSL的驅動程序。
八、總線
? 總線(Bus)是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束,按照計算機所傳輸的信息種類,計算機的總線可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。總線是一種內部結構,它是CPU、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過總線相連接,外部設備通過相應的接口電路再與總線相連接,從而形成了計算機硬件系統。
? 隨著處理器和存儲器速度越來越快,單總線很難處理總線的交通流量了,于是出現了下圖的多總線模式,他們處理I/O設備及CPU到存儲器的速度都更快。
北橋即PCI橋:連接高速設備。
南橋即ISA橋:連接慢速設備。
九、操作系統的啟動流程
BIOS是英文"Basic Input Output System"的縮略詞,它是一組固化到計算機內主板上一個ROM芯片上的程序,它保存著計算機最重要的基本輸入輸出的程序、開機后自檢程序和系統自啟動程序,它可從CMOS中讀寫系統設置的具體信息。 其主要功能是為計算機提供最底層的、最直接的硬件設置和控制。此外,BIOS還向操作系統提供一些系統參數。系統硬件的變化是由BIOS隱藏,程序使用BIOS功能而不是直接控制硬件。
操作系統的啟動步驟:
1、計算機通電;
2、BIOS開始運行,檢測硬件:cpu、內存、硬盤等;
3、BIOS讀取CMOS存儲器中的參數,選擇啟動設備;
4、從啟動設備上讀取第一個扇區的內容(MBR主引導記錄512字節,前446為引導信息,后64為分區信息,最后兩個為標志位);
5、根據分區信息讀入bootloader啟動裝載模塊,啟動操作系統;
6、然后操作系統詢問BIOS,以獲得配置信息。對于每種設備,系統會檢查其設備驅動程序是否存在,如果沒有,系統則會要求用戶按照設備驅動程序。一旦有了全部的設備驅動程序,操作系統就將它們調入內核。然后初始有關的表格(如進程表),穿件需要的進程,并在每個終端上啟動登錄程序或GUI。
十、應用程序的啟動流程
1、用戶雙擊啟動文件;
2、磁盤通過路徑找到相應數據文件;
3、將程序加載到內存中;
4、CPU從內存中讀取數據進行處理,完成對應的硬件操作進行反饋。
總結
- 上一篇: 一个小型的CMS后台管理平台发布啦~
- 下一篇: Excel中制作目录的3种方法,你了解几