(一)計算機的發展和應用算法
1.計算機發展數據庫
1981年開始進入網絡。網絡
2.計算機應用併發
科學計算(天氣預報)、數據處理(物流)、實時控制(物流、電力)、計算機輔助、人工智能(指紋)、遠程教育、電子商務 編輯器
(二)計算機系統的組成分佈式
1.硬件(比如人的軀體)工具
輸入設備:Input Device,輸入程序和原始數據。eg:字符輸入設備(鍵盤、光筆)、圖形輸入設備(掃描儀)、語音輸入設備。優化
輸出設備:Output Device,輸出處理結果及程序。eg:數據(顯示器)、字符、表格(打印機)、圖形(繪圖儀)。編碼
存儲器:Memory,存放數據和程序。eg:內存:主存儲器和高速緩衝存儲器,由半導體存儲器構成,CPU能夠直接訪問;外存:輔助存儲器,CPU不能夠直接訪問。人工智能
運算器:ALU(Arithmetic Logic Unit,運算邏輯單元),對數據(主要是二進制數據)進行算術運算(加、減、乘、除)和邏輯運算(與、或、非、移位)。
控制器:Controller,控制計算機各部件協調工做,包含順序控制、操做控制、時間控制。
2.軟件(比如人的靈魂)
(1)系統軟件
操做系統:系統軟件核心,主要負責管理和控制硬件資源、軟件資源和程序運行。
五大職能:
IO:輸入和輸出
進程調度:不管在批處理系統仍是分時系統中,用戶進程通常都是多於處理機器數,就會出現爭奪處理機器的現象(系統進程也須要處理器來進程處理),此時就須要進程調度按照必定的策略來動態的把處理機分配給處於序列對中的某一進程使之執行。
併發處理:保證一個用戶的操做不會對另外一個用戶的操做產生不合理的影響。
內存管理:程序在運行時須要使用和分配計算機內存,目的是爲了更高效、更快的分配內存,並在適當時的釋放和回收資源。
文件管理:對文件存儲器和存儲空間進行了組織、分配、回收。負責文件的存儲、檢索、共享和保護。
語言處理程序:因爲計算機只能識別、處理由二進制表示的機器語言,全部其餘語言編寫的都必須翻譯爲機器語言,才能由計算機去執行和處理。語言處理程序就是來完成這種翻譯工做。
翻譯方式:
解釋:對源程序邊解釋邊執行。
編譯:將源程序徹底翻譯成機器語言後執行。
數據庫管理系統:(DBMS:Database Managment System)主要用戶信息處理、情報檢索和各類管理系統中,極大的方便了用戶根據須要建立數據庫,查詢、顯示、修改數據庫的內容,打印各類表格等。eg:mySql
分佈式軟件系統:主要包括分佈式操做系統、分佈式編譯系統、分佈式數據庫系統、分佈式算法及軟件包等,主要用於分佈式計算環境、管理分佈式計算資源、控制分佈式程序的運行、提供分佈式程序的開發與設計工具等。
通俗的講:就是多臺相連的計算機各自承擔同一工做任務的不一樣部分,在人的控制下,同時運行,共同完成一項任務。
eg:銀行系統,總行和各個分行處於不一樣的城市和城市的各個地區,在業務上他們須要處理各自的數據,也須要彼此之間的交流和處理,這就須要分佈式的系統。
網絡軟件系統:包括網絡操做系統、網絡協議、通訊軟件、網絡應用程序等,支持網絡活動和數據通訊。人類藉助計算機網絡這個平臺實現遠程教育、網絡聊天、視頻點播、電子郵件、電子商務等。
各類服務程序:服務程序是爲方便用戶使用和維護計算機所編制的程序。這類程序包含的內容很普遍,如裝入程序、編輯程序、調試程序、診斷程序等,一些通用的應用軟件也能夠做爲服務程序,如文字處理程序、表格處理程序、圖形處理軟件等。
(2)應用軟件
用戶爲解決某個應用領域中的各種問題而編寫的開發程序。
3.計算機系統的層次結構
爲了使計算機硬件和軟件之間、系統與使用者之間更好的協調、配合,以便構成合理、高效的計算機系統,所以提出了計算機系統層次結構:
微程序設計層:此層可進行微程序設計,由機器硬件直接執行微指令編寫的微程序。(微程序-微指令-微操做-機器指令-ASCII等)
指令系統層:此層可進行機器語言程序設計,該程序由「微程序」負責解釋執行。
指令系統:計算機硬件的指令系統,也叫機器語言。他是軟件和硬件的主要界面。
操做系統層:由操做系統程序實現。操做系統程序是機器指令和廣義指令組成。
操做系統:用來管理計算機硬件和軟件資源的計算機程序,是直接運行在「裸機」上的最基本的系統軟件,是用戶和計算機的接口,同時也是計算機硬件和其餘軟件的接口。
機器指令:CPU能直接識別並執行的指令,它的表現形式是二進制編碼。
廣義指令:對操做系統定義和解釋的軟件指令。
彙編語言層:是各類CPU提供的機器指令助記符的集合。
是一種用於電子計算機、微處理器、單片機或其餘可編輯器件的低級語言,在不一樣的設備中,彙編語言對應着不一樣的機器語言指令集。一種彙編語言專用於某種計算機系統結構,而不像許多高級語言,能夠在不一樣平臺之間進行移植。
使用場景:底層硬件操做和高要求的程序優化的場合。驅動程序、嵌入式操做系統和實時運行程序都須要彙編語言。
高級語言層:進行高級語言程序設計,面向用戶。
(三)計算機系統結構