个人整理,错误见谅。

目录

Chapter1 CS概述

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter2 OS概述

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter3 进程

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter4 进程相关;线程;SMP;微内核

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter5 同步互斥

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter6 死锁饥饿

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter7 简单MM

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter8 虚拟MM

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter9 进程调度

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter11 IO管理

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

Chapter12 文件系统

选择题【了解】

名词解释【理解】

简单题【理解】

计算题【掌握应用】

单词熟记


Chapter1 CS概述

选择题【了解】

1. CPU的态:用户态和系统态

2. 中断的产生背景

提高处理器效率

3. 中断处理流程

设备产生中断,处理器结束当前指令运行,处理器发送中断应答信号,处理器把PSW和PC压入控制栈,根据中断加载PC,保存剩余状态信息,处理中断,恢复处理状态信息,恢复旧PSW和PC

4. 中断的现场保存与恢复

名词解释【理解】

1. Instruction Cycle

单个指令所需要的处理成为一个指令周期。基本的指令周期包含两个阶段:取指阶段和执行阶段。处理器从存储器中一次读取一条指令,然后执行每条指令。

2. Interrupt的概念

中断是I/O、内存等其他模块中断处理器的正常处理过程的机制,它具有不可预测性、可屏蔽性、可嵌套性等性质,通常分为程序中断、时钟中断、I/O中断、硬件失效中断等。

3. Hit Radio

即命中率。若在存储器中找到了存取的字,则称为命中,若未找到则称为未命中,命中率即在存储器中找到存取的字的概率。

4. Memory Hierarchy

即存储器层次结构。为了提高存储效率使用一种三级的存储器层次结构,第一层为板上存储器,包含寄存器、高速缓存和内存;第二层为板外存储器,包含磁盘、光盘等;第三层为离线存储器,包含磁带。从上外下看时,每位的价格递减、容量递增、存取时间递增、处理器访问存储器的频率递减。这种存储器的层次结构能够成功关键在于:底层的访问频率递减。

5. Cache

利用局部性原理,在处理器和内存之间提供一个容量小且速度快的存储器,称为高速缓存。高速缓存包含一部分内存数据的副本,当处理器试图读取存储器中的一个字或字节时,要进行一次检查其是否在高速缓存中,如果在就由高速缓存传递该字节给处理器,如果不在则将有固定数目的字节组成的一块内存数据读入高速缓存,然后该字节从高速缓存传递给处理器。

6. Locality

即局部性原理。因为代码聚集、局部性数据相邻,在执行程序期间,处理器的指令访存和数据访存呈“簇”状。

7. I/O三方法:可编程/中断/DMA

可编程I/O:I/O模块执行请求的动作并设置I/O状态寄存器中相应的值,但它不会进一步通知处理器,尤其是它不会中断处理器。因此处理器在执行I/O指令后还要定期检查I/O模块的状态以确定I/O操作是否已经完成。

中断驱动I/O:由处理器给I/O模块发送I/O命令,然后处理器继续做其他一些有用的工作。当I/O模块准备好和处理器交换数据时,它将打断处理器的执行并请求服务。处理器和前面一样执行数据传送,然后恢复处理器以前的执行过程。

DMA:为直接内存存取。它可以由系统总线中的一个独立模块完成,也可以并入一个I/O模块中。在处理器读或写一块数据时,给DMA模块产生一条命令并发送一系列信息,之后处理器继续其他工作。DMA模块直接与存储器交互,传送整个数据块,每次传送一个字。这个过程不需要处理器的参与。传送完成后,DMA向处理器发一个中断信号。因此,只有在开始传送和传送结束时处理器才会参与。

简单题【理解】

计算题【掌握应用】

Chapter2 OS概述

选择题【了解】

1. 中断/异常在批处理系统中的作用

2. 中断/异常在分时系统中的作用

时钟中断

3. 多道/任务/用户/进程/线程/的关系和区别

4. OS和一般程序的异同

名词解释【理解】

1. OS的概念

操作系统是控制应用程序执行的程序,是应用程序和计算机硬件间的接口。

2. 多道

当一个作业需要等待I/O时,处理器可以切换到另一个可能并不在等待I/O的作业。进一步还可以扩展存储器以保存三个程序、四个程序或者更多的程序,且在它们之间进行切换。这种处理称为多道程序设计或多任务处理。

3. 分时系统

多个用户分享处理器时间的技术叫做分时。在分时系统中,多个用户可以通过终端同时访问系统,由操作系统控制每个用户程序在很短的时间内交替执行。

4. 批处理系统

使用一个称为监控程序的软件。通过使用这类操作系统,用户不再直接访问机器,而是将作业交给计算机操作员,由操作员将作业按顺序组织成批,并将整个批作业放在输入设备上,供监控程序使用。每个程序完成处理后返回到监控程序,同时监控程序自动加载下一个程序。

简单题【理解】

1. OS的目标有哪些?

①方便:使计算机更易使用;②有效:操作系统允许以更有效的方式使用计算机系统资源;③扩展能力:在构造操作系统时,应允许在不妨碍服务的前提下,有效地开发、测试和引入新的系统功能。

2. OS的功能

①作为用户/计算机接口的操作系统;②作为资源管理器的操作系统;③易扩展性。

3. 分时系统和批处理系统的产生背景

分时系统背景:需要提供一种用户直接与计算机交互的模式。

批处理背景:早期的计算机非常昂贵,同时由于调度和准备而浪费的时间较长,需要最大限度地利用处理器。为提高利用率开发批处理操作系统。

4. 分时系统和批处理系统的异同

同:都使用了多道程序设计

异:批处理系统的主要目标是充分利用处理器,而分时系统的主要目标是减小相应时间;批处理系统的操作系统指令源是作业控制语言命令和作业提供的命令,而分时系统的操作系统指令源是终端键入的命令。

计算题【掌握应用】

Chapter3 进程

选择题【了解】

1. OS为了实现进程,需要哪些CPU的硬件支持?

2. 从进程Image和PCB的角度,简述一个Helloworld程序变成一个Helloworld进程的过程

3. 进程控制相关的函数:创建、销毁、进程阻塞、进程通信、进程同步等

4. 阻塞函数的含义

名词解释【理解】

1. 进程

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的独立单位。进程是:一个正在执行的程序;一个正在计算机上执行的程序实例;能分配给处理器并由处理器执行的实体;由一组执行的命令、一个当前状态和一组相关的系统资源表征的活动单元。进程由程序代码、代码相关联的数据集和程序运行的环境构成。

2. CPU的Mode

大多数CPU至少支持两种模式:非特权的用户模式及特权的系统模式。

用户模式具有较低的特权,用户通常在该模式下运行。系统模式又叫控制模式、内核模式,它具有较高特权;运行系统特定的指令,包括读/写控制寄存器的指令、基本I/O指令以及与存储器管理有关的指令,及一些特定的内存区;内核模式下的处理机及其指令、寄存器和内存都受到完全控制和保护。内核模式指的是操作系统的内核,它是操作系统中包含重要系统功能的部分。

3. 进程的状态

进程的状态描述进程所表现出的行为。在两状态模型中,进程有运行态和未运行态。在五状态模型中,进程有运行态、就绪态、阻塞态、新建态和退出态。在六状态模型中,多了一个挂起态。在七状态模型中,挂起态分为阻塞/挂起态和就绪/挂起态。

简单题【理解】

1. PCB的构成

PCB中信息分为三类:进程标识信息、进程状态信息、进程控制信息。由标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息等构成。

2. 进程5/6/7状态图:看图OR画图

3. 进程切换的流程

①保存处理器的上下文;②对当前运行进程的PCB进行更新;③将这个进程的PCB移入适当的队列(就绪、阻塞);④挑选其他进程执行⑤对挑选进程的PCB进行更新⑥对寄存器/存储器管理数据结构进行更新⑦将被选中进程上次移出时的处理器状态进行恢复.

4. 进程切换VS态的切换的关系/异同

上下文切换发生时,可能并不改变当前处于运行态的进程状态(如发生系统调用时)。

5. 进程创建的流程(可以结合fork的流程)

①为新进程分配一个唯一的进程标识符;②为进程分配空间;③初始化进程控制块;④设置正确的链接;⑤创建或扩充其他数据结构。

6. 进程切换的时机

当操作系统掌握控制权时,切换随时会发生。可能将控制权交给操作系统的事件有:中断(时钟中断、I/O中断、内存失效等)、陷阱以及系统调用。

计算题【掌握应用】

Chapter4 进程相关;线程;SMP;微内核

选择题【了解】

名词解释【理解】

1. 线程

线程是调度/执行分派的单位,它包含一个线程执行状态、未保存时保存的线程上下文、一个执行栈、用于局部变量的一些静态存储空间、与进程内其他线程共享的内存和资源的访问。

2. SMP

SMP即对称多处理,是指在一个计算机上汇集了一组处理器,各CPU之间共享内存子系统以及总线结构。内核可以在任何处理器上执行,通常情况下,每个处理器从可用的进程或线程池中进行自我调度。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。

3. 微内核

微内核只包含基本的核心操作系统功能,比如进程等。许多传统上包含在操作系统中的服务现在是外部子系统,比如设备驱动程等,所以这些服务之间彼此之间都受到了保护。

4. 单一内核

单内核是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大映象。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。 在运行效率上,单内核会具有一定的好处。

简单题【理解】

1. 进程和线程的关系

 2. 进程和线程的异同

线程是分派的单位,而进程是拥有资源所有权的单位。在多线程环境中,进程定义为资源分配单元和一个保护单元。一个进程中可能有一个或多个线程。在单线程进程模型中(无明确的线程概念),进程的表示包括其进程控制块和用户地址空间,以及在进程执行中管理调用/返回行为的用户栈和内核栈。进程正运行时,处理器寄存器由该进程控制;进程未运行时,将保存这些处理器寄存器中的内容。在多线程环境中,进程仍然只有一个与之关联的进程控制块和用户地址空间,但每个线程现在会有许多单独的栈和一个单独的控制块,控制块中包含寄存器值、优先级和其他与线程相关的状态信息。

3. 引入线程的原因

原来进程的资源所有权与调度/执行功能独立,操作系统应该能分别处理它们。为了区分这两个特点,引入线程是分派的单位,而进程是拥有资源所有权的单位。

4. 线程的实现方法

①用户级线程。管理线程的所有工作都由应用程序完成,内核意识不到线程的存在,任何应用程序都可以使用线程库设计成多线程程序。

②内核级线程。管理线程的所有工作均由内核完成,应用级没有线程管理代码,只有一个到内核线程设施的应用编程接口。内核为进程即进程内的每个线程维护上下文信息,调度由内核基于线程池完成

③混合方法。线程的创建、调度和同步在用户空间内完成,将可能频繁发生系统调用的线程或多个并发线程映射到内核空间。

5. ULT的优缺点

ULT为用户级线程,管理线程的所有工作都由应用程序完成,内核意识不到线程的存在。

ULT优点:①所有线程管理数据结构都在一-个进程的用户地址空间中,线程切换不需要内核模式特权,因此进程不需要为了管理线程而切换到内核模式,进而节省了两次状态转换(从用户模式到内核模式,以及从内核模式返回用户模式)的开销。切换快②调度因应用程序的不同而不同。③ULT可在任何操作系统中运行,不需要对底层内核进行修改以支持ULT。可移植性好。

ULT缺点:①在典型的操作系统中,许多系统调用都会引起阻塞。因此,在ULT执行一个系统调用时,不仅会阻塞这个线程,也可能会阻塞进程中的所有线程。②在纯ULT策略中,多线程应用程序不能利用多处理技术。

6. KLT的优缺点

内核级线程指管理线程的所有工作均由内核完成。应用级没有线程管理代码,只有一个到内核线程设施的应用编程接口。

KLT优点:①内核可以同时把同一个进程中的多个线程调度到多个处理器中;②进程中的一个线程被阻塞时,不会引起其他的线程阻塞,内核可以调度同一个进程中的另一个线程;③内核例程自身也可是多线程的。

KLT的缺点:①在把控制权从一个线程传送到同一个进程内的另一个线程时,需要切换到内核模式。

7. 使用微内核的好处

①一致接口:不区分内核级和用户级服务,所有的服务都是通过消息传递的方式提供的;②可扩展性:允许增加新的服务;③灵活性:增加新的功能,现有的功能可以被减去;④可移植性:移植系统到一个新的处理器所需的改变是在微内核中进行的,而不是在其他服务中;⑤可靠性:采用模块化设计,小的微内核可以被严格地测试;⑥支持分布式系统:信息的发送不需要知道目标机器是什么;⑦面向对象的操作系统:组件是具有明确定义的接口的对象,可以相互连接以形成软件。

计算题【掌握应用】

Chapter5 同步互斥

选择题【了解】

1. 并发和并行的异同

2. CS中,为了解决同步互斥,提出了哪几类解决方法

名词解释【理解】

1. 并行/concurrency

并行是指同时实行或实施。在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。

2. 并发/parallel

并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。宏观上是同时,微观上仍是顺序执行。

3. Interleave和overlay

Interleave交替执行

Overlay覆盖

4. Mutual exclusion

当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问任何共享资源的情形。

5. Synchronization

同步

6. Critical section

临界区:一段代码,在这段代码中进程将访问共享资源,当另外一个进程已在这段代码中运行时,这个进程就不能在这段代码中执行。

7. Race condition

竞争条件:多个线程或进程同时在读写一个共享数据时,结果依赖于它们执行的相对时间的情形。

8. 原子操作

一个函数或动作由一个或多个指令的序列实现,对外是不可见的:也就是说,没有其他进程可以看到其中间状态或能中断此操作。要保证指令序列要么作为一个组来执行,要么都不执行,对系统状态没有可见的影响。原子性保证了并发进程的隔离。

9. 信号量

信号量是一种数据结构,它包含一个整数和阻塞队列。用于进程间传递信号的一个整数值。在信号量上只可进行三种操作,即初始化、递减和增加,这三种操作都是原子操作。递减操作用于阻塞一个进程,递增操作用于解除一个进程的阻塞。信号量也称为计数信号量或一般信号量。

简单题【理解】

1. concurrency需要解决的四个问题

①操作系统必须能够跟踪不同的进程。

②操作系统必须为每个活动进程分配和释放各种资源。

③操作系统必须保护每个进程的数据和物理资源,避免其他进程的无意干扰。

④一个进程的功能和输出结果必须与执行速度无关(相对于其他并发进程的执行速度)。

2. 信号量的类型

信号量:用于进程间传递信号的一个整数值。 在信号量上只可进行三种操作,即初始化、递减和增加,这三种操作都是原子操作。递减操作用于阻塞一个进程,递增操作用于解除一个进程的阻塞。信号量也称为计数信号量或一般信号量。

二元信号量:只取0值和1值的信号量。

互斥量:类似于二元信号量。关键区别在于为其加锁(设定值为0)的进程和为其解锁(设定值为1)的进程必须为同一个进程。

强信号量:采用先进先出策略移出进程的信号量称为强信号量

弱信号量:没有规定进程从队列中移出顺序的信号量称为弱信号量

3. 实现互斥的三类方法

①第一种方法是让并发执行的进程承担这一责任,这类进程(不论是系统程序还是应用程序)需要与另一个进程合作,而不需要程序设计语言或操作系统提供任何支持来实施互斥。我们把这类方法称为软件方法。②第二种方法涉及专用机器指令,这种方法的优点是可以减少开销,但却很难成为一种通用的解决方案。③第三种方法是在操作系统或程序设计语言中提供某种级别的支持方法。

4. 硬件实现互斥的方法描述

①中断禁止。在单处理器机器中,并发进程不能重叠,只能交替。此外,一个进程在调用一个系统服务或被中断前,将一直运行。因此,为保证互斥,只需保证一个进程不被中断即可,这种能力可通过系统内核为启用和禁用中断定义的原语来提供。由于临界区不能被中断,故可以保证互斥。但是,这种方法的代价非常高。由于处理器被限制得只能交替执行程序,因此执行的效率会明显降低。另一个问题是,这种方法不能用于多处理器体系结构中。当一个计算机系统包括多个处理器时,通常就可能有一个以上的进程同时执行,在这种情况下,禁用中断并不能保证互斥。

②专用机器指令。在多处理器配置中,几个处理器共享对内存的访问。在这种情况下,不存在主/从关系,处理器间的行为是无关的,表现出一种对等关系,处理器之间没有支持互斥的中断机制。在硬件级别上,对存储单元的访问排斥对相同单元的其他访问。因此,处理器的设计者人员提出了一些机器指令,用于保证两个动作的原子性”。在这个指令执行的过程中,任何其他指令访问内存都将被阻止,而且这些动作在一个指令周期中完成。

专用机器指令实施互斥有以下优点:适用于单处理器或共享内存的多处理器上的任意数量的进程;简单且易于证明;可用于支持多个临界区。但也有一些严重的缺点:使用了忙等待;可能饥饿;可能死锁。

计算题【掌握应用】

习题课1:

信号量应用:

生产者/消费者

读者/写者

哲学家就餐

Chapter6 死锁饥饿

选择题【了解】

1. 数学在死锁中的应用

名词解释【理解】

1. 死锁deadlock

死锁是一组相互竞争系统资源或进行通信的进程间的“永久阻塞”。当一组中的进程都在等待某个事件,而仅有这组进程中被阻塞的其他进程才可触发该事件时,就称这组进程发生了死锁。

2. 活锁

两个或两个以上的进程为响应其他进程中的变化而持续改变自己的状态但不做有用的工作的情形。

3. 饥饿

一个可运行进程尽管能继续执行,但被调度程序无限期地忽视,而不能被调度执行的情形

简单题【理解】

1. 资源分配图的画法,能根据图找出死锁

表征进程资源分配的有效工具是资源分配图。资源分配图是有向图,它说明了系统资源和进程的状态。

①节点:每个资源和进程。

②节点中的圆点:表示资源的一个实例。一个节点可能有多个资源实例,如I/O。

③从进程指向资源的边表示进程请求资源但还未得到授权。

从可重用资源节点中的点到一个进程的边表示请求已被授权;也就是说,该进程已被安排了一个单位的资源。图中从可消耗资源节点中的点到一个进程的边表示进程是资源生产者。

死锁:存在进程和资源的环,因此导致了死锁。如:进程P1持有Rb同时请求Ra;进程P2持有Ra同时请求Rb。当每个资源有多个实例可能不会有死锁。

2. 死锁的必要条件:3个

死锁有三个必要条件:①互斥。一次只有一个进程可以使用一个资源。其他进程不能访问已分配给其他进程的资源。②占有且等待。当一个进程等待其他进程时,继续占有已分配的资源。③不可抢占。不能强行抢占进程已占有的资源。

3. 死锁的充要条件:4个

死锁有三个必要条件:①互斥。一次只有一个进程可以使用一个资源。其他进程不能访问已分配给其他进程的资源。②占有且等待。当一个进程等待其他进程时,继续占有已分配的资源。③不可抢占。不能强行抢占进程已占有的资源。④循环等待。存在一个闭合的进程链,每个进程至少占有此链中下一个进程所需的一个资源。

4. 概述解决死锁的方法:三大类

①死锁预防:a)预防互斥一般不可能实现,操作系统必须支持互斥;b)预防占有且等待可以一次请求所有资源,但是这样较低效;c)预防不可抢占,若申请时被拒绝则该进程必须释放所占有的资源,操作系统可以抢占一个进程并要求其释放所有资源;d)预防循环等待,定义顺序

②死锁避免:a)进程启动拒绝:当一个进程请求会导致死锁时不启动此进程;b)资源分配拒绝:当一个进程增加资源的请求会导致死锁时不允许此分配

③死锁检测:死锁检测策略不限制资源访问或约束进程行为。 对于死锁检测来说,只要有可能,就会给进程分配其所请求的资源。操作系统周期性地执行一个算法来检测循环等待条件。

5. 死锁和饥饿的关系

相同点:二者都是由于竞争资源而引起的。

死锁进程处于等待状态,忙等待的进程并非处于等待状态, 但却可能饥饿;

死锁进程等待永远不会释放的资源,饥饿进程等待可能被释放,但却不会分给自己的资源,其等待时间没有上界;

死锁一定发生了循环等待,饥饿不然;

死锁至少涉及两个进程,饥饿进程可能只有一个。

在饥饿的情形下,系统中有至少一个进程能正常运行,只是饥饿进程得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。

计算题【掌握应用】

习题课2:

银行家算法

Chapter7 简单MM

选择题【了解】

段/页表:

·构造相关问题:who/when/where/what like

·使用相关的问题:when/who/how

名词解释【理解】

1. 重定位

通常把程序模块在装入内存时对目标程序中指令和数据的物理地址的修改过程称为内存地址重定位。

当程序载入内存时,绝对内存位置被确定。一个进程在执行过程中,它可能被交换到磁盘,然后在不同的位置返回到主内存,这意味着不同的绝对内存位置。

2. Overlay

即覆盖,允许各种模块被分配到相同的内存区域。供程序和数据使用的内存可能不足。此时,程序员必须采用覆盖技术来组织程序和数据。不同的模块被分配到内存中的同一块区域,主程序负责在需要时换入或换出模块。

3. 逻辑地址/物理地址

逻辑地址是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转换为物理地址。相对地址是逻辑地址的一个特例, 它是相对于某些已知点(通常是程序的开始处)的存储单元。物理地址或绝对地址是数据在内存中的实际位置。

4. Swap in/out

换入/换出内存中

5. 碎片:内部和外部

由于装入的数据块小于分区大小,因而导致分区内部存在空间浪费,这种现象称为内部碎片。

动态分区方法最初不错,但它最终在内存中形成了许多小空洞。随着时间

的推移,内存中形成了越来越多的碎片,内存的利用率随之下降。这种现象称为外部碎片,指在所有分区外的存储空间变成了越来越多的碎片。

6. 伙伴系统

伙伴系统:用一种有效的方法来监视内存,保证在内核只要申请一小块内存的情况下,不会从大块的连续空闲内存中截取一段过来,从而保证了大块内存的连续性和完整性。宗旨就是用最小的内存块来满足内核的对于内存的请求。

简单题【理解】

1. 七个方法之间的关系

2. 固定分区和分页的异同

 3. 固定分区和分段的异同

4. 首次适应、邻近分配、最佳分配、最差分配

首次适应:从头开始扫描内存,选择大小足够的第一个可用块;

邻近分配(下次适配):从上一次放置的位置开始扫描内存,选择下一个大小足够的可用块;

最佳适配:选择与要求大小最接近的块;

最差分配:选最大的空闲分区

5. 伙伴系统的分配和回收

伙伴系统中可用内存块的大小为2K个字,L≤K≤U,其中2L表示分配的最小块的尺寸,2U表示分配的最大块的尺寸:通常2U是可供分配的整个内存的大小。

最初,可用于分配的整个空间被视为一个大小为2U的块。若请求的大小s满足2U-1<s≤2U,则

分配整个空间。否则,该块分成两个大小相等的伙伴,大小均为2U-1。若有2U-2≤s≤2U-1,则给该

请求分配两个伙伴中的任何一个;否则,其中的一个伙伴又被分成两半。持续这一过程,直到产生

大于等于s的最小块,并分配给该请求。在任何时候,伙伴系统中为所有大小为2i的“空洞”维护

一个列表。空洞可通过对半分裂从i+ 1列表中移出,并在i列表中产生两个大小为2i的伙伴。当i列表中的一对伙伴都变成未分配的块时,将它们从i列表中移出,合并为i+1列表中的一个块。

6. 简单分区和分页的要点:

·表的构造:when/who/where/what

·表的使用:when/who/how

7. 分页和分段的重定位流程,能根据给定的逻辑地址计算出物理地址

分页:

考虑一个n+ m位的地址,最左边的n位是页号,最右边的m位是偏移量。

①提取页号,即逻辑地址最左侧的n位。

②以这个页号为索引,查找进程页表中相应的页框号k。

③页框的起始物理地址为k x 2m,被访问字节的物理地址是这个数加上偏移量。物理地址不需

要计算,可以简单地把偏移量附加到页框号后面来构建物理地址。

分段:

考虑一个n+ m位的地址,最左边的n位是段号,最右边的m位是偏移量。

①提取段号,即逻辑地址最左侧的n位。

②以这个段号为索引,查找进程段表中该段的起始物理地址。

③最右侧m 位表示偏移量,偏移量和段长度进行比较,若偏移量大于段长度,则该地址无效。

④物理地址为该段的起始物理地址与偏移量之和。

计算题【掌握应用】

Chapter8 虚拟MM

选择题【了解】

1. 七类MM方法的演变历程:如何从简单到复杂的

2. 你如何理解VM:[从每个P、CPU、OS和M的角度分别理解][从CPU的支持、从OS的支持]

3. 地址空间

4. 在虚拟页/段中,如何实现内存的保护和共享

5. OS为了实现虚拟内存,需要CPU的那些硬件支持

名词解释【理解】

1. Page Fault

当需要的页不在内存中,这时产生一个内存访问故障,这被称为缺页中断

2. Thrash

页面抖动:页面频繁地换入和换出

3. 反向页表

虚拟地址的页号部分使用一个简单的散列函数映射到散列表中。散列表包含指向倒排表的指针,而倒排表中含有页表项。采用这种结构后,散列表和倒排表中就各有一项对应于一个实存页而非虚拟页。因此,不论有多少进程、支持多少虚拟页,页表都只需要实存中的一个固定部分。由于多个虚拟地址可能映射到同一个散列表项中,因此需要使用一一种链接技术来管理这种溢出。散列技术可使链较短,通常只有一到两项。页表结构称为"倒排”的原因是,它使用页框号而非虚拟页号来索引页表项。包含页号、进程标志符、控制位、链指针。

4. TLB

包含最近使用过的页表项

每次虚存访问都可能会引起两次物理内存访问:一次是获取页表,一次是获取数据。为克服这个问题,为页表项使用了一个特殊的高速缓存,称为转换检测缓冲区。这个高速缓存的功能和高速缓冲存储器相似,包含有最近用过的页表项。

给定一个虚拟地址,处理器首先检查TLB,若需要的页表项在其中(TLB命中),则检索页框号并形成实地址。若未找到需要的页表项(TLB未命中),则处理器用页号检索进程页表,并检查相应的页表项。若"存在位”已置位,则该页在内存中,处理器从页表项中检索页框号以形成实地址。处理器同时更新TLB,使其包含这个新页表项。最后,若“存在位”未置位,则表示需要的页不在内存中,这时会产生一次内存访问故障,称为缺页中断。此时离开硬件作用范围,调用操作系统,由操作系统负责装入所需要的页,并更新页表。

5. Page Buffering

能提高分页的性能并允许使用较简单的页面置换策略的一种方法是页缓冲。为提高性能,不丢弃置换出的页,而是将它分配到以下两个表之一中:若未被修改,则分配到空闲页链表中,若已被修改,则分配到修改页链表中。

6. 总结表中的几个术语:如Cleaning Policy、Load Control等

Cleaning Policy:

与读取策略相反,清除策略用于确定何时将已修改的一页写回辅存。通常有两种选择:请求式清除和预约式清除。对于请求式清除只有当一页被选择用于置换时才被写回辅存;而预约式清除)策略则将这些已修改的多页在需要使用它们所占据的页框之前成批写回辅存。最好的方法是使用页面缓冲,被替换的页面被放在两个列表中,已修改的和未修改的,修改过的列表中的页面会定期分批被写出来,未修改列表中的页面在再次被引用时被回收,或者在其框架被分配给另一个页面时丢失。

Load Control:

加载控制会影响到驻留在内存中的进程数量,这称为系统并发度。加载控制策略在有效的内存管理中非常重要。如果某一时刻驻留的进程太少,那么所有进程都处于阻塞态的概率就较大,因而会有许多时间花费在交换上。另一方面,如果驻留的进程太多,平均每个进程的驻留集大小将会不够用,此时会频繁发生缺页中断,从而导致系统抖动。

7. 进程的地址空间

系统空间和用户空间

简单题【理解】

1. VM的实现方法:3个及特点

①分页。每个进程都有自己的页表,每个页表都包含了页表项。页表项中包含有与内存中的页框相对应的页框号,有一个存在位表示它所对应的页是否在内存中,有一个修改位表示相应页的内容从上次装入内存到现在是否已经改变。

②分段。段的大小不等,并且是动态的。优点:简化了对不断增长的数据结构的处理;允许程序独立地被改变和重新编译;有助于在进程间共享数据;有助于自身的保护。

③段页式结合。分页对程序员是透明的,分段对程序员来说是可见的,每个段被分解成固定大小的页,每个进程都有一个段表和几个页表,每个段都有一个页表 。若某段的长度小于一页,则该段只占据一页。从程序员的角度看,逻辑地址仍然由段号和段偏移量组成;从系统的角度看,段偏移量可视为指定段中的一个页号和页偏移量。

2. Page Fault的处理流程

3. 分页的地址翻译过程:看图OR画图

 4. 段表项和页表项的一般格式描述

页表项中包含有与内存中的页框相对应的页框号,有一个存在位表示它所对应的页是否在内存中,有一个修改位表示相应页的内容从上次装入内存到现在是否已经改变。

每个段表项包含段长、段基址、需要一个位来确定段是否已经在主内存中(存在位)、还需要一个位来确定该段在加载到主内存后是否被修改过(修改位)

5. (全局/局部 + 固定/可变)resident set

固定分配/全局变换:

提前决定给一个进程的分配量;

如果分配量太小,将有很高的缺页中断率;

如果分配量过大,主内存中的程序就会过少。

可变分配/全局变换:

最容易实施;

被许多操作系统所采用;

操作系统维护空闲页框表;

当发生缺页中断时,空闲页框被添加到进程的驻留集中;

如果没有空闲页框,就从任何一个常驻进程中替换一个。

可变分配/局部变换:

当增加新的进程时,根据应用类型、程序要求或其他原则分配一定数量页框作为其驻留集。使用预先分页或请求分页填满这些页框。

当发生缺页中断时,从发生缺页中断的进程的驻留集中选择一页用于置换。

不时地重新评估页框分配情况,增加或减少分配以提高整体性能

固定分配/全局置换:无此方案

计算题【掌握应用】

习题课3:页调度

Chapter9 进程调度

选择题【了解】

进程切换、调度和抢占的关系

名词解释【理解】

1. 长调度

长程调度程序决定哪个程序可以进入系统中处理,加入待执行进程池,因此它控制了系统的并发度。

2. 中调度

中程调度是交换功能的一部分,决定加入部分或全部位于内存中的进程集合。换入决定取决于管理系统并发度的需求,换入决策将考虑换出进程的存储需求。

3. 短调度

短程调度程序,也称为分派程序,执行得最为频繁,它精确地决定处理器执行哪个可运行进程。导致当前进程阻塞或抢占当前运行进程的事件发生时,调用短程调度程序。这类事件包括时钟中断、I/O中断、操作系统调用、信号。

4. 抢占

当前正运行进程可能被操作系统中断,并转换为就绪态。一个新进程到达时,或中断发生后把一个阻塞态进程置为就绪态时,或出现周期性的时间中断时,需要进行抢占决策。

简单题【理解】

1. 长中调度的含义和关系:图

2. 几个时间的概念和关系:到达时间、服务时间和周转时间

到达时间即是进程到达系统的时间。

服务时间表示一个周期所需要的处理器时间。

周转时间就是驻留时间或这一项在系统中花费的总时间(等待时间+服务时间)。

归一化周转时间它是周转时间与服务时间的比值,表示一个进程的相对延迟情况。

计算题【掌握应用】

习题课4:进程调度

Chapter11 IO管理

选择题【了解】

1. I/O模块的功能

2. I/O模块的层次设计

名词解释【理解】

1. Block-oriented device和stream-oriented device

面向块的设备将信息保存在块中,块的大小通常是固定的,传送过程中一次传送一块。通常可以通过块号访问数据。磁盘和USB智能卡都是面向块的设备。

面向流的设备以字节流的方式输入/输出数据,它没有块结构。终端、打印机、通信端口、鼠标和其他指示设备及其他大多数非辅存设备,都属于面向流的设备。

2. Raid

即独立磁盘冗余阵列,是关于多磁盘数据库设计的一个标准方案。RAID方案包括从0到6的7个级别。这些级别并不隐含一种层次关系,但表明了不同的设计体系结构。这些设计体系结构具有三个共同的特性: 1.RAID是一组物理磁盘驱动器,操作系统把它视为单个逻辑驱动器。2.数据分布在物理驱动器阵列中,这种设计称之为条带化。3.使用冗余磁盘容量保存奇偶检验信息,保证在一个磁盘失效时, 数据具有可恢复性。不同的RAID级别中,第二个特性和第三个特性的细节不同; RAID-0和RAID-1不支持第三个特性。

简单题【理解】

1. 引入I/O Buffer的原因

①缓和CPU和I/O设备之间的速度差异;

②减少对CPU的中断频率,放宽对中断响应时间的限制;

③提高CPU和I/O设备之间的并行

2. I/O Buffer的实现方式

使用内存,类似页缓冲。具体方案有:

①单缓冲:分配一个位于内存中的系统缓冲区,输入传送对于面向块的设备,单缓冲方案可描述如下: 输入传送的数据被放到系统缓冲区中。当传送完成时,进程把该块移到用户空间,并立即请求另一块。这称为预读,或预先输入。相对于无系统缓冲的情况,这种方法通常会提

高系统速度,但是增加了操作系统的逻辑复杂度。

②双缓冲:为操作分配两个系统缓冲区,在一个进程向一个缓冲区中传送数据的同时,操作系统正在清空(或填充)另一个缓冲区,这种技术称为双缓冲。

③循环缓冲:使用多于两个缓冲区的方案来弥补需求的不足。使用两个以上的缓冲区时,这组缓冲区本身会被当作循环缓冲区。

3. What delay elements are involved in a disk read or write?Seek time,rotational delay,access time and transfer time

①寻道时间是将磁头臂移到指定磁道所需要的时间。

②旋转延迟是指将磁盘的待访问地址区域旋转到读/写磁头可访问的位置所需要的时间。

③传输时间是向磁盘传送或从磁盘传送的时间,取决于磁盘的旋转速度。

④存取时间为寻道时间(存在时)和旋转延迟的总和,这是达到读或写位置所需要的时间。

⑤除了存取时间和传输时间外,一次磁盘I/O操作通常还会存在排队延迟。如果这个设备与其他磁盘驱动器共享一个I/O通道或一组 I/O通道,那么还可能需要额外的等待时间,直到该通道可用。

【因为I/O的3方式为硬件相关:略】

计算题【掌握应用】

习题课5:磁盘调度

Chapter12 文件系统

选择题【了解】

1. 为什么需要文件系统

2. 文件系统的功能

3. 文件系统的目标

名词解释【理解】

1. 文件

文件是一组赋名的相关联字符流的集合,或者是相关联记录。文件是一组相似记录的集合,它被用户和应用程序视为一个实体,并可通过名字访问。文件有唯一的文件名,可被创建或删除。

2. 文件系统

操作系统中与管理文件有关的软件和数据称为文件系统。它负责为用户建立、撤销、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。文件系统提供了通常与二级存储相关的资源抽象,由作为特权程序运行的系统实用程序组成。文件系统的特性有:长期存在、非易失、进程共享、结构化存储。

3. 文件系统的设计层次图

4. FAT

即文件分配表,用来跟踪分配给一个文件的分区。

5. 相对路径和绝对路径

相对路径:文件相对于当前工作目录引用的路径;

绝对路径是指目录下的绝对位置,直接到的目标位置。

简单题【理解】

1. 逻辑层:文件系统的组织形式:5个

①堆文件:没有结构,按到达顺序收集数据,每条记录由一串数据组成,对记录的访问通过穷举查找方式进行;

②顺序文件:记录格式固定、长度固定,有一个特殊的域被称为关键域,关键域通常为第一个域,它唯一地标识这条数据,记录按照关键域的顺序来存储,在访问时通过顺序查找文件匹配关键域;

③索引顺序文件:比顺序文件多了支持随机访问的文件索引和溢出文件;

④索引文件:使用多索引的结构,成为查找条件的每个域都可能有一个索引,可以使用两种类型的索引,完全索引包含主文件中每条记录的索引项,部分索引只包含那些有感兴趣域的记录的索引项;

⑤直接文件或散列文件:开发直接访问磁盘中任何一个地址已知的块的能力,有关键域,无顺序排序的概念,使用基于关键字的散列,常在要求快速访问时使用。

2. 物理层:文件系统块的管理形式:3个【看图识别】

①连续分配:创建时分配一组连续的块,每个文件只需要一个表项用于说明起始块和文件的长度,会出现外部碎片,需要执行紧缩算法来释放磁盘中的额外空间;

②链式分配:链式分配基于单个块,链中的每块都包含指向下一块的指针,要一个表项用于说明起始块和文件的长度,没有外部碎片,最适合顺序文件,局部性原理不再适用,需要周期性地合并文件;

③索引分配:每个文件在文件分配表中都有一个一级索引,分配给该文件的每个分区在索引中都有一个表项。

3. 无结构文件和有结构文件的组成

无结构文件(流式文件):无结构文件的基本结构是字节流。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。

有结构文件由域、记录、文件、数据库组成。域是基本的数据单元,记录是一组相关域的集合,文件是一组相似记录的集合,数据库是一组相关的数据的集合。

4. 目录的实现方式

①简单目录结构:单级,为所有文件建立一张目录表,每个文件在其中占有一项用存放文件说明信息;

②两级目录方案:以用户为单位将文件分组,不同组名存储在组目录,用户文件说明组成用户文件目录,这样形成二级目录;

③层次/树状结构目录:分为主目录及其下的用户目录,每个用户目录可以有子目录和文件作为条目,可以通过从根目录或主目录向下的不同分支的路径来进行文件定位,这是文件的路径名,只要有独特的路径名,就可以有几个具有相同文件名的文件。

计算题【掌握应用】

单词熟记

Narrate 叙述

partially 部分地

extremely 极端地

interactive 交互的,相互作用的

drawback 缺点

granted 的确,假定

cylinders 柱面

Dispatch 分派

apply for 申请

Scheduling 调度

Semaphore 信号量

sequential 顺序的

Netsted 嵌套

auxiliary 辅助的

backbone 骨干,基础

Pronounced 显著的,明显的

Relocation 重定位

Priority 优先级

Magnitude 量级,巨大的

Manipulate 操作

Preemptive 抢占

Enumerate 列举

Elaborate 复杂的

Favour 偏爱

四川大学网安操作系统期末复习整理相关推荐

  1. 计算机操作系统期末复习大纲

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一.绪论 1.操作系统的定义和作用  1.1 2.操作系统的特征 1.3 3.操作系统的功能 1.5 操作系统的分类(对应1.2 ...

  2. 【2020年保研记】浙大软院+中科院信工所+北师大人工智能学院+华中科技网安学院+四川大学网安学院+中山大学系统科学与工程学院

    很喜欢<游褒禅山记>里面说的一句话:而世之奇伟.瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也. 保研是为了去更好的学校,更是一个对自己人生的极高要求,唯有会当凌绝顶,才能 ...

  3. 软件工程导论期末复习整理

    软件工程导论 第1章 软件工程学概述 复习小结 1.识记概念:软件,程序.数据,文档.软件危机.软件工程,软件过程, 软件生命周期 2.理解软件工程的本质特性6个和基本原理7条 3.掌握软件工程的三个 ...

  4. 网络操作系统期末复习资料

    网络操作系统期末复习资料 1. 网络操作系统的概念 2. 网络操作系统的基本功能 3. 网络操作系统的特征 4. 网络操作系统的三种工作模式 5. 进程的定义 6. 进程与程序的关系 7. 进程与线程 ...

  5. Linux 操作系统常用以下哪种编译器,Linux 操作系统期末复习资料(Alpha版)

    Linux 操作系统期末复习资料 >>问答题 1.请列举至少4个你知道的Linux发行版? 答:RedLinux.红旗Linux.Debain.SuSE Linux等. 2.Linux支持 ...

  6. SZ19网安密码学期末考试(回忆版)

    SZ19网安密码学期末考试(回忆版) 我是罡罡同学,一位初入网安的小白.☜(ˆ▽ˆ) (疯狂暗示 点赞 !关注!转发 !!! 点赞 !关注!转发 !!!) * 您的支持是罡罡同学前进的最大动力! 判断 ...

  7. ZUCC_离散数学基础__简单期末复习整理

    离散数学基础__简单期末复习整理 文章目录 离散数学基础__简单期末复习整理 第一次课 命题逻辑基本概念 命题及其真值 简单命题与复合命题 联结词与复合命题 第二次课 公式的赋值 命题公式的分类 第三 ...

  8. 操作系统期末复习知识点总结

    目录 第一章 操作系统概论 第二章进程描述与控制/线程 第三章 并发控制--互斥与同步 第四章 死锁处理 第五章  内存管理 第六章  处理机调度 第七章I/O设备管理 第一章 操作系统概论 1. 操 ...

  9. 操作系统期末复习笔记

    操作系统期末复习 目录 一.引论 1. 操作系统概念 2. 操作系统的作用? 3. 操作系统提供的服务? 4. 操作系统的演变? 5. SPOOLing假脱机技术 6. 操作系统的基本概念: 7. 个 ...

最新文章

  1. 命名实体识别学习笔记——使用Ltp
  2. 创建可重用代码(C++)
  3. 美国会议员提出“漏洞披露法案” 仍考虑非中立实体授权
  4. 深入理解ReentrantLock
  5. 电脑出现kernelbase.dll错误的两种解决方法
  6. 【Python 2.7】str和unicode的互相转换,摘自《Effective Python》
  7. Swift傻傻分不清楚系列(八)函数
  8. Java知多少(12)运算符
  9. Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)
  10. vue i18n 国际化 使用方法
  11. 熟练运用计算机进行数学教案,小学数学与信息技术整合教案
  12. java循环写出多个jlabel_java – 允许多个JLabel中的文本重叠
  13. 文件共享文件传输samba ftp nfs
  14. java如何实现英文翻译中文,22年最新
  15. NLP自然语言处理干货贴
  16. Java IO和NIO的区别
  17. 射影几何----坎迪定理的证明
  18. 计算机毕业设计Java校园疫情信息管理系统(源码+系统+mysql数据库+Lw文档)
  19. 51单片机电子琴编码 — 《断桥残雪》《庐州月》
  20. 飞书的聊天信息服务器,飞书服务端SDK java

热门文章

  1. 《小强升职记》读书笔记(附PDF下载地址)
  2. 计算机主板电感有正负极么,关于主板上电感知识:主板电感作用是什么?
  3. SEO排名一落千丈,如何做到“绝地求生”?
  4. 乐视发布三款第4代超级电视 打造大屏游戏生态
  5. 重力模拟,模拟了高达100000粒子和一个中心物体之间的基本引力
  6. 初学JavaWeb需要知道的目录结构与配置
  7. Linux 系统架构
  8. 用计算机如何工作判断函数单调性,函数单调性的常用判断方法及应用 - 范文中心...
  9. android下的app性能测试应主要针对那些方面,如何开展?
  10. 世界这么大 还是遇见你