> 文档中心 > 第三话·操作系统的运行环境·细节居然如此之多?

第三话·操作系统的运行环境·细节居然如此之多?


🌕写在前面


Hello🤗大家好啊,我是kikokingzz,名字太长不好记,大家可以叫我kiko哦~

从今天开始,我们将要开启一个新的系列【闪耀计划】,没错!这是今年上半年的一整个系列计划!本专题目的是通过百天刷题计划,通过题目和知识点串联的方式完成对计算机操作系统的复习和巩固;同时还配有专门的笔记总结和文档教程哦!想要搞定,搞透计算机操作系统的同学,本专栏将会通过模块化的分类,刷够1000道题,为大家提供点对点的考点相关知识轰炸!值得注意的是,本专栏将会通过教程+课后习题的方式来进行巩固教学,课后习题的题量也是算入总题数的哦!

🎉🎉订阅本专栏,将为你带来最一手的备战秘籍!🎉🎉

🍊博客主页:kikoking的江湖背景🍊


🌟🌟往期必看🌟🌟

🔥【闪耀计划】第一话· 操作系统的基本概念🔥

🔥【闪耀计划】第二话·现代操作系统的前世今生🔥

目录

🌕写在前面

🍺知识点5:操作系统的运行环境

🥝5.1 操作系统的两类程序

🍊1.内核程序

🍊2.应用程序

📜习题检测

🥝5.2 CPU的两种状态

🍊1.内核态

🍊2.用户

🥝5.3 操作系统的内核及其组成

🍊1.时钟管理

🍊2.中断机制中的一小部分(详见后文)

🍊3.原语

🍊4.系统控制的数据结构

📜习题检测

🥝5.5 中断和异常

🍊1.什么是中断和异常?

🍊2.中断和异常有什么作用?

🍊3.中断的处理过程是怎样的?

📜习题检测

🥝5.6 系统调用

🍓1.什么是系统调用?

🍓2.库函数与系统调用有什么区别?

🍓3.系统调用命令有哪些,为什么运行在内核态?

🍓4.为什么要使用系统调用?

🍓5.用户程序如何发起系统调用?

🍓6.系统调用的过程是怎样的?

📜习题检测

🌕写在最后

热爱所热爱的, 学习伴随终生,kikokingzz与你同在!❥(^_-)

🍺知识点5:操作系统的运行环境

🥝5.1 操作系统的两类程序


计算机系统中,CPU通常执行两种不同性质的程序:一种是操作系统的内核程序;另一种是用户自编的应用程序(即系统外层的应用程序)

🍊1.内核程序

Q1:什么是内核?

A1:由很多内核程序组成了“操作系统内核”,简称“内核”,内核是操作系统最重要最核心的部分,也是最接近硬件的部分。

Q2:什么是特权指令

A2: 特权指令是指计算机中不允许用户直接使用的指令;如I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器、修改PSW的指令、开中断指令、关中断指令等指令(会考!)

035.【2021统考真题】下列指令中,只能在内核态执行的是( )。A.trap指令B.IO指令C.数据传送指令D.设置断点指令036.下列选项中,必须在核心态下执行的指令是( )。A.从内存中取数B.将运算结果装入内存C.算术运算D.输入/输出

kiko:通过上图特权指令列出的具体细节,可知这两题的答案都是I/O指令,即输入/输出指令只能在内核态执行,这是因为输入/输出指令涉及中断操作,而中断处理是系统内核负责的,工作在核心态。而上面两题中的其他选项,都可通过汇编语言编程实现。


Q3:特权指令是给谁使用的?

A3:对操作系统而言,内核程序是应用程序的管理者,因此作为“管理者”的内核程序就有一些“特权”,可以执行一些特权指令,而“被管理程序”(即用户自编程序)出于安全考虑不能执行这些指令。

037.处理器执行的指令被分为两类,其中有一类称为特权指令,它只允许( )使用。A.操作员B.联机用户C.目标程序D.操作系统

kiko:刚刚才学过,内核程序有特权,而内核程序又隶属于操作系统,因此允许操作系统使用特权指令。


🍊2.应用程序

Q1:什么是非特权指令?

A1:非特权质量指允许用户直接使用的指令,它不能直接访问系统中的硬件资源,仅限于访问用户的地址空间,这也是为了防止用户程序对系统造成破坏。

📜习题检测


📜038.题目难度 ⭐️⭐️

038.在操作系统中,只能在核心态下运行的指令是( )。A.读时钟指令B.置时钟指令C.取数指令D.寄存器清零

🍊详细题解:

在核心态下运行的是特权指令,对于上面四个选项中,只有“置时钟指令”属于特权指令,只能在核心态下运行。

换一种角度看,若在用户态下允许执行“置时钟指令”,则一个用户进程可以在时间片快要结束之前将时钟改回去,从而导致时间片永远不会用完,进而导致该用户进程一直占用CPU,这显然是不合理的。

A、C、D三项均可以在汇编语言中涉及,因此都可以运行在用户态。

✅正确答案:B


📜039.题目难度 ⭐️⭐️⭐️

039.在操作系统中,只能在核心态下执行的指令是( )。A.读时钟B.取数C.广义指令D.寄存器清“O”

🍊详细题解:

广义指令即系统调用命令,它必然工作在核心态。我们要注意区分“执行”和“调用”,广义指令的调用可能发生在用户态,调用广义指令的那条指令不一定是特权指令,但广义指令存在于核心态中,所以执行一定在核心态。

A、B、D都可以在用户态下运行。

✅正确答案:C


📜040.题目难度 ⭐️⭐️

040.【2011统考真题】下列选项中,在用户态执行的是( )。A.命令解释程序B.缺页处理程序C.进程调度程序D.时钟中断处理程序

🍊详细题解:

B、D都属于中断,在核心态执行;进程调度是操作系统内核进程,无须用户干预,在核心态执行;命令解释程序属于命令接口,是面向用户的,它在用户态执行。

✅正确答案:A


📜041.题目难度 ⭐️⭐️

041.【2012统考真题】下列选项中,不可能在用户态发生的事件是( )。A.系统调用B.外部中断C.进程切换D.缺页

🍊详细题解:

A. 系统调用是在用户态发生的,但系统调用的执行是在核心态进行的。

B. 外部中断是在用户态发生的,但中断的执行是在核心态进行的。

C. 进程切换是属于内核的功能,是不可能在用户态进行的。

D. 缺页是发生在用户态,但对于缺页的处理是在核心态进行的。

✅正确答案:C


📜042.题目难度 ⭐️⭐️

042.下列说法中,正确的是( )。I.批处理的主要缺点是需要大量内存II.当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下执行III.操作系统中采用多道程序设计技术的最主要原因是提高CPU和外部设备的可靠性IV.操作系统中,通道技术是一种硬件技术A.I、II B.I、IIIC.II、IV D. II、III、IV

🍊详细题解:

I.  批处理的主要缺点是缺少交互性。

II. 输入/输出指令需要中断操作,中断必须在核心态下执行。

III. 多道性是为了提高系统利用率和吞吐量而提出的。

IV. I/O通道实际上是一种特殊的处理器,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。

✅正确答案:C

 ✨✨✨我是分割线✨✨✨

🥝5.2 CPU的两种状态


在具体实现上,将CPU的允许模式划分为用户态(目态)和核心态(又称管态、内核态)。可以理解为CPU内部有一个小开关,当小开关为0时,CPU处于核心态,此时CPU可以执行特权指令;当小开关为1时,CPU处于用户态,此时CPU只能执行非特权指令。

🍊1.内核态

处于内核态时,PSW中的二进制位置0,说明此时正在运行的是内核程序,此时可以执行特权指令。

Q1:内核态如何切换到用户态?

A1:执行一条特权指令,修改PSW的标志位为“用户态”,这个动作意味着操作系统主动让出CPU使用权。

043.当CPU执行操作系统代码时,处理器处于( )。A.自由态B.用户态C.核心态D.就绪态

kiko:CPU执行操作系统代码,即此时位于核心态;正确答案:C


🍊2.用户态

处于用户态时,PSW中的二进制位置1,说明此时正在运行的是应用程序,此时只能执行非特权指令

Q1:用户态如何切换到内核态?

A1:由“中断”触发,硬件自动完成CPU状态转换,触发中断信号意味着系统将强行夺回CPU使用权。

044.计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换则是由( )完成的。A.硬件B.核心态程序C.用户程序D.中断处理程序

kiko:计算机使通过硬件中断机制完成由用户态到核心态的转换。B项的核心态程序只有在操作系统进入核心态之后才可以运行;D项的中断处理程序一般也运行在核心态,无法完成“转换”这一任务;如果允许C项用户程序负责,则用户程序中就可以使用核心态指令,威胁计算机安全;正确答案:A

✨✨✨我是分割线✨✨✨

🥝5.3 操作系统的内核及其组成


Q1:操作系统的内核是什么?

A1:内核是计算机上配置的底层软件,它管理着系统的各种资源,可以看作是连接应用程序和硬件之间的一座桥梁。

Q2:内核由哪些内容构成?

A2:现代操作系统几乎都是分层式的结构,操作系统的各项功能分别被设置在不同的层次上,一些与硬件关联较紧密的模块,如时钟管理、中断处理、设备驱动等处于最低层。其次是允许频率较高的程序,如进程管理、存储器管理和设备管理等。这两部分构成了操作系统的内核。这部分指令工作在核心态。大多数操作系统的内核包括4方面内容:

🍊1.时钟管理

在计算机的各种部件中,时钟是最关键的设备,系统管理的方方面面无不依赖于时钟。

Q3:时钟的作用有哪些?

A3:时钟主要有两个功能。第一个功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间;第二个功能是时钟中断,操作系统可以通过时钟中断的管理,实现进程的切换。例如,在分时操作系统中采取时间片轮转调度。


🍊2.中断机制中的一小部分(详见后文)

Q4:为什么要引入中断机制?

A4:引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备,后来逐步得到发展,形成了多种类型,成为操作系统各项操作的基础。例如:键盘或鼠标信息的输入,进程的管理和调度、系统功能的调度、设备驱动、文件访问等,都依赖于中断机制。可以说,现代操作系统是靠中断驱动的软件。

Q4:中断机制中的哪一部分属于内核?

A4:中断机制中,只有一小部分功能属于内核,它们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。


🍊3.原语

Q5:什么是原语,它有什么特点?

A5:原语是操作系统底层的一些可被调用的公共小程序,它具有以下特点:

  • 1.处于操作系统最底层,是最接近硬件的部分
  • 2.这些程序的运行具有原子性,其操作只能一气呵成(为了系统安全和便于管理)
  • 3.这些程序的运行时间都特别短,而且调用频繁

Q6:原语是如何做到“一气呵成的”?

A5:原语的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断;它是用“关中断指令“和”开中断指令“这两个特权指令实现原子性


🍊4.系统控制的数据结构

系统中用来登记状态信息的数据结构有很多(如:各类链表、消息队列、缓冲区),为了实现有效的管理,系统需要一些基本的操作,常见的有以下三种:

1.进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块(PCB)等。

2.内存管理:内存信息保护程序、存储器的空间分派和回收等。

3.设备管理:缓冲区管理、设备分配和回收等。

📜习题检测


📜045.题目难度 ⭐️⭐️

045.下列操作系统的各个功能组成部分中,( )可以不需要硬件的支持。A.进程调度B.时钟管理C.地址映射D.中断系统

🍊详细题解:

A. 进程调度由调度算法决定CPU使用权,由操作系统实现,不需要硬件的支持。

B. 时钟管理中,需要硬件计数器保持时钟的运行。

C. 地址映射中需要基地址寄存器和地址加法器的支持。

D. 中断处理流程的前三个步骤是由硬件直接实现的;例如“中断向量地址形成部件”

✅正确答案:A

✨✨✨我是分割线✨✨✨

🥝5.5 中断和异常


🍊1.什么是中断和异常?

中断也称为外中断,指来自CPU执行指令以外的事情的发生,这一类中断通常是与当前指令执行无关事件,即它们与当前处理机运行的程序无关。例如:

  • 设备发出的I/O结束中断:表示设备输入/输出处理完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。
  • 时钟中断:表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。

异常也称为内中断,是指来自CPU执行指令内部的事件,异常不能被屏蔽,一旦出现,就应该立即处理。一些引起异常的事件有:程序的非法操作码、地址越界、运算溢出、虚拟系统的缺页、陷入指令等。

Q1:陷入指令是什么?

A1:陷入指令是一种实现安排的异常事件,用于在用户态下调用操作系统内核程序。

046.【2016统考真题】异常是指令执行过程中在处理器内部发生的特殊事件,中断是来自处理器外部的请求事件。下列关于中断或异常情况的叙述中,错误的是( )。A.“访存时缺页”属于中断B.“整数除以0”属于异常C.“DMA传送结束”属于中断D.“存储保护错”属于异常

kiko:A.“访存时缺页”是在指令执行是产生的,属于异常;B、D是内中断,都是自CPU执行指令内部的事件;C属于IO传输结束,属于CPU执行指令以外的事情,属于外中断(中断);正确答案:A

047.【2018统考真题】定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是( )。I.内核中时钟变量的值II.当前进程占用CPU的时间III.当前进程在时间片内的剩余执行时间A.仅I、II B.仅II、III C.仅I、II D.I、II、III

kiko:时钟中断的主要工作是处理和时间有关的信息及决定是否执行调度程序。和时间有关的所有信息包括系统时间、进程的时间片、延时、使用CPU的时间、各种定时器,因此I、II、III都正确;正确答案:D


🍊2.中断和异常有什么作用?

功能1. 实现核心态与用户态切换

在操作系统引入核心态和用户态这两种工作状态后,就需要考虑这两种状态之间如何切换,操作系统运行在核心态,而用户程序运行在用户态,系统不允许用户程序实现核心态的功能,而用户程序有时又需要使用核心态的功能,因此中断和异常便诞生了!

打个比方来说:系统在核心态建立了一些“门”,以便实现用户态进入核心态,而用户态程序唯一能进入这些“门”的途径就是通过中断和异常。发生中断或异常时,运行在用户态的CPU会立即进入核心态,这一操作是通过硬件(即PSW寄存器)实现的。

048.【2013统考真题】下列选项中,会导致用户进程从用户态切换到内核态的操作是( )。I.整数除以零 II.sin()函数调用 III.read系统调用A.仅I、II B.仅I、III C.仅II、III D.I、II、III

kiko:我们知道,核心态与用户态之间的切换需要通过“中断”实现,而(I)会产生内中断(异常);(III)使用了系统调用,是用户程序主动请求中断,请求操作系统提供的一些子功能;,而 sin( )函数调用是在用户态下进行的;正确答案:B

功能2. 提高资源利用率

在程序并未使用某种资源时,把程序对那种资源的占有权释放,可以提高资源利用率,而这一行为就需要通过中断来实现。

049.( )是操作系统必须提供的功能。A.图形用户界面(GUI)B.为进程提供系统调用命令C.中断处理D.编译源程序

🍊详细题解:

A. 早期计算机使用命令行界面,需要用户记住各种指令,图形界面是后来才出现的;

D. 编译源程序把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式,如C语言翻译为二进制文件的过程;显然是后期安装在电脑之上的。

B. 系统调用的目的是为了使系统更稳定、安全,防止用户程序进行非法的越权操作;但系统调用过程需要进行用户态与核心态切换,降低效率。

C. 中断是操作系统必须要提供的功能,因为计算机的各种错误都需要中断处理,核心态与用户态的转换也需要中断处理。

✅正确答案:C


🍊3.中断的处理过程是怎样的?

1.关中断指令

CPU响应中断后,首先要保护程序的现场状态,在保护现场的过程中,CPU不应响应更高级的中断源的中断请求;否则若现场保存不完整,在中断服务程序结束后,不能正常恢复并继续执行现行程序。

050.【2014统考真题】下列指令中,不能在用户态执行的是( )。A.trap指令B.跳转指令C.压栈指令D.关中断指令

kiko:D.关中断指令为特权指令,必须在核心态才能执行。在操作系统中,关中断指令是权限非常大的指令,因为中断是现代操作系统正常运行的保障之一,能把它关闭,说明执行这条指令的权限是相当大的(内核态);而A、B、C都可以在用户态运行;正确答案:D

2.中断处理时保存的数据

原则:保存中断处理程序结束,返回之后还需使用不可恢复的内容。

051.【2015统考真题】处理外部中断时,应该由操作系统保存的是( )。A.程序计数器(PC)的内容B.通用寄存器的内容C.块表(TLB)中的内容D.Cache中的内容

kiko:由上图可知,在外部中断处理过程,PC值由硬件负责保存,通用寄存器内容由操作系统负责保存;正确答案:B

3.中断机制的基本原理 

中断向量表:中断向量指明中断服务程序入口地址各中断向量统一存放在中断向量表中,该表由操作系统初始化。

4.各中断处理流程

052.在中断发生后,进入中断处理的程序属于( )。A.用户程序B.可能是用户程序,也可能是OS程序C.操作系统程序D.单独的程序,即不是用户程序也不是OS程序

kiko:当中断或异常发生时,通过硬件实现将运行在用户态的CPU立即转入核心态。中断发生时,若被中断的是用户程序,则系统将从用户态转入核心态,在核心态进行中断的处理;若被中断的是低级中断,则仍然保持在核心态,而用户程序只能在用户态下运行,因此进入中断处理的程序只能是OS程序。中断程序本身可能是用户程序,但是进入中断的处理程序一定是OS程序;正确答案:C

当CPU检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器PC),因此 I 错误;之后硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址各中断向量统一存放在中断向量表中,该表由操作系统初始化,因此III正确;接下来执行中断服务程序、保存PSW、保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统内核,因此II和IV正确。

📜习题检测


📜053.题目难度 ⭐️⭐️⭐️

053.【2012统考真题】中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。A.程序计数器B.程序状态字寄存器C.通用数据寄存器D.通用地址寄存器

🍊详细题解:

子程序调用只需保存程序断点,即该指令的下一条指令的地址;中断处理不仅要保存断点(PC的内容),还要保存程序状态字寄存器(PSW)的内容。

A. 程序计数器对中断处理和子程序调用都要进行保存。

C/D: 如果通用寄存器内数据会被中断后的数据覆盖时候,保存其内容;否则可以不保存。

B. 程序状态字寄存器(PSW):其中某标志位标记了当前CPU状态(内核态or用户态)

✅正确答案:D


 📜054.题目难度 ⭐️⭐️⭐️

054.【2015统考真题】假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )。A. DIV R0,R1    ; (R0)/(R1)→R0B. INT n ; 产生软中断C. NOT R0; 寄存器R0的内容取非D. MOV R0,addr  ; 把地址addr处的内存数据放入寄存器R0

🍊详细题解:

考虑到部分指令可能出现(导致中断),从而转到核心态。

A. R1如果为0,则会发生除零异常。

B. 指令B为中断指令,访管指令一般通过使用 INT+ 参数 来实现,因此可以导致由用户态转变为内核态。

C. 指令C不会发生异常。

D. 指令D在访问地址addr时可能会有缺页异常的可能,产生内中断。

✅正确答案:C

✨✨✨我是分割线✨✨✨

🥝5.6 系统调用


🍓1.什么是系统调用?

系统调用是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如:存储分配、进行I/O传输及管理文件等),必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。


🍓2.库函数与系统调用有什么区别?

库函数是语言或应用程序的一部分,可以运行在用户空间。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数会使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通查要比系统调用的高,因为系统调用时,需要上下文的切换及状态的转换(由用户态转向核心态)


🍓3.系统调用命令有哪些,为什么运行在内核态?

通常一个操作系统提供的系统调用命令有近上百条之多,这些系统调用按功能大致可分为如下几类:

1.设备管理:完成设备的请求、释放、启动等功能。2.文件管理:完成文件的读、写、创建、删除等功能。3.进程控制:完成进程的创建、撤销、阻塞、唤醒等功能。4.进程通信:完成进程之间的消息传递、信号传递等功能。5.内存管理:完成内存的分配、回收、获取作业占用内存区大小等功能。

由上述5类系统调用命令可知,系统调用相关功能,涉及到了系统资源管理的操作,对整个系统的影响很大,因此系统调用的处理需要由内核程序负责完成,要运行在内核态。


🍓4.为什么要使用系统调用?

使用系统调用的目的就是,用户程序不能直接执行对系统影响非常大的操作,必须通过系统调用的方式请求操作系统代为执行,以便保证系统的稳定性和安全性,防止用户程序随意更改或访问重要的系统资源,影响其他进程的运行。

ps:系统调用的缺点也因此出现,系统调用过程需要用户态与和核心态的切换,降低效率。

🍓5.用户程序如何发起系统调用?

用户程序可以执行陷入指令(又称访管指令或trap指令)来发起系统调用,请求操作系统提供服务。可以这么理解:用户程序执行“陷入指令”,相当于把CPU的使用权主动交给操作系统内核程序;之后内核程序再对系统调用请求做出相应处理;处理完成后,内核程序把CPU的使用权归还给用户程序。

055.“访管”指令( )使用。A.仅在用户态下B.仅在核心态下C.在规定时间内D.在调度时间内

kiko:访管指令仅在用户态下使用,执行访管指令将使得CPU从用户态转变为核心态。

056.CPU处于核心态时,它可以执行的指令是( )。A.只有特权指令B.只有非特权指令C.只有“访管”指令D.除“访管”指令的全部指令

kiko:访管指令在用户态下使用,是用户程序主动请求操作系统内核的手段,用户态下不能执行特权指令,而在核心态下,CPU可以执行直接特权指令,不需要通过调用访管指令来间接执行特权指令。


🍓6.系统调用的过程是怎样的?

057.【2017统考真题】执行系统调用的过程包括如下主要操作:(1)返回用户态(2)执行陷入(trap)指令(3)传递系统调用参数(4)执行相应的服务程序    正确的执行顺序是( )。A.(2)——(3)——(1)——(4)B.(2)——(4)——(3)——(1)C.(3)——(2)——(4)——(1)D.(3)——(4)——(2)——(1)

kiko:执行系统调用的过程是:正在运行的进程先传递系统调用参数,然后由陷入(trap)指令负责将用户态转换为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态,因此选项C正确。

📜习题检测


📜058.题目难度 ⭐️⭐️

058.用户程序在用户态下要使用特权指令引起的中断属于( )。A.硬件故障中断B.内中断C.外部中断D.访管中断

🍊详细题解:

内中断是与当前执行指令有关的中断,中断信号来自CPU内部,用户程序在用户态下使用了核心态才允许使用的特权指令,是在程序执行过程中触发的中断,因此属于内中断。

D.访管中断是由于使用访管指令而引起的中断,访管指令仅在用户态下使用,执行访管指令是在核心态执行。

✅正确答案:B


📜059.题目难度 ⭐️⭐️⭐️

059.【2019统考真题】下列关于系统调用的叙述中,正确的是( )。I.在执行系统调用服务程序的过程中,CPU处于内核态II.操作系统通过提供系统调用避免用户程序直接访问外设III.不同的操作系统为应用程序提供了统一的系统调用接口IV.系统调用是操作系统内核为应用程序提供服务的接口A.仅I、IV B.仅II、III C.仅I、II、IV D.仅I、III、IV

🍊详细题解:

I.用户可以在用户态调用操作系统的服务,但执行具体的系统调用服务程序是处于核心态的。

II.设备管理是操作系统的功能之一,包括对输入/输出设备的分配、初始化、维护等,用户程序需要通过系统调用使用操作系统的设备管理服务。

III.操作系统不同,底层逻辑、实现方式均不同,为应用程序提供的系统调用接口也不同。

IV.系统调用时用户在程序中调用操作系统提供的子功能。

✅正确答案:C


📜060.题目难度 ⭐️⭐️⭐️

060.下列关于系统调用的说法中,正确的是( )。I.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和陷入(trap)指令。II.用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断指令。III.系统调用功能是操作系统向用户程序提供的接口。IV.用户及其应用程序和应用系统是通过系统调用提供的支持和服务来使用系统资源完成其操作的。A.I、III B.II、IV C.I、III、IV D.II、III、IV

🍊详细题解:

I. 系统调用需要触发trap指令,trap负责CPU由用户态转换为内核态。

II. 程序设计无法形成屏蔽中断指令,假设一个程序可以形成屏蔽中断指令,那么该程序可以一直运行下去,不会受中断打扰。

  • 中断:与硬件相关,外部设备通过发送中断信号通知CPU抽空处理设备请求
  • 屏蔽中断指令:实现关中断,使当前操作不可被中断

III. 是系统调用的概念

IV. 操作系统是一层接口,对上层提供服务,对下层进行抽象。它通过系统调用向其上层的用户、应用程序和应用系统提供对系统资源的使用。

✅正确答案:C

🌕写在最后


计算机操作系统世界是相当丰富的,内容方向繁多,但只要一步一个脚印,跟随【闪耀计划】吃透、搞懂、拿捏住操作系统内容是完全没有问题的!后期该系列还会有视频教程和经验分享,关于更多这方面的内容,请关注本专栏哦!

热爱所热爱的, 学习伴随终生,kikokingzz与你同在!❥(^_-)