作業系統(哈工大李治軍老師)
L4 作業系統介面
作業系統介面
使用者通過程式(應用軟體)使用計算機
程式是普通程式碼加上一些重要的函式
如:
作業系統提供重要函式(重要函式就是作業系統介面,介面表現為函式呼叫,由系統提供,因此叫系統呼叫)
常見的系統呼叫:
L5 系統呼叫的實現
問題1:
作業系統在記憶體中,應用程式也在記憶體中,為什麼應用程式不能直接訪問存取核心中的資訊?
回答:
因為核心中有很多重要的資訊與內容,若能隨意呼叫和jmp那就很危險比如root密碼被修改,word內容通過視訊記憶體被看到
問題2:
怎麼做到不讓應用程式隨意的jmp,呼叫核心資料?
回答:
硬體把記憶體割成了兩個區域,一個叫使用者態,一個叫核心態。
核心態可以訪問任何資料,使用者態不能訪問核心資料
DPL用來描述目標記憶體段的特權級別(要訪問的目標區域的特權級別)
CPL當前的特權級別
特權級別:
若CPL的數字<=DPL的數字,表示當前特權級別更高,則可以進入,否則不能進入
問題3:
系統呼叫如何進入核心態?
回答:
硬體提供了主動進入核心的方法——中斷指令int(唯一的方法)
因此,系統呼叫的核心:
系統呼叫的實現:
L8 CPU管理
CPU的工作原理:
把一個程式放在記憶體中,設定初始的地址暫存器PC為第一個程式的記憶體地址,CPU自動的取址執行
管理CPU最簡單的方法:
設定好PC的初值,CPU自動工作
這樣會出現什麼問題?
阻塞
解決辦法:
多道程式設計(切來切去)
併發:一個CPU上交替的執行多個程式
怎麼做到?
- 修改暫存器PC
- 使用PCB來記錄CPU切出去的那個時刻程式執行到哪裡,方便CPU切回來的時候繼續執行
執行的程式 和 靜態的程式不同
執行中的程式叫做程式
- 程式有開始,有結束,程式沒有
- 程式會走走停停,程式不會
- 程式需要記錄,程式不用
L9 多程式影像
上層使用者看到的是3個程式同時使用
對於OS來說,是多個程式的推進
作業系統需要把程式記錄好,按照合理的次序推進(分配資源,進行排程)
多程式影像從開機到關機
開機時建立個程式,執行shell,shell再啟動其他程式
多程式如何組織?
作業系統管理程式的核心就是PCB + 狀態 + 佇列
Process Control Block:用來記錄程式資訊的資料結構
把PCB組織成不同的資料結構,如就緒佇列,磁碟等待佇列
狀態:
程式根據狀態分類
多程式如何交替(切換)?
相關文章
- 分析師:Google進軍作業系統是遲早的事Go作業系統
- 作業系統(1)——作業系統概述作業系統
- 作業系統(一):作業系統概述作業系統
- 作業系統(二):作業系統結構作業系統
- 【作業系統】作業系統綜述(一)作業系統
- WhatsApp年底前停止支援一批老作業系統APP作業系統
- 作業系統 作業5作業系統
- 作業系統1—作業系統概論(上)作業系統
- 作業系統2—作業系統概論(下)作業系統
- 《作業系統》作業系統
- 作業系統作業系統
- [作業系統]作業系統
- 軟體設計師25-作業系統作業系統
- 作業系統: Unix作業系統演進簡史作業系統
- 計算機作業系統|作業系統引論計算機作業系統
- 各個作業系統的 作業系統日誌作業系統
- 作業系統-1.1_2作業系統四個特徵作業系統特徵
- 計算機作業系統教程 2 作業系統概述計算機作業系統
- 設計師更喜歡什麼作業系統作業系統
- NodeOS作業系統作業系統
- Windows作業系統Windows作業系統
- 作業系統原理作業系統
- 作業系統概念作業系統
- 教師如何搭建成績查詢系統-Leo老師
- 作業系統是什麼?Linux是什麼作業系統?作業系統Linux
- 不同作業系統上遮蔽oracle的作業系統認證方式作業系統Oracle
- “老師”的商業模式模式
- Linux 作業系統Linux作業系統
- Windows作業系統教程Windows作業系統
- 作業系統結構作業系統
- Linux作業系統Linux作業系統
- 作業系統複習作業系統
- 作業系統-程式管理作業系統
- 作業系統的馬戲團作業系統
- 【一】作業系統原理作業系統
- 作業系統篇-cpu作業系統
- 作業系統面試題作業系統面試題
- 重拾作業系統作業系統