1.什麼是io 操作?
作業系統的作用 : 分配硬體資源,使應用程式使用硬體有序化
把不同的程式記憶體隔離開,用演算法分別排程cpu給程式使用
2.cpu工作效率:
希望目標 100%工作
cpu工作效率 50000條指令/ms
cpu工作 :做計算(對記憶體中的資料進行操作)的時候工作
cpu不工作: io操作的時候(讓作業系統呼叫硬體執行)
3.作業系統的歷史
多道作業系統
乙個程式io操作的時候就把cpu讓給別人
優點 : 整體上節省了時間 缺點:程式之間的切換浪費時間
分時作業系統 : 把時間分成時間片,每個程式輪流執行乙個時間片,時間片的輪轉
優點:提高了使用者體驗 缺點 :並沒有提高cpu的效率
實時系統 :多用於飛機,飛彈
實時資訊處理系統 :多用於外匯實時變化
優點 : 及時響應,高可靠性
網路作業系統 :增加了一些網路處理模組
分布式作業系統 : 處理大批量資料,把大任務拆分成小任務
python中有celery框架處理分布式
4.程序: 進行中的程式就是程序,可以通過任務管理器檢視當前程序
程序是計算機中最小的資源分配單位 ****** (記住這句話)
程序在啟動之後,關閉之前,會獲得唯一標識pid,隨機分配的
5.執行緒: 必須存在在程序中,不能脫離程序存在,負責執行程式,可以多執行緒
執行緒是能被作業系統分配給cpu執行的最小單位 *******
6.併發 , 並行 ,同步,非同步,阻塞,非阻塞的概念
併發: 假如只有乙個cpu , 多個程式輪流在cpu上執行(多道作業系統)
巨集觀上(你看到的): 多個程式同時執行,(肉眼察覺不到程式的切換)
微觀上: 多個程式在乙個cpu上輪流執行,切換速度特別快
並行 :(多cpu,多核)多個程式在多個cpu上同時執行
同步 : 在做a事件的時候發起b事件,必須等待b事件結束之後才能繼續a事件
eg: 主程式呼叫了乙個函式,主程式要獲取函式返回值才能繼續執行,這時就必須等函式執行完
非同步: 在做a事件的時候發起b事件,不需要等b事件結束,可以繼續a事件
eg: 主程序 開啟了多個子程序 ,不需要等子程序結束,主程序繼續執行
阻塞 : cpu不工作 input accpt sleep recv recvfrom 等都會把cpu讓出去,造成阻塞
非阻塞:cpu工作
7.程序 三狀態圖
8. 作業系統排程演算法:多級反饋演算法
作業系統基礎
乙個計算機系統主要包括處理器 記憶體 硬碟 鍵盤 滑鼠等輸入輸出裝置。但是硬體的操作十分複雜繁瑣,程式設計師無法全部掌握,因此需要使用作業系統處理這些硬體。作業系統位於計算機硬體和應用軟體之間,本質是乙個軟體。它有作業系統的核心以及系統呼叫兩部分構成。核心 執行於核心態,管理硬體資源 系統呼叫 執行...
作業系統基礎
作業系統 當系統執行起來時,記憶體首先載入bios,完成加電自檢 檢測有哪些裝置可用 然後載入作業系統核心,剩下的記憶體用來分配給其他應用程式的。這裡有乙個問題,比如乙個應用程式啟動需要2mb,過一會需要載入一些東西,又需要2mb,然後又重新申請空間,而這兩部分記憶體是不連續的,這就造成了碎片 sh...
作業系統基礎
1.作業系統的概念 功能和目標 2.作業系統的特徵 3.作業系統的發展和分類 4.作業系統的執行機制與體系結構 5.中斷和異常 6.系統呼叫 7.程序的定義 組成 組織方式 特徵 8.程序的狀態與轉換 9.程序控制 10.程序通訊 11.執行緒概念和多執行緒模型 12.處理機排程的概念 層次 13....