02 操作系统基础知识

Posted on Wed, 25 Dec 2024 16:37:51 +0800 by LiangMingJian


1.操作系统

1.1 操作系统的作用

  • 管理计算机系统的全部软、硬件资源,对系统内各项资源板块开展调度工作。
  • 通过资源管理,合理组织计算机的工作流程,提高计算机的效率。
  • 改善人机交互界面,向用户提供友好的工作环境。
  • 操作系统具有并发性,共享性,异步性三种特性。

1.2 操作系统的位置

  • 第一层:应用软件
  • 第二层:其他系统软件,如:数据库系统、编译软件、驱动程序
  • 第三层:操作系统,注意:操作系统是系统软件的一种,向下是计算机硬件,向上是其他系统软件和应用软件。
  • 第四层:硬件

1.3 操作系统的类型

  • 批处理操作系统:通过将作业分组来进行工作,CPU 不会直接与作业进行交互,而是与根据作业间的相似之处创建的批处理任务进行交互。批处理操作系统通过将多个作业分组为较少的批处理任务来工作,使得系统对大量工作的管理变得容易,同时支持多个用户同时进行操控。 但是,批处理操作系统的成本很高,调试难度很大。示例:薪资系统,银行对帐单等。
  • 分时操作系统:操作系统为每个作业分配了一定的时间限制量子,完成一项工作后,再为另一项分配时间,保证每个作业在 CPU 中获得相等的时间。但是,分时操作系统通常都会有数据通信问题。例如: Unix,Multics 等。
  • 网络操作系统:操作系统在互连模型上工作,由客户端服务器(如小型专用网络)组成。与松散耦合的分布式系统不同,网络操作系统是紧密耦合的系统。这意味着连接到集中式服务器的所有计算机都知道彼此的信息,并且位于不同位置的不同系统都可以轻松访问地服务器,完成文件共享。 但是,网络操作系统的服务器组建,维护以及更新的成本非常高。例如:UNIX,Linux,Novell Netware,Microsoft Windows Server 2003 等。
  • 分布式操作系统:操作系统允许使用共享通信网络在全世界范围内互连各种系统。用户可以在网络上的任何地方共享文档,同时所有互连的系统都是独立的,一个系统的故障不会影响网络中的任何其他系统。分布式操作系统在所有操作系统中网络利用率最高。例如: LOCUS。
  • 实时操作系统:操作系统支持快速处理输入和对应关系,就像实时工作一样,不需要时间进行事务处理。根据对时延的要求分为硬实时和软实时系统。例如:导弹发射系统,自动降落伞系统等。
  • 注意:Windows XP,7,10 这类系统现在已形成一个多系列,多用途的操作系统集合。严格上说它的本质应该是多种集合的操作系统,它在运行过程中,根据不同的进行会有实时响应和分时响应,部分功能中,它也可以实现分布式操作。同时,根据它的版本和用途不同,它也有网络操作系统版本。

2.操作系统的中断控制

2.1 中断

  • 中断是硬件和软件交互的一种机制,可以说整个操作系统,整个架构都是由中断来驱动的。
  • 中断的机制分为两种,外中断和内中断,外中断通常为 IO 设备触发的异步事件,内中断则是 CPU 执行指令时发生的同步事件,分为软中断和异常。
  • 中断通过中断号,中断向量,中断向量表来传递中断服务的地址信息。

2.2 中断涉及的设备

  • 一个中断的起末会经历设备,中断控制器, CPU & OS 三个阶段。
  • 首先,设备产生中断。
  • 然后,中断控制器接收和发送中断。
  • 最后,CPU & OS 来实际处理中断。

2.3 中断控制器

  • 中断控制器可以看作是中断的代理,如果没有一个中断代理,外设想要给 CPU 发送中断信号来处理中断,那只能是外设连接在 CPU 的管脚上,而 CPU 的管脚是很宝贵的,不可能拿出那么多管脚去连接全部外设。
  • 代理中断时,所有的外设都会连接在中断处理器上,然后只需要让中断处理器连接到 CPU 的管脚上,便可以使用中断代理的功能。
  • 中断控制器的发展可分为 PICAPIC 两个阶段,前者适用于单处理器,后者适用于多处理器。

3.操作系统的进程管理

3.1 进程

  • 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。程序的代码,程序处理的数据,打开的文件,寄存器的当前值,一条将运行指令的地址都可以是进程。
  • 进程是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

3.2 进程与程序的联系

  • 程序是产生进程的基础。
  • 程序的每次运行构成不同的进程。
  • 进程是程序功能的体现。
  • 通过多次执行,一个程序可对应多个进程,通过调用关系,一个进程可包括多个程序。

3.3 进程与程序的区别

  • 进程是动态的,程序是静态。
  • 程序是有序代码的集合;进程是程序的执行,进程会涉及到核心态和用户态的切换。
  • 进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序可长久保存。
  • 进程 = 程序 + 数据 + 进程控制块。

3.4 进程的特点

  • 动态性:可动态地创建,结束进程。
  • 并发性:进程可以被独立调度并占用处理机运行。
  • 独立性:不同进程的工作不相互影响。
  • 制约性:因访问共享数据或进程间同步而产生制约。

3.5 进程控制块 PCB

  • PCB 是操作系统管理控制进程运行所用的信息集合,是用来描述进程的数据结构。
  • 操作系统为每个进程都维护了一个 PCB,用来保存与该进程有关的各种状态信息。

3.5.1 PCB 中存储的信息

  • 进程标识信息,如本进程的标识,本进程的产生着标识(父进程标识),用户标识等。
  • 处理机状态信息,包括:
    • 用户可见寄存器,用户程序可以使用的数据,地址等寄存器;
    • 控制和状态寄存器,如程序计数器,程序状态字;
    • 栈指针,系统带调用/中断处理和返回时需要用到它;
  • 进程控制信息,包括:
    • 调度和状态信息,用于操作系统进程并占用处理机使用。
    • 进程间通信信息,为支持进程间的与通信相关的各种标识,信号等这些信息存在接收方的进程控制块中。
    • 存储管理信息,包含有指向本进程映像存储空间的数据结构。
    • 进程所用资源,说明由进程打开,使用的系统资源。
    • 有关数据结构连接信息,进程可以连接到一个进程队列中,或连接到相关其他进程的PCB。

3.5.2 PCB 的组织方式

  • 链表:同一状态进程的 PCB 会形成一链表,多个状态对应多个不同的链表。如就绪链表,阻塞链表。链表是最常用的组合,因为可能面临进程创建,销毁等调度导致进程状态发生变化,所以链表能够更加灵活的插入和删除。
  • 索引表:同一状态的进程归入一个 index 表,多个状态对应多个不同的 index 表。如就绪索引表,阻塞索引表。

3.6 进程的状态(三态模型)

  • 进程状态反映进程执行过程的变化,这些状态随着进程的执行和外界条件的变化而转换,在三态模型中,进程状态分为运行态,就绪态,阻塞态。
  • 运行—>阻塞:由于等待外设或主存等资源分配或人工干预引起的(等待某件事
  • 阻塞—>就绪:等待条件已满足,只需分配到处理器后即可运行( 等待某件事发生了
  • 运行—>就绪:不是由于自身原因,而是由外界使得运行态的进程让出处理器,此时变为就绪态(时间片到
  • 就绪—>运行:资源释放后,系统按某种策略选择就绪队列中一个进程启动,变为运行态( 进程调度

4.操作系统的线程管理

4.1 线程

  • 线程是操作系统中能够进行运算调度的最小单位,它是进程中的实际运作单位。
  • 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
  • 各个线程之间可以并发地执行。
  • 各个线程之间可以共享地址空间和文件等资源。
  • 一个线程崩溃(可能破坏了共享资源),会导致所属进程的所有线程崩溃。

4.2 线程和进程的区别

  • 进程是资源分配的单位,线程是 CPU 调度的单位。
  • 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈。多个线程共享进程中打开的文件,代码段和全局变量,但线程不会共享线程内部的栈指针。
  • 线程同样具有就绪,阻塞和执行三种基本状态,同样具有状态之间的转换。
  • 线程能减少并发执行的时间和空间开销:
    • 线程创建,终止时间比较短;
    • 同一进程内的线程能直接进行切换;
    • 由于同一进程的各线程间共享内存和文件资源,可直接进行不通过内核的通信。

5.操作系统的处理器管理

5.1 处理器管理的任务

  • 处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。
  • 在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。

5.2 处理器管理的功能

  • 进程控制:为程序创建进程,撤消已结束的进程,以及控制进程在运行过程中的状态转换。
  • 进程同步:使多个进程能在并发过程中有条不紊地运行,系统中必须设置进程同步机制。
  • 进程通信:实现相互合作进程之间的信息交换。
  • 进程调度:等待在后备队列上的作业,通常要经过处理器调度才能执行。

5.3 进程同步

  • 互斥:两个或两个以上的进程不能同时进入关于同一组共享变量的临界区域,否则可能发送与时间相关的错误,这个现象称为进程互斥。进程互斥保证了临界资源在某一时刻不允许多个进程同时访问,只能单个进程访问。
  • 同步:在某些进程之间,会存在合作关系,例如某一个程序的输入、计算、打印三个程序段作为三个进程并发执行,由于这三个进程间存在着相互合作的关系,即先输入再计算、最后再打印的关系,所以这三个进程在并发执行时推进序列受到限制,要保证其合作关系正确,进程间这种关系称为同步关系。

5.4 信号量

5.4.1 信号量的定义

  • 信号量(Semaphore),是在多进程环境下使用的一种设施,可以用来保证两个或多个关键代码段不被并发调用,实现进程同步和互斥的使用。
  • 信号量 S 是一个整数,当大于等于 0 时,表示可供并发进程使用的资源数,当小于 0 时,表示正在等待使用临界区的进程数。对信号量可以施加 P 和 V 操作,P 请求资源,V 释放资源。执行 P 操作时,信号量 S 值减 1,执行 V 操作时,信号量 S 值加 1。

5.4.3 同步信号量

  • 初值一般设为 0,用来保证进程按一定顺序执行。
  • 低优先级的任务持有信号量,高优先级的任务需要这个信号量,只有当低优先级的任务释放信号量,高优先级的任务才能获取信号量。通过这种机制,低优先级的任务可以防止被高优先级的任务抢占。释放和获取分别在两个任务里完成。

5.4.3 互斥信号量

  • 初值一般设为 1,用来保证一个资源同一时间只有一个进程访问。
  • 当一个任务想对资源访问时,为了防止别的任务也对该资源操作,它需要对该资源上锁,即获取一个互斥的信号量,以保证独享。释放和获取在一个任务里完成的。如果在某一程序段中,PV 操作成对出现,且针对同一信号量 S,则为互斥资源。

5.5 死锁

  • 死锁,指两个或两个以上的进程在执行过程中因争夺资源而造成的一种相互等待的现象。若无外力作用,则该过程会一直进行下去。
  • 例如,进程 A 锁住了资源 1 等待的资源 2,而进程 B 锁住了资源 2 等待的资源 1,两个进程都在等待资源,而不能正常进行,即发生了死锁。
  • 产生死锁的 4 个条件:
    • 互斥条件:一个资源只能被一个进程使用。
    • 请求和保持条件:一个进程因请求资源阻塞时对以获得的资源保持不放。
    • 不剥夺条件:进程以获得的资源在未使用前不会被剥夺。
    • 循环等待条件:若干进程间形成一种头尾相接的循环等待资源关系。

5.6 进程通信

  • 当相互合作的进程处于同一台计算机系统时,通常采用直接通信方式。由源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从其消息队列中取出消息。
  • 当相互合作的进程处于不同计算机系统时,通常采用间接通信方式。由源进程利用发送命令将信息发送到一个专门存放消息的中间实体中,然后由目标进程利用接收命令从中间实体中取出消息。这个中间实体通常称为邮箱,相应的通信系统称为电子邮件系统。

5.7 进程调度

  • 调度是指在多道程序系统中,进程的数量往往多于处理机的个数,因此进程争用处理机的情况在所难免。需要通过处理机调度来对处理机进行分配,从就绪队列中按照一定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发执行。
  • 调度分为以下三种类型:
    • 作业调度:从后备队列中按照一定的算法,选择出若干个作业,将它们调入主存,建立进程,分配必要的资源,使之成为就绪进程,并按照一定的算法将其插入到就绪队列。
    • 进程调度:从进程的就绪队列中,按照一定的调度算法选出一个进程,把处理器分配给它,使进程投入运行。
    • 中级调度:把那些暂时不能运行的进程从主存移到外存上,释放其所占有的宝贵资源。当移到外存上的进程具备运行条件时,再由中级调度把它们重新调入主存,等待运行。
  • 通常有以下两种进程调度方式:
    • 非剥夺(非抢占)调度方式: 即使有某个更为重要或者紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行。
    • 剥夺(抢占)调度方式:若有某个更为重要或紧迫的进程(优先级更高)的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给这个更重要的进程。
  • 典型的调度算法有:先来先服务(FCFS),短作业优先(SJF),优先级调度算法,高响应比优先调度算法,时间片轮转调度算法。

5.8 进程资源图

5.8.1 图解

  • P:进程
  • R:一类资源
  • R 中的圆圈数:该类资源有几个
  • R→P(R 指向 P):分配一份 R 类资源给进程 P
  • P→R(P 指向 R):进程 P 申请一份 R 类资源

5.8.2 判断进程资源图是否阻塞。

  • 当 R 中所有资源都分配出去了,而此时还有进程 P 向 R 申请资源,则申请资源 R 的进程 P 成为阻塞节点。
  • R 中所有资源没有全部都分配出去了,而此时还有进程 P 向 R 申请资源,则申请资源 R 的进程 P 成为非阻塞节点。

5.8.3 判断进程资源图是否死锁。

  • 如果所有节点都是阻塞的,此进程资源图不可以化简,可以说这个系统是死锁的。
  • 如果有节点不是阻塞的,将非阻塞节点周围的箭头删去,只保留阻塞节点的箭头,此时,观察现在得到的图中,原来的阻塞节点是否阻塞?如果在新图中,它是非阻塞的,则原图是可以化简的,可以说这个系统是非死锁的。

5.9 设备利用率的计算

  • 问题:通过进程调度示意图,计算设备利用率。
  • 解:CPU 利用率 90%,R2 利用率 70%
进程102030405060708090100
P1R2R2R2CPUR1R1R1CPU
P2R1R1CPUWaitCPUCPUR2R2R2R2
P3CPUCPUWaitWaitWaitWaitCPUWaitCPUR1

6.操作系统的存储管理(内存)

6.1 内存管理的作用

  • 内存管理的主要目的是解决多个用户(进程)使用主存的问题。
  • 内存管理的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护等。

6.2 单一连续区管理

  • 最简单的存储管理方式。
  • 采用这种方式时,内存被分为两个区域,一个系统区域,设置在内存低端,另一个为用户区,是除系统区外全部内存区域,提供给用户使用。在这种方式下,任何时刻主存储器中最多只能有一个作业。

6.3 分区式内存管理

6.3.1 固定分区存储管理

  • 将内存划分若干个连续固定的区域,每一个分区只能分配给某一个进程使用。
  • 由于每一个分区只能分配给某一个进程使用,而该进程可能占不满这个分区,所以会有内部碎片的存在。

6.3.2 动态分区存储管理

  • 在运行时根据进程所需内存,动态分配一块连续的内存区域,每一个分区只能分配给某一个进程使用。
  • 由于要求进程占用一块连续的内存区域,所以当为所有进程分配内存后,总会有部分内存没有被分配到,此时就产生大量的外部碎片。

6.3.3 分区存储管理的优缺点

  • 分区式管理时,进程的大小受分区大小或内存可用空间的限制。
  • 分区式管理不利于程序段和数据的共享。

6.4 分页式内存管理

6.4.1 分页存储管理

  • 页式管理将内存空间分成一个个大小相等的分区,每个分区就是一个页框,每一个页框有一个编号,称为页框号,从 0 开始。
  • 在分配内存时,将进程分割成和页框大小相等的一个个区域,也叫页,每一个页面有一个编号,叫做页号,从 0 开始。操作系统会以页框为单位,将每一个页面分别放入一个页框中。
  • 注意:各个页面不需要连续存放,可以放到不相邻的各个页框中。

6.4.2 分页存储管理的优缺点

  • 页式管理只在内存存放反复执行或即将执行的程序段与数据部分。
  • 不经常执行的程序段和数据存放于外存待执行时调入。

6.4.3 分页存储管理的逻辑地址计算

  • 假如页号有 k 位,那么页面总数就是 2^k 个,Len([10-19])=10,即 2^10
  • 假如页内地址 m 位,那么页面大小为 2^m,Len([0-9])=10,即 2^10

6.4.4 分页存储管理的物理地址换算

  • 问题:某个分页系统,页面大小为 2K,即 2048 个字节。某一个作业有 4 个页面,分别装入到主存的第 3、4、6、8 块中。求逻辑地址 2500 对应的物理地址。
  • 页号 = Int( 逻辑地址 / 页面大小 ) = 2500/2048 = 1(第1页)
  • 页内地址 = 逻辑地址 mod 页面大小 = 2500%2048 = 452
  • 产生页表:页面编号从 0 开始,分别对应物理块号有:编号 0 - 第 3 块,编号 1 - 第 4 块
  • 物理地址 = 物理块号 X 页面大小 + 页内地址 = 3 X 2048 + 452 = 6596

6.5 分段式内存管理

6.5.1 分段存储管理

  • 段式管理会根据程序自身的逻辑关系将进程划分为若干个段,每个段都有一个段名,每段从 0 开始编址。
  • 在内存分配时,以段为单位进行分配,每个段在内存中占连续空间,但各段之间可以不相邻。
  • 对用户来说,分段是可见的,页是信息的物理单位,分页活动对用户不可见。页的大小固定,由系统决定,段的大小不固定,由用户决定。

6.5.2 分段存储管理的逻辑地址计算

  • 分段系统的逻辑地址结构由段号(段名)和段内地址(段内偏移量)所组成。
  • 假如段号占 k 位,则每个进程最多有 2^k 个,Len([16-31])= 16,即段数最大为 2^16 = 64K 个段。
  • 假如段内地址占 m 位,那么每个段最大长度为 2^m,Len([0-15])= 16,即段内地址最大长度 2^16 B = 64 KB。

6.6 段页式内存管理

6.6.1 页式系统与段式系统的对比

6.6.2 段页式存储管理

  • 通过对段内地址进行页式存储管理,组成段页式存储管理。用户程序按段式划分,按页式存储管理方案进行内存分配。
  • 在这种存储管理系统中,处理器给出的有效地址被分为3个部分,即段号,页号和页内地址。

6.6.3 段页式存储管理的优缺点

  • 这种技术的优点是提供了大量虚存空间,能有效地利用主存。
  • 缺点是增加了硬件成本,系统复杂性和管理上的开销,并且页面使用不充分,各种表格占用主存空间。进行地址变换和实现靠拢操作要花费大量处理器时间。

6.6.4 段页式存储管理的逻辑地址计算

  • 段号的位数决定每个进程最多可以分配多少个段。
  • 页号的位数决定每个段最大有多少页。
  • 页内地址决定页面的大小。

7.操作系统的存储管理(外存)

7.1 位示图

  • 位示图,又叫位图,在外存中利用二进制中一位来表示磁盘中每一个盘块使用情况。当值为 0 时,表示对应的盘块空闲,为 1 时,表示已经分配。
  • 在位示图中,1个位表示1个物理块的使用情况,因此按字节编码,若系统字长32位,则位示图中每1个字表示 32 个物理块的大小。
  • 位示图占用字节数量(个) = 物理块总数 / 系统字长。

7.2 相关计算

  • 问题:由系统字长 32 位,磁盘容量 1000GB,磁盘物理块大小 4 MB,编号物理块 0,1,2,位示图字 0,1,2,则 16385 号物理块的使用情况在位示图中第几个字中?位示图需要多少个字表示?
  • 解:由于系统字长 32 位,因此 1 个字表示 32 个物理块,因此 16385/32 ~= 512 ….. 1,即第 16385 号物理块在第 513 个字中,又因为位示图字编号由 0 开始,因此第 16385 号物理块在位示图编号 512 的字中描述。因为磁盘容量为 1000 X 2^10 MB,每个物理块大小为 4 MB,因此物理块总数 1000 X 2^10 / 4 = 250 X 2^10 个,占用字节数量 = 250 X 2^10 / 32 = 250 X 32(2^5) = 8000 个。

8.操作系统的设备管理

8.1 设备管理基本功能

  • 设备管理是指计算机系统中除了 CPU 和内存以外的所有输入、输出设备的管理,包括:设备控制器、DMA控制器、中断控制器、通道。
  • 主要功能包括:缓冲管理、设备分配与回收、设备处理和虚拟设备。

8.2 设备管理的目标

  • 向用户提供使用外部设备的方便、统一的接口,完成用户的输入输出请求。
    • 方便是指用户能独立于具体设备的复杂物理特性而方便地使用设备;
    • 统一是指对不同设备尽量能统一操作方式。
    • 方便和统一要求对用户屏蔽实现具体设备I/O操作的细节,呈现给用户的是一种性能理想化的、操作简便的逻辑设备。系统的这种性能亦称为设备的独立性(设备无关性)。
  • 充分利用中断技术、通道技术和缓冲技术,提高CPU与设备、设备与设备间的并行工作能力,充分利用设备资源,提高外部设备的使用效率。
  • 设备管理就是要保证在多道程序环境下,当多个进程竞争使用设备时,按照一定的策略分配和管理设备,以使系统能有条不紊地工作。

8.3 设备的说明

  • 外设的特点是种类多、 差异大(控制和速度)、具有并发要求。
  • 设备就像计算机系统的五官和四肢,与其他功能联系密切,特别是文件系统。
  • I/O 性能经常成为系统的瓶颈,CPU 性能不等于系统性能,CPU 性能越高,与 I/O 差距越大。

8.4 设备的分类(从属关系)

  • 系统设备(标准设备):键盘、显示器等。
  • 用户设备(非标准设备):绘图仪、扫描仪等。

8.5 设备的分类(操作特性)

  • 存储设备:是计算机用来保存信息的设备,其特点是容量大。如磁盘、磁带等。
  • 输入输出设备:是用来接受计算机外部的信息或将计算机内部的信息送向计算机外部。如键盘、鼠标、打印机等。

8.6 设备的分类(数据交换单位)

  • 块设备(高速设备):指以数据块为单位组织和传送数据的设备,如磁盘、磁带等。一般块的大小为512B–4KB,传输速率较高,通常每秒钟为几兆位,可进行寻址。
  • 字符设备(中低速设备):指以单个字符为单位存取信息的设备,如终端,打印机等。传输速率较低,不可寻址。

8.7 设备的分类(共享属性)

  • 独享设备:这类设备在一段时间内最多只能有一个进程占有并使用它。例如当某一进程正在使用某打印机时,其他进程就不能使用该打印机,否则将会得到混乱的输出结果。低速I/O设备一般是独占设备,如打印机,终端等。
  • 共享设备:这类设备允许多个进程共享,即多个进程的I/O传输可以交叉,在宏观上多个进程同时使用。例如,多个进程可以交替地从磁盘上读写信息。显然,这类设备具有较高的利用率,一般是高速外部设备,如磁盘是共享设备。注意,磁带机是不适于共享的,这是由于磁带机的机械运动速度慢。
  • 虚拟设备:在一类设备上模拟另一类设备的技术称为虚拟设备技术。通过虚拟技术将一台独占设备变换成若干台逻辑设备。通常是用高速设备来模拟低速设备,以此把原来低速的独占设备改造成为若干进程共享的高速共享设备。就好像把一台设备变成了多台虚拟设备,从而提高了设备的利用率。人们称被模拟的设备为虚拟设备。SPOOLing 技术是一类典型的虚拟设备技术。

9.操作系统的文件管理

9.1 文件类型分类(性质和用途)

  • 系统文件
  • 库文件
  • 用户文件

9.2 文件类型分类(操作保护)

  • 只读文件
  • 可读可写文件
  • 可执行文件

9.3 文件类型分类(使用情况)

  • 临时文件
  • 永久文件
  • 档案文件

9.4 文件类型分类(用户观点)

  • 普通文件
  • 目录文件
  • 特殊文件(设备驱动程序)

9.5 文件类型分类(物理存取结构)

  • 顺序(连续)文件
  • 链接文件
  • 索引文件

9.6 文件类型分类(逻辑存储结构)

  • 记录式文件
  • 流式文件

9.7 文件的四级安全管理措施

  • 系统级管理:不允许未经核准的用户进入系统,防止他人非法使用系统中各类资源。主要方法有注册、登录、登录时限限制等。
  • 用户级安全管理:为用户分配文件访问权,包括对所有用户进行分类、为指定用户分配文件访问权等。
  • 目录级安全管理:与用户权限无关,主要工作是保护系统中的各种目录。规定只有系统核心才具有写目录的权利。当一用户试图访问一目录时,系统核心将对用户访问权和目录中的访问权进行比较,通过后才给予用户有效的访问权。
  • 文件级安全管理:通过系统管理员或文件主对文件属性的设置,来控制用户对文件的访问。如只读与隐藏属性的设置。用户对文件的访问,将由用户访问权、目录访问权限和文件属性三者的权限所确定。

9.8 文件的系统格式

  • FAT32 格式:属于 Windows 平台的传统文件格式,兼容性很好,但它不支持 4GB 以上的文件。
  • NTFS 格式:属于 Windows 平台应用最广泛的文件格式,能够支持大容量文件和超大分区,集合了很多高级的技术,其中包括长文件名、压缩分区、数据保护、恢复等。
  • exFAT 格式:是 U 盘最好的选择,支持访问控制,能够增强台式机或笔记本和移动设备之间的互操作能力,是微软为 ROM 特地设计的文件系统格式。
  • ext 格式:Linux 中最早的文件系统格式,由于在性能和兼容性上具有很多缺陷,现在已经很少使用。其后续版本为:ext2,ext3,ext4。
  • xfs 格式:被业界称为最先进,最具有可升级性的文件系统技术。

9.9 文件目录

  • 操作系统往往使用文件目录和目录项来管理外存中的信息。
  • 目录项是记录某个文件的名字、存放地址及其他有关文件的说明信息和控制信息的数据结构。
  • 文件目录是由一组文件目录项组成的数据结构。

9.10 多级目录结构

  • 绝对路径:从根开始的路径,比如:/root/user 或 \root\user。
  • 相对路径:从当前路径访问的路径,比如:user/username 或 ./user/username

10.操作系统的作业管理

10.1 作业的概念

  • 用户提交给计算机的工作称为作业。
  • 计算机中的作业是为了完成某个用户的计算任务所做工作的总和。

10.2 作业的控制方式

  • 脱机控制方式:用户需要把自己需要计算机完成的任务用作业控制语言编写成作业说明书,连同作业一并交给操作系统。作业的执行过程是不需要人为干预的。
  • 联机控制方式:操作系统向用户提供一组联机命令,用户通过终端输入命令将自己需要计算机干什么的意图告诉计算机,用来控制作业的运行过程,这个是需要人机交互配合的。

10.3 作业的组成

  • 程序、数据、作业说明书。
  • 作业说明书包括:
    • 作业基本情况:用户名、作业名、编程语言、最大处理时间。
    • 作业控制描述:作业控制方式、作业步骤的操作顺序、作业执行出错处理
    • 作业资源要求描述:处理时间、优先级、主存空间、外设类型、数量。

10.4 作业状态及转换

  • 提交:通过输入设备送入计算机系统的过程状态称为提交状态。
  • 后备:通过 Spooling 系统将作业输入到计算机系统的后备存储器中、随时等待作业调度程序调度时的状态。
  • 执行:当作业被作业调度程序选中,为其分配需要的资源、并建立相应的进程后,作业就进入了执行状态。
  • 完成:作业正常结束或异常终止时,作业就会进入完成状态。作业调度程序会对该作业进行后续处理,比如撤销作业的控制块、回收作业占用的系统资源等。

10.5 作业控制块和作业后备队列

  • 作业控制块(JCB):记录与该作业有关的各种信息的登记表。它是作业的唯一标识,包括用户名、作业名、状态标志等信息。
  • 作业后备队列:由若干个 JCB 作业控制块排成一个或多个的队列称为作业后备队列。

10.6 作业调度原则

  • 先来先到:按照作业到达的先后进行调度,优先启动等待时间最长的作业。
  • 短作业有限:优先运行时间最短的的作业。
  • 响应比高优先:响应比高的作业优先启动。(响应比 R = 作业响应时间 / 作业执行时间,作业响应时间为作业进入系统后的等候时间与作业的执行时间之和)

10.7 作业调度算法

  • 优先级调度算法:由用户指定作业优先级,优先级高的作业先启动。也可以由系统根据作业要求的紧迫程度决定优先启动。
  • 均衡调度算法:根据系统的运行情况和作业本身的特性对作业进行分类。作业调度程序轮流地从这些不同类别的作业挑选对应的作业执行。

10.6 作业调度算法性能的衡量指标

  • 在批处理为主的系统中,通常用平均周转时间或平均带权周转时间来衡量调度性能的优劣。

11.网络操作系统

11.1 网络操作系统的概念

  • 网络操作系统除了实现操作系统的所有功能,还能够对网络中的资源进行管理和共享。
  • 网络操作系统(Network Operation System,NOS)是使网络上各种计算机能方便有效地共享网络资源,为网络用户提供所需的各种服务的软件和通信协议的集合。

11.2 网络操作系统的主要任务

  • 提供网络服务和网络资源管理。
  • 网络用户与服务器之间的接口,实现基于网络的用户远程访问能力。

11.3 网络操作系统的功能特性

  • 共享资源管理:网络操作系统应该能够对网络中的共享资源实施有效的管理,能够有效协调用户对共享资源的使用,保证共享数据的安全性和一致性。
  • 网络通信:接入网络的计算机作为主机系统,都应该支持网络通信功能,即实现从网络协议栈数据链路层到应用层的功能,从而在源主机和目标主机之间,实现无差错的数据传输,在网络通信方面支持更多协议,提供更高安全性和可用性。
  • 网络服务:网络操作系统内置了常用的网络服务器,为用户提供多种有效网络服务。典型网络服务包括:文件传输、存取和管理服务。域名解析系统DNS。用户管理服务。安全服务。群集支持。共享硬盘服务。共享打印服务。
  • 网络管理:网络操作系统支持网络管理协议,如简单网络管理协议 SNMP 等。支持服务器的远程管理、远程登录,可以实现全网网络服务器的远程统一管理。
  • 安全管理,通过“存取控制”来确保存取数据的安全性;通过“容错技术”来保证系统故障时,数据能够安全恢复。
  • 性能监控:网络操作系统还能对网络性能进行监视、对使用情况进行统计,为提高网络性能、进行网络维护和记账等提供必要的信息。
  • 互操作能力:在网络环境下,各种客户机和主机,往往不论安装什么操作系统,不仅能够与服务器通信,而且还能以透明的方式访问服务器上的文件系统。
  • 作业迁移:即一个作业可以从一个节点计算机上迁移到其他工作负荷较轻或适宜处理该作业的节点计算机上运行。

12.嵌入式操作系统

12.1 定义

  • 嵌入式系统是用于控制、监视或者辅助操作机器和设备的一种专用的计算机系统。
  • 嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
  • 嵌入式系统作为装置或设备的一部分,它是一个程序存储在 ROM 中的嵌入式处理器控制板。
  • 嵌入式系统往往应用在工业控制,交通管理,信息家电,POS 网络,环境工程和机器人等方面。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统。

12.2 嵌入式系统的特点

  • 系统内核小。
  • 专用性强。
  • 系统精简。
  • 高实时性。
  • 支持多任务。
  • 需要专用开发工具和环境。

12.3 嵌入式微处理器的特点

  • 嵌入式系统的核心是嵌入式微处理器。
  • 对实时任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
  • 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
  • 可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。
  • 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。