操作系統(tǒng)原理-用戶界面_第1頁
操作系統(tǒng)原理-用戶界面_第2頁
操作系統(tǒng)原理-用戶界面_第3頁
操作系統(tǒng)原理-用戶界面_第4頁
操作系統(tǒng)原理-用戶界面_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

用戶界面用戶界面教學(xué)內(nèi)容用戶環(huán)境 用戶界面概念 操作界面 系統(tǒng)調(diào)用教學(xué)重點(diǎn)操作界面 系統(tǒng)調(diào)用教學(xué)難點(diǎn)系統(tǒng)調(diào)用Linux系統(tǒng)調(diào)用機(jī)制3.1用戶環(huán)境 3.1用戶環(huán)境 用戶環(huán)境用戶環(huán)境是指計(jì)算機(jī)用戶工作的軟件環(huán)境,包括命令行環(huán)境,桌面環(huán)境,以及相關(guān)的用戶使用手冊(cè)。用戶環(huán)境的構(gòu)造是指按照用戶的要求和硬件特性,安裝和配置好操作系統(tǒng),為用戶提供必要的操作命令或圖形界面,并使其工作方式和交互方式合理高效,方便用戶使用計(jì)算機(jī)完成相應(yīng)的工作。3.2用戶界面概念 3.2用戶界面概念 用戶界面用戶界面(UserInterface,UI)是用戶與操作系統(tǒng)內(nèi)核進(jìn)行交互和信息交換的媒介。用戶界面分為兩大類操作界面和系統(tǒng)調(diào)用用戶、用戶界面、操作系統(tǒng)內(nèi)核與計(jì)算機(jī)硬件四者的關(guān)系3.2用戶界面概念 1.操作界面用戶通過操作界面可以直接或間接地控制自己的作業(yè)或獲得操作系統(tǒng)提供的服務(wù)。操作界面包括操作命令、批處理命令和圖形用戶界面三種典型形式。2.系統(tǒng)調(diào)用系統(tǒng)調(diào)用是提供給程序員在編程時(shí)使用的接口,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。3.3操作界面3.3操作界面教學(xué)內(nèi)容操作命令重定向和管道命令 批處理程序命令 圖形用戶界面 Shell Shell腳本程序教學(xué)重點(diǎn)3.3.1操作命令3.3.1操作命令操作命令操作命令又稱交互式命令,其中,操作命令除了可以直接在命令行上輸入使用,還有管道和重定向這兩種特殊執(zhí)行方式。在Linux、UNIX系列操作系統(tǒng)中,操作命令在一個(gè)稱為Shell的控制臺(tái)環(huán)境下運(yùn)行。3.3.2重定向和管道命令3.3.2重定向和管道命令重定向和管道命令都屬于特殊的操作命令。操作系統(tǒng)定義了兩個(gè)標(biāo)準(zhǔn)輸入和輸出設(shè)備。各種程序以鍵盤作為標(biāo)準(zhǔn)輸入設(shè)備,以顯示器作為標(biāo)準(zhǔn)輸出設(shè)備,即任何命令的輸入默認(rèn)來自“鍵盤”,任何命令的輸出(含錯(cuò)誤)默認(rèn)送往“顯示器”。重定向重定向即把命令默認(rèn)的輸入來源或輸出方向修改為其他設(shè)備(或其他文件,設(shè)備視同文件)。重定向分為輸入重定向和輸出重定向兩種,分別用“<”及“>”表示。3.3.2重定向和管道命令輸出重定向的基本格式Command-Line>file或設(shè)備命令Command-Line的執(zhí)行結(jié)果(標(biāo)準(zhǔn)輸出,或者錯(cuò)誤輸出,本來都要打印到屏幕上面)被重定向到指定的普通文件file或其他輸出設(shè)備上(含打印機(jī)設(shè)備)。輸入重定向的基本格式Command-Line<file或文件操作符或設(shè)備命令Command-Line需要輸入?yún)?shù),其參數(shù)將從file或文件操作符或設(shè)備中獲取,而不是從鍵盤獲取。3.3.2重定向和管道命令重定向操作符號(hào)及其含義類別操作符說明輸入重定向<

將命令輸入由默認(rèn)的鍵盤更改或重定向?yàn)橹付ǖ奈募敵鲋囟ㄏ?gt;

將命令輸出由默認(rèn)的顯示器更改或重定向?yàn)橹付ǖ奈募?gt;>

將命令輸出重定向并追加到指定文件的末尾錯(cuò)誤重定向2>將命令的錯(cuò)誤輸出重定向?yàn)橹付ㄎ募ㄏ惹蹇眨?>>將命令的錯(cuò)誤輸出重定向?yàn)橹付ㄎ募ㄗ芳拥侥┪玻┹敵雠c錯(cuò)誤組合重定向&>將命令的正常輸出和錯(cuò)誤輸出重定向?yàn)橹付ㄎ募?.3.2重定向和管道命令管道管道命令本質(zhì)上是兩條或更多條輸入輸出重定向命令的綜合應(yīng)用。管道命令可以將多條相關(guān)命令有序連接起來,把第一條命令的輸出信息作為第二條命令的輸入信息,同時(shí),又把第二條命令的輸出信息作為第三條命令的輸入信息。相關(guān)的多條命令就在邏輯上形成一條信息傳遞和處理的管道。3.3.3批處理程序命令3.3.3批處理程序命令批處理命令批處理命令通過類似程序的方式執(zhí)行具有一定邏輯順序的命令序列。在MS-DOS和Windows以bat為擴(kuò)展名在Linux、UNIX中,批處理又稱為腳本(Script)。狹義上,批處理僅指Windows和DOS批處理命令。批處理按規(guī)定邏輯順序自動(dòng)執(zhí)行若干個(gè)指定的DOS命令或程序。批處理把原來在控制臺(tái)上需要逐個(gè)輸入和執(zhí)行的命令匯總起來,按一定的邏輯順序(可以是順序或選擇或跳轉(zhuǎn)或循環(huán))成批地執(zhí)行,可以避免反復(fù)輸入命令的麻煩。3.3.3批處理程序命令使用批處理程序求1~100所有整數(shù)和并將其輸出3.3.3批處理程序命令幫助程序員編譯驅(qū)動(dòng)程序的批處理程序例子3.3.3批處理程序命令PowerShelPowerShell是微軟公司為Windows設(shè)計(jì)的新的命令行程序,支持交互式提示和腳本環(huán)境,它們可以獨(dú)立使用也可以交互使用。3.3.4圖形用戶界面 3.3.4圖形用戶界面 圖形用戶界面圖形用戶界面(GraphicalUserInterface,GUI)采用了圖形化的操作界面,用戶已完全不必像使用命令接口那樣去記住命令名及格式,從而把用戶從煩瑣且單調(diào)的操作中解脫出來。設(shè)計(jì)良好的圖形用戶界面好的UI設(shè)計(jì)遵循的準(zhǔn)則:風(fēng)格一致性設(shè)計(jì)原則、布局具有邏輯性原則、具有啟示性設(shè)計(jì)原則、應(yīng)遵循習(xí)慣性原則等。3.3.5Shell 3.3.5Shell Shell,俗稱殼(用來區(qū)別于內(nèi)核)Shell是操作系統(tǒng)與用戶交互的重要操作界面之一。Shell負(fù)責(zé)接收用戶的命令和參數(shù),然后通過操作系統(tǒng)調(diào)用相應(yīng)的應(yīng)用程序完成命令所要求的功能,并把結(jié)果以合適的方式展示給用戶。Shell本身不執(zhí)行命令,僅僅具有管理命令和展示命令結(jié)果的功能。3.3.5Shell Shell的主要類型UNIX或Linux環(huán)境下的sh、csh、ksh和bashWindows環(huán)境下的PowerShell大多數(shù)Linux都以bash作為默認(rèn)的Shell3.3.5Shell Shell的主要功能命令行編輯功能歷史命令功能命令別名功能命令和文件名補(bǔ)全功能重定向和管道操作功能腳本程序命令功能3.3.6Shell腳本程序3.3.6Shell腳本程序腳本程序腳本程序通過類似程序的方式執(zhí)行具有一定邏輯順序的命令序列來完成較復(fù)雜的功能和人機(jī)交互。腳本程序保存在文本文件中,是一系列Shell命令語句的集合。腳本程序有變量、關(guān)鍵字,有各種控制語句,如if、case、while、for等語句,支持函數(shù),有特定的語法結(jié)構(gòu)。3.3.6Shell腳本程序腳本程序的例子用于向系統(tǒng)安裝一個(gè)軟件包,安裝過程主要包括解壓、配置、刪除臨時(shí)文件等工作。3.3.6Shell腳本程序腳本程序的基本格式腳本程序保存在文本文件中,擴(kuò)展名可取為.sh(sh代表Shell腳本程序的首行#!/bin/bash告訴系統(tǒng)這個(gè)腳本程序需要什么類型的Shell解釋器來執(zhí)行。腳本程序執(zhí)行時(shí),從第一行開始,按邏輯逐行分析和執(zhí)行命令。凡是能夠在Shell下直接執(zhí)行的命令,都可以在腳本中使用。腳本中還可以使用一些不能在Shell下直接執(zhí)行的語句。3.3.6Shell腳本程序腳本程序的運(yùn)行方式(1)將腳本程序作為程序運(yùn)行,在命令行直接輸入腳本文件名字在腳本中為當(dāng)前腳本指定特定的Shell,需要在腳本文件的開頭增加如下一行代碼:#!/bin/bash(2)將腳本文件名作為參數(shù)傳遞給特定的Shell解釋器,用特定Shell解釋執(zhí)行。#/bin/bashtest.sh3.3.6Shell腳本程序鍵盤輸入和屏幕輸出鍵盤輸入可以使用read命令,向屏幕輸出則可使用echo命令。查詢指定軟件包是否安裝的腳本例子3.4系統(tǒng)調(diào)用 3.4系統(tǒng)調(diào)用 教學(xué)內(nèi)容系統(tǒng)調(diào)用概念 系統(tǒng)調(diào)用工作原理 Linux系統(tǒng)調(diào)用機(jī)制 Linux系統(tǒng)調(diào)用實(shí)現(xiàn)教學(xué)重點(diǎn)3.4.1系統(tǒng)調(diào)用概念 3.4.1系統(tǒng)調(diào)用概念 系統(tǒng)調(diào)用系統(tǒng)調(diào)用(SystemServiceCall,SystemCall)是操作系統(tǒng)內(nèi)核為應(yīng)用程序提供的服務(wù),是應(yīng)用程序與操作系統(tǒng)之間的接口。系統(tǒng)調(diào)用一般涉及核心資源或硬件的操作,運(yùn)行于核態(tài)。每個(gè)系統(tǒng)調(diào)用具有唯一的編號(hào)。調(diào)用系統(tǒng)調(diào)用的過程會(huì)產(chǎn)生中斷,這種中斷是自愿中斷,即是軟件中斷,也是內(nèi)部中斷。系統(tǒng)調(diào)用用戶程序調(diào)用sys_foo()函數(shù),但是該函數(shù)卻是在內(nèi)核中真正實(shí)現(xiàn)的。當(dāng)然,sys_foo()函數(shù)能從用戶空間穿越到內(nèi)核空間,顯然該過程利用了中斷機(jī)制,產(chǎn)生了中斷。3.4.2系統(tǒng)調(diào)用工作原理3.4.2系統(tǒng)調(diào)用工作原理系統(tǒng)調(diào)用工作原理內(nèi)核中預(yù)先設(shè)計(jì)了一系列系統(tǒng)調(diào)用,每個(gè)系統(tǒng)調(diào)用都有唯一的編號(hào),以區(qū)別彼此。應(yīng)用程序通過形如SVCN的訪管指令調(diào)用第N號(hào)調(diào)用,調(diào)用過程中發(fā)生了中斷。3.4.2系統(tǒng)調(diào)用工作原理系統(tǒng)調(diào)用工作原理(1)應(yīng)用程序使用SVCX準(zhǔn)備調(diào)用第X號(hào)系統(tǒng)調(diào)用。(2)內(nèi)核識(shí)別并響應(yīng)SVCX指令引起的中斷。(3)系統(tǒng)執(zhí)行保護(hù)現(xiàn)場。(4)根據(jù)系統(tǒng)調(diào)用編號(hào)X在系統(tǒng)調(diào)用入口地址表中查找相應(yīng)的入口地址。(5)轉(zhuǎn)入相應(yīng)的系統(tǒng)調(diào)用函數(shù)。(6)恢復(fù)現(xiàn)場數(shù)據(jù)。(7)返回應(yīng)用程序。3.4.2系統(tǒng)調(diào)用工作原理系統(tǒng)調(diào)用工作原理在DOS操作系統(tǒng)中,使用INT21H觸發(fā)軟件中斷,使用相應(yīng)的系統(tǒng)調(diào)用;在Linux操作系統(tǒng)中,使用INT80H觸發(fā)軟件中斷,使用相應(yīng)的系統(tǒng)調(diào)用。3.4.2系統(tǒng)調(diào)用工作原理常用DOS系統(tǒng)調(diào)用(INT21H)AH功能調(diào)用參數(shù)返回參數(shù)01鍵盤輸入且回顯

AL=輸入字符02顯示輸出DL=輸出字符

03異步通信輸入

AL=輸入數(shù)據(jù)04異步通信輸出DL=輸出數(shù)據(jù)

05打印機(jī)輸出DL=輸出字符

07鍵盤輸入無回顯

AL=輸入字符09顯示字符串DS:DX=串地址'$'結(jié)束字符串

0F打開文件DS:DX=FCB首地址AL=00文件找到AL=FF文件未找到10關(guān)閉文件DS:DX=FCB首地址AL=00目錄修改成功AL=FF目錄中未找到文件13刪除文件DS:DX=FCB首地址AL=00刪除成功AL=FF未找到3D打開文件DS:DX=ASCII串地址AL=0讀AL=1寫AL=3讀/寫成功:AX=文件號(hào)錯(cuò)誤:AX=錯(cuò)誤碼3E關(guān)閉文件BX=文件號(hào)失敗:AX=錯(cuò)誤碼3.4.2系統(tǒng)調(diào)用工作原理DOS操作系統(tǒng)下調(diào)用系統(tǒng)調(diào)用的過程(1)給出系統(tǒng)調(diào)用的編號(hào)。系統(tǒng)調(diào)用編號(hào)寫入AH寄存器中。(2)給出相關(guān)的入口參數(shù)。參數(shù)寫入相關(guān)的寄存器中。(3)INT21H。該指令真正觸發(fā)系統(tǒng)調(diào)用。3.4.2系統(tǒng)調(diào)用工作原理DOS操作系統(tǒng)下調(diào)用系統(tǒng)調(diào)用的例子利用DOS的INT21H的9號(hào)系統(tǒng)調(diào)用向屏幕輸出一個(gè)字符串,并在最后的第14行利用4CH號(hào)系統(tǒng)調(diào)用退出程序,返回DOS命令行狀態(tài)。3.4.2系統(tǒng)調(diào)用工作原理Linux操作系統(tǒng)下調(diào)用系統(tǒng)調(diào)用的例子Linux中使用80H號(hào)中斷實(shí)現(xiàn)系統(tǒng)調(diào)用表3-4列出了Linux的部分系統(tǒng)調(diào)用在EAX寄存器中提供系統(tǒng)調(diào)用的編號(hào),其余的參數(shù)在BX、CX、DX等寄存器中存放。3.4.2系統(tǒng)調(diào)用工作原理常用Linux系統(tǒng)調(diào)用(INT80H)編號(hào)名稱功能調(diào)用參數(shù)00setup安裝根文件系統(tǒng)EBX=硬盤參數(shù)表地址01exit退出進(jìn)程EBX=退出碼02fork創(chuàng)建進(jìn)程

03read讀文件EBX=文件描述符,ECX=緩沖區(qū)首址,EDX=字節(jié)數(shù)04write寫文件EBX=文件描述符,ECX=緩沖區(qū)首址,EDX=字節(jié)數(shù)05open打開文件EBX=文件名,ECX=打開標(biāo)志,EDX=屬性06close關(guān)閉文件EBX=文件描述符07waitpid等待進(jìn)程終止EBX=進(jìn)程ID,ECX=返回狀態(tài)地址,EDX=選項(xiàng)0bexecve執(zhí)行程序EBX=文件名,ECX=argv指針,EDX=envp指針0cchdir更改當(dāng)前目錄EBX=目錄名0dtime獲取當(dāng)前時(shí)間EBX=時(shí)區(qū)0fchmod修改文件屬性EBX=文件名,ECX=文件屬性14getpid取進(jìn)程ID

17setuid設(shè)置進(jìn)程用戶IDEBX=用戶ID18getuid獲取進(jìn)程用戶ID

3.4.2系統(tǒng)調(diào)用工作原理Linux操作系統(tǒng)下調(diào)用系統(tǒng)調(diào)用的例子write系統(tǒng)調(diào)用(內(nèi)部的名稱是sys_write)的編號(hào)是4,編號(hào)被存在EAX寄存器中。3.4.3Linux系統(tǒng)調(diào)用機(jī)制3.4.3Linux系統(tǒng)調(diào)用機(jī)制Linux系統(tǒng)調(diào)用機(jī)制系統(tǒng)調(diào)用都具有唯一的功能號(hào)。這些功能號(hào)被定義在文件include/unistd.h中。read系統(tǒng)調(diào)用的功能號(hào)是3,定義為符號(hào)__NR_read。系統(tǒng)調(diào)用處理函數(shù)指針數(shù)組表sys_call_table[]read系統(tǒng)調(diào)用的處理函數(shù)指針位于sys_call_table[3]處。3.4.3Lin

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論