【操作系统】面向真题学操作系统 —— 操作系统概述客观题(2)

简介: 【操作系统】面向真题学操作系统 —— 操作系统概述客观题(2)

2.2.2)历届真题讲解


① 操作系统的基本认知

image.png

答案:D

这个题涉及计算机组成原因的知识,先放置答案,再细细研讨。

系统开机之后,操作系统的程序会被自动加载到内存中的系统区,内存是啥,是RAM中的一部分。

回顾一下计算机组成原因的内容:

ROM和RAM值的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据。我暂时理解ROM相当于PC机上的硬盘,至于RAM,比较典型的是计算机的内存。

ROM —— Read Only Memory 唯读记忆体。

RAM —— Random Access Memory 随机存储器

EPROM —— EPROM是一种具有可擦除功能,擦除后即可进行再编程的ROM内存

BIOS —— BIOS是个人电脑启动时加载的第一个软件。 它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。


参考文章 —— ROM、RAM、SRAM、DRAM、FLASH区别(转载+梳理)


② 并发和并行

image.png

答案:D

在单处理机系统中,同一时刻只能有一个进程占用处理机,因此进程与进程之间是无法并行执行的;

处理机和设备是可以并行的,比如CPU和显示屏是可以并行工作的;

通道是独立于CPU、控制输入/输出的设备,两者是可以并行的;

设备与设备之间了,比如显示屏和打印机可以同时工作,对吧😉


③ 系统调用

image.png

答案:A

这个题目应该能秒。操作系统接口主要有命令接口和程序接口(也称系统调用)

既然恰好遇到了库函数和原语,就跟着浅认识一下吧。

库函数是高级语言中提供的与系统调用对应的函数(当然,也有一些库函数和系统调用无关),库函数存在的目的是为了隐藏访管指令的细节,使得系统调用更加方便,可以理解为,库函数是系统调用的上层。

至于原语,可以看下图:

微信图片_20221020210349.png

image.png

答案:C

假如基础知识扎实(或者还记得我开头放置的思维导图),那应该还是能凭着感觉选择出正确答案的。


环节一,时刻谨记:和资源相关操作都要用系统调用向操作系统提出请求,既然需要执行系统调用,那就是表示需要操作系统提供相应的计算机资源了。现在理解环节一的传递系统调用参数了吧


环节二的执行陷入(trap)指令其实还比较好理解,系统调用是内核和应用程序之间的接口,应用程序要访问硬件设备或者其他操作系统资源的时候,就必须通过系统调用,但是系统调用只会发生在核心态,那么就需要内中断(trap)来实现用户态到核心态的切换。


环节三的CPU执行相应服务和环节四的返回用户态应该就更好理解了。

微信图片_20221020210541.png

image.png

答案:C

这个题应该是比较好选出来的,正确的选项可以当做关于系统调用的相关知识点记忆一下,有个印象就好,因为还会重复重复遇到的。


④ 操作系统的分类和发展


image.png

答案:A

I考察的是批处理系统的缺点 —— 缺乏交互性,常常常考点

至于III,多道程序设计技术允许同时把多个程序放入内存,并允许它们交替的在CPU中运行,它们共享计算机资源。当一道程序因为I/O请求暂停运行的时候,CPU就立刻去运行其他程序,也就是说I/O设备可与CPU并行,至于中断技术是实现这些操作的前保障了。


image.png

答案:D

多道程序系统通过组织作业(编码或数据)使CPU总有一个作业可执行,从而提高了CPU的利用率、系统吞吐量和I/O设备利用率,I,III,IV是优点。但系统要付出额外的开销来组织作业和切换作业,II错误。所以选D。

image.png

答案:C

现在操作系统都是多任务的,主要特点是并发和并行,单个CPU也可以满足要求的


⑤ 操作系统的运行机制和体系结构


image.png

答案:A

缺页处理和时钟中断都是属于中断,需要在核心态执行;进程调度程序是操作系统的内核进程,不需要用户进行任何干预;

微信图片_20221020210942.png

image.png

答案:C

着重着重区分,什么是发生、调用,什么是执行。

进程切换是属于操作系统执行过程中的事件,操作系统只能在核心态执行作业,那么进程切换能发生在核心态。

系统调用是操作系统提供给用户程序的接口,是发生在用户态,执行在核心态的。

外部中断是用户态到核心态的"门",发生在用户态,执行在核心态。

缺页也是属于一种中断,那么也是用户态发生,核心态执行。


/image.png

image.png

答案:D

关中断指令,字面意思:关闭中断的指令,只能在核心态执行。

trap指令在前面系统调用中已经阐述了其作用。

image.png

答案:B

整数除0会触发异常,需要中断处理,会导致用户态切换到核心态。

read系统调用函数,这么直接的名字😺,也是只能在核心态下执行。

微信图片_20221020211151.png

答案:C

这个题目主要是考察,哪些指令可能导致异常出现,然后触发中断处理,导致CPU从用户态切换到核心态。

对于A,可能触发整数除0;

对于B,它直接就是中断的一部分;

对于D,可坑出现取地址的时候,出现缺页异常。


⑥ 中断以及异常

image.png

答案:D

中断的执行流程大致如下:

首先,当CPU检测到中断信号之后,由硬件自动保存被中断程序的断点(即程序计数器PC);

然后,硬件会找到本次中断信号对应的中断向量,操作系统初始化中断向量表。中断向量表中指明本次中断服务程序的入口地址;

接下来会开始执行中断服务程序,包括保存程序状态字PSW,保存中断屏蔽字,保存各个通用寄存器的值,并提供与中断信号对应的中断服务。


温馨提示:关于整数除0背后的处理过程,其是属于异常中的终止(abort)还是故障(fault),博主目前也不是特别清楚,但是随着学习的深入,肯定能搞定,我会及时回来更新。


微信图片_20221020211319.png

答案:A

这个题考察的知识点是区分中断和异常。

异常是指令执行过程中在处理器内部发生的特殊事件,就是由于CPU当前执行的指令出了问题;

中断是来自CPU执行指令以外发生,中断产生的原因和CPU当前执行的指令无关(指令执行完毕,即公操作阶段);


其实知道异常和中断的定义,在写题时候还是挺乏力的,可以结合理解,再边刷边理解。

A 的访存缺页,访问页面不在内存中,是CPU正在执行的程序导致的,属于异常。

B 的整数除零,也是当前CPU正在执行的程序导致的,属于异常

C 的DMA是设备的一类I/O,设备发出I/O结束中断,是CPU执行指令以外的事件的发生,属于中断。

D 的也不太能查到解释资料。我后来认知更加清晰了,回来迭代内容

微信图片_20221020211352.png

参考文章 —— 中断&异常

参考文章 —— csapp之第8章:异常控制流

微信图片_20221020211420.png

答案:D

非法指令、整数除零等异常,是无法通过异常处理程序恢复故障,因此不能回到原本的断点执行,必须终止进程的执行。ABC可以当做知识点积累起来

微信图片_20221020211806.png

答案:B

这个知识点在上面的习题中提到过类似的。中断处理中,最重要的两个寄存器是PC和PSWR

子程序调用只需要保存程序断点,也是该指令的下一个指令的地址;

但是中断调用子程序不仅要保存断点(PC 的内容),还要保存程序状态字寄存器(PSWR)的内容

image.png

答案:B

上一题的巩固变式。

外部中断处理过程中,PC值由中断隐式指令自动保存,而通用寄存器的内容会由操作系统保存

微信图片_20221020211927.png

答案:D

时钟中断的主要任务是处理与时间相关的信息以及决定是否执行调度程序。

和时间相关的信息包括:系统时间、进程的时间片、延时、使用CPU的时间、各种定时器。


2.3)写题之后总结的思维导图


经过一番习题的摧残,最后将原本比较片面的思维导图,再度完善,完善为更加适应考试内容的版本。同样的,我这里只是放截图。我在gitee以及github中提供了思维导图原文件,建议用软件打开看更加清晰。

微信图片_20221020212016.png

3)总结


通过最后真题这个板块的内容,大家应该可以发现:

操作系统的运行机制以及异常和中断,真的考察的量特别大。

其次是操作系统的发展阶段中出现的批处理系统的缺点。

最后,比较容易反复出现的是关于调用和执行的区别的理解。

相关文章
|
2月前
|
Unix C语言
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
操作系统基础:IO管理概述【上】
|
2月前
|
数据采集 存储 Ubuntu
Linux操作系统概述
【1月更文挑战第1天】Linux操作系统概述。
50 1
|
2月前
|
存储 调度
操作系统基础:内存管理概述【下】
操作系统基础:内存管理概述【下】
|
2月前
|
算法
操作系统基础:内存管理概述【上】
操作系统基础:内存管理概述【上】
|
9月前
|
存储 Linux Android开发
操作系统的概述
操作系统(Operating System,简称OS)简单通俗来讲就是一款软件。不过和一般软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件。任何其他软件都必须在操作系统的支持下才能运行。 Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统。 计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成: 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等; 软件会按照用户的要求协调整台计算机的工
88 1
|
9月前
操作系统(3.5)--死锁概述
系统中所拥有的不可抢占性资源其数量不足以满足多个进程运行的需要,使得进程在运行过程中,会因争夺资源而陷入僵局。
62 0
|
11月前
|
存储 数据建模 Serverless
操作系统概述
4.2 Excel的基本操作 4.2.1工作簿的新建和打开 1、工作簿与工作表 工作簿是指在excel中用来存储并处理数据的文件,其扩展名是.xlsx。 各工作簿是由工作表组成的,每个工作簿都可以包含一个或多个工作表,用户可以用其中的工作表来组织种相关数据。工作表不能单独存盘,只有工作簿才能以文件的形式存盘;因此执行保存命令式对工作簿执行的,会将其中所有工作表一起保存。 1)工作簿(Sheet)是一个由行和列交叉排列的二维表格,也称作电子表格,用于组织和分析数据。 2)Excel的一个工作簿默认有3个工作表,用户可以根据需要添加工作表,一个工作簿最多可以包括无数个工作表 3)但新建时
|
9月前
|
Linux Shell Go
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
70 0
|
9月前
|
安全 调度 数据安全/隐私保护
操作系统概述
操作系统是计算机系统中的核心软件之一,它是管理和控制计算机硬件和软件资源的系统软件。操作系统提供了一个统一的接口,使得用户和应用程序可以方便地与计算机系统进行交互。下面将详细介绍操作系统的概述及其功能。 1. 定义:操作系统是一种系统软件,它是计算机系统中的核心组成部分,负责管理和控制计算机硬件和软件资源,为用户和应用程序提供一个统一的接口。 2. 功能:操作系统具有多种功能,包括进程管理、内存管理、文件系统管理、设备管理和用户界面等。 - 进程管理:操作系统负责创建、调度和终止进程,为进程分配资源,控制进程的执行和通信。 - 内存管理:操作系统负责管理计算机的内存资源,包
32 0
|
22天前
|
Python
Python的`os`模块核心功能概述:通过`os.getcwd()`获取
【6月更文挑战第23天】Python的`os`模块核心功能概述:通过`os.getcwd()`获取、`os.chdir()`改变工作目录;使用`os.mkdir()`, `os.makedirs()`创建目录,`os.rmdir()`, `os.removedirs()`删除;`os.rename()`, `os.renames()`重命名文件或目录;`os.remove()`删除文件;`os.listdir()`列出目录内容;`os.path.exists()`, `os.path.isfile()`, `os.path.isdir()`检查路径;`os.stat()`获取文件属性。
26 4