计算机系统概述

操作系统的与功能

操作系统的概念和定义

​ 一台电脑的诞生:

  1. 厂家组装一台裸机
  2. 出售前安装操作系统
  3. 用户安装应用程序
  4. 用户使用应用程序

一台电脑的安装过程

定义:操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机中最基本的系统软件

​ 操作系统是系统资源的管理者:系统资源包含硬件软件资源

例如:打开Windows操作系统的“任务管理器”(快捷键:ctrl+alt+del)

任务管理器

操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配

例如:

从进程来看,操作系统可以对软件进行管理

从进程里的CPU可以看到操作系统同时对硬件也在管理

提供给用户和其他软件方便的接口和环境

意思:操作系统要向上层提供方便易用的服务,比如用户和应用程序

它是计算机中最基本的系统软件

例如:

操作系统是一个软件,而非硬件,但操作系统是最接近硬件的软件

操作系统的功能与目标

作为系统资源的管理者要做的事情

用QQ和朋友视频聊天的过程

操作系统的管理者

  1. 在各个文件夹找到QQ安装的位置(如:D:/qq/Bin)

    ​ 逐层打开文件夹,找到QQ.exe。这里的文件管理由操作系统完成的,也就是文件管理的功能

qq安装路径

  1. 双击打开QQ.exe

    执行一个程序前,需要将该程序放到内存中,才能被cpu处理

    在这里,操作系统将QQ程序放入到了内存中去处理,也就是存储器管理

  2. QQ程序正常运行

    qq程序运行过程中,需要被处理机(CPU)处理

    什么时候给qq分配资源就是操作系统的处理机管理

  3. 开始和朋友视频聊天

    和朋友聊天的时候需要调用摄像头设备,由操作系统决定设备分配给哪些进程,这就是操作系统的设备管理

向上层提供方便易用的服务

电脑结构

  1. 计算机的最底层裸机:只能听得懂二进制指令。人们很难理解,硬件对外的接口对于人来说是不友好的交互接口

  2. 在硬件之上,安装了操作系统,操作系统相对于人来说是友好的交互接口

  3. 安装操作系统后,我只需要告诉操作系统我们需要的功能,操作系统将功能转化。这里有个简单的封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户可以更方便的使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

GUI:图形化用户接口(Graphical User Interface)

​ 用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。

​ 例如:在Windows操作系统中,删除一个文件只需要拖拽到回收站中,在Linux中就需要 rf -rf 文件名

联机命令接口(Windows系统)

联机命令接口=交互式命令接口 交互式:用户说一句,系统跟着做一句

  1. Win+R

  2. 输入cmd,按回车,打开命令解释器

  3. 尝试使用time命令,可以修改系统时间

    time命令

脱机命令接口(Windows系统)

联机命令接口=批处理式命令接口 批处理式:用户说一堆,系统做一堆

​ 使用搜索功能,搜索c盘的*.bat文件,记事本形式打开任意一个

bat

程序接口

​ 可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

​ 例如在写c语言程序时,在printf函数的底层就使用到了操作系统提供的显示相关的”系统调用“

​ 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式

c调用

​ 在有的教材中,系统调用=广义指令

小结

上层服务小结

有的教材中,会把命令接口与程序接口统称用户接口(不包括GUI)

最接近硬件的层次

需要实现对硬件机器的拓展

没有任何软件支持的计算机称之为逻辑。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器

通常把覆盖了软件的机器称为扩充机器,又称为虚拟机

重点:为什么操作系统可以实现对硬件机器的拓展

例:汽车

​ 发动机——会转;轮胎——只会滚

​ 在原始的硬件机器上覆盖一层传动系统——让发动机带着轮子转——使原始的机器得到拓展

​ 操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理的组织起来,让各种硬件可以能够相互协调配合,实现更多复杂的功能

小结

操作系统第一部分小结

操作系统的四个特征

操作系统四个特征

并发

并发是指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生

常考易混淆概念——并行:指两个或多个事件在同一时刻同时发生。

并发 VS 并行

【例】:邶风非常喜欢吃薯条和炸豆腐。任务1:吃薯条。任务2:吃豆腐。

​ 并行:邶风在9点同时吃薯条和豆腐

​ 并发:邶风在9点先吃完薯条,接下来10点再吃豆腐

宏观上看,邶风今天吃了薯条和豆腐,微观上看,邶风是先吃的薯条再吃的豆腐,所以这就是宏观上同时发生,微观上交替发生

操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序看上去是同时运行着,而微观上是交替运行着的

操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统与程序并发是一同诞生的

【注】(重要考点)

单核cpu同一时刻只能执行一个程序,各个程序只能并发地执行

多核cpu同一时刻可以同时执行多个程序,各个程序可以并行地执行

​ 例如Intel的第八代i3处理器就是4核cpu,意味着可以并行地执行4个程序

假如此时我在该cpu中,登录qq,使用word,使用浏览器,使用微信。此时我再想听歌的时候,我们必须剥夺某一个程序对cpu的使用权,然后这两个程序交替使用cpu,

即便是对于4核cpu来说,只要有4个以上的程序需要“同时”运行,那么并发性依然是必不可少的。因此并发性是操作系统的一个最基本特征

共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

资源共享方式

  1. 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段只允许一个进程访问该资源
  2. 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程"同时"对它们进行访问

所谓的"同时"往往是宏观上的,而在微观上,这些进程可能是交替的对该资源进行访问的(即分时共享)

生活实例:

​ 互斥共享方式:使用qq和微信视频。同一时间段内摄像头只能分配给其中一个进程。

​ 同时共享方式:使用qq发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的

并发与共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。

共享性是指系统中的资源可供内存中多个并发执行的进程共同使用

例如:从qq发送文件A,微信发送文件B。

  1. 两个进程正在并发执行(并发性)

  2. 需要共享的访问硬盘资源(共享性)

    ​ 如果系统中失去了并发性,那么同一时间段只能有一个程序运行,那么共享性就失去了它存在的意义

    ​ 如果系统中失去了共享性,那么微信和qq就无法同时访问硬盘资源,也就无法同时发送文件,便无法并发

并发和共享互为存在条件

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理(实体)前者是存在的,而逻辑上对应物(后者)是用户感受到的。

例如:

一个程序需要放入内存并给它分配CPU才能执行

例1:假设QQ需要256MB的内存,百度云需要256MB的内存,网易云需要256MB的内存,WallPaper需要2GB的内存…

我的电脑 2GB内存

问题:这些程序同时运行需要的内存远大于2GB,那么为什么它们可以在我的电脑上同时运行呢

这就是采用了==虚拟存储器技术(空分复用技术)==第三章重点描述。实际只有2GB内存,但用户看来远远大于2GB

例2:某单核计算机中,用户同时打开了浏览器,程序编译器,qq,网易云音乐

问题:既然一个程序需要被分配CPU才能正常执行,为什么单核cpu的电脑中可以同时运行这么多个程序呢

这是==虚拟处理器技术(时分复用技术)==。实际上只有一个单核CPU,在用户看来有多个CPU同时为自己服务

虚拟技术中的时分复用技术。在微观上处理机在各个微小的时间段内交替着为各个进程服务

显然,如果失去了并发性,则一个系统内只需要运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性

就比如有二个应用需要使用打印机资源,应用A使用了打印机资源,应用B就不能使用打印机资源,就堵塞了,等到应用A结束,应用B去抢占打印机资源

如果失去了并发性,系统只有串行的运行各个程序,那么每个程序的执行会一贯到底,只有拥有并发性,才会可能导致异步性

小结

并发和共享互为存在条件,没有并发和共享,就不能存在虚拟和异步。因此并发与共享是操作系统的两个最基本特征

操作系统的发展与分类

操作系统的发展与分类概览

手工操作阶段

该阶段操作系统还没有诞生,程序员将自己的代码二进制写在纸带机上,纸袋上的孔代表0,非孔代表1。计算机从纸袋机中读取程序,再将运行结果输出到纸袋机中,程序员从纸袋机中取走运行结果

纸袋机

可以看出纸袋机的效率是非常低的,同时等第一个程序员使用完后,第二个程序员才能接着使用

主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低。

批处理阶段——单道处理系统

该阶段是操作系统的雏形,引入脱机输入/输出技术(用外危机+磁带完成),并由监督程序负责控制作业的输入、输出

单道处理

程序员把程序放在纸袋机,外围机将纸袋机里的数据放在磁带中,计算机直接从磁带中读取数据,由监督程序控制着磁带输入输出

单道的时间

优点:缓解了一定的人机速度矛盾,资源利用率有所提升

缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。cpu有大量的时间是在空闲等待I/O完成。资源利用率依然很低

批处理阶段——多道处理系统

该阶段操作系统正式诞生。每次往内存中读入多道程序

多道处理的时间

当作业1开始计算时,输入设备空闲,此时让作业2去做输入。

作业1开始输出时,计算设备空闲,此时可以作业2去做计算,作业3去做输入

主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源更能保持"忙碌"状态,系统吞吐量大

主要缺点:用户响应时间长,没有人机交互功能(用户提交自己作业后,只能等待计算机处理完成,中间不能控制自己的作业执行。例如:无法调试程序/无法在程序运行中输入一些参数)

分时操作系统

计算机以时间片为单位轮流为各个用户/作业服务,各个用户可以通过终端与计算机交互。时间片就是说,计算机给用户A50ms服务,用户B50ms服务,用户C 50ms服务

主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户可以同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。

主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务紧急性

实时操作系统

主要优点:能优先响应一些紧急任务,某些紧急任务不需要时间片排队。

在实时操作系统的控制下,计算机系统接收到外部信号后,及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性

实时操作系统

其他操作系统

网络操作系统

是随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各资源的共享(如文件共享)和各台计算机之间的通信。如Windows NT就是一种典型的网络操作系统,网站服务器就可以使用)

分布式操作系统

主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务

个人计算机操作系统

如Windows XP、MacOS。方便个人使用

操作系统的发展与分类小结

操作系统的运行机制

操作系统的运行机制

预备知识:程序是如何运行的

程序如何运行

特权指令与非特权指令

程序执行过程就是CPU一条条执行指令

“指令” 就是处理器(CPU)能识别、执行的最基本命令

很多人习惯把Linux、Windows、MacOS的小黑框中使用的命令也称为“指令”,其实这是“交互式命令接口”,注意与本节的“指令”区别开。本节的“指令”指二进制机器指令

我们普通程序员写的程序就是"应用程序"

微软、苹果有一些人实现操作系统,他们写的是"内核程序"

很多内核程序组成"操作系统内核“,或简称”内核"

内核是操作系统最重要最核心的部分,也是最接近硬件的部分

操作系统对系统资源的管理工作就在内核部分完成

我们甚至可以说,一个操作系统只要内核就够了(例如:docker只要linux内核)

操作系统的功能未必都在内核中,如图形化用户界面GUI

操作系统内核作为管理者,有时会让CPU执行一些“特权指令”(影响其他程序运行),如:内存清零指令。这些指令影响重大,只允许“管理者”——即操作系统内核来使用

应用程序只能使用“非特权指令”,如:加法指令、减法指令等

CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU执行一条指令前就能判断出其类型

内核态与用户态

CPU是如何判断出内核程序or应用程序

CPU有两种状态“内核态”和“用户态

处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令

处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

CPU中有一个寄存器叫"程序状态字寄存器(PSW)",其中有个二进制位,1表示“内核态”,0表示“用户态”

内核态=核心态=管态 用户态=目态

内核态、用户态的切换

  1. 刚开机时,CPU为“内核态”,操作系统内核程序先在CPU运行

  2. 开机完成后,用户可以启动某个应用程序

  3. 操作系统内核程序会在合适的时候让出CPU,让该应用程序上CPU运行

    操作系统内核在让出CPU之前,会用一条特权指令把PSW的标志位设置为“用户态”

  4. 应用程序运行在“用户态”

  5. 此时,一位黑客在应用程序植入了一条特权指令,企图破坏系统

  6. CPU发现接下来要执行这条指令是特权指令,但是自己又处于“用户态”,CPU知道自己运行的是应用程序,但应用程序居然想要特权指令,胆子太大了,于是直接干掉他

  7. 这个非法事件会引发“中断信号

    CPU检测到中断信号后,会立即变为“核心态”,并停止运行当前的应用程序,转而运行处理中断信号的内核程序

  8. 操作系统内核再次夺回CPU控制权

  9. 操作系统内核程序对中断的事件进行处理,处理完了再把CPU使用权交给别的应用程序

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

用户态变为内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权

除了非法使用特权指令之外,还有很多事件会触发中断信号。一个共性是:但凡需要操作系统介入的地方,都会触发中断信号

操作系统运行机制

中断与异常

中断与异常预览

CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序(第二章进程管理)

中断操作系统内核夺回CPU使用权的唯一途径

如果没有“中断机制”,一旦应用程序上CPU运行,CPU就会一直运行这个应用程序,就不会有并发机制

中断的类型

内中断

与当前执行的指令有关,中断信号来源于CPU内部

  1. CPU在用户态下执行了一条特权指令,这是在执行指令的过程中切换成了内核态

  2. 执行除法指令时发现除数为0

  3. 一个应用程序想请求操作系统的内核服务,应用程序会执行一条特殊的指令——陷入指令,该指令会引发一个内部中断信号。

    系统调用便是陷入指令完成的

    陷入指令不是特权指令,他是在用户态下执行的指令

执行的指令非法,或者执行指令的参数非法,就会产生一个内中断的信号

外中断

与当前执行的指令无关,中断信号来源于CPU外部

​ 1. 时钟中断——由时钟部件发来的中断信号,通过该技术可以实现多道程序并发执行

​ 时钟部件每隔一段时间便会发送一个中断信号,接下来CPU就会转为内核态,来处理这个中断信号。假设一开始CPU是由应用程序A运行了50ms,中断信号来了后,CPU会切换为内核态处理时钟中断的内核信号,然后检测应用程序A已经运行了50ms,那么接下来就会切换成用户态,交给应用程序B运行。然后时钟再发送中断信号,CPU切换成内核态…然后检测到应用程序B运行了50ms,再切换成用户态让应用程序A运行

每一条指令执行结束时,CPU都会例行检查是否有中断信号

中断的分类

中断的分类

大多数教材与试卷中,中断指狭义的中断,一般是指外中断,而内中断一般称之为异常

陷入:由陷入指令应发,是应用程序故意引发的,也是系统调用实现的原理

故障:由错误条件引起的,可能被内核程序修复。内核程序修复故障后会把CPU的使用权还给应用程序,让它继续执行下去。如:缺页故障(第三章)

终止:由致命错误引起,内核程序无法修复,因此一般不再将CPU使用权还给引发终止的应用程序,而是一般直接把这个程序直接干掉。如:整数除0,非法使用特权指令

中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号查询"中断向量表",以此来找到相应的中断处理程序在内存中的存放位置

中断向量表

中断处理程序一定是内核程序,所以运行在内核态

中断与异常

系统调用

系统调用

什么是系统调用

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成

操作系统提供的接口

“系统调用” 是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为是一种可以供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

系统调用与库函数的区别

系统调用与库函数

写程序的时候可以直接用汇编语言进行系统调用,但现在我们一般是直接使用高级语言的一些库函数

系统调用四层

裸机之上是操作系统,操作系统向上层提供的接口是系统调用,使得上层程序可以访问操作系统内核

高级编程语言会用库函数的方式封装系统调用,向程序员提供更好使用的接口

但不是所有的库函数都会有系统调用

不涉及系统调用的函数:如 绝对值 函数

涉及系统调用的函数:如 创建文件 函数

为什么系统调用是必须的

生活场景:去学校打印店打印论文,你按下了word的打印选项,打印机开始工作

你的论文打印到一半时,另一位同学按下了wps的打印选项,开始打印自己的论文

wps和word是两个应用程序,是并发地运行

如果两个进程可以随意地、并发地共享打印机资源,会发生什么?

两个进程并发运行,打印机设备交替的收到word和wps发来的打印请求,结果两篇论文的内容混杂在一起了

所以我们希望这些并发的进程共享资源实现互斥

由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”

用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统内核发出请求。内核会对各个请求进行协调处理,保证并发运行时不会出现奇怪的事情

系统调用的分类

应用程序通过系统调用请求操作系统的服务。而系统中的各种资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作

系统调用的过程

  1. 一个应用程序在用户态下运行,他的指令被cpu依次执行。
  2. 当他想请求系统调用时,他需要用传参数的指令,给CPU的寄存器传入必要的参数(指明系统调用的类型:如"fork"),传入的参数指令可能有多条,主要看系统调用需要几个参数,操作系统通过传入的参数判断需要什么样的服务
  3. 参数放到寄存器后,应用程序就会执行陷入指令,引发内中断,CPU就会暂停应用程序,切换为内核态,执行陷入指令处理程序,也就是系统调用入口程序
  4. 系统调用入口程序检查寄存器的参数,根据寄存器的参数判断用户需要哪种系统调用的程序,然后调用对应系统调用需要的服务程序(eg:寄存器中检测到了fork指令,就去调用fork系统调用处理程序)
  5. 系统调用处理完后,CPU转为用户态,继续处理其他的程序

高级编程语言与系统调用

陷入指令是在用户态执行的,执行陷入指令后立即引发一个内中断,使CPU进入核心态

发出系统调用请求是在用户态,而对系统调用的相应处理核心态下进行

别名:陷入指令=trap指令=访管指令

系统调用总结

操作系统体系结构

操作系统体系结构开始

操作系统的内核

原语的执行过程中,即使有外部中断信号来了,CPU还是会将原语执行完成后,才会执行系统调用

Ubuntu、Centos(Linux常见的两个发型版本)的开发团队,其主要功能是实现非内核功能,而内核都是用了Linux内核

内核是操作系统最基本、最核心的部分

实现操作系统内核功能的那些程序就是内核程序

内核的分类

操作系统内核需要运行在内核态

操作系统非内核功能运行在用户态

又因为对系统资源进行管理的功能不会直接涉及硬件,所以就引出了二种内核的设计方法

大内核与微内核

大内核包含了系统资源进行管理,微内核不包含

又因为在内核中需要运行在内核态,非内核中运行在用户态,所以就会对性能造成影响

大内核微内核不同的运行态

故事:现在应用程序想请求操作系统的服务,这个服务的处理同时涉及到进程管理、存储管理、设备管理

如果是大内核,操作系统只需要先变成内核态,再变成用户态即可

如果是微内核,操作系统在做进程管理时要先变成内核态,再变成用户态,在做存储管理时要先变成内核态,再变成用户态…

内核变态

又因为"变态"的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能

大内核消耗资源少,但代码冗余大,不好维护

微内核消耗资源少,框架清晰,便于维护

变态只是为了方便的说法,考试的时候注意要写成CPU状态的转换

第一章总结

第一章总结

在考研408中,操作系统概述主要是选择题为主,自命题可能会考简答题,同时本章不会太难

CPU为管理者(操作系统)办事时,管理者会主动告诉CPU接下来要为哪个应用程序做事

CPU为应用程序做事时,可能会被管理者召回(中断),也有可能是CPU自己检测到一些特殊情况(异常),然后按照管理者的要求处理(重新回来为管理者办事)

操作系统运行机制在古代的应用

操作系统在古代的应用

为大臣服务就是普通状态(用户态),为皇帝服务就是舔狗状态(内核态)

特权指令与非特权指令

当大臣和太监提出端茶倒水,太监是可以服务的

但当大臣提出拟一道圣旨的时候,太监就不能服务了,因为没有权限,不能执行特权指令

当皇帝提出让太监端茶,倒水,拟圣旨,太监是可以服务的,也就是内核态下既可以执行特权指令,也可以执行非特权指令

内核态——>用户态

在古代的时候,当皇帝不说太监可以走了,太监就要一直为皇帝服务

对应操作系统的时候,当cpu执行操作系统程序时,除非操作系统让CPU执行别的应用程序,否则CPU就会一直为操作系统服务

操作系统内核发生进程调度时,CPU就会转向执行应用程序,就等于皇帝让太监去为某一个大臣服务,CPU就会从内核态切换成用户态

用户态——>内核态(异常)

假设大臣提出拟圣旨,太监发现大臣想造反(CPU检测到特殊情况),CPU有一套自己的判断逻辑,就会切换为内核态,也就是向皇帝报告,皇帝就会根据异常的类型,决定怎么处理

系统调用(一种特殊的异常)

大臣有时候需要向皇帝请求服务, 就是应用程序需要请求操作系统的服务,就会采取系统调用的方式

就比如大臣想向皇上申请100块地,就和太监说,申请土地就是系统调用的类型,100块就是参数,太监就会记住(寄存器)。请太监和皇上说就是陷入指令,让太监报告给皇上

现在切换内核态,操作系统调用入口程序,确认系统调用类型、参数、处理系统调用

用户态——>内核态(中断)

当太监向大臣端茶倒水的时候,皇上召太监回宫,就是来了个中断信号,然后太监听到中断信号,然后离开大臣,转化内核态。

接下来,操作系统告诉cpu中断信号如何处理,cpu就会在内核态下处理中断信号