第七章-操作系统的用户接口
- 格式:doc
- 大小:1022.00 KB
- 文档页数:13
计算机操作系统(第四版)1-8章-课后答案(全)第四版计算机操作系统课后答案第一章1. 操作系统的定义操作系统是一种软件,它管理着计算机系统的硬件和软件资源,并为用户和应用程序提供接口,以方便他们的使用。
2. 操作系统的功能操作系统具有以下功能:- 进程管理:负责创建、执行和终止进程,并管理它们的资源分配。
- 存储管理:管理计算机系统的内存资源,包括内存分配、虚拟内存和页面置换等。
- 文件系统管理:管理计算机系统中的文件和文件夹,包括文件的存储、读写和保护等。
- 设备管理:负责管理计算机系统中的各种设备,如打印机、键盘和鼠标等。
- 用户接口:提供用户与计算机系统进行交互的接口,如命令行界面和图形用户界面。
3. 操作系统的类型操作系统可以分为以下类型:- 批处理操作系统:按照一系列预先定义的指令集来运行任务。
- 分时操作系统:多个用户可以同时使用计算机系统。
- 实时操作系统:对任务的响应时间要求非常高,用于控制系统和嵌入式系统。
- 网络操作系统:支持多台计算机之间的通信和资源共享。
- 分布式操作系统:在多台计算机上分布式地管理和调度任务。
第二章1. 进程与线程的区别进程是计算机系统中正在运行的程序实例,而线程是进程内的一个执行单元。
进程拥有独立的地址空间和资源,而线程共享进程的地址空间和资源。
多个线程可以在同一进程内并发执行,从而提高系统的效率和资源利用率。
2. 进程的状态转换进程可以处于以下状态:- 创建状态:进程正在被创建。
- 就绪状态:进程准备好执行,等待分配CPU资源。
- 运行状态:进程占用CPU资源执行。
- 阻塞状态:进程等待某种事件发生。
- 终止状态:进程完成执行或被终止。
3. 进程调度算法操作系统使用进程调度算法来决定哪个进程应该被执行。
常见的调度算法有:- 先来先服务(FCFS)调度算法:按照进程到达的顺序进行调度。
- 最短作业优先(SJF)调度算法:选择运行时间最短的进程进行调度。
操作系统重点知识总结操作系统》重点知识总结第一章引论1、操作系统定义:是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度以及方便用户使用的程序的集合。
2、操作系统的作用1. os作为用户与计算机硬件系统之间的接口。
2. 作为计算机资源的管理者3. 实现了对计算机资源的抽象。
3、分时系统原理和特征原理:人机交互、共享主机特征:多路性、独立性、及时性、交互性4、脱机I/O 原理:程序和数据的输入和输出都是在外围机的控制下完成。
优点:减少了CPU 空闲时间、提高了I/O 速度。
5、操作系统四个基本特征;其中最重要特征是什么?(并发)并发、共享、虚拟、异步第二章进程管理1 、进程定义、进程特征(结构特征、动态性、并发性、独立性和异步性)1. 进程是程序的一次执行。
2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
3. 进程是具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位。
动态性、并发性、独立性、异步性。
2、进程的基本状态、相互转换原因及转换图(三态)就绪、阻塞、执行3、具有挂起状态的进程状态、相互转换原因及其转换图(五态)活动就绪、静止就绪、活动阻塞、静止阻塞、执行4、什么是进程控制块?进程控制块的作用进程控制块是用于描述进程当前情况以及管理进程运行的全部信息。
1. 作为独立运行基本单位的标志。
2. 能实现间断性运行方式。
3. 提供进程管理、调度所需要的信息4. 实现与其他进程同步与通信5、临界资源定义、临界区的定义一次只能为一个进程使用的资源称为临界资源。
每个进程访问临界资源的代码称为临界区。
6、同步机制应遵循的规则空闲让进、忙则等待、有限等待、让权等待7、记录型信号量的定义,信号量值的物理意义,wait 和signal 操作8、AND 型信号量的定义,Swait 和Ssignal 操作9、经典同步算法:①生产者-消费者问题算法;②不会死锁的哲学家就餐问题算法;③读者-写者问题算法10、利用信号量机制实现进程之间的同步算法(前驱关系、类经典同步问题)11、高级进程通信三种类型。
简答题一、第一章操作系统引论1.实时系统与分时系统的区别?1)多路性。
1.实时信息处理系统也按分时原则为多个终端用户服务。
2.实施控制系统的多路性则主要表现在系统周期地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
3.分时系统中的多路性则与用户情况有关,时多时少。
2)独立性1.实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰。
2.实时控制系统中,对信息的采集和对象的控制也都是彼此互不干扰。
3)及时性1.实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的。
2.实时控制系统的及时性,则是以控制对象所要求的开始截至时间或完成截止时间来确定的。
4)交互性1.实时信息处理系统中,人与系统的交互仅限于访问系统中某些特定的专用服务程序2.分时系统可以向终端用户提供数据处理和资源共享服务。
5)可靠性1.分时系统和实时系统均要求系统可靠,实时系统比分时系统更可靠。
2.操作系统的主要功能1)处理机管理1.进程同步:进程同步的主要任务是为多个进程(含线程)的运行进行协调(两种协调方式)a)进程互斥方式b)进程同步方式2.进程通信:进程通信的主要任务就是用来实现在相互合作的进程之间的信息交换。
3.调度:在传统的操作系统中,包括作业调度和进程调度两步2)存储器管理1.内存分配:分为静态和动态两种方式2.内存保护:主要任务是确保没到用户程序都在自己的内存空间内运行,彼此互不干扰。
3.地址映射:逻辑地址和物理地址4.内存扩充3)设备管理1.缓冲管理2.设备分配3.设备处理4)文件管理1.文件存储空间的管理:其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高问价系统的存取速度.2.目录管理3.文件读写管理与保护5)操作系统与用户的接口1.用户接口a)联机用户接口b)脱机用户接口c)图形用户接口2.程序接口二、第二章进程管理1.进程的特征:由于程序是不能参与并发执行的,为使其并发执行,应为之配置进程控制块1)结构特征1.由程序段,相关的数据段和进程控制块(PCB)三部分构成了进程实体。
第七章参考答案1、操作系统为用户提供的接口有:作业级接口与程序级接口。
作业级接口:操作系统为用户对作业运行全过程控制提供的功能(1) 联机接口(交互式)(2) 脱机接口程序级接口:系统为用户在程序一级提供有关服务而设置,由一组系统调用命令组成•负责管理和控制运行的程序•并在这些程序与系统控制的资源和提供的服务间实现交互作用•用汇编语言:在程序中直接用系统调用命令•用高级语言:可在编程时使用过程调用语句2、接口包括3部分:一组联机命令,终端处理程序,命令解释程序3、联机命令通常有以下几类:(1)系统访问类,包括Login、Password等命令;(2)磁盘操作类,包括Format,Diskcopy,Diskcomp,Bakeup等命令;(3)文件操作类,包括Type、Copy、Comp、Rename、Del等命令;(4)目录操作类,包括Mkdir、dir、rmdir、tree、chdir等命令;(5)通信类;(6)其它命令(见书P222-223)。
4、I/O重定向—用于I/O操作的设备可以更换(即重定向)而不必改变应用程序。
例如:我们正在调试一个应用程序,可将程序的所有输出送到屏幕;而程序调试后,如果需要将程序的结果进行打印,此时需要将I/O重定向的数据结构—逻辑设备表中的显示终端改为打印机,而不修改程序。
I/O重定向具有很大的使用价值,现已经被广泛应用在各种OS 中。
(在UNIX与DOS中有具体的实现形式,可见P230)。
5、就是把第一个命令的输出作为第二个命令的输入;类似地,又把第二个命令的输出作为第三个命令的输入;这样,就由两条已上的命令形成一条管道。
在DOS与UNIX中用“|”作为管道符号。
其格式为 command1| command2| command3|…. commandn 6、见书P22311、COPY命令13、系统调用方式与程序中一般的调用方式的相同点:(1)改变指令流程;(2)重复执行和公用;(3)改变指令流程后需要返回原处系统调用方式与程序中一般的调用方式的不同点:(1)运行在不同的系统状态:一般过程调用,其调用程序和被调用程序都运行在相同状态(核心态或用户态);系统调用:调用程序在用户态,被调用程序在系统态。
操作系统原理课程教学大纲(Princip1esofOperatingSystems)学时数:72学时其中:实验学时:12学时课外学时:0学时学分数:4.5适用专业:计算机科学与技术一、课程的性质、目的和任务性质:本课程是高等院校计算机科学与技术专业本科的一门学科基础课程,是必修课。
目的:通过操作系统原理的学习,了解操作系统的发展过程及种类,掌握操作系统设计中的相关基本概念和原理,以及在操作系统的设计与构造中涉及的资源共享、提高系统资源利用率等各方面基本知识,了解并掌握操作系统在发展过程及将来引入的新技术与方法。
任务:阐述计算机系统的核心软件——操作系统的基本概念、基本原理和实现技术。
主要包括操作系统的用户界面、操作系统的资源管理功能等,其中资源管理还包括进程管理、处理机管理、存储管理、设备管理、文件管理、网络与安全等方面内容,并将操作系统的一般原理与实际操作系统的分析与设计有机地结合。
二、课程教学的基本要求(一)掌握操作系统的基本原理、概念及主要功能(-)掌握进程概念、进程的同步与互斥、思索的预防与检测(H)掌握处理机的调度层次划分与调度、调度方法评价以及调度基本策略(四)掌握存储管理目标与几种存储管理策略(五)掌握设备与处理之间的数据传送方式、缓冲技术以及设备管理基本手段(六)掌握文件系统的物理及逻辑设备的空间组织与管理、多级目录结构、文件东共享实现以及文件系统的安全与防护(七)了解并掌握操作系统的安全与防护基本知识,了解一些病毒与黑客的常用手段以及一些基本应对措施(八)了解网络操作系统的基本概念,了解网络操作系统必须实现的一些基本技术(九)通过实验环节具备一定系统软件和应用软件的开发技能三、课程的教学内容、重点和难点第一章操作系统概论(4学时)一、基本内容(一)操作系统概观(二)操作系统的形成与发展(H)操作系统提供的服务与用户接口(四)流行操作系统简介二、基本要求(一)掌握操作系统的基本概念。
第七章操作系统的用户接口概述•OS是计算机的资源管理器和用户接口;•OS的用户接口负责接收用户向OS提出的服务请求,传递有关信息,并将服务的结果返回给用户;•OS用户接口有两类:联机用户接口(有命令行界面和图形界面两种形式),程序接口(主要是系统调用)。
另外,在Internet中还有一种网络用户接口。
第一节联机命令接口一、什么是联机命令接口•是用户从键盘上输入的OS命令。
通过输入键盘命令,用户可以取得OS 的服务,控制自己的程序执行;•OS的联机命令接口包括:一组联机命令、命令解释程序(命令解释器)和终端处理程序;•联机命令接口的工作过程:(1) 用户在终端上(通过键盘)输入所需命令;(2) 终端处理程序接收该命令,并在屏幕上显示(回显)命令;(3) 一条命令输入完毕,由命令解释程序对命令进行分析,然后执行对应的命令处理程序,完成任务。
二、联机命令1、为了能向用户提供多方面的服务,通常,OS都向用户提供了几十条甚至上百条的联机命令。
这批命令分为内部命令和外部命令两类。
另外,用户建立的每个可执行程序也是一条联机命令(外部命令)。
根据这些命令所完成功能的不同,可把它们分成以下几类:①系统访问类;②磁盘操作类;③文件操作类;④目录操作类;⑤通信类;⑥其他命令。
2、各类命令举例•系统访问类:Login;用户注册命令•磁盘操作命令:Diskcopy;整盘复制命令Format;磁盘格式化命令Diskcomp;软盘比较命令Backup,Restore;硬盘备份与恢复命令•文件操作命令:Type;文件内容显示命令Copy;文件复制命令Comp;文件比较命令Rename;文件重命名命令Erase,Dele;文件删除命令关于文件名中的*和?的意义。
•目录操作命令:Mkdir,Md;建立一个子目录Dir;显示目录表的内容Rmdir,Rd;删除子目录Tree;显示目录结构Chdir,Cd;更改当前工作目录•其它命令I/O重定向命令:在有的OS中定义了两个标准I/O设备。
通常,命令的输入取自标准输入设备,即键盘;而命令的输出通常是送往标准输出设备,即显示终端。
如果在命令中设置输出重定向“>”符,其后接文件名或设备名,表示将命令的输出改向,送到指定文件或设备上。
类似地,若在命令中设置输入重定向“<”符,则不再是从键盘而是从重定向符左边参数所指定的文件或设备上,取得输入信息。
管道连接命令:这是指把第一条命令的输出信息作为第二条命令的输入信息;类似地,又可把第二条命令的输出信息作为第三条命令的输入信息。
这样,由两个(含两条)以上的命令可形成一条管道。
在MS-DOS 和UNIX中,都用“|”作为管道符号。
其一般格式为:Co mmand1 |Command2| … | Commandn;批处理命令:利用一组联机命令构成一个命令程序,能够一次建立多次使用。
该程序的内容保存在文本文件中。
在MS-DOS中这种特殊的文本文件,其后缀名为“.bat”;在UNIX系统中称其为命令文件。
三、键盘终端处理程序1、在联机终端上,为实现人机交互,系统必须能让键盘上的输入和屏幕上的显示及时、同步。
为此,必须配备键盘终端处理程序,实现:接收键盘上输入的字符、字符缓冲、回送显示、屏幕编辑、特殊字符处理等功能。
具体说明如下:2、字符接收功能--接收从键盘上输入的字符,并将它传送给用户程序。
P19-20•面向字符方式的•面向行方式3、字符缓冲功能--暂存从键盘上输入的字符。
P21-23•专用缓冲方式•公用缓冲方式4、回送显示功能回送显示(回显)是指每当用户从键盘输入一个字符后,终端处理程序便将该字符送往屏幕显示。
•由硬件实现回显•由软件实现回显5、屏幕编辑提供若干个编辑键,实现对屏幕内容的编辑。
常用编辑健有:•删除字符键•删除一行键•插入键•移动光标键•屏幕向上滚动或向下滚动一行键6、特殊字符处理识别特殊的键盘字符,将其翻译为其对应的控制命令。
例如:Ctrl+C键或Break或Delete键对应程序终止控制命令。
四、命令解释程序1、命令解释程序的主要作用是:在屏幕上给出提示符,等待用户键入命令;在用户输入命令后,识别命令,再转到相应命令处理程序的入口地址,把控制权交给该处理程序去执行,并将处理结果送屏幕上显示;若用户键入的命令有错,而命令解释程序未能予以识别,或在执行中间出现问题时,则应显示出某一出错信息。
2、命令解释程序的组成:P30-313、命令解释程序的工作流程:P334、典型的命令解释程序有:DOS的;Windows的Cmd.exe;UNIX的Shell等。
第二节图形用户接口一、图形用户界面概述P117-120二、桌面、图标和任务栏三、窗口、窗口的类型、窗口的组成四、菜单和工具五、对话框六、关于X-Window第三节系统调用(程序接口)一、什么是程序接口1、程序接口就是OS的系统调用。
应用程序通过系统调用实现与OS 的通信,申请得到OS提供的服务。
系统调用也可以被OS本身的程序使用。
2、系统调用,对应着OS核心的一组实现各种功能的子程序。
用户在程序中使用系统调用命令调用这些子程序。
二、系统调用的类型1、进程控制类系统调用•创建和终止进程的系统调用•获得和设置进程属性的系统调用•等待某事件出现的系统调用2、进程通信类系统调用•消息传递方式通信•共享存储区方式通信3、文件操纵类系统调用•创建和删除文件•打开和关闭文件•读和写文件4、设备管理类:实现设备管理的功能。
三、系统调用的实现1、程序运行时的两种不同状态----用户态、系统态;P61-63在使用系统调用时,调用程序一般运行在用户态,而被调用的子程序,由于属于OS内核,所以运行在系统态。
P652、系统调用是借助于“陷入”机制来完成运行状态的转换,陷入是一类中断。
每个系统调用对应“系统调用中断处理程序”的一个子程序。
•回顾中断和中断向量的概念中断是指CPU对系统发生某事件时的一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。
中断向量是指中断处理程序的入口地址和程序开始执行时的处理机状态字。
•中断分为外中断(由外设事件引起的中断)和内中断(由CPU内部事件,尤其是执行指令引起的中断)。
内中断也称为“陷入”。
其中有一个陷入就是系统调用。
•陷入机制和陷入向量3、系统调用的一般处理步骤----当程序执行到一个系统调用时,系统产生“陷入”:•处理机的状态由用户态转入系统态;•保护中断现场;•查系统的陷入向量表,得到“系统调用”处理程序的陷入向量;•运行该处理程序,分析系统调用类型,转入相应的系统调用处理子程序运行;•恢复现场或建立新进程的CPU现场,继续执行用户程序。
4、系统调用的返回和嵌套•系统调用的返回(1) 非抢占式CPU调度下的返回;(2) 抢占式CPU调度下的返回;P66•系统调用的嵌套:在系统调用子程序的内部,允许调用另一个系统调用。
但每个系统对嵌套的深度是有一定限制的。
P68第四节Unix/Linux用户界面一、Unix用户界面简介1、UNIX系统在结构上分为两部分:•外壳:各种语言的处理程序和其他系统实用程序、shell(命令解释程序)、用户自编程序。
•内核:实现操作系统各项管理功能的程序。
•外壳与内核之间的接口是系统调用。
2、shell命令语言•shell是OS的最外层,它包括一批联机命令和shell命令解释程序。
在OS的提示符下,用户从键盘上输入一条命令,就可以完成某项功能;(常用命令P34-P59)•shell也是一种程序设计语言,用户可以用shell的命令组成命令序列,构成程序文件。
•shell命令的格式:<命令名> [— <选项表>] [ <参数表>]例如:gcc -o sy1 file1ls file1 file23、Unix的系统调用常用系统调用P94-P116二、Linux用户界面简介1、联机命令接口Linux的联机命令接口有两种形式:•图形界面形式:提供WIMP技术的命令操作。
•命令行形式:Shell,提供丰富的操作命令。
如ls ,目录列表命令。
在面板上单击“应用程序”→“系统工具”→“终端”命令,打开终端窗口;在终端窗口中输入需要运行的命令。
2、程序接口即系统调用。
Linux的系统调用以标准实用子程序(函数)的形式提供用户在编程中使用。
Linux的系统调用在分类和功能上都与Unix系统的相同。
3、Gedit是Linux的一个GNOME桌面环境下的一个纯文本编辑器,也可以把它用来当成是一个集成开发环境(IDE),它会根据不同的语言高亮显现关键字和标识符等。
4、gccLinux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。
gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。
gcc编译器能将C、C++语言源程序、汇编语言程序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。
gcc最基本的用法是:gcc [options] [filenames]其中options就是编译器所需要的参数,filenames给出相关的源文件名称。
虽然我们称gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。
命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。
接着调用cc1进行编译,这个阶段根据输入文件生成以.o为后缀的目标文件。
当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。
在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。
如果命令中options参数被选为:-o filename,则最后将产生名称为filename的可执行文件,同时这个名称不能和源文件同名。
如果不给出这个选项,gcc就给出预设的可执行文件a.out。
Linux的可执行程序没有省缺的扩展名,也可以没有扩展名。