概述
計算機基礎部分,主要有操作系統、數據庫、網絡知識、多媒體及系統性能章節。是一個比較基礎的章節,這里的知識都學過,這里再復習一下。

操作系統
操作系統包括硬件部分和軟件部分,支持用戶的軟件應用,用戶可以使用它,也可以通過配置修改某些設置,但是不能修改它的運行邏輯。是鏈接硬件和用戶軟件的中間部分。負責執行軟件的調用,驅動硬件進行相應的工作。操作系統有改善人機交互界、面管理系統資源的作用。操作系統的硬件部分包括:cpu (中央處理器)、存儲器(內存和磁盤)和輸入輸出設備等。操作系統的軟件方面功能包括:1.進程管理2.文件管理3.存儲管理4.設備管理5.作業管理。
CPU(處理機)和進程管理
1.什么是進程
進程是程序的一次執行。程序是一套靜態的指令集,當程序運行后,操作系統將指令集加載並執行。進程包括程序、數據及進程控制塊(process control block ,PCB)組成。其中PCB是進程的唯一標志符。當新建一個進程時,系統分配資源和PCB給它。當進程結束的時候,將資源和PCB一起銷毀。PCB中包含程序ID、進程狀態、優先級、資源需求和分配等控制信息。
2.進程的狀態
進程有三種基本狀態,分別是就緒、運行和阻塞。這三種狀態之間的轉換關系有個三態模型圖可以表示:

其中,等待態指的是,系統需要進行其他操作(比如io操作或者外部用戶輸入等),此時必須等相應的事件發生后才能從等待態轉換為就緒態。進程不能直接從等待態轉為運行態。在進程三態模型上,再引入新建和終止,即為進程5態

當系統資源不能拿滿足程序的運行要求時,就將某些進程掛起,對換到磁盤的對換區中,釋放它占用的某些資源,暫時不參與低級調度,這時進程處於掛起狀態+運行狀態。可以掛起的狀態為:就緒態→掛起就緒態。阻塞態→掛起阻塞態。
3.進程互斥與同步
進程同步指的是,在並發環境下,一組進程通過互發消息、互相等待、互相合作,使各個進程按照一定的速度執行的過程成為進程同步。進程互斥指的是,在並發場景下,一組程序都需要共享某一個資源,而該資源不足以滿足所有進程同時使用,這時需要這些進程以一個順序進行不交叉的執行。這樣可以避免死鎖的產生。
信號量機制,是一種很有效的進程互斥和同步的工具。信號量為一個整型數值,根據不同場景給它賦予不同的值。信號量可以分為兩類:
一種是公用信號量,用於實現進程間的互斥,初始值為1或者資源的數量。進程在申請資源時,如果信號量-申請資源數量<0,那么就不允許申請。如果大雨0 ,則將信號量減去申請的數量。另一種是私用信號量。初始值是0或某個正整數。一組進程要求按照特定順序同步執行,那么當前面的程序執行后,就將信號量的值+1 后面的程序看到值>0后就將信號量-1然后執行本身。實現進程間的同步執行。
上述使用信號量的方式就是PV操作。PV操作是實現進程同步和互斥的常用方法。pv操作是低級通信原語,在執行期間不可分割。S表示資源現有數量,P操作表示申請一個資源:P操作的定義S= S-1 若S>0 那么表示資源申請成功,執行P操作的進程繼續執行。若S<0則表示資源申請失敗,執行P操作的線程進入阻塞狀態,並將其插入阻塞隊列。V操作表示釋放一個資源:V操作定義,S=S+1。若S>0 則 繼續執行。若S<=0 則從阻塞狀態喚醒一個進程,將其插入就緒隊列,然后繼續執行。
4.進程通信
進程通信分為低級通信和高級通信。進程控制信息的交換為低級通信。進程間數據的交換為高級通信。低級通信如信號量進行進程的同步和互斥。高級通信有:共享系統、消息傳遞系統和管道系統。共享系統實現原理是:映射一段能被其他進程訪問的內存,這段共享內存由一個進程創建,但多個進程可以訪問。消息傳遞系統:消息隊列是一種消息傳遞系統的具體實現。是一個消息鏈表,存放在內存中由消息隊列標識。管道系統:半雙工的通信方式。
5.進程調度
進程調度主要負責確定把CPU分配給哪個進程執行。常見的算法包括:先來先服務、時間片輪轉、優先級調度和多級反饋調度算法。
存儲管理
存儲器是計算機系統的重要資源。存儲管理的功能是主存儲器的分配和回收、提高主存儲器的利用率及存儲保護和主存擴充。在存儲技術和CPU尋址技術范圍內,組織合理的存儲結構,使各層次的存儲器都處於均衡的繁忙狀態。存儲管理的方式有分區存儲管理、分頁存儲管理、分段存儲管理、段頁式存儲管理和虛擬存儲管理。
對於用戶程序而言,每個目標模塊都是以0為基礎進行存儲地址編址,但那並不是計算機中的真實地址。而是基於0而言的地址。這種地址為邏輯地址,邏輯地址又稱為相對地址、程序地址或虛擬地址。而駐村中各個存儲單元真正的存儲地址,則是物理地址。它可以尋找到具體的值。物理地址又稱絕對地址。邏輯地址轉換稱物理地址的過程稱為地址重定位。地址重定位有靜態重定位和動態重定位兩種方式。
文件管理
文件管理系統是對操作系統中文件進行統一管理的一組軟件和數據(文件)的集合,稱為管理系統。文件系統對文件的訪問有順序訪問和隨機訪問。順序訪問是依次對文件中的信息進行訪問。隨機訪問是指對文件中的信息按照任意的次序隨機的讀取。文件系統對空閑空間的管理包括對空閑空間的組織、分配和回收。常用的管理方法有位圖法、索引法和鏈接法。文件控制塊是系統為每個文件創建的用於描述和控制文件的數據結構。其中包含文件的唯一標識。
作業管理
作業是為完成用戶的一次計算任務(或一次事務處理)所做的所有工作的總和。由程序順序和說明書組成。作業管理程序負責管理作業的進入執行和撤銷。作業有4種狀態:提交、后備、執行和完成。作業的轉換圖如下(網絡摘抄):

作業的調度是為了完成作業的各個狀態轉換的。常用的調度算法有:先來先服務、短作業優先、響應比高優先、優先調度算法和均衡調度算法。
設備管理
設備管理的任務是保證在多進程環境下,在多個進程競爭使用設備時,按照一定的策略分配和管理各種設備、控制設備的各種操作。完成輸入輸出設備與主存之間的數據交換。
數據庫
關系數據庫基礎
數據庫從系統體系結構上可以分三個模式,最底層是內模式,內模式負責數據庫的數據存儲方式和數據結構的描述。主要信息是數據庫內部的組織方式。一個數據庫只有一個內模式。其上層是概念模式,概念模式在一個數據庫中也只能有一個,是數據庫整體邏輯結構的完整描述。需要做數據的安全性約束和完整性等數據控制的工作。外模式:外模式可以有多個,用戶可以看見和操作外模式中的數據,外模式主要負責跟用戶進行交互。
ER模型,在數據庫設計階段用來描述要存在數據庫中的信息和存儲類型。ER模型由實體、屬性和聯系構成。實體用矩形框表示,在框上寫實體名;屬性用橢圓框表示,寫的是屬性名;實體間聯系用的是菱形表示,寫的是相互間的關系。ER模型也稱為ER圖。
數據庫表結構在設計的時候,有一些相應的規范。最低的是一范式,最高的是5范式。但是工作中有時為了實際業務需要,並不一定是范式越高越好。
數據庫中的事物,是一個執行后只存在成功或者失敗兩種可能的操作。事物是不可分割的邏輯工作單位。事物包含四個特性:ACID 原子性、一致性、隔離性和持久性。在實際線上運行的系統中,往往會對關鍵數據和日志做鏡像。以保證系統在遇到故障后可以不丟失數據。
關系數據庫設計
數據庫設計是為了創建一個符合業務需要的數據庫。可以通過直觀設計法、規范設計法、計算機輔助法和自動化設計法等方法進行設計。常用的有基於三范式、ER圖的設計方法。數據庫設計步驟為:概念分析→概念結構設計→邏輯結構設計→物理結構設計→數據應用程序設計→數據庫運行和維護。
分布式數據庫
分布式數據庫系統是針對物理上分散、邏輯上統一的需求提出的一種數據庫管理系統。它的特點是集中控制性、數據獨立性、數據冗余可控性、場地自治性和存取的有效性。分布式數據庫從結構模式上分為4層:全局外層、全局概念層、局部概念層、局部內層。在各層有相應的層間映射。
商業智能
商業智能是對商業數據進行搜集管理和分析的過程。是數據倉庫、數據分析處理、數據挖掘等相關技術走向商業應用后形成的一種應用技術。
數據倉庫是企業數據沉淀、清洗后統一的存放位置。一個公司只有一個數據倉庫,而且數據倉庫中的數據很少或者不會產生更新和刪除的操作。數據庫中的數據,進行抽取、清理轉換后裝入數據倉庫。分析服務器通過對數據倉庫中的數據進行挖掘分析,得出有價值的商業信息。
數據倉庫的實現步驟分有:規划、分析、抽取數據、清洗、集成裝載、數據倉庫設計、數據倉庫管理、分析報表查詢、數據倉庫性能優化及數據倉庫的部署發布等步驟。
數據挖掘是從大量的、不完全的、模糊的、隨機的數據中提取出隱含的、事先不知道的具有價值的信息和知識的過程。傳統分析是根據已有規則去分析數據。數據挖掘是在只有海量數據的情況下,通過挖掘產生相應數學模型的過程。數據挖掘現在比較常見用於推送等功能。
網絡知識
網絡七層
國際標准化組織公布的網絡七層參考模型,模型共7層,每一層都在它的下一層提供服務的基礎上提供更高級的服務。7層由低至高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。每層都有對應的協議集。實際上使用最多的是TCP/IP模型。TCP/IP分層模型由4層構成,分別是:應用層、傳輸層、網際層、網絡接口層。IP地址主要用的有IPV4和IPV6 。
TCP/IP是個協議族,包含多種協議,TCP/IP 與ISO/OSI模型的對比圖如下:

網絡安全
計算機網絡安全指的是,計算機和網絡系統中的軟件、硬件及數據不因為偶然或者惡意的原因遭到破壞、更改、泄露。使系統可以連續、不間斷的提供服務。網絡安全本質是信息安全,確保信息在傳輸、存儲和訪問中不會被竊取、篡改和非法操作。
網絡攻擊,指的是任何非授權的操作。網絡攻擊的范圍從使服務無法提供服務到完全破壞或控制服務器。網絡攻擊會導致服務安全出現風險。目前網絡安全的措施有:數據加密、數字簽名、身份認證、防火牆和入侵檢測等
vpn
vpn 是虛擬專用網絡。是建立在公用網絡上的,由一群特定用戶設置的專用通信網絡。vpn 實際是運行在公網,但是用戶在操作的時候,感覺是在操作局域網。vpn之外的用戶無法訪問vpn內部的網絡資源。實現VPN主要的關鍵技術有:隧道技術、加解密技術、密鑰管理技術和身份認證技術。
VPN 目前有三種解決方案:內聯網、外聯網和遠程接入。
存儲及負載均衡
磁盤陣列技術,磁盤陣列技術是一種由多塊廉價磁盤構成的冗余陣列,使用磁盤陣列可以建立冗余的數據,增強容錯、提高容量、提升性能。網絡存儲技術,采用面向網絡的存儲體系。將數據存儲在存儲服務器,服務器在訪問數據時,通過網絡進行訪問。網絡存儲結構大致分三種:直連存儲、網絡存儲和存儲區域存儲。
負載均衡技術
負載均衡是將多個服務器組成一個服務器集合。按照一定的方式,對外提供服務。提升訪問速度和用戶體驗度。負載均衡分為兩種方式:1.不同的請求分發到不同的服務器,每個服務器提供服務。2.一個請求鏈接到一台服務器,服務器將執行的具體邏輯進行分發,執行完成后統一返回。
服務器集群是將多台計算機共享相同的數據存儲空間。在一個節點宕機后,另一個節點可以主動接管其上運行的服務。
多媒體
基本概念
什么是媒體:媒體是承載信息的載體,又稱為媒介。媒體分為兩部分,一部分是表示信息的載體,如文本、圖片、音頻等。另一部分是存儲信息的載體,如磁盤、紙張、光盤等。媒體種類分為5類:感覺媒體、表示媒體、顯示媒體、存儲媒體和傳輸媒體。
什么是多媒體:多媒體指的是多種媒體相結合,形成一個可以組織、存儲、操作信息的集成環境和交互系統。多媒體技術是以數字化為基礎,對多媒體信息進行處理、展示、存儲、傳輸等操作集成為一個交互性良好的系統的技術。
壓縮編碼
數據壓縮編碼可以分為兩大類:1是無損壓縮編碼法,也稱為冗余壓縮法或熵編碼法;2是有損壓縮編碼法,也稱熵壓縮法。
系統性能
系統性能需要考慮的部分既包含硬件性能,也包含軟件性能。基友部件性能,又有綜合性能。
指標
對於不同的部件,有不同的性能標准。如:計算機,對計算機評價的指標主要有:CPU主頻、運算速度、運算精度、內存大小、磁盤的存取時間、數據處理速率等。對於路由器,性能指標主要有:吞吐量、路由表能力、丟包率、時延、vpn支持能力、端口硬件隊列數、各種協議的支持程度等。對於交換機,對交換機的性能指標有:支持的網絡類型數、交換支持數、支持協議數、冷卻系統、負載均衡等。網絡,對於網絡的指標有:各級性能指標、吞吐量。操作系統,對於操作系統的指標主要有:系統的可靠性、吞吐量、響應時間等。數據庫,對於數據庫的指標有:數據庫最大容量、索引上限、最大並發事物處理能力、最大連接數等。
計算
性能計算的主要方法有定義法、公式法、程序檢測法和儀器檢測法。在實際應用中,往往是對常用性能指標進行復合計算,然后就通過算法加權處理得到最終結果。
設計
性能設計即為性能調優,當系統性能需要進行優化時,通過一系列調整,優化系統的性能。如,對於數據庫系統,通過優化cpu、內存的使用狀態,優化數據庫設計、優化數據庫管理、優化日志文件等提高系統可用性,優化響應時間、提高並發數。
評估
性能評估是對一個系統的性能進行各項檢測,目的是為性能優化提供參考。基准測試程序:把應用程序中用的最多、最頻繁的核心程序作為評級計算機性能的標准程序,這些程序就是基准測試程序。常見的web服務器性能評測方法有:基准程序測試、壓力測試和可靠性測試。
