您的位置  > 互联网

计算机完整版、模拟试题、历年真题总结

由于内容较多,为了方便大家阅读,每篇文章字数限制在1万字左右。 请点击下面的链接查看包含的栏目。

1 操作系统的类型和结构

掌握操作系统原理的关键:一个视角,两条线索。

操作系统(OS)是计算机系统中的核心系统软件。 它负责管理和控制计算机系统中的软硬件资源,合理组织计算机工作流程和有效利用资源,是计算机与用户之间的接口。 。

对象接口形式

用户

命令、菜单、窗口等

应用程序

应用程序编程接口

其他系统软件属于第二层,如编辑器、汇编器、编译器、数据库管理系统等系统软件。 这些软件工作在操作系统之上,为应用软件服务,因此它们与应用软件不同。 1.1 操作系统类型

根据使用环境和作业处理方式,操作系统可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 后来又增加了嵌入式和微内核操作系统。

批处理操作系统对用户提交的作业进行分类,并将一批作业组织成序列来执行; 批处理可分为在线批处理和离线批处理; 批处理系统的主要特点是:用户使用计算机脱机、批处理、多程序运行; 分时操作系统采用分时技术,使多个用户能够同时以会话方式控制自己程序的运行。 每个用户都感觉好像他们有一个独立的系统来支持他们自己请求的服务。 、分时技术将处理器的运行时间划分为很短的时间片,并根据时间片依次将处理器分配给各个作业。 如果一个作业无法在分配给它的时间片内完成其计算,则该作业将暂时中断,将处理器让给另一个作业,并等待下一轮继续运行; 分时系统的主要特点是:交互性、多用户同时性、独立性; 实时操作系统往往是专用的,系统和应用程序很难分开,往往紧密结合在一起; 实时系统不强调资源利用率,而是更关心及时性(时间紧迫性)、可靠性和完整性; 实时系统又分为实时过程控制和实时信息处理两类; 实时系统的主要特点是:提供即时响应、高可靠性; 网络操作系统是按照网络架构的各种协议标准开发的,包括网络管理、通信、资源共享、系统安全和各种网络应用服务等; 在网络系统中,每台计算机的操作系统可以彼此不同。 需要一个支持异构计算机系统之间进程通信的网络环境,以实现协同工作和应用集成; 网络操作系统的主要特点有: :互操作性、协同处理; 分布式操作系统需要一个统一的操作系统来实现系统操作的统一,负责整个系统的资源分配和调度,并为用户提供统一的接口; 它是一个逻辑上紧耦合的系统,目前还没有真正的网络操作系统; 嵌入式操作系统(缩写:EOS)是指用于嵌入式系统的操作系统; 嵌入式操作系统是一种应用广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等; 嵌入式操作系统负责嵌入式系统所有软硬件资源的分配、任务调度、控制、并发活动的协调等,它必须体现其所在系统的特点,能够实现的功能通过加载和卸载某些模块来满足系统的需要; 微内核操作系统由一组尽可能减少数量的软件程序组成,它们负责提供实现操作系统所需的内容。 各种机制和功能,微内核操作系统是基于微内核架构的操作系统。

无论是哪种操作系统,都应该具备五项基本功能,即处理器管理、存储管理、设备管理、文件管理和作业管理。

1.2 操作系统结构

操作系统的结构可分为五种结构,即无序结构、层次结构、面向对象结构、对称多处理结构和微内核结构。

无序结构:又称整体结构或模块组合结构,以大表和队列为中心,各部分运行程序围绕表运行。 整个系统就是一个程序。 这种操作系统通常称为面向进程的操作系统。 操作系统由许多标准的、兼容的基本单元(称为模块)组成。 各个模块相对独立,模块之间通过规定的接口相互调用。 模块化设计方法的优点是缩短了系统开发周期。 缺点是模块之间的调用关系复杂且相互依赖,使得系统的分析、移植和维护更容易出错。 层次结构:将一个庞大而复杂的操作系统分解为多个单向依赖的层次,通过多层的正确性保证操作系统的可靠性; 其优点是层次结构清晰,大大简化了界面设计,并且有利于系统功能的增删,易于保证可靠性,易于维护和移植。 面向对象结构:基于面向对象编程的概念,使用了各种对象技术。 在计算机系统中,对象是操作系统管理的信息和资源的抽象。 它们是一种抽象数据类型。 对象可以用作系统对象。 操作系统中最小的单元由对象、对象操作和对象保护组成,是面向对象的操作系统。 例如,有执行对象(如进程、线程、文件、令牌等)和内核对象(如时钟)。 、事件和信号等); 面向对象结构的优点是适用于网络操作系统和分布式操作系统。

对称多处理结构:如果一个操作系统运行在系统中的所有处理器上,并且共享相同的内存,这样的系统就是对称多处理系统; 优点是适用于共享内存结构的多处理器系统,即紧耦合的多处理机系统。 微内核结构:将系统的公共部分抽象出来,形成提供最基本服务的底层核心。 其他功能以服务器的形式构建在微内核上; 具有良好的模块化和结构特点,模块之间保持一致。 上下层通过消息进行通信; 基于微内核构建的服务器可以根据不同的需求进行构建,从而形成不同的操作系统。 大多数现代操作系统都有两种工作状态:核心状态和用户状态。 我们使用的一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。 微内核结构由一个非常简单的硬件抽象层和一组关键原语或系统调用组成。 这些原语只包括构建系统所必需的几个部分,例如线程管理、地址空间和进程间通信。 。 微内核的目标是将系统服务的实现与系统的基本运行规则分离。 例如,进程的输入/输出锁定服务可以由运行在微内核之外的服务组件提供。 这些模块化的用户模式服务用于完成操作系统中相对高级的操作。 这样的设计使得内核核心部分的设计更加简单; 某个服务组件的故障不会导致整个系统崩溃。 内核需要做的就是重新启动。 该组件不必影响其他部分。

微内核技术的主要优点如下:

2 操作系统进程管理

因为处理器是计算机系统的核心资源,所以整个操作系统的重点就是处理器管理; 处理器管理中最基本、最重要的概念是进程。 进程是系统并发执行的体现。 从静态角度来看,一个操作系统是程序和表的集合。 从动态的角度来看,它是一个进程动态并发执行的操作系统。

从静态角度看,一个进程是由程序、数据和进程控制块(Block,PCB)组成; 从动态的角度来看,进程是计算机状态的有序集合。 进程控制块PCB是进程的唯一标识符。 PCB描述了流程的基本情况。 具体内容可以分为两部分:调度信息和执行信息。 调度信息用于进程调度,包括进程当前的一些基本属性; 执行信息即场景描述流程的执行情况; PCB随着流程的建立而产生,并随着流程的完成而消失。

顺序程序是指程序中的几个操作必须按照一定的顺序执行,并且每个操作前后的数据和状态之间存在一定的关系。 早期的编程一般是按顺序执行的。

多道程序设计系统具有以下特点:

程序的并行执行和资源共享是相辅相成的:

实际情况是,大多数程序段要求操作在时间上是顺序的,这意味着某些操作必须先于其他操作,但其中一些操作可以同时执行。 在这种情况下,可以使用并发操作。

2.1 进程转换状态

由于进程运行的间歇性,进程至少有以下三种状态:

就绪状态:当进程已经分配了除处理器之外的所有必需资源时,只要能够再次获得处理器,就可以立即执行。 此时的进程状态称为就绪状态; 在一个系统中,可以有多个进程同时处于就绪状态,它们通常排成一行,称为就绪队列; 执行状态:指已获得处理器并正在执行的进程; 在单处理器系统中,只有一个进程可以处于执行状态。 如果是多处理器,那么多个进程可以处于执行状态; 阻塞状态:指进程因某个事件(如请求I/O、申请缓冲区空间等)而暂停执行时的状态,也就是说进程的执行不受阻塞,它也可以称为“等待”状态或“睡眠”状态; 它们通常排成一排,称为阻塞队列。

流程的状态会随着其进展或外部条件的变化而变化。 需要注意的是,任何结束阻塞的进程必须首先变为就绪状态,并且在分配给处理器之前不能运行。状态更改示例条件

运行直到被阻塞

运行时外围设备启动;

运行时申请资源(主存储空间和外围设备无法满足);

运行过程中出现故障(程序错误或主存读写错误等)。

阻塞直到准备好

外围设备工作完成;

等待资源可以得到满足。

运行直到准备好

进程用完处理器时间后;

当有更高优先级的进程要运行时;

当一个进程由于自身或外部原因而处于等待状态时放弃处理器。

准备运行

系统根据选定的策略从就绪状态的进程中选择一个进程。

2.2 暂停状态

2.2.1 引入挂起状态的原因

2.2.2 暂停状态有以下特点

新模型将三态模型中的等待状态重命名为主动阻塞状态,将就绪状态更名为主动就绪状态,然后添加了两个与挂起相关的新状态(静态就绪状态和静态阻塞状态)。 2.3 进程互斥与同步★关键资源是指一次只允许一个进程使用的资源,如打印机、磁带机等物理设备以及系统中的变量、数据、表等。一些软件。 临界区是指进程访问临界资源的程序代码。 进程互斥是指:一组并发进程中的一个或多个程序段由于共享公共资源而必须以互斥的方式进行访问。 换句话说,互斥是指确保必须以某种方式访问​​关键资源。 一次只能被一个进程访问; 相互排斥是一种资源竞争关系。 进程同步是指:各个进程异步执行,但必须按照一定的限制顺序和速度执行; 同步是进程之间的协作关系。

临界区加入进程互斥的概念后,可以描述为:禁止两个或多个进程同时进入访问同一临界资源的临界区,因此必须有一种特殊的同步机制来协调它们。

协调指导方针如下:

当没有进程空闲且处于临界区时,如果有进程请求进入临界区,则立即允许其进入。

如果你很忙,请稍等

当一个现有进程进入其临界区时,其他试图进入该临界区的进程必须等待,以确保每个进入该临界区的进程必须互斥

有限的等待

当有多个进程请求进入临界区时,应该在有限的时间内允许某个进程进入临界区,而不是相互等待而无人能进入临界区。

让路并等待

信号量可以有效实现进程同步和互斥

在操作系统中,信号量是一个整数。 当信号量大于等于0时,表示并发进程可用的资源实体数量; 当信号量小于零时,表示等待使用临界区的进程数; 创建信号量必须表明信号量代表什么。 意义和设置初始值,并建立相应的数据结构来指向等待使用临界区的进程。

信号量操作:P操作和V操作,它们都是不可分割的原子操作,也称为原语。 原始操作是指:执行过程中不允许中断。 P(sem)操作会将信号量sem值减1。如果操作前sem值为负,调用P操作的进程将挂起执行,直到另一个进程对同一个信号量执行V操作; V(sem)操作是信号量sem值加1,如果sem值