版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
主要內(nèi)容:操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)提供的用戶接口程序接口與系統(tǒng)調(diào)用操作接口與操作命令1.3操作系統(tǒng)的基本服務(wù)和用戶接口1創(chuàng)建程序和執(zhí)行程序數(shù)據(jù)I/O和信息存取:文件操作通信服務(wù):進程通信差錯檢測和處理還具有另外一些功能:1.資源分配2.統(tǒng)計3.保護2一、操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)為用戶提供兩種調(diào)用其服務(wù)和功能的接口:程序接口:允許運行程序調(diào)用操作系統(tǒng)的服務(wù)和功能。
許多操作系統(tǒng)的程序接口由一組系統(tǒng)調(diào)用(SystemCall))組成,用戶程序使用“系統(tǒng)調(diào)用”就可獲得操作系統(tǒng)的底層服務(wù),使用或訪問系統(tǒng)的各種軟硬件資源。操作接口:又稱作業(yè)級接口,操作系統(tǒng)為用戶提供的操作 控制計算機工作和提供服務(wù)手段的集合,通常有操作控制 命令、圖形操作界面(命令)、以及批處理系統(tǒng)提供的作業(yè) 控制語言(命令)等實現(xiàn)手段。3二、操作系統(tǒng)提供的用戶接口(1)
用戶和操作系統(tǒng)間的兩種接口二、操作系統(tǒng)提供的用戶接口(2)系統(tǒng)調(diào)用操作命令或JCL操作系統(tǒng)裸
機(操作接口)(程序接口)4系統(tǒng)調(diào)用:內(nèi)核提供一系列具有預(yù)定功能的內(nèi)核函數(shù),通過一組接口(系統(tǒng)調(diào)用)提供給用戶。
系統(tǒng)調(diào)用把應(yīng)用程序的請求傳送至內(nèi)核,調(diào)用相應(yīng)的內(nèi)核函數(shù)完成所需要的處理,把處理結(jié)果返回給應(yīng)用程序。
內(nèi)核的主體是系統(tǒng)調(diào)用的集合,可以把內(nèi)核看作特殊的公共子程序。
系統(tǒng)調(diào)用是一種中介,把用戶和硬件隔離開,程序只有通過系統(tǒng)調(diào)用才能請求系統(tǒng)服務(wù)并且使用系統(tǒng)資源。系統(tǒng)調(diào)用的作用:
內(nèi)核可以基于權(quán)限和規(guī)則對資源訪問進行裁決,可以保證系統(tǒng)的安全性;
系統(tǒng)調(diào)用對資源進行抽象,提供一致性接口,避免用戶在使用資源時發(fā)生錯誤,并且使編程效率提高。注意:系統(tǒng)調(diào)用是應(yīng)用程序獲得操作系統(tǒng)服務(wù)的唯一途徑!52.API、庫函數(shù)和系統(tǒng)調(diào)用
直接使用系統(tǒng)調(diào)用存在兩個困難:第一,接口復(fù)雜、使用困難第二,應(yīng)用程序的跨平臺可移植性受到很大限制。
POSIX標準:規(guī)定內(nèi)核的系統(tǒng)調(diào)用接口標準,應(yīng)用程序在遵循此標準的不同操作系統(tǒng)之間具有可移植性。
UNIX/Linux在標準C函數(shù)庫中為每個系統(tǒng)調(diào)用構(gòu)造一個同名的封裝函數(shù),屏蔽其下層的復(fù)雜性,負責把操作系統(tǒng)所提供的服務(wù)接口——系統(tǒng)調(diào)用封裝成應(yīng)用程序能夠直接調(diào)用API(應(yīng)用編程接口)。一個庫函數(shù)就是一個API,它介于操作系統(tǒng)和應(yīng)用程序之間。6一個API可能使用一個系統(tǒng)調(diào)用,也可能使用多個系統(tǒng)調(diào)用;也可能若干API封裝相同的系統(tǒng)調(diào)用。有的庫函數(shù)可能與系統(tǒng)調(diào)用無關(guān)。1.系統(tǒng)調(diào)用
直接使用系統(tǒng)調(diào)用存在兩個困難:第一,接口復(fù)雜、使用困難第二,應(yīng)用程序的跨平臺可移植性受到很大限制。
POSIX標準:規(guī)定內(nèi)核的系統(tǒng)調(diào)用接口標準,應(yīng)用程序在遵循此標準的不同操作系統(tǒng)之間具有可移植性。
UNIX/Linux在標準C函數(shù)庫中為每個系統(tǒng)調(diào)用構(gòu)造一個同名的封裝函數(shù),屏蔽其下層的復(fù)雜性,負責把操作系統(tǒng)所提供的服務(wù)接口——系統(tǒng)調(diào)用封裝成應(yīng)用程序能夠直接調(diào)用API(應(yīng)用編程接口)。一個庫函數(shù)就是一個API,它介于操作系統(tǒng)和應(yīng)用程序之間。7一個API可能使用一個系統(tǒng)調(diào)用,也可能使用多個系統(tǒng)調(diào)用;也可能若干API封裝相同的系統(tǒng)調(diào)用。有的庫函數(shù)可能與系統(tǒng)調(diào)用無關(guān)。Windows操作系統(tǒng)也提供與POSIX兼容的子系統(tǒng)。
Windows不公開系統(tǒng)調(diào)用,僅提供以庫函數(shù)形式定義的API,叫做Win32API。
在用戶程序角度看,庫函數(shù)和系統(tǒng)調(diào)用之間差別不大,但是在操作系統(tǒng)實現(xiàn)的角度看,兩者存在重要差別:
使用庫函數(shù)可以隱藏訪管指令的細節(jié),使系統(tǒng)調(diào)用形式上類似函數(shù)調(diào)用;
對用戶隱藏系統(tǒng)調(diào)用,可以在操作系統(tǒng)內(nèi)核改動時,應(yīng)用程序不需要改動。
庫函數(shù)屬于用戶程序,在CPU用戶態(tài)工作,系統(tǒng)調(diào)用屬于系統(tǒng)程序(操作系統(tǒng)),在核心態(tài)運行。用戶可以替換庫函數(shù),但是不能替換系統(tǒng)調(diào)用。83.系統(tǒng)調(diào)用的分類
(1)進程管理:進程的創(chuàng)建、裝入、執(zhí)行、撤銷、終止,進程屬性的獲取和設(shè)置。
(2)文件操作:文件的建立、打開、讀寫、關(guān)閉、刪除,文件屬性的獲取和設(shè)置。
(3)設(shè)備管理:設(shè)備的申請、輸入輸出、釋放、重定向,設(shè)備屬性的獲取和設(shè)置。(4)內(nèi)存管理:內(nèi)存的申請和釋放。
(5)進程通信:通信連接的建立、連接和斷開、信息的發(fā)送和接受;傳遞狀態(tài)信息;連接和斷開遠程設(shè)備。
(6)信息維護:日期、時間及系統(tǒng)數(shù)據(jù)的獲取和設(shè)置;獲取和設(shè)置信息;生成診斷和統(tǒng)計數(shù)據(jù)。9三、程序接口與系統(tǒng)調(diào)用
(3)實例:Windows支持API(應(yīng)用編程接口)的三個組件:?Kernel包含了多數(shù)操作系統(tǒng)函數(shù),如內(nèi)存管理、進程管理;10?User集中了窗口管理函數(shù),如窗口創(chuàng)建、撤銷、移動、對話等相關(guān)函數(shù);?GDI提供畫圖函數(shù)、打印函數(shù)。Windows將三個組件置于動態(tài)鏈接庫DLL中。三、程序接口與系統(tǒng)調(diào)用
(4)Windows和UNIX/Linux的部分系統(tǒng)調(diào)用:三、程序接口與系統(tǒng)調(diào)用
(5)Win32CreatProcessWaitForSingleObject說明創(chuàng)建進程等待進程終止CreatFile/CloseHandle創(chuàng)建或打開/關(guān)閉文件ReadFile/WriteFileSetFilePointer讀/寫文件
移動文件指針UNIX/Linuxforkwaitpidopen/closeread/writelseekmkdir/rmdirstatCreat/Remove
Directory
建立/刪除目錄GetFileAttributesEx 獲得文件屬性11■12■■■■■■3.系統(tǒng)調(diào)用的實現(xiàn)要點
(1)有關(guān)概念陷阱或異常處理機制------在操作系統(tǒng)中,實現(xiàn)系統(tǒng)調(diào)用功能的機制稱為陷阱或異常處理機制。訪管指令(陷阱指令或異常中斷指令)----由于系統(tǒng)調(diào)用而引起處理器中斷的機器指令稱為訪管指令(陷入指令或異常中斷指令)。(2)系統(tǒng)調(diào)用的實現(xiàn)要點:一.是編寫系統(tǒng)調(diào)用處理程序;二.是設(shè)計一張系統(tǒng)調(diào)用入口地址表,每個入口地址都指向一個系統(tǒng)調(diào)用的處理程序,有的系統(tǒng)還包含系統(tǒng)調(diào)用自帶參數(shù)的個數(shù);三.是陷入處理機制需開辟現(xiàn)場保護區(qū),以保存發(fā)生系統(tǒng)調(diào)用時的處理器現(xiàn)場。三、程序接口與系統(tǒng)調(diào)用
(7)System
Call
Ai用戶程序A0
SUB0SUBnAnA1
SUB1…Ai
SUBi…系統(tǒng)調(diào)用處理子程序取系統(tǒng)功能號找入口地址表相應(yīng)入口地址結(jié)束處理恢復(fù)現(xiàn)場A0A1…Ai…An保護CPU現(xiàn)場陷入指令(3)系統(tǒng)調(diào)用的處理過程系統(tǒng)調(diào)用陷入機構(gòu)13入口地址表■14■■■■(4)系統(tǒng)調(diào)用的參數(shù)傳遞不同的系統(tǒng)調(diào)用需傳遞給系統(tǒng)調(diào)用處理程序不同的參數(shù),系統(tǒng)調(diào)用執(zhí)行的結(jié)果也要以參數(shù)形式返回給用戶程序。實現(xiàn)用戶程序和系統(tǒng)調(diào)用之間的參數(shù)傳遞可用以下方法:一是由訪管指令或陷入指令自帶參數(shù),可以規(guī)定指令之后的若干個單元存放的是參數(shù),這稱為直接參數(shù);或者在指令之后緊靠的單元中存放參數(shù)的地址,這稱為間接參數(shù)。二是通過CPU的通用寄存器傳遞參數(shù),或在內(nèi)存的一個塊或表中存放參數(shù),其首地址送入寄存器,實現(xiàn)參數(shù)傳遞。三是在內(nèi)存中開辟專用堆棧區(qū)域傳遞參數(shù)。■15■4.系統(tǒng)調(diào)用與過程(函數(shù))調(diào)用的區(qū)別調(diào)用形式和實現(xiàn)方式不同。過程(函數(shù))使用一般調(diào)用指令,其轉(zhuǎn)向地址包含在跳轉(zhuǎn)語句中,但系統(tǒng)調(diào)用不包含處理程序入口,僅僅提供功能號,按功能號調(diào)用。被調(diào)用代碼的位置不同。在過程(函數(shù))調(diào)用中,調(diào)用程序和被調(diào)用代碼在同一程序內(nèi),經(jīng)過連接編譯后作為目標代碼的一部分。當過程(函數(shù))升級或修改時,必須重新編譯連接。系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),系統(tǒng)調(diào)用處理代碼升級或修改時,與調(diào)用程序無關(guān)。
(3)提供方式不同。過程(函數(shù))往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過程(函數(shù))可以不同;系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設(shè)計好,系統(tǒng)調(diào)用的功能、種類與數(shù)量就固定不變了。四、操作接口與系統(tǒng)程序(1)161.作業(yè)控制方式用戶如何來向操作系統(tǒng)提交作業(yè)和說明運行意圖?操作系統(tǒng)提供了聯(lián)機作業(yè)控制方式和脫機作業(yè)控制方式兩個作業(yè)級的接口,這兩個接口的使用手段為:操作控制命令和作業(yè)控制語言(命令)。(1)聯(lián)機用戶接口-----操作控制命令這是為聯(lián)機用戶提供的調(diào)用操作系統(tǒng)功能,請求操作系統(tǒng)為其服務(wù)的手段,它由一組命令及命令解釋程序組成,也稱為命令接口。其工作方式為:用戶在鍵盤上鍵入一條命令后,系統(tǒng)立即轉(zhuǎn)入命令解釋程序,對該命令進行處理和執(zhí)行。四、操作接口與系統(tǒng)程序(2)17常用的用戶界面有以下幾種:1)字符顯示用戶界面主要通過命令語言來實現(xiàn),又可分成兩種方式:①命令行方式它以命令為基本單位來完成預(yù)定的工作任務(wù)。每個命令以命令行的形式輸入并提交給系統(tǒng)。一個命令行由命令動詞和一組參數(shù)構(gòu)成,其一般形式如下:Command
arg1
arg2
.
.
.
ArgnCommand-----命令名,又稱命令動詞。arg1
arg2...argn-----命令參數(shù)。Linux常用的五大類命令:第一類文件管理類:cd、chmod、chgrp、comm、cp、crypt、diff、file、find、ln、ls、mkdir、mv、od、pr、pwd、rm、rmdir。四、操作接口與系統(tǒng)程序(3)18第二類進程管理類:at、kill、mail、nice、nohup、ps、tiwrite、mesg。第三類文本加工類:cat、crypt、grep、norff、uniq、wc、spell、tail、troff。第四類軟件開發(fā)類:cc、f77、login、logout、size、yacc、emacs、dbs、lex、make、lint、ld。第五類系統(tǒng)維護類:date、man、passwd、stty、tty、who。②批命令方式思想:規(guī)定一種特別的文件稱批命令文件,通常該類文件具有特殊的文件擴展名(如MS-DOS約定為BAT),用戶可預(yù)先把一系列命令組織在該類文件中,一次建立,多次執(zhí)行。操作系統(tǒng)還支持命令文件使用一套控制子命令,可寫出帶形式參數(shù)的批命令文件。這樣的批命令文件可執(zhí)行不同的命令序列,增強命令接口的處理能力。UNIX和Linux的Shell不但是一種交互型命令解釋程序,也是命令級程序設(shè)計語言解釋系統(tǒng)。圖形化用戶界面圖形化用戶接口GUI(Graphics
User
Interface)使用口、圖標、菜單和鼠標等技術(shù),將系統(tǒng)的功能、各種應(yīng)用程序和文件用圖形符號直觀、逼真地表示出來,用戶可通過選擇窗口、菜單、對話框和滾動條完成對它們的作業(yè)的各種控制和操作。新一代用戶界面虛擬現(xiàn)實技術(shù)的研究和應(yīng)用,多感知通道用戶接口,自然化用戶接口,智能化用戶接口的研究。19(2)脫機用戶接口-----作業(yè)控制語言(命令)這種接口是專為批處理作業(yè)用戶提供的,也稱批處理用戶接口。操作系統(tǒng)提供了一個作業(yè)控制語言JCL(Job
Control
Language),它由一組作業(yè)控制卡,或作業(yè)控制語句或作業(yè)控制操作命令組成。其工作方式如下:用戶使用JCL語句,把運行意圖(需要對作業(yè)進行的控制和干予)寫在作業(yè)說明書上,將作業(yè)連同作業(yè)說明書一起提交給系統(tǒng)。批處理作業(yè)被調(diào)度執(zhí)行時,系統(tǒng)調(diào)用JCL語句處理程序或命令解釋程序?qū)ψ鳂I(yè)說明書進行解釋處理,完成對作業(yè)的運行和控制。20實例:一個需要編譯、連結(jié)編輯的作業(yè),源程序和數(shù)據(jù)穿在卡片上,編譯、連結(jié)編輯的結(jié)果需在行式打印機上輸出,編譯結(jié)果要存盤,連結(jié)編輯結(jié)果還要從穿孔機輸出,此作業(yè)用JCL語句組織如下://
HAROLDJOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=b//
COMP
EXEC
PGM=IEYFORT//
SYSPRINT
DD
SYSOUT=A//
SYSIN
DD*21???.<Source
Program
Card>./*//
GO
EXEC
PGM=FORTLINK//
SYSPRINT
DD
SYSOUT=A//
FTOTF001
DD
UNIT=SYSCP//
GO
SYSIN
DD*22???.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村回遷房買賣合同(含稅費處理)
- 2025年度養(yǎng)豬場養(yǎng)殖環(huán)境優(yōu)化與改造合同3篇
- 二零二五年度借調(diào)人員工作培訓與職業(yè)成長協(xié)議3篇
- 二零二五年度教育培訓機構(gòu)教師聘用與教學質(zhì)量監(jiān)控合同2篇
- 二零二五年度子女對父母贍養(yǎng)與老年旅游服務(wù)合同3篇
- 二零二五年度國際能源資源勘探開發(fā)合同3篇
- 2025年度養(yǎng)豬場產(chǎn)業(yè)鏈上下游供應(yīng)鏈合作合同3篇
- 二零二五年度企業(yè)勞動合同解除與員工離職經(jīng)濟補償及離職證明協(xié)議3篇
- 2025年度口腔醫(yī)院與醫(yī)療器械制造商戰(zhàn)略合作合同3篇
- 2025年度美國大學本科預(yù)科班入學合同3篇
- 工程師個人年終總結(jié)
- GB 17353-2024摩托車和輕便摩托車防盜裝置
- 學校膳食管理委員會工作制度和職責
- 房租收條格式(3篇)
- 期末試卷(試題)2024-2025學年培智生活語文二年級上冊
- 2024伊利在線測評題
- 紅色簡約中國英雄人物李大釗課件
- 小學師德考評細則
- 軟件定義網(wǎng)絡(luò)(SDN)實戰(zhàn)教程課件
- 上海市住院醫(yī)師規(guī)范化培訓公共科目考試題庫-重點傳染病防治知識
- 2024江蘇省鐵路集團限公司春季招聘24人高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
評論
0/150
提交評論