Bootstrap

计算机基础知识(考研408)——操作系统

计算机基础知识(考研408):
计算机组成原理: https://blog.csdn.net/qq_1532145264/article/details/129696532
操作系统: https://blog.csdn.net/qq_1532145264/article/details/129696582
数据结构: https://blog.csdn.net/qq_1532145264/article/details/129696596
计算机网络 https://blog.csdn.net/qq_1532145264/article/details/129696607

1、计算机系统概述

1.1、操作系统的概念

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

1.2、操作系统的特征

  • 并发
  • 共享
  • 虚拟
  • 异步

1.3、操作系统的功能

  • 处理机管理
  • 存储器管理
  • 设备管理
  • 文件管理

1.4、操作系统的发展

在这里插入图片描述

1.5、操作系统内核

在这里插入图片描述

原语:具有原子性,其操作只能一气呵成。

1.6、中断与异常

在这里插入图片描述

1.7、并行性与并发性的区别

  • 并行性。指多个事件在同一时刻发生。
  • 并发性。指多个事件在同一时间间隔内发生。

1.8、特权指令与非特权指令

  特权指令,指令的权限最大。如请内存、设置时钟、分配资源等。
  为了保证系统安全,特权指令必须在核心态执行,不直接提供给用户使用。
  用户态下只能使用非特权指令,核心态下可以使用全部指令。
  用户态转换为核心态的唯一途径是中断和异常。

1.9、访管指令与访管中断

  访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。


2、进程与线程

2.1、进程实体(进程映像)组成

  • 程序段
  • 数据段
  • 进程控制块(PCB)

PCB 是进程存在的唯一表示。
进程映像是静态,进程是动态

2.2、进程状态转换

在这里插入图片描述

2.3、进程通信

在这里插入图片描述

2.4、线程

在这里插入图片描述

2.5、调度层次

在这里插入图片描述

2.6、调度算法比较

在这里插入图片描述

2.7、为什么要进行处理机调度(进程切换)?

  引进处理机调度后,可在运行进程等待外部设备时,把处理机调度给其他进程,从而提高处理机的利用率。从而合理地处理计算机的软/硬件资源。

2.8、同步与互斥

同步:实现访问者对资源的有序访问。(操作有序)
互斥:某一资源同时只允许一个访问者对其进行访问。(不能同时操作)

2.9、为了实现对临界资源的互斥访问,需要遵循哪些原则?

  • 空闲让进
  • 忙则等待
  • 有限等待
  • 让权等待

2.10、进程与线程的区别

  • 进程是操作系统中资源分配的基本单位,线程是操作系统中调度执行的基本单位。
  • 个进程可以包含多个线程。
  • 进程之间的资源是独立的,线程之间的资源则是共享的。
  • 进程的上下文切换速度比较慢,而线程的上下文切换速度比较快。

2.11、为什么会产生死锁?产生死锁的条件?死锁的解决办法?死锁与饥饿区别?

在这里插入图片描述

2.12、银行家算法的工作原理

  银行家算法的主要思想是避免系统进入不安全状态。在每次进行资源分配时,它首先检查系统是否有足够的资源满足要求,若有则先进行试分配,并对分配后的新状态进行安全性检查。若新状态安全,则正式分配上述资源,否则拒绝分配上述资源。这样,它保证系统始终处于安全状态,从而避免死锁现象的发生。


3、内存管理

3.1、内存管理

在这里插入图片描述

3.2、物理地址和逻辑地址

  • 物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。
  • 逻辑地址:CPU所生成的地址。逻辑地址是内部和编程使用的、并不唯一。

3.3、运行程序装入内存的三种方式

在这里插入图片描述

创建进程首先要将程序和数据装入内存。步骤:编译 —> 链接 —> 装入

3.4、覆盖与交换

在这里插入图片描述

3.5、连续管理分配方式

在这里插入图片描述

3.6、动态分区分配算法对比

在这里插入图片描述

3.7、页面置换算法

在这里插入图片描述

3.8、为什么要进行内存管理?

  引入多道程序后,进程之间共享的不仅仅是处理机,还有主存储器。若不对内存进行管理,则容易导致内存数据的混乱,以至于影响进程的并发执行。因此,为了更好地支持多道程序并发执行,必须进行内存管理。

3.9、多级页表解决了什么问题?又会带来什么问题?

  多级页表解决了当逻辑地址空间过大时,页表的长度会大大增加的问题。而采用多级页表时,一次访盘需要多次访问内存甚至磁盘,会大大增加一次访存的时间。

3.10、虚拟内存解决什么问题?又会带来什么问题?

  随着同时运行的进程增多,所需的内存也逐渐增大,当没有内存空间可用时,就需要虚拟内存在逻辑上扩充内存。虚拟内存使用外存上的空间来扩充内存空间,通过一定的换入/换出,使得整个系统在逻辑上能够使用一个远远超出其物理内存大小的内存容量。因为虚拟内存技术调换页面时需要访问外存,会导致平均访存时间增加,若使用了不合适的替换算法,则会大大降低系统性能。

3.11、分段管理和分页管理的比较

在这里插入图片描述


4、文件管理

4.1、文件的三种物理分配方式比较

在这里插入图片描述


5、输入/输出(I/O)管理

5.1、SPOOLing 技术(假脱机技术)

SPOOLing 技术是操作系统中采用的一项将独占设备改造成共享设备的技术。其作用是为了缓和 CPU的高速性与IO设备低速性之间的矛盾。(以空间换时间的技术)
在这里插入图片描述
特点:

  • 提高了IO的速度。将对低速IO设备执行的UO操作演变为对磁盘缓冲区中数据的存取,如同脱机输入/输出一样,缓和了CPU和低速IO设备之间的速度不匹配的矛盾。
  • 将独占设备改造为共享设备。在假脱机打印机系统中,实际上并没有为任何进程分配设备。
  • 实现了虚拟设备功能。对每个进程而言,它们都认为自己独占了一个设备。
;