11111

前言
一、操作系统的基本概述
1.1、操作系统的概念
1.2、操作系统的功能
1.2.1、操作系统提供的功能及示例
1.2.2、操作系统提供的方便易用服务
1.2.2.1、操作系统刚普通用户使用(GUI用户界面、命令接口)
1.2.2.2、给程序员提供的程序接口
小总结:提供方便易用服务的小整理
1.2.3、操作系统对硬件机器的扩展
知识回顾与重要考点
1.3、操作系统的四个特征
特征一:并发
特征二:共享
特征三:虚拟
特征四:异步性
并发、共享、虚拟、异步的关系
知识回顾与重要考点
二、操作系统的发展与分类
2.1、手工操作阶段
2.2、批处理阶段—单道批处理系统
2.3、批处理阶段—多道批处理系统
2.4、分时操作系统
2.5、实时操作系统
其他几种操作系统
知识点回顾与考点
三、操作系统运行环境
3.1、操作系统的运行机制
3.1.1、预备知识:程序是如何运行的?
3.1.2、区分内核程序与应用程序(认识特权与非特权指令)
3.1.3、如何分辨当前是内核程序和应用程序指令?分辨CPU处于什么状态?
3.1.4、内核态与用户态的切换
知识回顾与重要考点
3.2、中断和异常
3.2.1、认识中断的作用
3.2.2、中断的类型(内中断、外中断,包含例子)
3.2.3、中断的分类
3.2.4、中断机制的基本原理
知识回顾与重要考点
3.3、系统调用
3.3.1、什么是系统调用,有何作用?
3.3.2、系统调用与库函数的区别
3.3.3、小例子:为什么系统调用是必须的?
3.3.4、什么功能要用到系统调用?
3.3.5、系统调用的过程
知识回顾与重要考点
四、操作系统体系结构
4.1、认识大内核与微内核设计
4.1.1、操作系统内核位置分布
4.1.2、介绍大内核与微内核
知识回顾与重要考点
4.2、分层结构
4.3、模块化
4.4、外核(exokernel)
本章汇总总结
五、操作系统引导
5.1、安装操作系统后磁盘里有哪些数据?
5.2、操作系统引导(开机过程)
5.3、例:Windows操作系统的初始化程序(定位文件位置)
六、虚拟机
6.1、虚拟机的诞生
6.2、两类虚拟机管理程序
6.2.1、第一类VMM(运行在硬件之上)
6.2.2、第二类VMM(运行在宿主机之上)
6.3、两类虚拟机管理程序(VMM)的对比
前言
目前正在备考24考研,现将24计算机王道的408学习整理的知识点进行汇总整理。

博主博客文章目录索引:博客目录索引(持续更新)

一、操作系统的基本概述


1.1、操作系统的概念
常用的操作系统:

认识操作系统的基本概念:

1、操作系统是系统资源的管理者:资源包含的有硬件、软件。

2、操作系统也为上层的用户以及应用程序提供了方便的接口以及环境。

3、操作系统是软件而不是硬件,是最接近硬件的软件。

操作系统中对于软件以及硬件的管控可以看如下示例图,可以通过任务管理器来明确:

1.2、操作系统的功能
1.2.1、操作系统提供的功能及示例
操作系统提供的功能:处理机功能、存储器功能、文件管理、设备管理。

实际应用到了上述四个功能的实际例子:

对于上述步骤依次来描述相对应的功能:

step1:打开各个文件过程实际上是属于【文件管理】。
step2:打印应用的过程实际上会将对应的程序首先加载到主存中,接着来进行运行。属于【存储器管理】。
step3:正常运行,实际会被处理机CPU进行处理。属于【处理机管理】。
step4:视频聊天会将摄像头设备分配给QQ来进行使用,属于【设备管理】。
1.2.2、操作系统提供的方便易用服务
对于用户以及应用程序这些上层来说,我们只需要直接调用操作系统的接口即可 ,各个层之间的通俗易懂的关系如下所示:

操作系统采用了封装思路:将难用的硬件功能封装成简单易用的服务,能够令用户很方便的进行使用计算机,作为用户也无需关心底层的原理,只需要对操作系统发出命令就行。

1.2.2.1、操作系统刚普通用户使用(GUI用户界面、命令接口)
①GUI(图形化用户界面):只需要通过一些操作来直接替代很多的代码指令

而对于早期的操作系统则是通过命令接口方式与操作系统交互

②命令接口分为两种:联机命令接口和脱机命令接口

1、联机命令接口(也称交互式命令接口)

特点:用户发送一条指令,操作系统跟着执行一条指令。用户与操作系统不断地进行交互

2、脱机命令接口(批处理命令接口)

特点:将一系列的命令罗列在了一个xx.bat文件,用户提出一堆指令,操作系统跟着做一堆。

1.2.2.2、给程序员提供的程序接口
程序接口:可以在程序中通过使用系统调用的方式来使用程序接口,普通用户不能够直接使用程序接口,只能够通过程序代码间接使用。

实际应用举例:通过编写C语言代码在屏幕上输出"Hello World",实际在printf函数的底层就使用到了操作系统提供的显式相关的"系统调用"。

系统调用:别称广义指令。


对于下图中为什么用户能够与操作系统中有相连的部分,主要原因就是:用户可以通过使用GUI和编写程序接口来和操作系统进行交互,而对于应用程序则是通过系统调用方式来与操作系统之间进行交互。

小总结:提供方便易用服务的小整理
对于操作系统提供的服务主要是面向用户以及面向软件、程序的,对于用户来说可以使用GUI以及命令接口(cmd,xx.bat文件),而对应程序员则是通过程序接口(通过去调用指定的系统函数来与操作系统交互)。

注意:对于程序接口以及命令接口也可以统称为用户接口。

1.2.3、操作系统对硬件机器的扩展
操作系统作为最接近硬件层次所需要做的事情:可以实现对硬件机器的扩展。

裸机:若是没有任何软件支持的计算机则为裸机。

若是在裸机上安装操作系统后,就可以提供资源管理功能和方便用户的服务功能,将逻辑改造为功能更加强大,使用更加方便的机器。
虚拟机:覆盖了软件的机器称为扩充机器。

为什么操作系统要实现硬件的扩展?主要目的是为了让硬件的机器资源能够更加合理搭配使用,发挥更强大的功能,具体如下例子:

知识回顾与重要考点


1.3、操作系统的四个特征


特征一:并发
并发基本认识

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

本质:串行执行任务。

实际例子:

并发与并行的对比:并发是同一时刻进行一个任务;并行则是同一时刻执行多个任务。

操作系统的并发性

操作系统的并发性:指的是在计算机系统中能够在宏观上来看是"同时"运行着多个程序,微观上来看是交替运行的。

操作系统的诞生实现目的:多道程序技术以及程序并发。

重要考点:

单核CPU可以同一时刻只执行一个程序,各个程序只能并发的执行。
多核CPU同一时刻只能够同时执行多个程序,多个程序可以并发的执行。
举例:若是Intel i3处理器 4核CPU,此时它有四个核心,意味着可以进行并行执行4个任务。

若是此时要运行第五个程序,那么此时就需要采用并发的特性,其中的某个核心则需要进行交替的执行两个任务,也就是并发性。

总结:即使对于4核CPU来说,有4个以上上的任务需要同时运行,那么对于并发性依旧是不可缺少的,并发性是操作系统的一个最基本的特性。

特征二:共享
共享指的是资源共享,对于系统中的资源可供内存中多个并发执行的进程共同使用。

两种资源共享方式:

互斥共享方式:系统中某些资源,可以提供给多个进程使用,一个时间段只允许一个进程访问资源。
同时共享方式:系统中某些资源,允许在一个时间由多个进程"同时"对它们进行访问。
注意:这里的"同时"一般是宏观上的,对于在微观上,实际上多个进程在对同一个资源进行交替的访问。

实际例子:

①互斥共享例子:QQ和微信视频,在同一时间只能够分配给一个进程使用。

②同时共享例子:使用QQ与微信发送同一个文件,此时我们在宏观上可以感觉到对于两个文件都在访问硬盘资源,从中读取数据,实际在微观中,两个进程是交替访问硬盘的。

另一个例子:一遍打游戏与听音乐,对于一个扬声器可能会出现两个声音,也是一个同时共享示例。
并发与共享关系

结论:并发性与共享性是互为存在条件的。

实际例子:

若是失去并发性,那么系统中只能有一个程序在运行,此时共享性就失去了存在的意义。
若是失去共享性,那么QQ与微信就不能够同时访问硬盘资源,那么即使能够进行并发也失去了意义。
通过上面的例子我们可以看到对于共享与并发这两者缺失了一者,那么另一者就没有意义了。

特征三:虚拟
虚拟:指的是把一个物理上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,而逻辑上对应物则是用户感受到的。

例如虚拟机中我们可以构建多个虚拟机然后安装多个操作系统,即可进行使用。
虚拟技术主要分为:空分复用技术(虚拟存储器技术)、时分复用技术(虚拟处理器)。

针对时分复用技术而言:若是失去了并发性,那么时间段内系统中只需要一道程序,此时就失去了实现虚拟性的一样了,若是没有并发性就谈不上虚拟性。
下面是(虚拟存储器技术中的空分复用技术)的示例:

下面(虚拟处理器器-时分复用技术):

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

简述:将大的时间段分为很小的时间片。


物理实际上就一个核,在用户视角觉得有六个核在为自己服务。

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

这里的走走停停指的是实际在并发的过程中,若是有互斥型的资源两个进程都想要使用,那么其中一个没有获得资源的进程就需要阻塞等待,所以说这个异步并不是能够像同步一样不断地向下执行。
实际举例:

上面的例子就是我们上面所说的对于多个进程依赖一个资源的使用,在进程并发执行时并不能够同步的向下执行完成,而是某一段进程需要等待另一个进程释放资源后才能够继续向下执行。

并发、共享、虚拟、异步的关系
并发与共享关系:并发性与共享性是互为存在条件的,若是一方不存在,另一方存在也无意义了。

并发与虚拟关系:若是没有并发,虚拟性也没有意义了。

并发与异步的关系:只有系统拥有并发性,才能够导致我们所说的能够有异步性,若是同步执行某一段程序肯定是不会发生资源使用冲突的情况,此时也就不会产生异步性。

知识回顾与重要考点


二、操作系统的发展与分类


2.1、手工操作阶段
这个阶段并没有出现操作系统。

该阶段执行流程:程序将代码是提前写在了纸带机上,接着将它放入计算机,计算机读取指令执行得到结果后再次输出到纸带机上,最终程序员再通过手工方式取走。

在这个阶段的机器造价极其昂贵,通过这种手动输入输出的方式,浪费了大量计算机的资源利用率,下图是整个过程中占用的时间开销,可以看到计算机处理占到了很小的一块:

缺点:用户独占全机(同一时间只能处理用户传入的一个程序),实际就是之前提到的单核程序执行。

2.2、批处理阶段—单道批处理系统
解决手动操作系统十分低效的问题,出现了单道批处理系统。

单道批处理系统:引入脱机输入/输出技术(外围机+磁带完成),并由监督程序负责控制作业的输入、输出。

该阶段执行流程:首先程序员可以将多道程序放在指定机器上,接着外围机会控制着这些纸带机提前存储到磁带中,此时计算机会去依次的从这些磁带当中依次读取输入的作业执行(一个作业执行完执行下一条作业),之后再由计算机将程序的运行结果输出到磁带中。

效果:可以看到在这一个阶段中,对于输入、输出的时间降低了十分多,缓解了一定的人机速度矛盾。

优点:可以看到输入输出的时间降低了十分多,缓解了一定程序的人机速度矛盾,资源利用率有所提升。

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

2.3、批处理阶段—多道批处理系统
多道批处理系统:每次读入多道程序,让这些程序进行并发的执行。

看下实际作业的执行过程:在当前阶段里,可以读入多道程序并且可以进行并发(宏观上并行, 微观上串行)的执行处理任务:

第一个作业实际是由①②④组成,第二个作业是③⑤⑦组成,第三个作业是⑥⑧⑨组成。

首先作业1中①输入执行,接着第二个时间片作业1中执行计算②,在这个时间片中此时输入设备已经空闲此时可以并行的完成作业2的输入①,接着进入到第三个时间片,此时作业1就可以执行输出③,与此同时输入、计算都是空着的,此时作业2中的执行⑤同样也可以进行执行,作业3的输入①同样可以在这个时间片进行,接着依次同理,在同一时间片中只要有一个外设不在工作就可以让其合理的利用起来。

优点:多道程序并发执行,可以共享计算机资源,资源利用率得到了大幅度提高,CPU和其他资源能够保持"忙碌"状态,系统的吞吐量增大。

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

2.4、分时操作系统
为了解决没有人机交互的问题,发明了分时操作系统。

分时操作系统:计算机以时间片尾单位轮流的给各个用户/作业服务,各个用户可以通过终端与计算机进行交互,如下:

通过分时操作系统能够使用户的一些输入等其他操作能够及时的被CPU响应到,解决了人机交互的问题。

优点:用户请求可以被及时响应,解决了人机交互问题,此时能够允许多个用户可以同时使用一台计算机,并且用户对计算机的操作能够相互独立,感觉不到其他用户也在同时使用。

缺点:不能够优先的处理一些紧急的任务,因为在这个阶段操作系统对于每个用户/作业都是公平的,循环的为每个用户/作业服务一个时间片,不区分任务的紧急性。

2.5、实时操作系统
实时操作系统:在实时操作系统的控制下,计算机系统接收到外部信号及时的进行处理,并且在严格的时限内处理完事件。

分为两类:硬实时操作系统和软实时系统

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

特点:及时性和可靠性。

其他几种操作系统


知识点回顾与考点


三、操作系统运行环境
3.1、操作系统的运行机制


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


对于下面黑框中的"指令"实际上就是交互式命令接口,在这里指令应当是上面机器语言的二进制代码:

3.1.2、区分内核程序与应用程序(认识特权与非特权指令)
应用程序:跑在操作系统之上的。

内核程序:微软、苹果的顶级大佬写的操作系统的代码就是内核程序。在内核中包含的只是操作系统中最重要、最核心,最必不可少的这些功能。

内核:许多内核程序组成了操作系统内核,简称"内核"。内核是操作系统中最重要最核心的部分,也是最接近硬件的部分。
可以说一个操作系统只要有内核就够了,例如Docker中只要有Linux内核就可以了。
注意:操作系统的功能未必都在内核中,例如图形化用户界面,即使没有图形化用户界面,依旧能够使用类似于CMD命令窗口来使用操作系统。

针对于内核以及应用程序是否可以使用任一指令?

针对于一些"特权指令",例如内存清零指令,这些指令都影响十分大,只允许"管理者"也就是操作系统的内核来使用。【在CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU执行一条指令就能够判断出类型】
应用程序只能够使用"非特权指令",例如加法指令、减法指令等等。
3.1.3、如何分辨当前是内核程序和应用程序指令?分辨CPU处于什么状态?
如何分辨当前执行的这条指令是一个应用程序的指令,还是一个内核程序的指令呢?

处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。
处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令。
如何分辨CPU是处于哪个状态呢(用户态、内核态)?

CPU中有一个寄存器叫做程序状态字寄存器(PSW),其中有一个二进制位,这个位是1表示内核态,0表示用户态。
别名:内核态=核心态=管态。用户态=目态。
3.1.4、内核态与用户态的切换
CPU如何完成内核态与用户态的切换?

通过一个示例来进行说明这两者之间的切换:

首先开机,CPU当前默认为"内核态",操作系统内核程序先上CPU运行。
开机完成之后,用户启动某一个应用程序。
此时操作系统内核程序会在合适的时候主动去让出CPU的使用权(当前是内核态),让应用程序上CPU运行。
实际让出CPU使用权过程就是内核态—>用户态的过程,操作系统内核在让出CPU之前,会执行一条特权指令将PSW中的标志位设置为"用户态",此时完成切换。
应用程序运行在"用户态"。
此时黑客在当前运行的应用程序中植入了一条特权指令,企图去破坏系统运行。
当CPU此时执行特权指令时,首先会发现这条指令是特权指令,并且检查自己的状态为"用户态"。
由于是用户态此时想要执行特权指令,此时这个非法事件会引发一个中断信号。
CPU检测到中断信号后,此时就是用户态—>核心态的过程,对应的PSW标志位会设置为"核心态",并停止运行当前的应用程序,转而运行处理中断信号的内核程序。
经过这个"中断",操作系统会再次夺回CPU的控制权。
接着操作系统会对引发中断的事件进行处理,处理完成之后再将CPU使用权交给别的应用程序。
通过这个示例,对用户态与核心态之间的转换进行梳理:

内核态—>用户态:处于内核态的CPU会执行内核程序中的一条特权指令(修改PSW中的标志位为用户态),这个动作意味着操作系统会主动让出CPU的使用权。
用户态—>内核态:处于用户态的CPU执行应用程序时若是其中有特权指令会引发"中断",硬件自动完成变态过程(转变核心态),触发中断信号意味着操作系统会强行夺回CPU的使用权。【除了非法使用特权指令外,还有很多事件都会触发中断信号,只要是需要操作系统介入的地方,都会触发中断信号】
知识回顾与重要考点


3.2、中断和异常


3.2.1、认识中断的作用
CPU会运行两种程序分别是操作系统内核程序以及应用程序。

操作系统内核程序:是整个系统的管理者。
作用:"中断"会使CPU从用户态变为内核态,使操作系统重新夺回对CPU的控制权。

若是没有中断技术,无法实现多道程序并发。
对于用户态与内核态的切换在3.1章节中有详细说明,这里直接贴一下王道讲的内容:

3.2.2、中断的类型(内中断、外中断,包含例子)
中断的类型分为两个:内中断与外中断

内中断:与当前执行的指令有关,中断信号来源于CPU内部。
外中断:与当前执行的指令无关,中断信号来源于CPU外部。
内中断例子:

例1:试图在用户态下执行特权指令

描述:CPU在用户态运行应用程序过程中执行了一条特权指令,此时就会触发中断信号,CPU会从用户态切换到核心态并且来执行处理中断信号的内核程序。

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

例3:若是应用程序确实是想要使用操作系统内核的服务,此时会执行一条特殊的指令—陷入指令,该指令会引发一个内部中断信号。

陷入指令并不是特权指令,此时这个应用程序会主动的将CPU使用权还给操作系统内核。
小结:若是当前执行的指令为非法的,那么就会引发一个中断信号。

外中断例子:

例1:时钟中断—由时钟部件发来的中断信号。

描述:此时有两个应用程序需要进行并发的执行,此时程序1运行在用户态,执行了50ms后,时钟部件会向CPU发送一个中断信号,此时CPU会从用户态切换到内核态执行处理时钟中断的内核程序,处理完成之后将CPU的使用权又交给程序2来运行,此时切回了用户态,等待程序2运行了50ms后,时钟部件又一次发送了中断请求,后面的处理机制与上面类似。

相对比较公平的分配给不同的应用时间片,对于内核态切换到用户态并且指定程序运行是由内核程序完成!
小结:两个程序在中断机制下如何进行并发运行的。

例2:I/O中断,由输入/输出设备发来的中断信号

描述:例如打印机在完成打印之后就会发送给CPU一个中断信号,用来表示任务已经完成,此时CPU会使用这个中断信号对应的处理I/O中断的内核程序来进行处理。

总结:对于上面两个例子,这些中断信号都是来自于CPU外部,与执行指令没有关系。
————————————————
版权声明:本文为CSDN博主「长路 ㅤ   」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cl939974883/article/details/131543432

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值