計算機硬體組成及作業系統
上節課內容回顧:
1、什麼是buffer與cache,它們各自的作用是什麼
linux系統會把記憶體分為兩種區域:
buffer:緩衝區,攢一大波資料,再刷入硬碟
cache:快取,把硬碟的資料在記憶體中快取好,cpu取的時候可以直接從記憶體取
2、什麼是核心態與使用者態
核心態——>作業系統正在控制硬體
使用者態-->應用程式正在執行
3、機械磁碟的IO延遲時間=平均尋道時間4ms+平均延遲時間5ms
4、一個7200轉的硬碟帶來的IO延遲大概是9ms
5、作業系統的啟動流程是什麼?
1、計算機加電
2、啟動BIOS(計算機啟動一定會先啟動bios系統),掃描啟動裝置,從某一個啟動裝置中找到作業系統
3、讀取啟動裝置的第一個扇區的大小(稱之為主引導記錄mbr)
446 bootloader=》grub程式
64分割槽資訊
2結束標誌位
4、grub程式負責將作業系統核心裝載入記憶體,啟動作業系統
5、作業系統會讓BIOS去檢測驅動程式
6、如何防止伺服器斷電?
1.選雙電源機房。雙電源接通到ups裝置上。
2.機房應該配備ups。
3.配備小型柴油發電機
詳見:https://zhidao.baidu.com/question/580332078.html
ups解釋詞:https://zhidao.baidu.com/question/24791206.html
7,、虛擬記憶體:
使計算機可以執行大於實體記憶體的程式,暫時不需要執行的程式放到磁碟的某塊地方,這塊地方成為虛擬記憶體,一般在特殊緊急情況下使用,保命為主,在linux中稱為swap。
今日內容
一、硬碟介面 IDE並口 SATA串列埠===》現在常用 SCSI ======》現在常用 SAS(SATA+SCSI) 光纖通道 SSD+SAS=================》土豪 SSD+SATA=================》常規,對速度有特殊要求 機械硬碟+SAS==============》常規,比較核心業務使用,對速度要求常規 機械硬碟+SATA==============》內部服務 # raid=》"硬碟的叢集" 多塊硬碟要連線到RAID卡(陣列卡)上: 然後製作raid raid0 至少1塊盤 容量:n塊盤何在一起的總容量 效能:理論上是N塊盤合在在一起的讀寫速度,實際上是要略低一些 冗餘性:不允許壞任何一塊盤 場合:追求讀寫效能,但是對資料安全性沒有啥要求,列如叢集伺服器 特點:追求速度,不考慮資料安全 raid1 至少2塊盤 容量:1快盤的容量 效能:幾乎就是一塊盤的讀寫速度 冗餘性:可以壞一塊盤,另外一塊盤有完整的資料 場合:對資料安全有要求,對速度讀寫速度沒有特殊要求,列如伺服器的系統盤 特點:追求資料安全,不考慮速度 raid5(介於raid0和raid1之間,是一種折中的方案) 至少3塊盤,兩兩之間做校驗===》異或運算,相同結果為0,不同結果為1 容量:廢掉一塊盤的容量,等量盤的情況下,容量低於raid0 效能:讀寫速度低於raid0,高於raid1 冗餘性:可以壞一塊盤,其餘兩塊盤可以通過奇偶校驗推匯出壞盤的資料 場合:一般的場合都可以用 raid10 至少4塊盤 raid1和raid0之間整合的產物,兼顧了raid1和raid0的效能,但是成本大幅度提升 通常用於資料庫伺服器硬碟的容量單位: 1B=8Bit //位元組(B、Byte) 1kB=1024B //千位元組(KB、kilobyte) 1MB=1024KB //兆位元組(MB,MegaByte) 1GB=1024MB //吉位元組(GB,Gigabyte) 1TB=1024GB //太位元組(TB,TeraByte) 1PB=1024TB //拍位元組(PB,PetaByte) 1EB=1024PB //艾位元組(EB,Exabyte) 1ZB=1024EB //澤位元組(ZB,ZettaByte) 1YB=1024 ZB //堯位元組(YB、YottaByte) 1BB=1024YB //BB(BrontoByte) 1NB=1024BB //NB (NonaByte) 1DB=1024NB //DB (doggaByte)
優化的基本原則
1.針對讀操作,資料能從記憶體取就不要從硬碟
2.針對寫操作,在記憶體中攢一波在寫入硬碟
二、作業系統(瞭解)
前言:
作業系統最核心的概念就是程序
程序指的就是一個程式的執行過程,具體來說指的是作業系統控制硬體來執行的過程
第二代計算機
批處理系統
一次把一個或者一道程式讀入記憶體,執行完畢後,在執行下一個程式沒有並行,稱之為序列
優點:
1.充分利用了計算機資源
缺點:
1.讓程式設計師明顯感覺到等待
2.程式的執行是序列
3.整個過程都是人蔘與的
第三代計算機(***)
併發:多個任務看起來是同時執行
序列:多個任務是一個執行完畢後在執行下一個
多道技術==》併發
1.空間上的複用:多道程式在執行前先必須載入到記憶體中
2.時間上的複用:多個任務複用湊的時間片,通俗的講就是CPU在多個程式之間來回切換
什麼時候切換呢?
I:當一個任務遇到IO,肯定要切換-》提升效率
II:一個任務沒有遇到IO但是佔用CPU時間過長,也要切換=》降低效率
ps:多個程序的記憶體空間是互相隔離的,而且是物理隔離
分時作業系統CTTS:多使用者多工
應用多道技術來實現多個任務的併發的執行