久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1463|回復: 0
收起左側

操作系統結構

[復制鏈接]
ID:107189 發表于 2016-3-5 23:16 | 顯示全部樓層 |閱讀模式
操作系統結構
操作系統與用戶接口
系統調用
操作系統結構
操作系統特征
3.0用戶與操作系統的接口
1. 命令接口
聯機接口(交互式):使用系統提供的操作命令,交互地控制程序執行和管理計算機系統.如系統管理,環境設置,權限管理,文件管理等
脫機接口:以作業說明書的方式提交給系統(批的方式);執行過程中,用戶無法干涉
2.程序接口(系統調用)
系統調用是操作系統提供給編程人員的唯一接口,編程人員利用系統調用,完成與機器硬件部分相關的工作.用戶就可以在程序中調用操作系統所提供的一些子功能.
命令解釋系統
命令解釋系統(外殼,shell):是OS的重要組件之一,是用戶和OS的接口.
作用:讀入用戶的輸入或者文件中的命令,并運行它(們);通常轉換為一個或者多個系統調用
位置:
有的是在內核中
有的如MS-DOS和Unix,則將它作為一個特殊程序(它易變,因此更靈活),當一個作業開始或者分時系統中用戶登陸時,它運行
命令解釋系統的工作流程
首先讀入鍵盤緩沖區中的命令,判別其文件名,擴展名及驅動器名是否正確.
若發現有錯,在給出出錯信息后返回;
若無錯,再識別該命令:
基于表格的方法:
從對應表項中獲得該命令處理程序的入口地址,然后把控制權交給該處理程序去執行該命令.
表格其中的每一表目都是由命令名及其處理程序的入口地址兩項所組成.
3.1 系統調用-功能
系統調用(SYSTEM CALL) :
OS核心中都有一組實現系統功能的過程(子程序),系統調用就是對上述過程的調用.編程人員利用系統調用,向OS提出服務請求,由OS代為完成.
每個系統都有上百種系統調用,涉及進程,文件和設備控制等.
系統調用運行于核心態;而普通的函數調用由函數庫或用戶自己提供,運行于用戶態.
3.1 系統調用-舉例
例1: 文件管理:文件讀寫和文件控制(高級語言);
Open 文件打開
Close 文件關閉
Read 讀文件
Write 寫文件
Creat 文件創建
例2. 利用系統調用實現硬盤文件內容讀寫
MOVE DX,OFFSETBUFF
MOVE CX,BYTE
MOVE BX,HANDLE
MOVE AH,3FH
INT 21H
3.1 系統調用-實現過程
當編程人員給定了系統調用名和參數之后,由一個類似于硬件中斷處理的中斷處理機構完成-陷入處理機構.它是在系統中為控制系統調用服務的機構.
當用戶使用系統調用時,產生一條相應的指令(陷入指令,trap指令),CPU在執行到該指令時發生相應的中斷,發出有關信號給該處理機構,并啟動相應的處理程序來完成該系統調用所要求的功能.
陷入指令(或稱訪管指令):由于系統調用引起處理機中斷的指令
在陷入中斷發生時,從用戶態->系統態.這一轉換在發生訪管中斷時由硬件自動實現.
3.1 系統調用-實現過程
系統調用語句本身是硬件提供的(機器指令),但其所調用的功能是操作系統提供的.每種機器的機器指令集中都有一條系統調用指令.
系統調用與返回
3.1 系統調用-實現過程
設置系統調用號和參數.
調用號作為指令的一部分(如早期UNIX),或裝入到特定寄存器里(如:DOS的 int 21H,AH=調用號.)
參數裝入到特定寄存器里,或內存區域
執行trap(INT)指令:入口的一般性處理,查入口跳轉表,跳轉到相應功能的過程.
保護CPU現場(將PC與PSW入棧),改變CPU執行狀態(處理機狀態字PSW切換,地址空間表切換)
將參數取到核心空間
執行操作系統內部代碼;
執行iret指令:將執行結果裝入適當位置(類似于參數帶入),恢復CPU現場(以棧頂內容置PSW和PC).
系統調用表/調用號
Linux為每個系統調用都進行了編號(最大為NR_syscall),同時在內核中保存了一張系統調用表,該表中保存了系統調用編號和其對應的服務例程地址.第n個表項包含系統調用號為n的服務例程的地址.
系統調用時需要把系統調用號一起傳入內核.在x86上,這個傳遞動作是通過在執行int $0x80前把調用號裝入eax寄存器實現.
這樣系統調用處理程序一旦運行,就可以從eax中得到數據,然后再去系統調用表中尋找相應服務例程了.
現在的系統提供了許多庫函數,用戶編程時也許就是用上層的庫函數,而不是直接使用系統調用.
Win32 API:如微軟提供了一個Win32 API函數集合,它實質上就是一些庫函數.在這些函數執行時,往往會再去調用系統的系統調用.該庫函數提供了更易用的界面.因此,通過Win32 API程序員就能夠得到操作系統的服務.
如write(,…,…)
教材P49:文件復制
3.1 系統調用-庫函數
陷入與中斷的比較
相同點:它們都是由相同的硬件機構處理的事件,
陷入是指CPU內部事件產生的中斷,它包括程序運算引起的各種錯誤,如地址非法,效驗錯,頁面失效,存取控制錯,從用戶態到核心態的切換等都是陷阱的例子
中斷和陷入不同點:
陷入通常由處理機正在執行的現行指令引起,而中斷則是由與現行指令無關 的中斷源引起;
陷入處理程序提供的服務為當前進程所用,而中斷處理程序提供的服務則不是為了當前進程的
中斷只能在指令之間被響應,而陷入可以在一條指令執行中被響應
陷入處理程序在各自的堆棧上進行,中斷處理程序則在系統堆棧環境中進行
_軟中斷是通信進程之間用來模擬硬中斷的一種信號通信方式,處理機處理的時機決定于接受軟中斷信號的進程,如果占有處理機,與中斷處理相同,否則相應的處理必須等到接收進程得到處理機才能響應.
3.2.1 整體或模塊結構
3.2.2 分層結構
3.2.3微內核結構(客戶-服務器結構)
3.2.4 虛擬機
3.2,操作系統結構
整體或模塊結構
整個系統按功能進行設計和模塊劃分.系統是一個單一的,龐大的的軟件系統.由眾多服務過程(模塊)組成,可以隨意調用其他模塊中的服務過程
評價
優點:具有一定靈活性,模塊之間轉接的靈活性使運行中的高效率;結構緊密,接口簡單直接
缺點:功能劃分和模塊接口難保正確和合理;模塊之間的依賴關系(功能調用關系)復雜(調用深度和方向)
3.2,操作系統結構-(1)整體或模塊結構
3.2.1 整體或模塊結構
從資源管理觀點出發,將OS劃分為若干層次.在某一層次上代碼只能調用低層次上的代碼,使模塊間的調用變為有序性.有利于系統的維護性和可靠性.
3.2.2 分層結構
3.2.2 分層結構
按此種模式構造的第一個操作系統是E.W.Dijkstra開發的THE系統(1968年).
一個層次式操作系統
處理器分配和多道程序
0
內存和外存管理
1
操作員一進程通信
2
輸入輸出管理
3
用戶程序
4
操作員
5
功 能
層次
3.2.2 分層結構-特點
分層原則
被調用功能在低層:如文件系統管理-設備管理-設備驅動程序
活躍功能在低層:提高運行效率
資源管理的公用模塊放在最低層:如緩沖區隊列,堆棧操作
最低層的硬件抽象層:與機器特點緊密相關的軟件放在最低層.如Windows NT中的HAL--單處理,多處理
資源分配策略放在最外層,便于修改或適應不同環境
3.2.2 分層結構-特點
優點:
功能明確,調用關系清晰(高層對低層單向依賴),有利于保證設計和實現的正確性
低層和高層可分別實現(便于擴充);高層錯誤不會影響到低層
缺點:
效率低.層次之間的調用開銷.
3.2.3微內核結構(客戶-服務器結構)
趨勢:從操作系統中去掉盡可能多的東西,而只留一個最小的核心
微內核(micro-kernel):
只給內核分配一些最基本的功能,運行在內核模式. (如:內存,進程間通信,基本調度等).
其它的OS服務都是由運行在用戶模式下的進程完成,可作為獨立的應用進程,稱為服務進程.
微內核提供客戶程序和運行在用戶空間的各種服務之間的通信能力.
如Mach Unix.而Windows NT采用了混合結構.(分層結構+微內核結構)
3.2.3微內核結構
3.2.3微內核結構
優點:
良好的擴充性:只需添加支持新功能的服務進程即可.而且所有新服務被增加到用戶空間中,不需要修改內核.
可靠性好:所有服務器以用戶進程的形式運行,而不是運行在核心態,所以它們不直接訪問硬件.假如在文件服務器中發生錯誤,文件服務器可能崩潰,但不會導致整個系統的崩潰
便于網絡服務,實現分布式處理:微內核可以以相同的方式與本地和遠程的服務進程交互(遠程過程調用 RPC, Remote Procedure Call)
缺點:
消息傳遞比直接調用效率要低一些 (但可以通過提高硬件性能來補償 )
3.2.3 微內核結構
3.2.4 虛擬機
3.2.4 虛擬機
虛擬機:通過某種技術,使物理計算機作為共享資源從而創建虛擬機.
利用CPU調度,虛擬內存技術,OS能創建一種幻覺,從而使進程認為有自己的處理器和自己的內存.
每臺虛擬機都與裸機相同,所以每臺虛擬機可以運行一臺裸機所能夠運行的任何類型的操作系統.不同的虛擬機可以運行不同的操作系統.
3.2.4 虛擬機
使用虛擬機的好處
通過完成保護系統資源,虛擬機提供了一個安全層,每個虛擬機完全與其它虛擬機隔開,從而使系統資源被完全保護
虛擬機允許進行系統開發而不必中斷正常的系統操作:系統程序員有自己的虛擬機,系統開發可在虛擬機而不是真實的物理機器上進行.
虛擬機的應用:作為解決系統兼容性問題的一種方法,虛擬機的應用程序不斷增加.
例如在Sun的處理器上運行微軟開發的基于Intel CPU的系統:解決方法是在Sun的處理器上創建虛擬Intel機,其Intel指令被轉換為本機指令.
允許windows程序運行在基于Linux的機器上,該虛擬機可以運行Windows應用程序和Windows操作系統.
3.2.5 系統設計與實現
設計目標
硬件
系統類型:批處理,分時,分布式...
用戶目標:
使用人員:使用方便,可靠,快速
設計與維護人員:容易設計,實現和維護.
系統目標
區分機制與策略(細讀P65頁)
機制:決定如何來做
策略:決定做什么
如定時器結構.策略可能會隨地點或時間而概念,系統更需要通用機制.
系統實現
傳統OS是用匯編語言寫的,如MS-DOS使用Intel8088 匯編語言寫的
現在的OS都是用高級語言如C或者C++來寫的:使代碼編寫更快,容易理解和調試,OS更容易移植.但可能降低速度,提高存儲要求.
對于關鍵子程序,可用匯編語言編寫.
3.3 現代操作系統的特征
并發(concurrency)
共享(sharing)
虛擬(virtual)
異步性(asynchronism)
并發(concurrency)
并發指:多個事件在同一時間段內發生.操作系統是一個并發系統,各進程間的并發,系統與應用間的并發.操作系統要完成這些并發過程的管理.
"在同一段時間內,多個程序在宏觀上同時運行,微觀上分時地交替執行" (在單處理器情況下).
并行(parallel)是指在同一時刻發生.
共享(sharing)
互斥共享方式(如音頻設備):資源分配后到釋放前,不能被其他進程所用.
同時訪問方式:(如可重入代碼,磁盤文件)
資源分配難以達到最優化
多個進程共享有限的計算機系統資源.操作系統要對系統資源進行合理分配和使用.資源在一個時間段內交替被多個進程所用.
程序的并發執行能有效改善系統資源的利用率,但使系統復雜化,因此操作系統必須對并發活動進行控制和管理.
并發是操作系統最重要的特征,其它特征均以并發為前提.
并發和共享是操作系統的兩個最基本的特征 ,二者互為存在條件:
資源的共享是以程序的并發執行為條件.
程序的并發執行也以資源的共享為條件.
虛擬(virtual)
是指通過某種技術把一個物理實體變成若干個邏輯上的對應物.在OS中利用了多種虛擬技術,分別用來實現虛擬處理機,虛擬內存,虛擬外部設備和虛擬信道等.
虛擬是操作系統管理系統資源的重要手段,可提高資源利用率.
CPU--每個用戶(進程)的"虛處理機"
存儲器--每個進程都占有的地址空間(指令+數據+堆棧)
顯示設備--多窗口或虛擬終端(virtual terminal)
異步性(asynchronism)
進程的運行速度不可預知:分時系統中,多個進程并發執行,"時走時停",不可預知每個進程的運行推進快慢
判據:無論快慢,應該結果相同--通過進程互斥和同步手段來保證
難以重現系統在某個時刻的狀態(包括重現運行中的錯誤)
也稱不確定性,指進程的執行順序和執行時間的不確定性;
操作系統采用強內核結構,是基于傳統的集中式操作系統的內核結構.在這種強內核的操作系統中,系統調用是通過陷入內核實現的,在內核完成所需要的服務,最后返回結果給用戶程序.
微內核結構是一種新的結構組織形式,它體現了操作系統結構設計的新思想.
① 進程間通信機制; 
② 某些存儲管理; 
③ 有限的低級進程管理和調度; 
④ 低級I/O.
一臺完全無軟件的計算機系統稱為裸機,即便其性能再強,相對于用戶來講,如果要面對計算機的指令集,存儲組織,I/O總線結構的編程則是十分困難的.對于一般程序員也并不想涉足硬件編程的種種具體細節,而希望針對數據結構抽象地使用硬件.如果我們在裸機上覆蓋一層I/O設備管理軟件,用戶便可以利用這層I/O設備管理軟件提供給用戶的接口來進行數據的輸入和輸出,那么用戶此時看到的計算機是一臺功能強大,使用方便的計算機,但實際上,計算機的硬件絲毫沒有變化,這樣的計算機稱為軟件擴充的機器,或稱軟件虛擬機.


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情毛片 | 亚洲乱码一区二区 | 超碰在线播 | 大香网伊人 | 日本一区二区高清不卡 | 色射综合| 欧美日产国产成人免费图片 | 精品久久不卡 | 亚洲成人一区二区 | 自拍视频网站 | 亚洲精品视频免费看 | 午夜视频免费在线观看 | 日韩在线视频免费观看 | 精精国产xxxx视频在线播放7 | 自拍第一页 | 欧美成年黄网站色视频 | 国产成人在线观看免费 | 国产aⅴ爽av久久久久久久 | 欧美视频三区 | 日韩电影一区二区三区 | 免费看黄色视屏 | 99精品免费久久久久久日本 | www久久99| 九七午夜剧场福利写真 | 亚洲综合天堂 | 亚洲aⅴ| 日韩精品成人一区二区三区视频 | 日韩精品一区二区三区在线观看 | 久久精品国产一区 | 久视频在线观看 | 国产精品久久久久久久7777 | 国产91丝袜在线18 | 国产日韩视频在线 | 国产农村妇女毛片精品久久麻豆 | 亚洲第一女人av | 伊人久操 | 成人av观看| 在线一区 | 久久久蜜桃 | 免费一看一级毛片 | 韩国电影久久 |