版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023/2/31討論操作系統(tǒng)結(jié)構(gòu),一般包括3個(gè)方面:操作系統(tǒng)所提供的服務(wù)
2.1操作系統(tǒng)服務(wù)操作系統(tǒng)為用戶和程序員提供的接口
2.2操作系統(tǒng)的用戶界面
2.3系統(tǒng)調(diào)用(重點(diǎn))
2.4系統(tǒng)調(diào)用類型
2.5系統(tǒng)程序操作系統(tǒng)組成部分及其相互關(guān)系
2.6操作系統(tǒng)結(jié)構(gòu)
2.7虛擬機(jī)與分區(qū)操作系統(tǒng)基本內(nèi)容2023/2/322.1操作系統(tǒng)服務(wù)操作系統(tǒng)服務(wù)一般包括:用戶界面:CUI、GUI程序執(zhí)行:裝入程序、運(yùn)行程序I/O操作:底層的I/O操作(啟動(dòng)、讀寫、關(guān)閉等)文件系統(tǒng)操作:創(chuàng)建/復(fù)制/移動(dòng)/刪除/檢索文件/目錄、
列舉文件信息等通信:IPC(進(jìn)程間通信)、RPC(遠(yuǎn)程過程調(diào)用)等錯(cuò)誤檢測(cè):硬件錯(cuò)誤、算術(shù)溢出、非法地址訪問等資源分配:CPU、存儲(chǔ)器、外部設(shè)備等統(tǒng)計(jì):用戶用時(shí)記帳、資源利用率等保護(hù)與安全:登錄驗(yàn)證、進(jìn)程越界訪問、非法訪問等2023/2/3哈工大計(jì)算機(jī)學(xué)院3系統(tǒng)接口—用戶通過它來使用操作系統(tǒng)對(duì)大多數(shù)用戶來說,操作系統(tǒng)是一個(gè)“黑盒子”操作系統(tǒng)鍵盤命令鼠標(biāo)點(diǎn)擊網(wǎng)絡(luò)數(shù)據(jù)屏幕輸出文件改變……引導(dǎo)告訴了我們這個(gè)盒子是怎么放入內(nèi)存的?在“打開這個(gè)盒子”之前要“了解盒子的入口”2.2操作系統(tǒng)的用戶界面2023/2/342.2操作系統(tǒng)的用戶界面2.2.1命令解釋程序命令解釋程序是OS的特殊程序DOS中的COMMAND.COMUNIX、Linux中的Shell(B-Shell、C-Shell)命令解釋程序的主要作用是獲取并執(zhí)行用戶給定的下一條命令內(nèi)部命令、外部命令面向?qū)I(yè)人員2023/2/3哈工大計(jì)算機(jī)學(xué)院5命令行是怎么回事?命令是什么?命令輸入后發(fā)生了什么?#include<stdio.h>intmain(intargc,char*argv[]){printf(“ECHO:%s\n”,argv[1]);}gcc–ooutputoutput.c./output“hello”一段程序而已intmain(intargc,char*argv[]){charcmd[20];while(1){scanf(“%s”,cmd);
if(!fork()){exec(cmd);}else{wait();}}//while(1)}也是一段程序:shell,即/bin/sh命令得以工作的原因:OS提供了printf,fork,exec等函數(shù)(接口)2.2操作系統(tǒng)的用戶界面我們可以自己開發(fā)的命令行界面??!2023/2/32.2操作系統(tǒng)的用戶界面2.2.2圖形用戶界面DOS中的Windows1.0-3.12Windows中的DesktopLinux中的X-WindowMacOSXAqua2023/2/37使GUI工作,OS提供消息框架和相關(guān)API硬件輸入Windows應(yīng)用程序iGUI是怎么回事?鼠標(biāo)點(diǎn)擊OUTPUT以后…voidCOutputDlg::OnOK(){GetDlgItemText(IDC_EDIT1,m_outStr);FILE*fp=fopen("d:\\out.txt","w");
fprintf(fp,m_outStr,m_outStr.GetLength());fclose(fp);}系統(tǒng)消息隊(duì)列消息循環(huán)WinMain()WM_MOUSEDOWN應(yīng)用消息隊(duì)列iWinProc1WinProc2OUTPUT按鈕的WinProc(){caseWM_MOUSEDOWN:OnOK();}2023/2/32.2操作系統(tǒng)的用戶界面2.2.3還有其他形式的用戶界面嗎?語音識(shí)別技術(shù)Google,百度語音識(shí)別系統(tǒng)和相應(yīng)的API語音識(shí)別接口將集成到操作系統(tǒng)中,一些語音命令將同傳統(tǒng)的圖形用戶接口和命令行具有相同的能力。2023/2/39總結(jié)前述最重要的概念用戶使用計(jì)算機(jī)總結(jié):應(yīng)用操作系統(tǒng)提供的接口編寫程序;應(yīng)用這些程序解決問題命令行:命令程序+shell+字符顯示GUI:消息處理程序+消息框架+圖形顯示應(yīng)用程序:將上述部分組成一個(gè)整體…因此:用戶通過OS接口使用計(jì)算機(jī);OS接口影響計(jì)算機(jī)的使用方式這么重要,得起個(gè)名字:接口表現(xiàn)為函數(shù)調(diào)用,又由OS提供,叫系統(tǒng)調(diào)用系統(tǒng)調(diào)用是學(xué)習(xí)操作系統(tǒng)的首要任務(wù)…系統(tǒng)調(diào)用2.3系統(tǒng)調(diào)用2023/2/310對(duì)于指令跳轉(zhuǎn)也一樣實(shí)現(xiàn)了隔離…怎么實(shí)現(xiàn)系統(tǒng)調(diào)用?將內(nèi)核程序和用戶程序隔離比較安全!區(qū)分內(nèi)核態(tài)和用戶態(tài):一種處理器“硬件設(shè)計(jì)”系統(tǒng)調(diào)用處理器保護(hù)環(huán)0123核心態(tài)OS服務(wù)用戶態(tài)CPL(CS)RPL(DS)DPL檢查當(dāng)前程序執(zhí)行在什么態(tài)(哪層環(huán))?由于CS:IP是當(dāng)前指令,所以用CS的最低兩位來表示:0是內(nèi)核態(tài),3是用戶態(tài)訪問的數(shù)據(jù)段最低2位內(nèi)核態(tài)可以訪問任何數(shù)據(jù),用戶態(tài)不能訪問內(nèi)核數(shù)據(jù)2.3系統(tǒng)調(diào)用當(dāng)前指令段最低2位被調(diào)用代碼段級(jí)別2023/2/311對(duì)于Intelx86,那就是中斷指令int(trap陷阱指令)int指令將使CS中的CPL改成0,“進(jìn)入內(nèi)核”這是用戶程序發(fā)起的調(diào)用內(nèi)核代碼的唯一方式若用戶程序想調(diào)內(nèi)核代碼:須有用戶態(tài)進(jìn)入內(nèi)核態(tài),寫一段包含int指令的代碼系統(tǒng)調(diào)用的實(shí)現(xiàn):(1)用戶程序中寫上一段包含int指令的代碼(2)OS寫中斷處理代碼,獲取欲調(diào)用程序的編號(hào)(3)OS根據(jù)編號(hào)轉(zhuǎn)去執(zhí)行相應(yīng)的代碼由誰做?庫函數(shù)!系統(tǒng)調(diào)用編號(hào)2.3系統(tǒng)調(diào)用硬件提供了“主動(dòng)進(jìn)入內(nèi)核的方法”DOS為INT21H,Windows2K為2EH,Linux為080H)2023/2/3哈工大計(jì)算機(jī)學(xué)院12系統(tǒng)調(diào)用的處理過程
SystemCalli號(hào)系統(tǒng)調(diào)用用戶程序A0SUB0SUB1SUBiSUBnA1AiAn……系統(tǒng)調(diào)用處理子程序取系統(tǒng)功能號(hào)查入口地址表相應(yīng)入口地址結(jié)束處理恢復(fù)現(xiàn)場(chǎng)A0A1…Ai…An保護(hù)CPU現(xiàn)場(chǎng)陷入指令int系統(tǒng)調(diào)用陷入機(jī)構(gòu)入口地址表2.3系統(tǒng)調(diào)用01…i…n2023/2/313系統(tǒng)調(diào)用展開執(zhí)行示例應(yīng)用程序intmain(){…scanf(…);…}C庫展開intread{…moveeax,3int0x80;…}中斷處理entry(system_call){saveall…callsys_read3…restoreall;}內(nèi)核函數(shù)sys_read3(){…ret}用戶態(tài)核心態(tài)2023/2/3142.3系統(tǒng)調(diào)用系統(tǒng)調(diào)用號(hào):用寄存器eax內(nèi)容指定最多直接傳遞3個(gè)參數(shù):用寄存器ebx,ecx,edx有3種傳遞參數(shù)的方式:(1)直接用寄存器ebx,ecx,edx,最多3個(gè)參數(shù)(2)指定內(nèi)存塊,任意多個(gè)參數(shù),可以用ebx、
ecx、edx任意2個(gè)指定地址和個(gè)數(shù)(3)用系統(tǒng)棧,任意多個(gè)參數(shù),寄存器可用可不
用(因?yàn)閰?shù)個(gè)數(shù)可放在棧內(nèi))系統(tǒng)調(diào)用參數(shù)傳遞:規(guī)則誰來制定?誰來實(shí)現(xiàn)規(guī)則?答案:編譯器2023/2/3152.3系統(tǒng)調(diào)用API:ApplicationProgramInterfaceAPI是對(duì)SystemCall的封裝Win32API2000多個(gè)POSIXAPI100多個(gè)JavaAPI10000多個(gè)Linux2.X版本有200多個(gè)系統(tǒng)調(diào)用SystemCall更底層,使用需知道更多細(xì)節(jié)API是用SystemCall封裝而成,使用方便,
程序可移植性好API與SystemCall的區(qū)別與聯(lián)系?2023/2/3哈工大計(jì)算機(jī)學(xué)院162.4系統(tǒng)調(diào)用類型進(jìn)程控制:創(chuàng)建、裝入、執(zhí)行、終止、等待、喚醒、
內(nèi)存分配與釋放……文件管理:創(chuàng)建、刪除、打開、關(guān)閉、讀、寫、重定
位、屬性獲取及設(shè)置……設(shè)備管理:請(qǐng)求、釋放、讀、寫、重定位、屬性獲得
設(shè)置、連接與斷開信息維護(hù):讀取/設(shè)置系統(tǒng)數(shù)據(jù)、讀取/設(shè)置時(shí)間及日
期、讀取/設(shè)置進(jìn)程/文件/設(shè)備等屬性通信:創(chuàng)建/刪除通信連接、收發(fā)消息、連接/斷開遠(yuǎn)
端設(shè)備五大類:進(jìn)程控制、文件管理、設(shè)備管理、信息維護(hù)、通信2023/2/3172.5系統(tǒng)程序文件管理:創(chuàng)建、刪除、復(fù)制、命名、備份、格式化
等,如資源管理器等系統(tǒng)維護(hù):監(jiān)測(cè)、設(shè)置、性能分析等,如:安裝軟件,
TaskManager,RegEdit,PS,LS,Kill等程序開發(fā)支持:各類語言編輯/編譯器,IDE開發(fā)環(huán)境,
數(shù)據(jù)庫系統(tǒng)通信:遠(yuǎn)程登錄,網(wǎng)上鄰居,網(wǎng)頁瀏覽器等系統(tǒng)程序:介于操作系統(tǒng)與用戶應(yīng)用程序之間的程序,主要提供一個(gè)方便的環(huán)境,利用開發(fā)程序和執(zhí)行程序2023/2/3哈工大計(jì)算機(jī)學(xué)院182.6操作系統(tǒng)結(jié)構(gòu)MS-DOS層次結(jié)構(gòu)1.簡單結(jié)構(gòu):整個(gè)操作系統(tǒng)近乎是個(gè)單一的整體,不注重模
塊的劃分和接口與功能層次。典型例子:DOS應(yīng)用程序系統(tǒng)駐留程序MS-DOS設(shè)備驅(qū)動(dòng)ROMBIOS設(shè)備驅(qū)動(dòng)2023/2/3192.6操作系統(tǒng)結(jié)構(gòu)Linux單內(nèi)核結(jié)構(gòu)用戶態(tài)系統(tǒng)庫(函數(shù)庫)應(yīng)用程序系統(tǒng)調(diào)用接口模塊內(nèi)核(進(jìn)程管理、存儲(chǔ)管理、文件管理、設(shè)備管理、網(wǎng)絡(luò)管理)設(shè)備驅(qū)動(dòng)計(jì)算機(jī)硬件核心態(tài)單內(nèi)核2.模塊化:面向?qū)ο蠹夹g(shù)生成模塊化的內(nèi)核。使用動(dòng)態(tài)加載模塊,現(xiàn)代UNIX,Solaris,Linux,MacosX類似于微內(nèi)核,核心內(nèi)核具有基本功能,內(nèi)核掌握其他模塊加載和通信的接口,模塊之間可以相互調(diào)用2023/2/3哈工大計(jì)算機(jī)學(xué)院202.6操作系統(tǒng)結(jié)構(gòu)分層操作系統(tǒng)結(jié)構(gòu)模型2.分層結(jié)構(gòu):整個(gè)操作系統(tǒng)分為若干層,至底向上層層封裝第i層只能調(diào)用0..i-1層提供的函數(shù)或調(diào)用;更嚴(yán)格的分層:第i層只能調(diào)用i-1層提供的函數(shù)或調(diào)用優(yōu)點(diǎn)是構(gòu)造和調(diào)試的簡單化。缺點(diǎn):分層法主要困難是對(duì)層的詳細(xì)定義,這是因?yàn)橐粚又荒苁褂闷湎碌妮^低層。分層結(jié)構(gòu)效率低。2023/2/3212.6操作系統(tǒng)結(jié)構(gòu)2.分層結(jié)構(gòu):整個(gè)操作系統(tǒng)分為若干層,至底向上層層封裝最高層:接口中間層:對(duì)對(duì)象進(jìn)行操縱和管理的軟件集合最底層:OS操縱和管理的對(duì)象,包括各類軟硬件資源UNIX操作系統(tǒng)Windows2023/2/322
操作系統(tǒng)服務(wù)進(jìn)程客戶進(jìn)程1客戶進(jìn)程2文件服務(wù)器進(jìn)程服務(wù)器主存服務(wù)器……微內(nèi)核(消息傳遞、進(jìn)程調(diào)度、內(nèi)存管理)計(jì)算機(jī)硬件用戶進(jìn)程用戶態(tài)核心態(tài)客戶通過微內(nèi)核發(fā)送消息給文件服務(wù)器2.6操作系統(tǒng)結(jié)構(gòu)微內(nèi)核結(jié)構(gòu)模型(QNX,Mach,Vxworks)3.微內(nèi)核結(jié)構(gòu):將最基本的功能作為內(nèi)核存在,主要包括最小的進(jìn)程管理、內(nèi)存管理和通信功能,其他功能作為系統(tǒng)程序或用戶程序出現(xiàn)。采用CS模式(client-server)2.6操作系統(tǒng)結(jié)構(gòu)3.微內(nèi)核結(jié)構(gòu):將最基本的功能作為內(nèi)核存在,主要包括最小的進(jìn)程管理、內(nèi)存管理和通信功能,其他功能作為系統(tǒng)程序或用戶程序出現(xiàn)。2.6操作系統(tǒng)結(jié)構(gòu)3.微內(nèi)核結(jié)構(gòu):RTEMS介紹2.6操作系統(tǒng)結(jié)構(gòu)3.微內(nèi)核結(jié)構(gòu):幾種優(yōu)秀操作系統(tǒng)比較2023/2/3262.6操作系統(tǒng)結(jié)構(gòu)微內(nèi)核結(jié)構(gòu)模型(QNX,Mach,Vxworks)3.微內(nèi)核結(jié)構(gòu)2023/2/3哈工大計(jì)算機(jī)學(xué)院27
2.7虛擬機(jī)VMWare結(jié)構(gòu)模型虛擬機(jī):是一種操作系統(tǒng)的特殊結(jié)構(gòu)。首先,對(duì)硬件進(jìn)行第1層抽象封裝(一般是一個(gè)完整的操作系統(tǒng)),之后以該層為基礎(chǔ),再封裝第二層虛擬硬件抽象,然后實(shí)現(xiàn)支持多個(gè)操作系統(tǒng)。應(yīng)用應(yīng)用應(yīng)用應(yīng)用客戶操作系統(tǒng)(OS/2)虛擬CPU虛擬內(nèi)存虛擬設(shè)備客戶操作系統(tǒng)(DOS)虛擬CPU虛擬內(nèi)存虛擬設(shè)備客戶操作系統(tǒng)(Linux)虛擬CPU虛擬內(nèi)存虛擬設(shè)備宿主操作系統(tǒng)(WindowsXP)硬件(CPU內(nèi)存I/O設(shè)備)2023/2/3282.7虛擬機(jī)虛擬機(jī):虛擬機(jī)監(jiān)控器VMM+虛擬機(jī)VM——典型的云計(jì)算平臺(tái),openstack、vmware、阿里云2023/2/3292.7虛擬機(jī)虛擬機(jī)實(shí)現(xiàn)技術(shù)傳統(tǒng)x86機(jī)器的虛擬化:虛擬機(jī)監(jiān)視器(VMM)代表客戶操作系統(tǒng)來聽取、中斷與執(zhí)行特定指令的需要,效率低。VT-x是intel運(yùn)用Virtualization虛擬化技術(shù)中的一個(gè)指令集,是CPU的硬件虛擬化技術(shù),VT可以同時(shí)提升虛擬化效率和虛擬機(jī)的安全性,在x86平臺(tái)上的VT技術(shù),一般稱之為VT-x。2023/2/3302.7虛擬機(jī)虛擬機(jī)實(shí)現(xiàn)技術(shù)為了建立這種兩個(gè)操作模式的架構(gòu),VT-x設(shè)計(jì)了一個(gè)Virtual-MachineControlStructure(VMCS,虛擬機(jī)控制結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu);包括了Guest-StateArea(客戶狀態(tài)區(qū))和Host-StateArea(主機(jī)狀態(tài)區(qū)),用來保存虛擬機(jī)以及主機(jī)的各種狀態(tài)參數(shù);并提供了VMentry和VMexit兩種操作在虛擬機(jī)與VMM之間切換用戶可以通過在VMCS的VM-executioncontrolfields里面指定在執(zhí)行何種指令/發(fā)生何種事件的時(shí)候,VMXnon-rootoperation環(huán)境下的虛擬機(jī)就執(zhí)行VMexit,從而讓VMM獲得控制權(quán),因此VT-x解決了虛擬機(jī)的隔離問題,又解決了性能問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 檔案員競(jìng)聘演講稿
- 讀書心得體會(huì)
- 龍年元旦聯(lián)歡晚會(huì)閉幕詞(9篇)
- 新教材高考地理二輪復(fù)習(xí)一8類識(shí)圖技法專項(xiàng)訓(xùn)練技法8區(qū)域分布圖判讀含答案
- 第二十五章 銳角的三角比(單元重點(diǎn)綜合測(cè)試)
- 統(tǒng)編版語文二年級(jí)上學(xué)期期末備考真題分類匯編專題04 名篇名句默寫 (含答案)
- 陜西省西安市曲江第一小學(xué)2024-2025學(xué)年三年級(jí)上學(xué)期期中學(xué)業(yè)水平測(cè)試科學(xué)試題(無答案)
- 廣東省汕尾市華大實(shí)驗(yàn)學(xué)校2024-2025學(xué)年第一學(xué)期期中考試九年級(jí)化學(xué)試卷
- 采礦權(quán)購買合同范本
- 廣州居民租房協(xié)議格式
- 蘇教版二年級(jí)上冊(cè)數(shù)學(xué) 7的乘法口訣 教學(xué)課件
- 功能主義基本理論和思想發(fā)展
- SAPAPO快速指引
- 總裁辦部門職責(zé)文件
- 音樂教師述職報(bào)告
- 英語語法入門筆記(崔榮容-)(共43頁)
- LS風(fēng)險(xiǎn)矩陣評(píng)價(jià)準(zhǔn)則(3頁)
- 機(jī)房維護(hù)表格-運(yùn)維部
- 安全標(biāo)識(shí)中英文可直接打印
- 小學(xué)四年級(jí)上冊(cè)音樂-第8課《龍里格龍》--人音版(簡譜)(19張)ppt課件
- 1π到100π表比較全
評(píng)論
0/150
提交評(píng)論