系统的概念
進程優先級的含義:
每個進程都有相應的優先級,優先級決定它何時運行和接收多少CPU時間。最終的優先級共32級,是從0到31的數值
稱為基本優先級別。系統按照不同的優先級調度進程的運行,其中0-15為普通的優先級進程的優先級可以動態變化
優先級運行按照從高到低來運行(高不運行的時候才調度低優先級進行運行),相同的優先級則按照時間片輪流運行;而16-31的話就是實時優先級,它與普通的優先級最大的區別的就是相同的優先級進程的運行不按照時間片輪流運行,而是先運行的就先控制CPU,如果它不放棄,則相同優先級或者是更低優先級的就無法運行。
(1) 硬中斷
由與系統相連的外設(比如網卡、硬盤)自動產生的。主要是用來通知操作系統系統外設狀態的變化。比如當網卡收到數據包的時候,就會發出一個中斷。我們通常所說的中斷指的是硬中斷(hardirq)。
(2) 軟中斷
為了滿足實時系統的要求,中斷處理應該是越快越好。Linux為了實現這個特點,當中斷發生的時候,硬中斷處理那些短時間就可以完成的工作,而將那些處理事件比較長的工作,放到中斷之后來完成,也就是軟中斷(softirq)來完成。
(3)進程的上下文切換
進程中斷時,把該進程中斷之前的狀態信息保存下來叫做“上文”,“下文”是即將要恢復調用進程的狀態信息,切換是進程的調度,從一個進程調度到另一個進程
隊列-含義:
隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。
進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。
CPU依靠指令來計算和控制系統,每款CPU在設計時就規定了一系列與其硬件電路相配合的指令系統。
指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。
擁塞:
擁塞是指到達通信子網中某一部分的分組數量過多,使得該部分網絡來不及處理,以致引起這部分乃至整個網絡性能下降的現象,嚴重時甚至會導致網絡通信業務陷入停頓,即出現死鎖現象。這種現象跟公路網中經常所見的交通擁擠一樣,當節假日公路網中車輛大量增加時,各種走向的車流相互干擾,使每輛車到達目的地的時間都相對增加(即延遲增加),甚至有時在某段公路上車輛因堵塞而無法開動(即發生局部死鎖)
進程擁塞是指待處理進程過多,CPU處理不過來,使得系統性能下降,嚴重時,甚至導致整個系統停頓;
用戶態和內核態的切換:
處理器模式從Ring3向Ring0的切換發生在控制權轉移時,有以下兩種情況:訪問調用門的長轉移指令CALL,訪問中斷門或陷阱門的INT指令。具體的轉移細節由于涉及復雜的保護檢查和堆棧切換。
保護模式:
保護模式,通過內存頁表操作等機制,保證進程間的地址空間不會互相沖突,一個進程的操作不會修改另一個進程的地址空間中的數據。在內核態下,CPU可執行任何指令,在用戶態下CPU只能執行非特權指令。當CPU處于內核態,可以隨意進入用戶態;而當CPU處于用戶態,只能通過中斷的方式進入內核態。一般程序一開始都是運行于用戶態,當程序需要使用系統資源時,就必須通過調用軟中斷進入內核態.
用戶態和內核態的定義:
(1)當一個任務(進程)執行系統調用而執行內核代碼時,稱進程處于內核內核態,此時處理器處于特權級最高的(0級)內核代碼中執行,當進程處于內核態時,執行的內核代碼會使用當前進程的內核棧,每個進程都有自己的內核棧。當進程執行用戶代碼時,稱其處于用戶態,此時處理器在特權級最低的(3級)用戶代碼中運行。
(2)當正在執行用戶程序而突然被中斷程序中斷時,此時用戶程序也可以象征性地稱為處于進程的內核態,因為中斷處理程序將使用當前進程的內核棧。這與處于內核態的進程的狀態有些類似。內核態與用戶態是操作系統的兩種運行級別,跟intel cpu沒有必然的聯系,intel cpu提供Ring0-Ring3三種級別的運行模式,Ring0級別最高,Ring3最低。
swap分區的含義與作用:
設置swap分區是為了系統的性能更高效,因為linux是網絡、多用戶、多任務操作系統,通常是做為搭建服務器,為多個用戶提供實時的訪問,為避免或減少用戶間或進程間的資源不足,設置了swap(虛擬內存)分區,解決物理內存不足時,從硬盤中分部分資源作為內存使用。通常swap建議設置為物理內存的1-1.5倍。
分頁保存的意義:
一個軍長直接指揮一萬名士兵會很低效,而如果他手下分成幾個師,師分成團,營,連,排,班就容易管理很多。
計算機系統也一樣,很多時候要根據效率,成本等因素進行設計折中。同時可以避免外部碎片。
cache(高速緩沖區)的作用:
每個電腦都有內存條和cpu,內存的速度雖然很快,但還是和CPU不是一個數量級的,這樣CPU的效率就浪費了,cache高速緩沖存儲器的作用就體現出來了,cache的速度雖然還是比不上CPU的速度,但比內存快很多,可以起到一個緩沖的作用,CPU需要的數據先是Cache從內存中取出,等到CPU要用的時候在傳給CPU。這樣可以提高不少效率。
buffer(緩沖區)的作用:
用來彌補不同數據處理速率速度差距的存儲裝置
磁道-概念:
當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道。這些磁道用肉眼是根本看不到的,因為它們僅是盤面上以特殊方式磁化了的一些磁化區,磁盤上的信息便是沿著這樣的軌道存放的.相鄰磁道之間并不是緊挨著的,這是因為磁化單元相隔太近時磁性會產生相互影響,同時也為磁頭的讀寫帶來困難.
扇區-概念:
磁盤的每一面被分為很多條磁道,即表面上的一些同心圓,越接近中心,圓就越小。而每一個磁道又按512個字節為單位劃分為等分,叫做扇區。
塊-概念(存儲)
先說說塊存儲吧,典型代表--SAN。對于用戶來說,SAN好比是一塊大磁盤,用戶可以根據需要隨意將SAN格式化成想要的文件系統來使用。SAN在網絡中通過iSCSI(IPSAN)協議連接,屬block及存儲,但可擴展性較差。
inode-概念:
inode 是 UNIX 操作系統中的一種數據結構,其本質是結構體,它包含了與文件系統中各個文件相關的一些重要信息。
文件系統-概念:
是操作系統用于明確存儲設備(常見的是磁盤,也有基于NAND Flash的固態硬盤)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。
如何格式化文件系統:mkfs命令(make file system)
mkfs [-t 文件系統格式] 設備文件名
如何掛載文件系統:mount命令
mount [-t 文件系統] [-L Label名] [-o 額外選項]
如何卸載文件系統:umount命令
umount[-fn]設備文件名或掛載點
raid的概念:
磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能
raid的作用:
(1)提高傳輸速率。
(2)通過數據校驗提供容錯功能。
raid的幾種方式:
raid0、1、0+1、3、5
RAID 0又稱為Stripe(條帶化)或Striping,它代表了所有RAID級別中最高的存儲性能。RAID 0提高存儲性能的原理是把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。
RAID 1又稱為Mirror或Mirroring(鏡像),它的宗旨是最大限度的保證用戶數據的可用性和可修復性。
RAID 0+1的特點使其特別適用于既有大量數據需要存取,同時又對數據安全性要求嚴格的領域,如銀行、金融、商業超市、倉儲庫房、各種檔案管理等
RAID 3是把數據分成多個“塊”,按照一定的容錯算法,存放在N+1個硬盤上,實際數據占用的有效空間為N個硬盤的空間總和,而第N+1個硬盤上存儲的數據是校驗容錯信息,當這N+1個硬盤中的其中一個硬盤出現故障時,從其它N個硬盤中的數據也可以恢復原始數據,這樣,僅使用這N個硬盤也可以帶傷繼續工作(如采集和回放素材),當更換一個新硬盤后,系統可以重新恢復完整的校驗容錯信息。
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。
總結
- 上一篇: Android dumpsys命令的使用
- 下一篇: 英特尔锐炫 A580 显卡海外开售,比