跳转至

操作系统知识点:

操作系统的功能:(五个):

  1. 处理器管理功能
  2. 存储管理功能
  3. 设备管理功能
  4. 文件管理功能
  5. 网络与通信管理功能

操作系统的主要特性:(四个):

  1. 并发性
  2. 共享性
  3. 异步性
  4. 虚拟性

单道批处理和多道批处理之间的关系和区别:

计算题:计算CPU的利用率(要根据单道/多道不同区别)

几种系统的特点和区别:

批处理系统

**定义:**用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,输入到计算机中。然后,由操作系统来调度和控制作业的执行。这种批量化处理作业的操作系统称为批处理操作系统。

主要特征:

(1)用户脱机工作:用户提交作业后直至获得结果前不再和计算机及他的作业交互,不利于调试和修改程序

(2)成批处理作业

(3)多道程序运行

(4)作业周转时间长

单道批处理:

为实现对作业的自动连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统

多道批处理:

系统可以处理多个作业,每次取一个或多个作业进入内存运行。在系统形成一个自动转接的、连续的作业流。作业一旦进入系统,用户就不能直接干预其作业的运行。

分时系统

**定义:**一台主机上连接多个终端,允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源(硬件和软件资源)。

特征:

(1)同时性:若干个终端用户同时联机使用计算机。

(2)独立性:每个用户感到自己好象独占一台计算机。

(3)及时性:每个用户可以及时控制自己的程序。

(4)交互性:人机交互,联机工作,方便调试、修改程序。

实时系统

**定义:**当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。

特点: 提供及时响应高可靠性是其主要特点。

通用操作系统:

**定义:**如果一个操作系统兼有批处理、分时和实时处理的全部或两种功能,则该操作系统称为通用操作系统。

系统调用和函数调用的区别:

系统调用

操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是所谓的系统调用。

函数调用

image-20240110104548499

操作系统主要构件:

内核:

内核,是操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

进程和线程:

进程:

进程是程序的一次运行过程,用于完成特定任务。

线程:

线程是进程中的一个执行流,一个进程可以包含多个执行流,每个执行流分别承担一个计算任务。

管程:

管程是用来管理共享资源的一种对象。管程封装了对共享资源进行同步、互斥操作的数据结构和一组过程。

操作系统的结构:

整体式结构(单体结构)

概念:操作系统是一组过程的集合,每个过程有接口定义,包括入口参数和返回值,过程间可任意调用。

设计重点:功能的实现和高效率

缺点:缺乏清晰的程序结构、 错误多、难以维护

实例LinuxAT&T SystemVBSD UNIX

层次式结构

概念:把OS的功能模块划分为若干层,每层之间的模块只能单向调用,即低层为高层服务,高层可以调用低层的功能。

客户机/服务器与微内核结构

CS

客户机/服务器与微内核结构将操作系统分成两大部分,一部分是运行在用户态并以客户机/服务器方式活动的进程;另一部分是运行在核心态的内核。除内核部分外,操作系统的其他部分被分成若干个相对独立的进程。

微内核

微内核也是一家公司,但是它把办公室隔成了很多小办公室,每个部门在各自的办公室办公,不会相互影响。

微内核是只提供系统的必要服务,即把必要的服务放在核区。而把其他的服务,包括文件管理、网络服务等服务放到用户模式下。

微内核操作系统(Microkernel Operating System)结构,是20世纪80年代后期发展起来的。由于它能有效地支持多处理机运行,故非常适用于分布式系统环境。当前比较流行的、能支持多处理机运行的操作系统,几乎全部都采用了微内核结构,如卡耐基梅隆大学研制的MachOS,便属于微内核结构操作系统;又如当前广泛使用的Windows操作系统,也采用了微内核结构。 [1]

1) 足够小的内核

微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于:

① 实现与硬件紧密相关的处理;

② 实现一些较基本的功能;

③ 负责客户和服务器之间的通信。

它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。

进程和线程的区别

进程:

进程是程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位

通俗来说, 「进程就是程序的一次执行过程」

特征

**动态性:**内容变化,进程最基本的特征

**并发性:**共享资源、交替穿插

独立性:是系统进行资源分配和调度的独立单位

**异步性:**进程以不可预知的速度向前推进

进程

进程 进程**是一个可并发执行的具有独立功能的程序**关于某个**数据**集合**的一次**执行过程,也是**操作系统**进行**资源分配**和**保护**的**基本单位**。

线程

•线程是进程中的⼀个执⾏单元,负责当前进程中的某个具体任务(某段程序或某个函数),⼀个进程中⾄少有⼀个线程。

**进程的顺序性**指的是进程的执行是按照一定的顺序进行的,即进程需要等待前一个进程完成后才能进行下一个进程的执行。可保证进程的正确与可靠

内部顺序性:

一个**进程内部**语句的执行是**顺序**的,只有当一个**操作结束**后,才能开始**后继操作**。

程序的外部顺序性:

**多个进程**间的**顺序**执行关系,这些进程在时间上按调用次序严格有序执行

伯恩斯坦条件并发进程的执行与时间无关的判定方法:

eg:

\(p_1、p_2\) 是两个进程,\(p1与p2\)之间的读写集/和\(p1、p2的写集之间毫无关联(交集均为空集)\)

竞争问题

image-20240110151127797

(1)进程同步:若干进程为完成一个共同的任务而相互合作等待对方消息的协调关系称为进程同步。 (2)进程互斥:进程之间争夺互斥资源而引起的。 (3)饥饿:一个就绪进程所申请的资源总是被优先于自己的其他进程所占有,始终处于不能被调度执行的状态。 (4)死锁。一个进程集合中已经占有部分资源的两个或两个以上进程,还需要获得已被其他进程占有的资源才能够继续执行;有可能出现某些进程相互之间都在等待对方的资源且都无法运行的状态。

1、临界区(Critical section)与临界资源

并发进程中与共享变量有关的程序段叫做临界区,共享变量代表的资源叫做临界资源。

原则:

(1)一次至多允许一个进程进入临界区内执行; (2)如果已有进程在临界区,其他试图进入的进程应等待; (3)进入临界区内的进程应在有限时间内退出,以便让等待进程中的一个进入。

这部分内容需要关注作业(用表格形式画出两种情况的皮特森算法)

image-20240110151829129

管程:

管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块。

进程通信:

一、共享内存通信机制 二、管道通信机制 三、消息传递通信机制 四、套接字(Socket)通信机制 五、信号通信机制

死锁

如果在一个进程集合中的每个进程都在等待只能由该集合中的其它进程才能引发的事件,而无限期陷入僵持的局面称为死锁。

死锁检测和死锁避免的运行逻辑:

死锁检测:

死锁避免:

**目录**是操作系统中用于组织和管理文件的一种结构化方式,它可以包含其他目录和文件。目录是一个概念、一个容器。

**目录文件**是指用于存储目录及其相关信息的实体文件,是一个特殊类型的文件,包含了目录和子目录的信息,例如名称、大小、创建时间等,在操作系统中扮演了记录和管理目录数据的角色。

**目录项**每个文件在目录表中都有一个目录项,用于记载文件的属性信息,如名称、位置、大小和类型等,目录项也称为文件控制块(FCB)

**FCB**为了能对一个文件进行正确的存取,操作系统必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)。

**文件的逻辑结构**是从用户观点出发看到的文件的组织形式。

**文件的物理结构**是从实现观点出发,又称为文件的存储结构,是指文件在外存上的存储组织形式。

**区别:**文件的逻辑结构与存储介质特性无关,但文件的物理结构与存储介质的特性有很大关系。