1.2 狀態轉換
1.3 程序排程
1.4 中斷
1.5 程序併發
1.6 程序死鎖
1.7 程序的通訊方式
2 使用者態和核心態
3 批處理系統和分時系統
4 程式記憶體結構
程序是系統進行分配和排程的基本單位
程序=程式+資料+pcb
pcb:程序控制模組
執行緒減少系統管理的開銷,使併發更快
執行緒共享程序資源
建立和終止花費時間更少,執行緒切換開銷更小
運用了交換技術,在記憶體中暫時不能執行的程序轉移到外存,騰出空間讓可以執行的新程序進入記憶體
保護現場
更新pcb狀態
移動pcb到就緒或阻塞
排程新的程序
系統設定響應哪些中斷(linux32類),遇到中斷訊號後,系統儲存當前執行緒,通過中斷入口位址跳轉到中斷子程式,在執行完中斷後,再返回恢復現場,繼續執行。
某一時刻只允許乙個生產者或者消費者訪問快取
讀取可以同時進行,寫入必須使用互斥
採用i/o復用
使用臨界資源的**,不能被中斷
臨界區的互斥方法:
互斥條件
請求與保持條件
非剝奪條件
迴圈等待條件
預防死鎖
限制死鎖的條件,但會降低系統效率
避免死鎖
**當前資源分配是否會造成死鎖
檢測死鎖
實時檢測,出現死鎖,及時解決
管道無名管道:用於父子程序通訊
命名管道:允許無親緣關係的程序通訊
系統ipc
訊息佇列
訊號:用於通知某個事件已經傳送
共享記憶體:依靠互斥鎖,共用一塊記憶體
套接字socket
主要用於不同主機間的程序通訊
從使用者態到核心態的轉換叫模式切換,需要軟中斷,程序切換一定有模式切換
批處理系統:乙個程序長時間占用cpu
分時系統:乙個程序只能在乙個時間片內占用cpu
**段:存放程式的二進位制**
資料段:存放已經初始化的全域性變數
bss端:存放未初始化的全域性變數
堆區:new/malloc分配
檔案對映區:mmap分配或動態鏈結庫
棧區:區域性變數
系統核心
作業系統知識點
tcp的擁塞控制由4個核心演算法組成。https 把資料進行非對稱加密,然後客戶端從第三方伺服器獲取證書 加密後的公鑰 http完整請求 建立tcp連線,傳送http命令請求頭,web伺服器應答,關閉tcp連線 tcp 三次握手 缺陷 洪氾攻擊 解決辦法 四次揮手 長連線 短連線 程序 執行緒 併發...
作業系統知識點
協程 coroutines 是一種比執行緒更加輕量級的存在,正如乙個程序可以擁有多個執行緒一樣,乙個執行緒可以擁有多個協程。協程不是被作業系統核心所管理的,而是完全由程式所控制,也就是在使用者態執行。這樣帶來的好處是效能大幅度的提公升,因為不會像執行緒切換那樣消耗資源。程序與執行緒見 分頁與分段 分...
作業系統知識點
計算機系統資源分為硬體資源和軟體資源 按資訊交換方式和加接裝置的特性種類不同,通道分為 位元組多路通道 選擇通道 陣列多路通道 兩個交往的併發程序可能出現與時間有關的錯誤,這些錯誤表現為結果不唯一和永遠等待兩種情況 unix檔案可以分成普通檔案 目錄檔案和特殊檔案 從資源管理的觀點上來看,os的功能...