操作系统华理chapter7.ppt
《操作系统华理chapter7.ppt》由会员分享,可在线阅读,更多相关《操作系统华理chapter7.ppt(34页珍藏版)》请在冰豆网上搜索。
![操作系统华理chapter7.ppt](https://file1.bdocx.com/fileroot1/2022-10/26/c4f657b2-ae7d-48ca-884d-7c00fed34605/c4f657b2-ae7d-48ca-884d-7c00fed346051.gif)
课程主要内容课程主要内容操作系统引论(第操作系统引论(第11章)章)进程管理(第进程管理(第2-32-3章)章)存储器管理(第存储器管理(第44章)章)设备管理(第设备管理(第55章)章)文件管理(第文件管理(第66章)章)操作系统接口(第操作系统接口(第77章)章)UNIXUNIX操作系统(第操作系统(第1010章)章)第第77章章操作系统接口操作系统接口为了使用户能方便地通过操作系统使用计算机,为了使用户能方便地通过操作系统使用计算机,OSOS向用户提供了各种接口,具体有:
向用户提供了各种接口,具体有:
n用户接口用户接口n系统功能调用系统功能调用(程序接口程序接口)7.17.1联联机用户接口机用户接口用户接用户接口口:
OSOS向用户提供的向用户提供的“用户与操作系统的用户与操作系统的接口接口”,该接口支持用户与,该接口支持用户与OSOS之间进行交互,即之间进行交互,即由用户向由用户向OSOS请求提供特定的服务,而系统则把服请求提供特定的服务,而系统则把服务的结果返回给用户。
务的结果返回给用户。
v联机用户接口联机用户接口字符显示用户界面字符显示用户界面命令语言命令语言命令行方式命令行方式批命令方式批命令方式图形化用户界面图形化用户界面7.17.1联联机用户接口机用户接口用户接用户接口口:
OSOS向用户提供的向用户提供的“用户与操作系统的用户与操作系统的接口接口”,该接口支持用户与,该接口支持用户与OSOS之间进行交互,即之间进行交互,即由用户向由用户向OSOS请求提供特定的服务,而系统则把服请求提供特定的服务,而系统则把服务的结果返回给用户。
务的结果返回给用户。
v脱机用户接口脱机用户接口:
用于批处理系统中,由作业:
用于批处理系统中,由作业控制语言控制语言JCLJCL组成,对作业的控制和干预,事组成,对作业的控制和干预,事先写在作业说明上,然后将作业说明及作业先写在作业说明上,然后将作业说明及作业提交给系统,按照作业说明执行,若出现异提交给系统,按照作业说明执行,若出现异常,则按照作业说明进行干预。
常,则按照作业说明进行干预。
7.1.27.1.2联联机命令的类型机命令的类型根据联机命令的功能,可分为以下几类:
根据联机命令的功能,可分为以下几类:
v系统访问类:
系统访问类:
包括注册包括注册loginlogin,注销,注销logoutlogout,常用于多用户常用于多用户系统中,以验证用户身份的合法性,从而保证整个系统的安系统中,以验证用户身份的合法性,从而保证整个系统的安全性。
全性。
v磁盘操作类:
磁盘操作类:
包括包括format,diskcopy,backupformat,diskcopy,backup,,常用于微常用于微机机OSOS中。
中。
v文件操作类:
文件操作类:
包括包括type,copy,cmp,rename,erasetype,copy,cmp,rename,erase,常用于常用于微机微机OSOS中。
中。
v目录操作类:
目录操作类:
包括包括md,dir,rd,tree,cdmd,dir,rd,tree,cd,常用于微机常用于微机OSOS中。
中。
v其它命令:
其它命令:
包括输出重定向包括输出重定向,输入重定向,输入重定向,批命令,管道,批命令,管道连接连接“|”|”,常用于微机,常用于微机OSOS中。
中。
7.1.37.1.3键盘终端处理程序(键盘终端处理程序(11)负责接收用户键入的终端命令,并将它显示在终端负责接收用户键入的终端命令,并将它显示在终端屏幕上,主要具有以下功能:
屏幕上,主要具有以下功能:
v接收字符:
接收字符:
接收用户从终端键入的字符,并将它接收用户从终端键入的字符,并将它传送给命令解释程序或用户进程,有两种方式来传送给命令解释程序或用户进程,有两种方式来实现此功能(面向字符方式和面向行方式)。
实现此功能(面向字符方式和面向行方式)。
v字符缓冲:
字符缓冲:
暂存用户键入的字符,该功能可采用暂存用户键入的字符,该功能可采用两种方式(公用缓冲池方式,专用缓冲方式)。
两种方式(公用缓冲池方式,专用缓冲方式)。
7.1.37.1.3键盘终端处理程序(键盘终端处理程序(22)负责接收用户键入的终端命令,并将它显示在终端屏负责接收用户键入的终端命令,并将它显示在终端屏幕上,主要具有以下功能:
幕上,主要具有以下功能:
v回送显示:
回送显示:
将用户键入的每一个字符送屏幕显示,将用户键入的每一个字符送屏幕显示,此功能可由硬件实现,但多用软件更灵活。
此功能可由硬件实现,但多用软件更灵活。
v屏幕编辑:
屏幕编辑:
方便用户对键入的字符进行编辑,提供方便用户对键入的字符进行编辑,提供了若干编辑键,如了若干编辑键,如backspace,insert,backspace,insert,Pgup,PgdnPgup,Pgdn。
v特殊字符处理:
特殊字符处理:
提供了对中断字符,停止上卷字符,提供了对中断字符,停止上卷字符,恢复上卷字符等特殊字符的识别和处理。
恢复上卷字符等特殊字符的识别和处理。
7.1.47.1.4命令解释程序命令解释程序主要负责对用户输入的命令进行识别,然后去主要负责对用户输入的命令进行识别,然后去调用相应命令的处理程序,以完成请求的任务。
如:
调用相应命令的处理程序,以完成请求的任务。
如:
MS-DOS(COMMAND.COM)MS-DOS(COMMAND.COM)、UNIXUNIX和和Linux(SHELLLinux(SHELL)。
MS-DOSMS-DOS(命令解释程序是(命令解释程序是COMMAND.COMCOMMAND.COM)n命令解释程序的作用命令解释程序的作用n命令解释程序的组成(常驻部分,初始化部命令解释程序的组成(常驻部分,初始化部分,暂存部分)分,暂存部分)n命令解释程序的工作流程命令解释程序的工作流程命令解释程序的作用(命令解释程序的作用(11)n等待用户输入命令。
等待用户输入命令。
命令解释程序获命令解释程序获CPUCPU控制权后,控制权后,在屏幕上产生提示符,等待用户输入命令在屏幕上产生提示符,等待用户输入命令n接收并识别命令。
接收并识别命令。
当用户输入完一条命令并以回当用户输入完一条命令并以回车结束,终端处理程序就将该命令提交命令解释车结束,终端处理程序就将该命令提交命令解释程序,并对此命令进行分析。
若命令非法,则产程序,并对此命令进行分析。
若命令非法,则产生错误信息。
否则转相应的命令处理程序。
生错误信息。
否则转相应的命令处理程序。
命令解释程序的作用(命令解释程序的作用(22)n执行相应的命令处理程序。
执行相应的命令处理程序。
转到相应的命令处理转到相应的命令处理程序入口地址,再把控制权交给该处理程序去执程序入口地址,再把控制权交给该处理程序去执行。
(对内部命令,其命令处理程序就含在解释行。
(对内部命令,其命令处理程序就含在解释程序内,所以由解释程序直接执行)程序内,所以由解释程序直接执行)n处理结果送屏幕上显示。
处理结果送屏幕上显示。
将处理结果送屏幕上显将处理结果送屏幕上显示,或显示某些出错信息。
示,或显示某些出错信息。
命令解释程序的组成(命令解释程序的组成(11)n常驻部分常驻部分包括一些中断服务子程序,如:
包括一些中断服务子程序,如:
INT20INT20(正常退出中断)(正常退出中断)INT27INT27(驻留退出中断)(驻留退出中断)INT24INT24(处理和显示标准错误信息)(处理和显示标准错误信息)包括程序:
当用户程序终止后,检查暂存部分是包括程序:
当用户程序终止后,检查暂存部分是否已被用户程序覆盖,若已被覆盖,则重新将暂否已被用户程序覆盖,若已被覆盖,则重新将暂存部分调入内存。
存部分调入内存。
命令解释程序的组成(命令解释程序的组成(22)n初始化部分初始化部分跟随在常驻内存部分之后,在启动时获得控制权。
跟随在常驻内存部分之后,在启动时获得控制权。
还包括对还包括对AUTOEXEC.BATAUTOEXEC.BAT文件的处理程序,并决定应文件的处理程序,并决定应用程序装入的基地址。
用程序装入的基地址。
n暂存部分暂存部分主要是命令解释程序,并包含了所有的内部命令处主要是命令解释程序,并包含了所有的内部命令处理程序、批文件处理程序,以及装入和执行外部命理程序、批文件处理程序,以及装入和执行外部命令的程序(都驻留在内存)。
令的程序(都驻留在内存)。
用户程序可以使用并覆盖这部分内存,当用户程序用户程序可以使用并覆盖这部分内存,当用户程序结束时,常驻程序又将它们从磁盘调入内存。
结束时,常驻程序又将它们从磁盘调入内存。
命令解释程序的工作流程命令解释程序的工作流程输入命令输入命令命令合法否?
命令合法否?
是内部命令?
是内部命令?
从从外存调入命令执行外存调入命令执行dirdir命命令令处处理理程程序序typetype命命令令处处理理程程序序copycopy命命令令处处理理程程序序datedate命命令令处处理理程程序序显示提示符显示提示符NYYN错误信息提示错误信息提示7.27.2系统调用(程序接口)系统调用(程序接口)程序接口程序接口:
OSOS向用户提供的向用户提供的“用户与操作系统的用户与操作系统的接口接口”,该接口以,该接口以系统调用系统调用的形式呈现在用户面的形式呈现在用户面前,是用户程序取得前,是用户程序取得OSOS服务的唯一途径,供用户服务的唯一途径,供用户在编程时使用。
在编程时使用。
v系统调用的基本概念系统调用的基本概念v系统调用的类型系统调用的类型v系统调用的实现系统调用的实现系统调用的基本概念系统调用的基本概念v系统调用指系统为用户程序调用操作系统的功系统调用指系统为用户程序调用操作系统的功能所提供的子程序。
能所提供的子程序。
v系统调用与一般的函数调用不同:
系统调用与一般的函数调用不同:
n系统调用是通过中断方式转向相应子程序的,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式);它工作在核心态(即特权方式);n而一般函数调用,仅仅是在用户态下的地址而一般函数调用,仅仅是在用户态下的地址转移。
转移。
系统调用的基本概念系统调用的基本概念由于由于OSOS的特殊性,使应用程序不能采用一般的过的特殊性,使应用程序不能采用一般的过程调用方式去调用程调用方式去调用OSOS中的过程,而必须用系统调用命令中的过程,而必须用系统调用命令去调用所需的系统过程,所以系统调用是一种特殊的过去调用所需的系统过程,所以系统调用是一种特殊的过程调用。
程调用。
v系统调用的本质系统调用的本质-过程调用过程调用v系统调用与一般的过程调用的相同点系统调用与一般的过程调用的相同点n改变指令流程改变指令流程n重复执行和公用重复执行和公用n改变指令流程后需要返回原处改变指令流程后需要返回原处系统调用的基本概念系统调用的基本概念v系统调用与一般的过程调用的区别系统调用与一般的过程调用的区别n运行在不同的处理机状态:
运行在不同的处理机状态:
n一般过程调用,其调用程序和被调用程序都运一般过程调用,其调用程序和被调用程序都运行在相同状态:
核心态或用户态行在相同状态:
核心态或用户态n系统调用:
调用程序在用户态,被调用程序在系统调用:
调用程序在用户态,被调用程序在系统态系统态系统调用的基本概念系统调用的基本概念n状态的转换状态的转换n一般的过程调用不涉及系统状态的转换,可直一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程接由调用过程转向被调用过程n运行系统调用时,调用和被调用过程在不同的运行系统调用时,调用和被调用过程在不同的系统状态,不允许由调用过程直接转向被调用系统状态,不允许由调用过程直接转向被调用过程过程n通过软中断机制先由用户态转换为核心态通过软中断机制先由用户态转换为核心态n在在OSOS核心分析后,转向相应的系统调用处理子核心分析后,转向相应的系统调用处理子程序程序系统调用的基本概念系统调用的基本概念n同一程序中不包含被调用代码同一程序中不包含被调用代码系统调用是动态调用,程序中不包含被调用代码,系统调用是动态