操作系统课件(第二章)[xiwang].ppt

上传人:qwe****56 文档编号:70279570 上传时间:2023-01-18 格式:PPT 页数:44 大小:470KB
返回 下载 相关 举报
操作系统课件(第二章)[xiwang].ppt_第1页
第1页 / 共44页
操作系统课件(第二章)[xiwang].ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《操作系统课件(第二章)[xiwang].ppt》由会员分享,可在线阅读,更多相关《操作系统课件(第二章)[xiwang].ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统Operating Systems 操作系统课程组南京邮电大学WINDOWSWINDOWSUNIXUNIXLINUXLINUXOS2OS2VxWorksVxWorksMac OSMac OS教材:教材:教材:教材:操作系统教程操作系统教程操作系统教程操作系统教程,人民邮电出版社,人民邮电出版社,人民邮电出版社,人民邮电出版社,20092009年出版年出版年出版年出版第2章 用户界面操作系统是用户与计算机硬件之间的接口,用户通过操作操作系统是用户与计算机硬件之间的接口,用户通过操作操作系统是用户与计算机硬件之间的接口,用户通过操作操作系统是用户与计算机硬件之间的接口,用户通过操作系统的帮

2、助,可以快速、有效和安全地操作计算机系统中系统的帮助,可以快速、有效和安全地操作计算机系统中系统的帮助,可以快速、有效和安全地操作计算机系统中系统的帮助,可以快速、有效和安全地操作计算机系统中的各类资源,处理自己的程序。为了方便地使用操作系统,的各类资源,处理自己的程序。为了方便地使用操作系统,的各类资源,处理自己的程序。为了方便地使用操作系统,的各类资源,处理自己的程序。为了方便地使用操作系统,操作系统向用户提供了操作系统向用户提供了操作系统向用户提供了操作系统向用户提供了“用户与操作系统之间的接口用户与操作系统之间的接口用户与操作系统之间的接口用户与操作系统之间的接口”,通常也称为用户界面

3、。该界面支持用户与操作系统之间进通常也称为用户界面。该界面支持用户与操作系统之间进通常也称为用户界面。该界面支持用户与操作系统之间进通常也称为用户界面。该界面支持用户与操作系统之间进行交互,即用户向操作系统提出请求,操作系统把结果返行交互,即用户向操作系统提出请求,操作系统把结果返行交互,即用户向操作系统提出请求,操作系统把结果返行交互,即用户向操作系统提出请求,操作系统把结果返回给用户。回给用户。回给用户。回给用户。用户界面以多种形式呈现在用户面前,一种是联机命令形用户界面以多种形式呈现在用户面前,一种是联机命令形用户界面以多种形式呈现在用户面前,一种是联机命令形用户界面以多种形式呈现在用户

4、面前,一种是联机命令形式,直接提供给用户在终端上使用;另一种是系统调用形式,直接提供给用户在终端上使用;另一种是系统调用形式,直接提供给用户在终端上使用;另一种是系统调用形式,直接提供给用户在终端上使用;另一种是系统调用形式,提供给用户编程时使用。在现代操作系统中,为进一式,提供给用户编程时使用。在现代操作系统中,为进一式,提供给用户编程时使用。在现代操作系统中,为进一式,提供给用户编程时使用。在现代操作系统中,为进一步方便用户使用计算机,又增加了一种图形接口。在步方便用户使用计算机,又增加了一种图形接口。在步方便用户使用计算机,又增加了一种图形接口。在步方便用户使用计算机,又增加了一种图形接

5、口。在InternetInternet广为流行的今天,又出现了一种面向网络的网络广为流行的今天,又出现了一种面向网络的网络广为流行的今天,又出现了一种面向网络的网络广为流行的今天,又出现了一种面向网络的网络用户接口。用户接口。用户接口。用户接口。第2章 用户界面 2.1 2.1 用户工作环境用户工作环境用户工作环境用户工作环境2.2 2.2 操作系统用户界面操作系统用户界面操作系统用户界面操作系统用户界面2.3 2.3 系统调用系统调用系统调用系统调用2.4 2.4 LinuxLinux的用户界面的用户界面的用户界面的用户界面2.1 2.1 用户工作环境用户工作环境 2.1.1 用户环境用户环

6、境2.1.2 系统生成和系统启动系统生成和系统启动2.1.3 运行一个用户程序的过程运行一个用户程序的过程 2.1.1 用户环境用户环境形成用户环境包含下面形成用户环境包含下面3个方面的工作。个方面的工作。设计合理的操作命令,它允许用户处理设计合理的操作命令,它允许用户处理由操作系统支持的各种目标,如设备、文由操作系统支持的各种目标,如设备、文件、进程。件、进程。提供各种硬件资源,并要提供关于操作提供各种硬件资源,并要提供关于操作系统的使用说明。系统的使用说明。将操作系统装入计算机,并对系统参数将操作系统装入计算机,并对系统参数和控制结构进行初始化,以使计算机系统和控制结构进行初始化,以使计算

7、机系统能够为用户工作。能够为用户工作。2.1.2 系统生成和系统启动系统生成和系统启动系统初启又叫系统引导。它的任务是把操系统初启又叫系统引导。它的任务是把操作系统的必要部分装入内存并使系统运行,作系统的必要部分装入内存并使系统运行,最终使系统处于命令接收状态最终使系统处于命令接收状态。系统引导分为系统引导分为3个阶段。个阶段。l l初始引导:把系统核心装入内存中的指定位初始引导:把系统核心装入内存中的指定位初始引导:把系统核心装入内存中的指定位初始引导:把系统核心装入内存中的指定位置,并在指定地址启动。置,并在指定地址启动。置,并在指定地址启动。置,并在指定地址启动。l l核心初始化:执行系

8、统核心的初启子程序,核心初始化:执行系统核心的初启子程序,核心初始化:执行系统核心的初启子程序,核心初始化:执行系统核心的初启子程序,初始化系统核心数据。初始化系统核心数据。初始化系统核心数据。初始化系统核心数据。l l系统初始化:为用户使用系统做准备。系统初始化:为用户使用系统做准备。系统初始化:为用户使用系统做准备。系统初始化:为用户使用系统做准备。(1)初始引导)初始引导初始引导也叫自举。自举的含义是操作系初始引导也叫自举。自举的含义是操作系统把自己建立起来,这是目前大多数系统统把自己建立起来,这是目前大多数系统所常用的一种引导方法。所常用的一种引导方法。初始引导的任务就是把核心送入内存

9、并启初始引导的任务就是把核心送入内存并启动它运行。系统核心是存放在辅存上的。动它运行。系统核心是存放在辅存上的。如何能在辅存上的文件中找到这个核心并如何能在辅存上的文件中找到这个核心并送到内存中,这需要有一程序做这件事,送到内存中,这需要有一程序做这件事,该程序称为装配程序。该程序称为装配程序。然而,这一装配程序也在辅存中,如何把然而,这一装配程序也在辅存中,如何把该装配程序首先装入内存呢?该装配程序首先装入内存呢?这需要有一个初始引导程序,而且这个程这需要有一个初始引导程序,而且这个程序必须在一开机时能自动运行,这就只有序必须在一开机时能自动运行,这就只有求助于硬件了。求助于硬件了。在现代大

10、多数计算机系统中,在它的只读存储器在现代大多数计算机系统中,在它的只读存储器在现代大多数计算机系统中,在它的只读存储器在现代大多数计算机系统中,在它的只读存储器中都有一段用于初始引导的固化代码。中都有一段用于初始引导的固化代码。中都有一段用于初始引导的固化代码。中都有一段用于初始引导的固化代码。当系统加电或按下某种按钮时,硬件电子线路便当系统加电或按下某种按钮时,硬件电子线路便当系统加电或按下某种按钮时,硬件电子线路便当系统加电或按下某种按钮时,硬件电子线路便会自动地把只读存储器中这段初始引导程序读入会自动地把只读存储器中这段初始引导程序读入会自动地把只读存储器中这段初始引导程序读入会自动地把

11、只读存储器中这段初始引导程序读入内存,并将内存,并将内存,并将内存,并将CPUCPU的控制权交给它。的控制权交给它。的控制权交给它。的控制权交给它。初始引导程序的任务是将辅存中的装配程序读入初始引导程序的任务是将辅存中的装配程序读入初始引导程序的任务是将辅存中的装配程序读入初始引导程序的任务是将辅存中的装配程序读入内存。这个装配程序必须存放在辅存的固定位置内存。这个装配程序必须存放在辅存的固定位置内存。这个装配程序必须存放在辅存的固定位置内存。这个装配程序必须存放在辅存的固定位置(称为引导块)上,只读存储器只会从这个引导(称为引导块)上,只读存储器只会从这个引导(称为引导块)上,只读存储器只会

12、从这个引导(称为引导块)上,只读存储器只会从这个引导块中读取内容。这就要求将装配程序事先存放在块中读取内容。这就要求将装配程序事先存放在块中读取内容。这就要求将装配程序事先存放在块中读取内容。这就要求将装配程序事先存放在这个引导块上。这个引导块上。这个引导块上。这个引导块上。(2)核心初始化)核心初始化 核心页表寄存器与核心数据初始化。核心页表寄存器与核心数据初始化。建立建立0号进程。号进程。0号进程是系统建立的第号进程是系统建立的第1个且永远处于核心态的唯一的进程。它的个且永远处于核心态的唯一的进程。它的主要任务是按照系统的需要把即将运行的主要任务是按照系统的需要把即将运行的进程送入内存,并

13、把近期内不运行的进程进程送入内存,并把近期内不运行的进程送到辅存上。送到辅存上。建立建立1号进程。号进程。1号进程是建立初始进程,号进程是建立初始进程,它的作用是实现系统的初始化。它的作用是实现系统的初始化。(3)系统初始化)系统初始化这一阶段的主要任务是做好一切准备工作,使系这一阶段的主要任务是做好一切准备工作,使系这一阶段的主要任务是做好一切准备工作,使系这一阶段的主要任务是做好一切准备工作,使系统处于命令接受状态,这时用户可以使用机器了。统处于命令接受状态,这时用户可以使用机器了。统处于命令接受状态,这时用户可以使用机器了。统处于命令接受状态,这时用户可以使用机器了。系统初始化是由系统初

14、始化是由系统初始化是由系统初始化是由1 1号进程执行初始化程序实现的。号进程执行初始化程序实现的。号进程执行初始化程序实现的。号进程执行初始化程序实现的。它分为两个阶段完成:它分为两个阶段完成:它分为两个阶段完成:它分为两个阶段完成:l l为控制台终端建造一个进程,执行命令解释程序,接为控制台终端建造一个进程,执行命令解释程序,接为控制台终端建造一个进程,执行命令解释程序,接为控制台终端建造一个进程,执行命令解释程序,接受操作员或用户的命令;受操作员或用户的命令;受操作员或用户的命令;受操作员或用户的命令;l l系统继续为若干用户终端建立命令解释进程,接受一系统继续为若干用户终端建立命令解释进

15、程,接受一系统继续为若干用户终端建立命令解释进程,接受一系统继续为若干用户终端建立命令解释进程,接受一般用户的命令(这一环境称为多用户环境)。这时,般用户的命令(这一环境称为多用户环境)。这时,般用户的命令(这一环境称为多用户环境)。这时,般用户的命令(这一环境称为多用户环境)。这时,一般用户就可以用系统了,系统初启全部完成。一般用户就可以用系统了,系统初启全部完成。一般用户就可以用系统了,系统初启全部完成。一般用户就可以用系统了,系统初启全部完成。2.1.3 运行一个用户程序的过程运行一个用户程序的过程控制计算机工作的最简单的办法是,由操作员通控制计算机工作的最简单的办法是,由操作员通控制计

16、算机工作的最简单的办法是,由操作员通控制计算机工作的最简单的办法是,由操作员通过控制台(或用户在终端设备上)键入一条条命过控制台(或用户在终端设备上)键入一条条命过控制台(或用户在终端设备上)键入一条条命过控制台(或用户在终端设备上)键入一条条命令。令。令。令。用户可先将源程序通过编辑建立在磁盘上,接着用户可先将源程序通过编辑建立在磁盘上,接着用户可先将源程序通过编辑建立在磁盘上,接着用户可先将源程序通过编辑建立在磁盘上,接着发发发发“编译编译编译编译”命令,操作系统接到这条命令后,将命令,操作系统接到这条命令后,将命令,操作系统接到这条命令后,将命令,操作系统接到这条命令后,将编译程序调入内

17、存并启动它工作。编译程序调入内存并启动它工作。编译程序调入内存并启动它工作。编译程序调入内存并启动它工作。然后,用户再发出然后,用户再发出然后,用户再发出然后,用户再发出“连接连接连接连接”命令,操作系统执行命令,操作系统执行命令,操作系统执行命令,操作系统执行该命令,将生成一个完整的、可执行的内存映像该命令,将生成一个完整的、可执行的内存映像该命令,将生成一个完整的、可执行的内存映像该命令,将生成一个完整的、可执行的内存映像程序。程序。程序。程序。最后发出最后发出最后发出最后发出“运行运行运行运行”命令,由操作系统启动内存映命令,由操作系统启动内存映命令,由操作系统启动内存映命令,由操作系统

18、启动内存映像程序运行,从而计算出结果。像程序运行,从而计算出结果。像程序运行,从而计算出结果。像程序运行,从而计算出结果。图2-1 作业处理的4个步骤 编辑(修改):建立一个新文件,或对编辑(修改):建立一个新文件,或对已有的文件中的错误进行修改。已有的文件中的错误进行修改。编译:将源程序翻译成目标代码。完成编译:将源程序翻译成目标代码。完成这一步工作需要有相应语言的编译器。这一步工作需要有相应语言的编译器。连接:将主程序和其他所需要的子程序连接:将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一和例行程序连接装配在一起,使之成为一个可执行的、完整的内存映像文件。个可执行的、完整

19、的内存映像文件。运行:将内存映像文件调入内存,并启运行:将内存映像文件调入内存,并启动运行,最后得出计算结果。动运行,最后得出计算结果。2.2 2.2 操作系统用户界面操作系统用户界面2.2.1 操作系统的用户界面操作系统的用户界面2.2.2 操作接口操作接口2.2.3 图形用户接口图形用户接口 2.2.1 操作系统的用户界面操作系统的用户界面操作系统可以通过程序接口和操作接口两种方式操作系统可以通过程序接口和操作接口两种方式操作系统可以通过程序接口和操作接口两种方式操作系统可以通过程序接口和操作接口两种方式把它的服务和功能提供给用户。把它的服务和功能提供给用户。把它的服务和功能提供给用户。把

20、它的服务和功能提供给用户。程序接口又称应用编程接口,程序中使用这个接程序接口又称应用编程接口,程序中使用这个接程序接口又称应用编程接口,程序中使用这个接程序接口又称应用编程接口,程序中使用这个接口可以调用操作系统的服务和功能。许多操作系口可以调用操作系统的服务和功能。许多操作系口可以调用操作系统的服务和功能。许多操作系口可以调用操作系统的服务和功能。许多操作系统的程序接口由一组系统调用(统的程序接口由一组系统调用(统的程序接口由一组系统调用(统的程序接口由一组系统调用(system callsystem call)组)组)组)组成,因此,用户在编写的程序中使用成,因此,用户在编写的程序中使用成

21、,因此,用户在编写的程序中使用成,因此,用户在编写的程序中使用“系统调用系统调用系统调用系统调用”就可以获得操作系统的底层服务,使用或访问就可以获得操作系统的底层服务,使用或访问就可以获得操作系统的底层服务,使用或访问就可以获得操作系统的底层服务,使用或访问系统管理的各种软硬件资源。系统管理的各种软硬件资源。系统管理的各种软硬件资源。系统管理的各种软硬件资源。操作接口又称命令接口,是操作系统为用户操作操作接口又称命令接口,是操作系统为用户操作操作接口又称命令接口,是操作系统为用户操作操作接口又称命令接口,是操作系统为用户操作控制计算机工作和提供服务的手段的集合,通常控制计算机工作和提供服务的手

22、段的集合,通常控制计算机工作和提供服务的手段的集合,通常控制计算机工作和提供服务的手段的集合,通常可借助操作控制命令、图形操作界面等来实现。可借助操作控制命令、图形操作界面等来实现。可借助操作控制命令、图形操作界面等来实现。可借助操作控制命令、图形操作界面等来实现。2.2.2 操作接口操作接口根据这些命令所完成功能的不同,可把它根据这些命令所完成功能的不同,可把它们分成以下几类:系统访问类,磁盘操作们分成以下几类:系统访问类,磁盘操作类,文件操作类,目录操作类,通信类,类,文件操作类,目录操作类,通信类,其他命令。其他命令。1系统访问类用户在每次开始使用某终端时,都须使用用户在每次开始使用某终

23、端时,都须使用该命令,使系统能识别该用户。凡要在多该命令,使系统能识别该用户。凡要在多用户系统的终端上上机的用户,都必须先用户系统的终端上上机的用户,都必须先在系统管理员处获得一合法的注册名和口在系统管理员处获得一合法的注册名和口令。以后,每当用户在接通其所用终端的令。以后,每当用户在接通其所用终端的电源后,便由系统直接调用,并在屏幕上电源后,便由系统直接调用,并在屏幕上显示信息提示用户键入自己的注册名和口显示信息提示用户键入自己的注册名和口令。令。2键盘操作命令(1)磁盘格式化命令)磁盘格式化命令(2)复制整个软盘命令)复制整个软盘命令(3)软盘比较命令)软盘比较命令(4)备份命令)备份命令

24、3文件操作命令(1)显示文件命令)显示文件命令(2)拷贝文件命令)拷贝文件命令(3)文件比较命令)文件比较命令(4)重新命名命令)重新命名命令(5)删除文件命令)删除文件命令 4目录操作命令(1)建立子目录命令)建立子目录命令(2)显示目录命令)显示目录命令(3)删除子目录命令)删除子目录命令(4)显示目录结构命令)显示目录结构命令(5)改变当前目录命令)改变当前目录命令5 5其他命令其他命令(1 1)输入)输入)输入)输入/输出重定向命令输出重定向命令输出重定向命令输出重定向命令l l如果在命令中设置输出重定向如果在命令中设置输出重定向如果在命令中设置输出重定向如果在命令中设置输出重定向“”

25、符,其后接文件符,其后接文件符,其后接文件符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件名或设备名,表示将命令的输出改向,送到指定文件名或设备名,表示将命令的输出改向,送到指定文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。或设备上。或设备上。或设备上。l l类似地,若在命令中设置输入重定向类似地,若在命令中设置输入重定向类似地,若在命令中设置输入重定向类似地,若在命令中设置输入重定向“”符,则不符,则不符,则不符,则不再是从键盘而是从重定向符左边参数所指定的文件或再是从键盘而是从重定向符左边参数所指定的文件或再是从键盘而是从重定向符左边参数所指定的文件或再是从键盘而

26、是从重定向符左边参数所指定的文件或设备上,取得输入信息。设备上,取得输入信息。设备上,取得输入信息。设备上,取得输入信息。(2 2)管道连接)管道连接)管道连接)管道连接 管道连接是指把第管道连接是指把第管道连接是指把第管道连接是指把第1 1条命令的输出信息作为第条命令的输出信息作为第条命令的输出信息作为第条命令的输出信息作为第2 2条条条条命令的输入信息;类似地,又可把第命令的输入信息;类似地,又可把第命令的输入信息;类似地,又可把第命令的输入信息;类似地,又可把第2 2条命令的输条命令的输条命令的输条命令的输出信息作为第出信息作为第出信息作为第出信息作为第3 3条命令的输入信息。这样,由两

27、个条命令的输入信息。这样,由两个条命令的输入信息。这样,由两个条命令的输入信息。这样,由两个(含两条)以上的命令可形成一条管道。在操作(含两条)以上的命令可形成一条管道。在操作(含两条)以上的命令可形成一条管道。在操作(含两条)以上的命令可形成一条管道。在操作系统中,通常使用系统中,通常使用系统中,通常使用系统中,通常使用“|”|”作为管道符号。其一般格作为管道符号。其一般格作为管道符号。其一般格作为管道符号。其一般格式为:式为:式为:式为:Command1|Command2|Command1|Command2|CommandnCommandn。(3 3)过滤命令)过滤命令)过滤命令)过滤命令

28、例如,例如,例如,例如,MS-DOSMS-DOS中用命令中用命令中用命令中用命令 find/find/NeraseNerase(路径名)(路径名)(路径名)(路径名)可对由路径名指定的输入文件逐行检索,把含有字符串可对由路径名指定的输入文件逐行检索,把含有字符串可对由路径名指定的输入文件逐行检索,把含有字符串可对由路径名指定的输入文件逐行检索,把含有字符串“erase”erase”的行输出。其中,的行输出。其中,的行输出。其中,的行输出。其中,/N/N是选择开关,表示输出含是选择开关,表示输出含是选择开关,表示输出含是选择开关,表示输出含有指定字串的行;如果不用有指定字串的行;如果不用有指定字

29、串的行;如果不用有指定字串的行;如果不用N N而用而用而用而用C C,则表示只输出含有,则表示只输出含有,则表示只输出含有,则表示只输出含有指定字串的行数;若用指定字串的行数;若用指定字串的行数;若用指定字串的行数;若用V V,则表示输出不含指定字串的行。,则表示输出不含指定字串的行。,则表示输出不含指定字串的行。,则表示输出不含指定字串的行。(4 4)批命令)批命令)批命令)批命令为了能连续地使用多条键盘命令,或多次反复地执行指定为了能连续地使用多条键盘命令,或多次反复地执行指定为了能连续地使用多条键盘命令,或多次反复地执行指定为了能连续地使用多条键盘命令,或多次反复地执行指定的若干条命令,

30、而又免去每次重敲这些命令的麻烦,可以的若干条命令,而又免去每次重敲这些命令的麻烦,可以的若干条命令,而又免去每次重敲这些命令的麻烦,可以的若干条命令,而又免去每次重敲这些命令的麻烦,可以提供一特定文件。提供一特定文件。提供一特定文件。提供一特定文件。2.2.3 图形用户接口图形用户接口 GUI采用了图形化的操作界面,使用采用了图形化的操作界面,使用WIMP技术(即窗口技术(即窗口Window、图符、图符Icon、菜单、菜单Menu和鼠标和鼠标Pointing device),引入形),引入形象的各种图符将系统的各项功能、各种应象的各种图符将系统的各项功能、各种应用程序和文件,直观、逼真地表示出

31、来。用程序和文件,直观、逼真地表示出来。用户可以通过选择窗口、菜单、对话框和用户可以通过选择窗口、菜单、对话框和滚动条完成对他们作业和文件的各种控制滚动条完成对他们作业和文件的各种控制和操作。和操作。GUI采用了图形化的操作界面,使用采用了图形化的操作界面,使用WIMP技术(即窗口技术(即窗口Window、图符、图符Icon、菜单、菜单Menu和鼠标和鼠标Pointing device),引入形),引入形象的各种图符将系统的各项功能、各种应象的各种图符将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用程序和文件,直观、逼真地表示出来。用户可以通过选择窗口、菜单、对话框和用户可以通过

32、选择窗口、菜单、对话框和滚动条完成对他们作业和文件的各种控制滚动条完成对他们作业和文件的各种控制和操作。此时,用户不必死记硬背操作命和操作。此时,用户不必死记硬背操作命令,而能轻松自如地完成各项工作令,而能轻松自如地完成各项工作。2.3 系统调用 2.3.1 系统调用的基本概念2.3.2 系统调用的基本类型2.3.2 系统调用的实现 2.3.1 系统调用的基本概念系统调用是为了扩充机器功能、增强系统系统调用是为了扩充机器功能、增强系统能力、方便用户使用而建立的。用户程序能力、方便用户使用而建立的。用户程序或其他系统程序通过系统调用就可以访问或其他系统程序通过系统调用就可以访问系统资源,调用操作

33、系统功能,而不必了系统资源,调用操作系统功能,而不必了解操作系统内部结构和硬件细节,它是用解操作系统内部结构和硬件细节,它是用户程序或其他系统程序获得操作系统服务户程序或其他系统程序获得操作系统服务的唯一途径。的唯一途径。系统调用本质上是应用程序请求操作系统内核完系统调用本质上是应用程序请求操作系统内核完系统调用本质上是应用程序请求操作系统内核完系统调用本质上是应用程序请求操作系统内核完成某功能时的一种过程调用,但它是一种特殊的成某功能时的一种过程调用,但它是一种特殊的成某功能时的一种过程调用,但它是一种特殊的成某功能时的一种过程调用,但它是一种特殊的过程调用,它与一般的过程调用有下述几方面明

34、过程调用,它与一般的过程调用有下述几方面明过程调用,它与一般的过程调用有下述几方面明过程调用,它与一般的过程调用有下述几方面明显的差别。显的差别。显的差别。显的差别。调用形式不同。过程(函数)使用一般调用指调用形式不同。过程(函数)使用一般调用指调用形式不同。过程(函数)使用一般调用指调用形式不同。过程(函数)使用一般调用指令,其转向地址是固定不变的,包含在跳转语句令,其转向地址是固定不变的,包含在跳转语句令,其转向地址是固定不变的,包含在跳转语句令,其转向地址是固定不变的,包含在跳转语句中;但系统调用中不包含处理程序入口,而仅仅中;但系统调用中不包含处理程序入口,而仅仅中;但系统调用中不包含

35、处理程序入口,而仅仅中;但系统调用中不包含处理程序入口,而仅仅提供功能号,按功能号调用。提供功能号,按功能号调用。提供功能号,按功能号调用。提供功能号,按功能号调用。被调用代码的位置不同。过程(函数)调用是被调用代码的位置不同。过程(函数)调用是被调用代码的位置不同。过程(函数)调用是被调用代码的位置不同。过程(函数)调用是一种静态调用,调用者和被调用代码在同一程序一种静态调用,调用者和被调用代码在同一程序一种静态调用,调用者和被调用代码在同一程序一种静态调用,调用者和被调用代码在同一程序内,经过连接编辑后作为目标代码的一部份。而内,经过连接编辑后作为目标代码的一部份。而内,经过连接编辑后作为

36、目标代码的一部份。而内,经过连接编辑后作为目标代码的一部份。而系统调用是一种动态调用,系统调用的处理代码系统调用是一种动态调用,系统调用的处理代码系统调用是一种动态调用,系统调用的处理代码系统调用是一种动态调用,系统调用的处理代码在调用程序之外(在操作系统中),这样一来,在调用程序之外(在操作系统中),这样一来,在调用程序之外(在操作系统中),这样一来,在调用程序之外(在操作系统中),这样一来,系统调用处理代码升级或修改时,与调用程序无系统调用处理代码升级或修改时,与调用程序无系统调用处理代码升级或修改时,与调用程序无系统调用处理代码升级或修改时,与调用程序无关。关。关。关。提供方式不同。过程

37、(函数)往往由编译系统提供方式不同。过程(函数)往往由编译系统提供方式不同。过程(函数)往往由编译系统提供方式不同。过程(函数)往往由编译系统提供,不同编译系统提供的过程(函数)可以不提供,不同编译系统提供的过程(函数)可以不提供,不同编译系统提供的过程(函数)可以不提供,不同编译系统提供的过程(函数)可以不同;系统调用由操作系统提供,一旦操作系统设同;系统调用由操作系统提供,一旦操作系统设同;系统调用由操作系统提供,一旦操作系统设同;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变计好,系统调用的功能、种类与数量便固定不变计好,系统调用的功能、种类与数量便固定

38、不变计好,系统调用的功能、种类与数量便固定不变了。了。了。了。调用的实现不同。程序使用一般机器指令(跳调用的实现不同。程序使用一般机器指令(跳调用的实现不同。程序使用一般机器指令(跳调用的实现不同。程序使用一般机器指令(跳转指令)来调用过程(函数),是在用户态运行转指令)来调用过程(函数),是在用户态运行转指令)来调用过程(函数),是在用户态运行转指令)来调用过程(函数),是在用户态运行的;程序执行系统调用,是通过中断机构来实现,的;程序执行系统调用,是通过中断机构来实现,的;程序执行系统调用,是通过中断机构来实现,的;程序执行系统调用,是通过中断机构来实现,需要从用户态转变到核心态,在管理状

39、态执行。需要从用户态转变到核心态,在管理状态执行。需要从用户态转变到核心态,在管理状态执行。需要从用户态转变到核心态,在管理状态执行。2.3.2 系统调用的基本类型系统调用的基本类型1进程控制类系统调用进程控制类系统调用l l 创建和终止进程的系统调用。创建和终止进程的系统调用。创建和终止进程的系统调用。创建和终止进程的系统调用。l l 获得和设置进程属性的系统调用。获得和设置进程属性的系统调用。获得和设置进程属性的系统调用。获得和设置进程属性的系统调用。l l 等待某事件出现的系统调用。等待某事件出现的系统调用。等待某事件出现的系统调用。等待某事件出现的系统调用。2文件操纵类系统调用文件操纵

40、类系统调用l l 创建和删除文件。创建和删除文件。创建和删除文件。创建和删除文件。l l 打开和关闭文件。打开和关闭文件。打开和关闭文件。打开和关闭文件。l l 读和写文件。读和写文件。读和写文件。读和写文件。3 3进程通信类系统调用进程通信类系统调用进程通信类系统调用进程通信类系统调用l l在操作系统中经常采用两种进程通信方式,即消息传在操作系统中经常采用两种进程通信方式,即消息传在操作系统中经常采用两种进程通信方式,即消息传在操作系统中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。递方式和共享存储区方式。递方式和共享存储区方式。递方式和共享存储区方式。4 4设备管理系统调用设备

41、管理系统调用设备管理系统调用设备管理系统调用l l申请设备、释放设备、设备申请设备、释放设备、设备申请设备、释放设备、设备申请设备、释放设备、设备I/OI/O和重定向、获得和设置和重定向、获得和设置和重定向、获得和设置和重定向、获得和设置设备属性、逻辑上连接和释放设备。设备属性、逻辑上连接和释放设备。设备属性、逻辑上连接和释放设备。设备属性、逻辑上连接和释放设备。5 5内存管理系统调用内存管理系统调用内存管理系统调用内存管理系统调用l l申请内存和释放内存;虚拟存储器的管理。申请内存和释放内存;虚拟存储器的管理。申请内存和释放内存;虚拟存储器的管理。申请内存和释放内存;虚拟存储器的管理。6 6

42、信息维护系统调用信息维护系统调用信息维护系统调用信息维护系统调用l l建立和断开通信连接、发送和接收消息、传送状态信建立和断开通信连接、发送和接收消息、传送状态信建立和断开通信连接、发送和接收消息、传送状态信建立和断开通信连接、发送和接收消息、传送状态信息、联接和断开远程设备。息、联接和断开远程设备。息、联接和断开远程设备。息、联接和断开远程设备。2.3.2 系统调用的实现在操作系统中,实现系统调用功能的机制在操作系统中,实现系统调用功能的机制称陷入或异常处理机制,由于系统调用而称陷入或异常处理机制,由于系统调用而引起处理器中断的机器指令称访管指令引起处理器中断的机器指令称访管指令(super

43、visor)、陷入指令()、陷入指令(trap)或异)或异常中断指令(常中断指令(interrupt)。)。系统调用的实现有以下几点:系统调用的实现有以下几点:l l编写系统调用处理程序;编写系统调用处理程序;编写系统调用处理程序;编写系统调用处理程序;l l设计一张系统调用入口地址表,每个入口地址设计一张系统调用入口地址表,每个入口地址设计一张系统调用入口地址表,每个入口地址设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处理程序,有的系统还都指向一个系统调用的处理程序,有的系统还都指向一个系统调用的处理程序,有的系统还都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数

44、的个数;包含系统调用自带参数的个数;包含系统调用自带参数的个数;包含系统调用自带参数的个数;l l陷入处理机制,需开辟现场保护区,以保存发陷入处理机制,需开辟现场保护区,以保存发陷入处理机制,需开辟现场保护区,以保存发陷入处理机制,需开辟现场保护区,以保存发生系统调用时的处理器现场。生系统调用时的处理器现场。生系统调用时的处理器现场。生系统调用时的处理器现场。图2-2 系统调用的处理过程2.4 Linux的用户界面2.4.1 Linux的命令行接口2.4.2 Linux的图形方式2.4.3 Linux的系统调用2.4.4 与系统调用有关的数据结构 2.4.1 Linux的命令行接口Linux命

45、令行是命令行是Linux系统的核心,利用命系统的核心,利用命令行可以对系统进行各种配置,要熟练并令行可以对系统进行各种配置,要熟练并成功地管理成功地管理Linux操作系统,必须对操作系统,必须对Linux下的命令行有深入的理解。下的命令行有深入的理解。与图形界面相比,利用命令行对系统进行与图形界面相比,利用命令行对系统进行管理和操作显得更为快捷和安全。特别是管理和操作显得更为快捷和安全。特别是在服务器应用方面,在服务器应用方面,Linux命令行更是处于命令行更是处于一种核心的应用,这主要是因为在字符界一种核心的应用,这主要是因为在字符界面下的操作具有更大的稳定性和安全性能。面下的操作具有更大的

46、稳定性和安全性能。2.4.2 Linux的图形方式Linux桌面发行版通常包含了桌面发行版通常包含了X Window系系统(也称统(也称X),包括桌面管理器和窗口管理),包括桌面管理器和窗口管理器。桌面管理器使得可以通过图标而不用器。桌面管理器使得可以通过图标而不用输入操作命令来实现用户与系统程序的交输入操作命令来实现用户与系统程序的交互。目前,比较流行的桌面管理器有互。目前,比较流行的桌面管理器有GNOME和和KDE。GNOME即即GNU网络对象模型环境(网络对象模型环境(The GNU Network Object Model Environment),是开放源码运动的一个),是开放源码运

47、动的一个重要组成部分。重要组成部分。KDE是是K Desktop Environment(K桌面桌面环境)的缩写。环境)的缩写。KDE是一种著名的运行于是一种著名的运行于UNIX以及以及Linux,FreeBSD等类等类UNIX 操作操作系统上面的自由图形工作环境。系统上面的自由图形工作环境。2.4.3 Linux的系统调用Linux通过各种系统调用为应用系统、为进通过各种系统调用为应用系统、为进程提供了编程界面。程提供了编程界面。Linux的系统调用形式的系统调用形式与与POSIX兼容,也是一套兼容,也是一套C语言函数名的集语言函数名的集合,如合,如fork(),exit(),read(),

48、write()等,等,共共221个(个(2.4.0版)。版)。Linux系统调用的内系统调用的内部实现方式是经过部实现方式是经过INT 0X80软中断调用进软中断调用进入后,再根据系统调用号分门别类地服务。入后,再根据系统调用号分门别类地服务。2.4.4 与系统调用有关的数据结构1系统调用响应函数的函数名约定函数名以函数名以“sys_”开头,后跟该系统调用开头,后跟该系统调用的名字,由此构成的名字,由此构成221个形似个形似sys_name()的函数名。例如,系统调用的函数名。例如,系统调用fork()的响应函的响应函数是数是sys_fork()(kernel/fork.c);exit()的的

49、响应函数是响应函数是sys_exit()(kernel/exit.c)。2 2系统调用号系统调用号文件文件文件文件include/asm-i386/unistd.hinclude/asm-i386/unistd.h为每个系统调用为每个系统调用为每个系统调用为每个系统调用规定了唯一的编号,部分编号如下所示:规定了唯一的编号,部分编号如下所示:规定了唯一的编号,部分编号如下所示:规定了唯一的编号,部分编号如下所示:8#define _8#define _NR_exitNR_exit 1 1 9#define _ 9#define _NR_forkNR_fork 2 2 10#define _ 10

50、#define _NR_readNR_read 3 3 11#define _ 11#define _NR_writeNR_write 4 4 12#define _ 12#define _NR_openNR_open 5 5 13#define _ 13#define _NR_closeNR_close 6 63 3系统调用表系统调用表系统调用表系统调用表系统调用表系统调用表sys_call_tablesys_call_table(arch/i386/kernel/entry.Sarch/i386/kernel/entry.S)形式如下:)形式如下:)形式如下:)形式如下:423 423 E

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁