1、什么是操作系统?操作系统有什么特性?
操作系统的定义:操作系统就是位于硬件层之上,所有其他系统软件层之下的一个系统软件,通过它管理系统中各种软件和硬件资源,使他们能被充分利用,方便用户使用计算机系统。
操作系统的特性:操作系统是一个程序,它具有4个非常重要的特性,即程序的并发性、资源的共享性、异步性和虚拟性。
2、硬件将处理器状态分为两种,即管态和目态,这样做会给操作系统的设计带来什么好处?
区分内核态和用户态两种操作方式的目的是为了保护操作系统程序
通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统
外层的应用程序。对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理
程序”要执行一些特权指令,而“被管理程序”出于安全考虑不能执行这些指令。所谓特权指令,
是指计算机中不允许用户直接使用的指令,如I/O指令、 置中断指令,存取用于内存保护的寄存
器、送程序状态字到程序状态字寄存器等指令。
3、何谓特权指令?试举例说明,如果允许用户使用特权指令,会带来什么后果?举例说明。
在现代计算机中,一般都提供一些专门供操作系统使用的特殊指令,这些指令只能在管态执行,称为特权指令。这些指令包括:停机指令、置PSW指令、中断操作指令(开中断、关中断、屏蔽中断)、输入输出指令等。用户程序不能执行这些特权指令。如果允许用户程序执行特权指令,有可能干扰操作系统的正常运行,甚至有可能使整个系统崩溃。
4、中断向量在计算机中的存储位置是由硬件决定的,还是由软件决定的?
中断向量在机器中的存放位置是由硬件确定的。例如,在INTEL 80x86 CPU 中,内存空间0x00000—0x003ff为中断向量空间。
5、中断向量的内容是由操作系统程序决定的,还是用户程序决定的?
由操作系统程序确定的。向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
6、中断向量的处理状态字应该标明管态还是目态?为什么?
应当标明是管态,这样才能保证中断发生后进入操作系统规定的中断处理程序。
7、系统如何由目态转换为管态?如何由管态转换为目态?
目态=>管态:唯一途径是中断,中断发生时,中断向量中的处理器状态字应标识处于管态。
管态=>目态:通过修改程序状态字(置PSW)来实现。
8、中断与程序并发之间有什么关系?
中断是程序并发的前提条件。如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
9、根据用途说明“栈”和“堆”的差别。
栈是一块按后进先出规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
10、何谓系统栈?何为用户栈?系统栈有何用途?用户栈有何用途?
系统栈是内存中属于操作系统空间的一块固定区域,其主要用途为:
(1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;
(2)保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。
用户栈是用户进程空间中的一块区域,用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。
11、为何无法确定用户栈段的长度?
用户堆栈段的长度主要取决于两个因素:
(1)用户进程(线程)中子程序(函数)之间的嵌套调用深度;
(2)子程序参数和局部变量的数量及类型。
这些在进程(线程)运行前无法确定,由此导致用户堆栈段的长度无法确定。
12、为何堆栈段的动态扩展可能导致空间的变迁?
堆栈段的扩充需要在原来进程空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空间搬迁到另外一个区域,以实现地址空间扩展要求。
13、何谓并行?何谓并发?在单处理器中,下述那些并发和并行现象可能发生,哪些不会发生?
(1)进程与进程之间的并行
(2)进程与进程之间的并发
(3)处理器与设备之间的并行
(4)处理器与设备之间的并发
(5)通道与通道之间的并行
(6)通道与通道之间的并发
所谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;所谓并发,是指在一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行;多个进程轮流使用处理器。在单处理器系统中,可能发生的并行和并发现象如下:
(2) 进程与进程之间的并发。例如,在Windows操作系统中,mp3播放进程和Word字处理进程可以并发执行,这样用户就可以边听音乐边写文章了。
(3) 处理机与设备之间的并行。例如,当处理机进行科学运算时,打印机可以打印文档。
(4) 处理机与通道之间的并行。通道程序的执行可与处理机的操作并行。
(5) 通道与通道之间的并行。通常一个系统中有多个通道,这些通道可以并行地执行相应的通道程序。
(6) 设备与设备之间的并行。例如打印机打印文档时,磁带机在输入数据。
14、何谓作业?它包括哪几个部分?各个部分的用途是什么?
所谓作业是指用户要求计算机系统为其完成的计算任务的集合,一个作业通常包括程序、程序所处理的数据以及作业说明书。程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。
15、讲述批处理操作系统与分时操作系统的差别
批处理系统没有人机交互,而分时系统允许多个用户同时使用
批处理系统中允许程序长时间地占用CPU,而分时系统不允许
16、从透明性和资源共享两个方面说明网络操作系统与分布式操作系统之间的差别
从透明性上看,分布式操作系统优于网络操作系统。网络用户能够感觉到所访问的资源是在本地还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地。分布式操作系统掩盖了资源在地理位置上的差异。
从资源共享上看,分布式操作系统比网络操作系统能共享更多的资源。在网络操作系统中,一个计算任务不能由一台主机任意迁移到另外一台主机上运行;而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现处理机和存储资源的共享,从而达到整个系统的负载平衡。
17、为什么构成分布式操作系统的主机一般都是相同的或者是兼容的?
这样更有利于进程的动态迁移。如果主机不兼容,则在一台主机上能运行的进程,因所用指令系统不同,在另一台主机上可能无法运行,导致进程难于在不同主机间迁移,使得分布式系统难于实现负载平衡。
18、集群系统与分布时系统有何差别?
分布式系统允许用户共享通过网络连接的、在地理位置上是分散的计算机的资源,可以通过客户机-服务器模式或对等模式来提供服务。
在集群系统中,多个机器可以完成驻留在共享存储器上的数据的计算,即便某些集群的子集出错,计算仍可以继续。
总结来看,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
19、何谓云存储?何谓云计算?
云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。
而云计算是分布式处理、并行处理和网格计算的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多台服务器所组成的庞大系统经计算分析之后将处理结果回传给用户
20、为什么嵌入式操作系统常常采用微内核结构?微内核结构包括那些内容?
嵌入式操作系统与一般操作系统相比具有比较明显的差别:
(1)嵌入式操作系统规模一般较小,因为一般硬件配置较低,而且对操作系统提供的功能要求也不高。
(2)应用领域差别大,对于不同的应用领域其硬件环境和设备配置情况有明显差别。
所以,嵌入式操作系统一般采用微内核(micro kernel)结构。
微内核包括如下基本成分:
(1)处理机调度;
(2)基本内存管理;
(3)通讯机制;
(4)电源管理。
21、微内核结构有哪些优点和缺点?
优点:灵活性高、可靠性强、可以移植性强、便于维护
缺点:效率相对较低
22、操作系统为用户和上层软件提供了那种界面形式?相应的界面形式适用于那种应用环境中?
交互终端命令:计算机专业人员
图形用户界面:非计算机专业人员
触屏用户界面:手机、平板等
作业控制语言
系统调用命令