




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Principles of Operating System计算机操作系统2第11章 操作系统结构与设计 11.111.111.1 11.211.211.2 11.311.311.3 11.411.411.4 计算机操作系统311.1 操作系统结构操作系统结构 1.整体式结构整体式结构 2.分层式结构分层式结构 3.微内核结构微内核结构计算机操作系统41.整体式结构整体式结构 这是一种大杂烩,整个操作系统是一堆过程的这是一种大杂烩,整个操作系统是一堆过程的集合,每个过程都可以任意调用其他过程。集合,每个过程都可以任意调用其他过程。 从信息隐藏的观点看,它没有任何隐藏从信息隐藏的观点看,它没有任
2、何隐藏每每个过程对其他过程都是可见的。个过程对其他过程都是可见的。 这种系统中提供机器的两种运行模式:用户态这种系统中提供机器的两种运行模式:用户态和核心态。和核心态。 所有过程可大致分为三层:所有过程可大致分为三层:l最高层是主程序,它引用所需的服务过程;最高层是主程序,它引用所需的服务过程;l中间层是一组服务过程,它们执行系统调用;中间层是一组服务过程,它们执行系统调用;l底层是一组公用过程,用来支持各服务过程。底层是一组公用过程,用来支持各服务过程。 计算机操作系统52.分层式结构分层式结构 系统看作是一系列的层,每一层执行操系统看作是一系列的层,每一层执行操作系统所需要的功能的相关子集
3、,它依作系统所需要的功能的相关子集,它依赖于下一个较低层,较低层执行更为原赖于下一个较低层,较低层执行更为原始的功能,并隐藏这些功能的细节。它始的功能,并隐藏这些功能的细节。它还要给相邻的较高层提供服务。可以通还要给相邻的较高层提供服务。可以通过定义层使得改变一层时不需要改变其过定义层使得改变一层时不需要改变其他层,把一个问题分解成几个更易于处他层,把一个问题分解成几个更易于处理的子问题。理的子问题。计算机操作系统6THE系统系统 是第一个按这种方式构造的操作系统,是第一个按这种方式构造的操作系统,1968年年由由E.W.Dijkstra和他的学生们建造,该系统共和他的学生们建造,该系统共有有
4、6层:层: 第第5层层操作员操作员第第4层层用户程序用户程序第第3层层输入输入/输出管理输出管理第第2层层操作员进程通信操作员进程通信第第1层层内存和磁鼓管理内存和磁鼓管理第第0层层处理机分配和多道程序环境处理机分配和多道程序环境计算机操作系统70层层 负责处理机的分配,当发生中断或定时负责处理机的分配,当发生中断或定时器到时时进行进程切换,从而提供了基器到时时进行进程切换,从而提供了基本的多道程序环境。本的多道程序环境。计算机操作系统81层层 第第1层执行内存和磁鼓的管理,用来为进层执行内存和磁鼓的管理,用来为进程分配内存空间和磁鼓上的空间。在内程分配内存空间和磁鼓上的空间。在内存用完时则在
5、磁鼓上分配存用完时则在磁鼓上分配512K字的空间字的空间用作交换。用作交换。 在这层上,进程不用考虑它是在磁鼓上在这层上,进程不用考虑它是在磁鼓上还是在内存中运行,能保证一旦某一页还是在内存中运行,能保证一旦某一页面需要访问时,它必定在内存中。面需要访问时,它必定在内存中。计算机操作系统92层层 第第2层处理每个进程和操作员控制台之间层处理每个进程和操作员控制台之间的通信。的通信。 在这层上,每个进程都有自己的操作员在这层上,每个进程都有自己的操作员控制台。控制台。计算机操作系统103层层 第第3层进行输入输出管理,管理层进行输入输出管理,管理I/O设备,设备,对信息流缓冲。对信息流缓冲。 在
6、这层上,每个进程和在这层上,每个进程和I/O设备打交道时设备打交道时不必考虑其物理的细节。不必考虑其物理的细节。计算机操作系统114层层 第第4层是用户程序层,用户程序不必考虑层是用户程序层,用户程序不必考虑进程、内存、控制台或进程、内存、控制台或I/O设备等细节。设备等细节。5层层 第第5层是系统操作员进程。层是系统操作员进程。 计算机操作系统12MULTICS系统中的分层结构系统中的分层结构 这种分层的概念后来体现在这种分层的概念后来体现在MULTICS系统中,系统中,但它不是层,而是一系列同心环,且内层环比但它不是层,而是一系列同心环,且内层环比外层环有更多的权利。外层环有更多的权利。
7、当外环中的过程想调用内环过程时,它必须利当外环中的过程想调用内环过程时,它必须利用对等的系统调用。用对等的系统调用。 这种环机制的优点是易于扩充用户子系统。例这种环机制的优点是易于扩充用户子系统。例如,教师可编写一个程序在如,教师可编写一个程序在n层环中运行,用层环中运行,用来对学生写的程序进行测试和打分,而学生的来对学生写的程序进行测试和打分,而学生的程序运行在程序运行在n1层环上,所以学生无法改变他层环上,所以学生无法改变他们的分数们的分数 计算机操作系统13UNIX 系统系统V的层次结构的层次结构计算机操作系统14分层中的问题分层中的问题 每层都处理相当多的功能,一层中的主每层都处理相当
8、多的功能,一层中的主要变化可能会产生巨大的影响,跟踪相要变化可能会产生巨大的影响,跟踪相邻层(上一层或下一层)中的代码有很邻层(上一层或下一层)中的代码有很多困难。多困难。 其结果是,通过增加或减少一些功能,其结果是,通过增加或减少一些功能,在基本操作系统上很难实现一个专用版在基本操作系统上很难实现一个专用版本,并且由于在相邻层之间有很多交互,本,并且由于在相邻层之间有很多交互,因而很难保证安全性。因而很难保证安全性。 计算机操作系统153.微内核微内核 随着随着UNIX操作系统的扩充,内核变得大操作系统的扩充,内核变得大且难以管理。在且难以管理。在20世纪世纪80年代中期,卡年代中期,卡耐基
9、梅隆大学的研究人员开发了一个耐基梅隆大学的研究人员开发了一个称为称为Mach的操作系统,该系统采用微内的操作系统,该系统采用微内核(核(Microkernel)方法来模块化内核。)方法来模块化内核。 这种方法将所有非基本部分从内核中移这种方法将所有非基本部分从内核中移走,并将它们当作系统级程序和用户级走,并将它们当作系统级程序和用户级程序来实现。程序来实现。 用这种方法构建操作系统,结果是更小用这种方法构建操作系统,结果是更小的内核。的内核。计算机操作系统16微内核结构微内核结构 尽管什么应该在微内核中、什么应该在尽管什么应该在微内核中、什么应该在微内核外,不同的设计有不同的分界线,微内核外,
10、不同的设计有不同的分界线,但是共同的特点是许多传统上属于操作但是共同的特点是许多传统上属于操作系统一部分的功能现在都是外部子系统,系统一部分的功能现在都是外部子系统,包括设备驱动程序、文件系统、虚存管包括设备驱动程序、文件系统、虚存管理程序和安全服务等,它们可以与内核理程序和安全服务等,它们可以与内核交互,也可以相互交互。交互,也可以相互交互。计算机操作系统17计算机操作系统18 从图中可以看出,微内核结构用一个水平从图中可以看出,微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。分层的结构代替了传统的纵向分层的结构。 在微内核外部的操作系统部件被当作服务在微内核外部的操作系统部件被当
11、作服务器进程实现,它们可以借助于通过微内核器进程实现,它们可以借助于通过微内核传递消息来实现相互之间的交互。传递消息来实现相互之间的交互。 微内核起着信息交换的作用:微内核起着信息交换的作用:l验证信息、验证信息、l在部件间传递信息并授权访问硬件。在部件间传递信息并授权访问硬件。l执行包含功能,除非允许交换,否则它阻止执行包含功能,除非允许交换,否则它阻止信息传递。信息传递。计算机操作系统19微内核优点微内核优点 微内核结构可以很方便地扩充操作系统。微内核结构可以很方便地扩充操作系统。l所有新服务被增加到用户空间中,因而并不需要修所有新服务被增加到用户空间中,因而并不需要修改内核。改内核。l当
12、内核确实需要修改时,所做的改变也会很小,因当内核确实需要修改时,所做的改变也会很小,因为微内核本身很小。为微内核本身很小。l这样操作系统很容易从一种硬件平台移植到另一种这样操作系统很容易从一种硬件平台移植到另一种平台设计。平台设计。 由于绝大多数服务是作为用户进程而不是作为由于绝大多数服务是作为用户进程而不是作为内核进程来运行的,因此微内核也就提供了更内核进程来运行的,因此微内核也就提供了更好的安全性和可靠性。如果一个服务失败,那好的安全性和可靠性。如果一个服务失败,那么操作系统的其他部分并不受影响么操作系统的其他部分并不受影响 计算机操作系统2011.2 操作系统用户接口操作系统用户接口 1
13、.命令接口命令接口 2.程序接口程序接口 3.图形用户接口图形用户接口计算机操作系统211.命令接口命令接口 在操作系统与计算机用户之间提供易于在操作系统与计算机用户之间提供易于理解的双向通信机制理解的双向通信机制 基本任务:基本任务:l解释命令,传送命令以便执行解释命令,传送命令以便执行l接受系统信息,提交给用户(以响应语言的接受系统信息,提交给用户(以响应语言的形式)形式) 基本分类基本分类l脱机命令接口脱机命令接口l联机命令接口联机命令接口计算机操作系统22脱机命令接口脱机命令接口 随着批处理操作系统的出现,出现了控制作业运行的随着批处理操作系统的出现,出现了控制作业运行的作业控制语言(
14、作业控制语言(JCL,Job Control Language)。)。l用户用作业控制语言预先写好作业说明书,将作业说明书和作用户用作业控制语言预先写好作业说明书,将作业说明书和作业程序数据一起提交给计算机,操作系统按作业说明书的控制业程序数据一起提交给计算机,操作系统按作业说明书的控制语句来执行作业,以达到按照用户意图控制作业运行的目的。语句来执行作业,以达到按照用户意图控制作业运行的目的。l在作业执行过程中,批处理系统缺少用户与操作系统之间交互在作业执行过程中,批处理系统缺少用户与操作系统之间交互的能力。的能力。l用户一旦向系统提交一道作业后,就无法再对该作业的执行过用户一旦向系统提交一道
15、作业后,就无法再对该作业的执行过程进行控制。故用户和系统间基本上处于一种脱机的状态。程进行控制。故用户和系统间基本上处于一种脱机的状态。l这种通信语言功能较强,除含有能够实现系统实用程序(如编这种通信语言功能较强,除含有能够实现系统实用程序(如编译器,装配器)和用户自编程序的执行功能外,还包括控制转译器,装配器)和用户自编程序的执行功能外,还包括控制转移语句,具有可编程的能力,如条件转移语句,当编译器运行移语句,具有可编程的能力,如条件转移语句,当编译器运行出错时,绕过运行装配器而直接结束作业。出错时,绕过运行装配器而直接结束作业。计算机操作系统23 一般而言,一般而言,JCL包含两种类型的语
16、句:包含两种类型的语句:l一类是作业及其申请资源的说明语句一类是作业及其申请资源的说明语句l一类是实现作业控制和具体操作功能的执行一类是实现作业控制和具体操作功能的执行性语句。反映如下几个方面的要求:性语句。反映如下几个方面的要求: (1)作业标识、作业说明及调度要求的参数 (2)对资源申请(主存、外设、CPU) (3)程序和数据的控制功能 (4)调试功能 (5)控制转移功能 (6)作业撤销等计算机操作系统24联机命令接口联机命令接口 联机命令接口又称为交互式命令接口,它由一联机命令接口又称为交互式命令接口,它由一组键盘操作命令组成。组键盘操作命令组成。 用户通过控制台或终端键入操作命令,向系
17、统用户通过控制台或终端键入操作命令,向系统提出各种服务要求。提出各种服务要求。 用户每输入完一条命令,控制权就转入操作系用户每输入完一条命令,控制权就转入操作系统的命令解释程序,然后命令解释程序对键入统的命令解释程序,然后命令解释程序对键入的命令解释执行,完成指定的功能。的命令解释执行,完成指定的功能。 之后,控制权又转回到控制台或终端,此时用之后,控制权又转回到控制台或终端,此时用户又可以键入下一条命令。户又可以键入下一条命令。 计算机操作系统25联机命令接口联机命令接口 在微机操作系统中,通常把键盘命令分在微机操作系统中,通常把键盘命令分为内部命令和外部命令两大类。为内部命令和外部命令两大
18、类。l(1)内部命令,这类命令的特点是完成命)内部命令,这类命令的特点是完成命令功能的程序短小,使用频繁。它们在操作令功能的程序短小,使用频繁。它们在操作系统初始启动时被引导至内存且常驻内存。系统初始启动时被引导至内存且常驻内存。l(2)外部命令,完成这类命令功能的程序)外部命令,完成这类命令功能的程序较长,各自独立地作为一个文件驻留在磁盘较长,各自独立地作为一个文件驻留在磁盘上,当需要它们时,从磁盘上调入内存运行。上,当需要它们时,从磁盘上调入内存运行。 计算机操作系统26命令解释程序命令解释程序 来负责解释执行用户当前发出的命令。来负责解释执行用户当前发出的命令。 在在UNIX操作系统实现
19、中,命令解释程序操作系统实现中,命令解释程序属于操作系统之外的系统软件层,它运属于操作系统之外的系统软件层,它运行于用户态下,作为一个进程来运行。行于用户态下,作为一个进程来运行。 UNIX的的1号进程会为每个终端建一个进号进程会为每个终端建一个进程运行程运行shell命令解释程序,该程序不断命令解释程序,该程序不断地读取它所控制的终端发来的命令。地读取它所控制的终端发来的命令。计算机操作系统27命令解释程序命令解释程序 当用户在终端上输入一条命令时,命令当用户在终端上输入一条命令时,命令解释程序要做的工作如下:解释程序要做的工作如下:l(1)判断命令的合法性)判断命令的合法性l(2)识别命令
20、并执行处理命令的程序(可)识别命令并执行处理命令的程序(可能向操作系统发出系统调用),继续读取下能向操作系统发出系统调用),继续读取下一条命令。一条命令。l(3)如果不认识的命令关键字,则在约定)如果不认识的命令关键字,则在约定目录下查找与命令关键字同名的执行文件,目录下查找与命令关键字同名的执行文件,创建子进程执行创建子进程执行“执行文件执行文件”程序,等待子程序,等待子进程结束后继续读取下一条命令。进程结束后继续读取下一条命令。 计算机操作系统28终端命令终端命令 终端命令的一般形式如下:终端命令的一般形式如下:lCommand arg1 arg2 argnl其中,其中,Command是命
21、令关键字,是命令关键字,arg1,arg2,argn是执行该命令的参数。是执行该命令的参数。计算机操作系统29终端命令终端命令 终端命令一般都是串行执行的,即用户键入的终端命令一般都是串行执行的,即用户键入的一条命令处理完后,系统发出新的提示符,用一条命令处理完后,系统发出新的提示符,用户继续键入下一条命令。户继续键入下一条命令。 若执行一条命令需要较长的处理时间而用户不若执行一条命令需要较长的处理时间而用户不需等待它的结果,就可以在该命令的末尾加上需等待它的结果,就可以在该命令的末尾加上一个一个“开关开关”(UNIX是在末尾加是在末尾加“&”),将),将这条命令作为后台命令处理。这条
22、命令作为后台命令处理。 用户可以接着键入下一条命令,系统可同时对用户可以接着键入下一条命令,系统可同时对前后两条命令做并行处理。前后两条命令做并行处理。计算机操作系统30终端命令终端命令 当然,命令解释程序也可以从文件中读取用户先前键当然,命令解释程序也可以从文件中读取用户先前键入的命令。控制转移语句包含循环语句、条件转移语入的命令。控制转移语句包含循环语句、条件转移语句等。这一类语句由命令解释程序直接处理,这类语句等。这一类语句由命令解释程序直接处理,这类语句一般不在交互式输入命令时使用,而是在用户编写句一般不在交互式输入命令时使用,而是在用户编写命令语言的程序时使用。命令语言的程序时使用。
23、 系统为用户提供了大量的实用程序,这些实用程序都系统为用户提供了大量的实用程序,这些实用程序都是可以通过键入对应的终端命令而运行的。因为当用是可以通过键入对应的终端命令而运行的。因为当用户键入命令解释程序不认识的命令关键字时,命令解户键入命令解释程序不认识的命令关键字时,命令解释程序不是报错,而是去寻找与命令关键字同名的文释程序不是报错,而是去寻找与命令关键字同名的文件。件。 所以,如果要运行某个实用程序,只要键入那个实用所以,如果要运行某个实用程序,只要键入那个实用程序的执行文件名即可。程序的执行文件名即可。计算机操作系统312.程序接口程序接口 程序接口是操作系统专门为用户程序设程序接口是
24、操作系统专门为用户程序设置的,也是用户程序取得操作系统服务置的,也是用户程序取得操作系统服务的唯一途径。的唯一途径。 程序接口通常是由各种类型的系统调用程序接口通常是由各种类型的系统调用所组成的。所组成的。计算机操作系统32系统调用系统调用 系统调用提供了用户程序和操作系统之系统调用提供了用户程序和操作系统之间的接口,应用程序通过系统调用实现间的接口,应用程序通过系统调用实现其与操作系统的通信,并可取得它的服其与操作系统的通信,并可取得它的服务。务。 系统调用不仅可供所有的应用程序使用,系统调用不仅可供所有的应用程序使用,而且也可共操作系统自身的其他部分,而且也可共操作系统自身的其他部分,尤其
25、是命令处理程序使用。尤其是命令处理程序使用。计算机操作系统33系统调用系统调用 所谓系统调用就是用户在程序中调用操所谓系统调用就是用户在程序中调用操作系统所提供的一些子程序。具体讲,作系统所提供的一些子程序。具体讲,系统调用就是通过系统调用命令中断现系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以行程序,而转去执行相应的子程序,以完成特定的系统功能。完成后,控制又完成特定的系统功能。完成后,控制又返回到系统调用命令的逻辑后继指令,返回到系统调用命令的逻辑后继指令,被中断的程序将继续执行下去。被中断的程序将继续执行下去。 计算机操作系统34系统调用系统调用 实际上,系统调用命
26、令不仅可以供用户程序使实际上,系统调用命令不仅可以供用户程序使用,还可以供系统程序使用,以此实现各类系用,还可以供系统程序使用,以此实现各类系统功能。统功能。 对于每个操作系统而言,其所提供的系统调用对于每个操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽相命令条数、格式以及所执行的功能等都不尽相同,即使是同一个操作系统,其不同版本所提同,即使是同一个操作系统,其不同版本所提供的系统调用命令条数也会有所增减。供的系统调用命令条数也会有所增减。 通常,一个操作系统提供的系统调用命令有几通常,一个操作系统提供的系统调用命令有几十个乃至上百条之多,它们各自有一个唯一的十个乃至上
27、百条之多,它们各自有一个唯一的编号或助记符。编号或助记符。计算机操作系统35系统调用分类系统调用分类 (1)设备管理。该类系统调用完成设备的请)设备管理。该类系统调用完成设备的请求或释放、以及设备启动等功能。求或释放、以及设备启动等功能。 (2)文件管理。该类系统调用完成文件的读、)文件管理。该类系统调用完成文件的读、写、创建及删除等功能。写、创建及删除等功能。 (3)进程控制。该类系统调用完成进程的创)进程控制。该类系统调用完成进程的创建、撤销、阻塞及唤醒等功能。建、撤销、阻塞及唤醒等功能。 (4)进程通信。该类系统调用完成进程之间)进程通信。该类系统调用完成进程之间的消息传递或信号传递等功
28、能。的消息传递或信号传递等功能。 (5)内存管理。该类系统调用完成内存的分)内存管理。该类系统调用完成内存的分配、回收以及获取作业占用内存区大小及起始配、回收以及获取作业占用内存区大小及起始地址等功能。地址等功能。 计算机操作系统36系统调用系统调用 由特殊的机器指令实现由特殊的机器指令实现 将系统转入管态将系统转入管态 系统调用程序是一个低级过程系统调用程序是一个低级过程 系统调用是操作系统提供给编程人员的系统调用是操作系统提供给编程人员的唯一接口唯一接口 利用系统调用,动态请求和释放系统资利用系统调用,动态请求和释放系统资源源 完成与硬件相关的工作以及控制程序的完成与硬件相关的工作以及控制
29、程序的执行等执行等计算机操作系统37系统调用执行过程系统调用执行过程用户程序用户程序系统调用命令系统调用命令子程序子程序子程序子程序系统调用程序系统调用程序操作系统内核处于核心态执行操作系统内核处于核心态执行切换到核心态切换到核心态切换到用户态切换到用户态图图11-4 系统调用的执行过程系统调用的执行过程计算机操作系统38 ( 1)通过软中断(或异常)使系统切换到核心模)通过软中断(或异常)使系统切换到核心模式,这需要硬件提供相应的支持。一旦式,这需要硬件提供相应的支持。一旦CPU进入进入核心态,就可以按特权方式运行。核心态,就可以按特权方式运行。 (2)程序计数器和处理机状态存入当前进程的堆
30、)程序计数器和处理机状态存入当前进程的堆栈中。栈中。 (3)将系统调用号存入核心堆栈中。)将系统调用号存入核心堆栈中。 (4)执行汇编代码来保存通用寄存器的内容。)执行汇编代码来保存通用寄存器的内容。 (5)调用相应的操作系统例程来完成系统调用。)调用相应的操作系统例程来完成系统调用。 (6)返回用户方式。)返回用户方式。计算机操作系统39系统调用与一般过程调用的比较系统调用与一般过程调用的比较 运行在不同的系统状态运行在不同的系统状态l一般过程调用,其调用程序和被调用程序都运行在一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态相同状态:核心态或用户态l系统调用:调用程序在
31、用户态,被调用程序在系统系统调用:调用程序在用户态,被调用程序在系统态态 状态的转换状态的转换l一般的过程调用不涉及系统状态的转换,可直接由一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程调用过程转向被调用过程l运行系统调用时,调用和被调用过程在不同系统状运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程态,不允许由调用过程直接转向被调用过程l通过软中断机制先由用户态转换为核心态通过软中断机制先由用户态转换为核心态l在在OSOS核心分析后,转向相应的系统调用处理子程序核心分析后,转向相应的系统调用处理子程序计算机操作系统40 返回问题返回问题l
32、一般过程调用在被调用过程执行完后,回调一般过程调用在被调用过程执行完后,回调用过程用过程l抢占式调度的系统中,被调用过程执行完后,抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回析。如果调用进程仍有最高优先级,则返回到调用进程执行。到调用进程执行。否则否则,引起重新调度,让,引起重新调度,让优先级最高的进程优先执行。此时,系统把优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列。调用进程放入就绪队列。计算机操作系统41 嵌套或递归调用嵌套或递归调用l对系统调用,一般不允许在同一个进
33、程中发对系统调用,一般不允许在同一个进程中发生嵌套或递归(不同进程可以重入同一个系生嵌套或递归(不同进程可以重入同一个系统调用)统调用)进入方式不同进入方式不同l利用利用int或或trap指令进行系统调用;指令进行系统调用;l利用利用call 或或 jmp 指令进入普通的过程调用指令进入普通的过程调用计算机操作系统423.图形用户接口图形用户接口 通过命令接口方式来控制程序虽然有效,但给通过命令接口方式来控制程序虽然有效,但给用户增加了很大的负担,即用户必须记住各种用户增加了很大的负担,即用户必须记住各种命令,并从键盘键入这些命令以及所需要的参命令,并从键盘键入这些命令以及所需要的参数,以控制
34、用户程序的运行。数,以控制用户程序的运行。 并且,不同操作系统所提供的命令语言的词法、并且,不同操作系统所提供的命令语言的词法、语法、语义和表达风格也不一样。语法、语义和表达风格也不一样。 即使一个对即使一个对MS DOS的键盘命令十分熟悉的程的键盘命令十分熟悉的程序员,要改用序员,要改用UNIX时,他也得重新熟悉时,他也得重新熟悉UNIX命令。命令。 而且这种命令语言使用英文表达,对于非英文而且这种命令语言使用英文表达,对于非英文语种国家的计算机应用的推广会形成一种障碍。语种国家的计算机应用的推广会形成一种障碍。 计算机操作系统43 随着计算机应用的广泛发展,计算机迅随着计算机应用的广泛发展
35、,计算机迅速进入了各行各业、千家万户,面对的速进入了各行各业、千家万户,面对的用户来自不同阶层,如何使人机交互方用户来自不同阶层,如何使人机交互方式进一步变革,使人机对话的界面更为式进一步变革,使人机对话的界面更为方便、友好、易学,是一个十分重要的方便、友好、易学,是一个十分重要的问题。问题。 计算机操作系统44 随着大屏幕高分辨率图形显示和多种交互式输随着大屏幕高分辨率图形显示和多种交互式输入输出设备(比如鼠标,触摸屏)的出现,图入输出设备(比如鼠标,触摸屏)的出现,图形用户接口于形用户接口于20世纪世纪80年代后期出现并广泛推年代后期出现并广泛推广。广。 图形用户接口的目标是通过对出现在屏
36、幕上的图形用户接口的目标是通过对出现在屏幕上的对象直接进行操作,以控制和操纵程序的运行。对象直接进行操作,以控制和操纵程序的运行。 大大减少或免除了用户的记忆工作量,其操作大大减少或免除了用户的记忆工作量,其操作方式从原来的记忆并键入改为选择并点取,极方式从原来的记忆并键入改为选择并点取,极大地方便了用户,受到普遍欢迎。大地方便了用户,受到普遍欢迎。 目前图形用户接口是最为常见的人机接口形式,目前图形用户接口是最为常见的人机接口形式,可以认为图形用户接口是命令接口的图形化可以认为图形用户接口是命令接口的图形化计算机操作系统4511.3系统设计与实现系统设计与实现 1.设计目标设计目标 2.机制
37、与策略机制与策略 3.实现实现计算机操作系统461.设计目标设计目标 系统设计的第一个问题是定义系统的目系统设计的第一个问题是定义系统的目标和规格。标和规格。 在最高层,系统设计受到硬件选择和系在最高层,系统设计受到硬件选择和系统类型的影响:批处理、分时、单用户、统类型的影响:批处理、分时、单用户、多用户、分布式、实时或通用目标。多用户、分布式、实时或通用目标。计算机操作系统47设计目标设计目标 除了最高设计层,有些要求可能难以描除了最高设计层,有些要求可能难以描述。一般可以把需求分为两个基本类:述。一般可以把需求分为两个基本类:l用户目标用户目标l系统目标。系统目标。 关于定义操作系统的要求
38、,没有一个唯关于定义操作系统的要求,没有一个唯一的解决方案。多种类型的系统说明了一的解决方案。多种类型的系统说明了不同要求能形成对不同环境的各种解决不同要求能形成对不同环境的各种解决方案。方案。计算机操作系统482.机制与策略机制与策略 是机制和策略的区分。是机制和策略的区分。l机制(机制(Mechanism)决定了如何来做;)决定了如何来做;l策略决定做什么。策略决定做什么。 例如,在操作系统中,定时器是一种确保CPU保护的机制,但是对于特定用户将定时器设置成多长时间是个策略问题。 计算机操作系统49机制与策略机制与策略 机制和策略的区分对于灵活性来说很重机制和策略的区分对于灵活性来说很重要
39、。要。 策略可能会随地点或时间而有所改变。策略可能会随地点或时间而有所改变。 在最坏的情况下,每次策略改变都可能在最坏的情况下,每次策略改变都可能需要底层机制的改变。需要底层机制的改变。 系统需要通用机制。这种策略的改变只系统需要通用机制。这种策略的改变只需要重定义一些系统参数。需要重定义一些系统参数。计算机操作系统503.实现实现 在设计操作系统后,就必须实现它。传在设计操作系统后,就必须实现它。传统地操作系统是用汇编语言来编写的,统地操作系统是用汇编语言来编写的,现代的操作系统更偏向于高级语言,比现代的操作系统更偏向于高级语言,比如如C或或C+。计算机操作系统51 Burroughs计算机
40、的主控程序(计算机的主控程序(MCP)是采用)是采用一种一种ALGOL语言编写的语言编写的 MIT开发的开发的MULTICS主要是用主要是用PL/1编写。编写。 用于用于Prime计算机的计算机的Primos操作系统是用操作系统是用Fortran语言编写的。语言编写的。 UNIX操作系统、操作系统、OS/2和和Windows NT主要是用主要是用C编写的。编写的。 早期的早期的UNIX中,只有中,只有900行代码是用汇编语言行代码是用汇编语言来编写的,主要用于调度程序和设备驱动程序。来编写的,主要用于调度程序和设备驱动程序。计算机操作系统52 使用高级语言来实现操作系统,可以得到与用使用高级语
41、言来实现操作系统,可以得到与用高级语言编写应用程序同样的优点:高级语言编写应用程序同样的优点:l代码编写更快,更为紧凑,更容易理解和调试。代码编写更快,更为紧凑,更容易理解和调试。l编译技术的改进使得只要通过重新编译就可改善整编译技术的改进使得只要通过重新编译就可改善整个操作系统的生成代码。个操作系统的生成代码。l从一个硬件到另一个硬件,操作系统更容易移植。从一个硬件到另一个硬件,操作系统更容易移植。 UNIX操作系统,主要是用C来编写,可用于不同CPU上,如Intel 80 x86、Pentium、Motorola 680 x0、Ultra SPARC、Compaq Alpha和MIPS R
42、X000等。 MS DOS是用Intel 8088汇编语言编写的,只能用于Intel类型的CPU 计算机操作系统53反对者的观点反对者的观点 采用高级语言降低了速度和增加了存储采用高级语言降低了速度和增加了存储要求。要求。计算机操作系统54 诚然,汇编语言高级程序员能编写更高效更小诚然,汇编语言高级程序员能编写更高效更小的子程序,但是现代编译器能对大型程序进行的子程序,但是现代编译器能对大型程序进行复杂分析并采用高级优化技术以生成优良代码。复杂分析并采用高级优化技术以生成优良代码。现代处理器都有很深的流水线和多个功能单元现代处理器都有很深的流水线和多个功能单元块,它们能处理复杂相关性,这些是人类的有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年K2教育人工智能个性化学习系统在提升学生成绩中的应用效果报告
- 2025年光伏电站智能化运维与发电量提升的智能化运维设备智能化改造产业链分析报告
- 2025年新能源汽车充电基础设施投资策略:充电站投资风险管理与控制报告
- 工业互联网平台网络流量整形技术在工业互联网平台数据管理中的应用报告
- 2025年绿色建筑认证体系在绿色建筑设计中的绿色建筑性能评价体系
- 工业互联网平台数据备份与恢复在2025年的物联网技术应用
- 2025年运动品牌数字化营销与用户购物体验优化报告
- 行政管理领域的市政学研究动态试题及答案
- 公共关系学舆论建设试题及答案
- 行政管理与区域经济发展试题及答案
- DB11T 1320-2023 危险场所电气防爆安全检测技术规范
- 2024年时事政治考点大全(173条)
- 施工场地治安保卫管理计划
- 6《夜间飞行的秘密》(课件)统编版语文四年级上册
- 3.5 鼓乐铿锵 课件高中音乐人音版(2019) 必修 音乐鉴赏
- 成人中心静脉导管(CVC)堵塞风险评估及预防-2024团体标准
- 《声声慢(寻寻觅觅)》课件
- 2024年秋季新人教版八年级上册物理全册教案(2024年新教材)
- 高支模专项施工方案(专家论证后)
- 2024年高中自主招生考试化学检测试题
- 解读国有企业管理人员处分条例课件
评论
0/150
提交评论