计算机与软件工程-研究生复试-专业面试-操作系统基本功

***1. PCB:英文名称是Process Control Block,意为进程控制块,用来记录各个进程执行时的情况。

Documentation of processes at the time of implementation

***3. 进程(process):把一个程序在一个数据集上的一次执行称为一个进程。

Call a single execution of a program on a data set a process.

***4. 作业(Job):用户要求计算机系统进行处理的一个计算问题称为一个作业。

Job: A computational problem that a user asks a computer system to process is called a job.

***5. 多道程序设计(Multi-channel programming):让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术成为多道程序设计。

Multi-channel programming: allows multiple computational problems to be loaded into the main memory of a computer system and executed in parallel

***7. 中断(interrupt):一个进程占有处理器运行时,由于自身或外界的原因使运行被打断,让操作系统处理所出现的时间,到适当的时候再让被打断的进程继续运行,这个过程称为中断。

when a process take up the CPU, it can be interrupted. Another process can use the CPU first

***8. 输入井:在磁盘上用来存放作业信息的专用区域称为输入井。

Input Well: The area on the disk used to store job information is called the input well.

***9. 原语:操作系统中有些能完成特定功能且不可中断的过程,这些不可中断的过程称为原语。

primitive,some operation can not be interrupted

***10. 中断响应:如有中断事件发生,暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为中断响应。

***11. 作业调度:从输入井中选取后备作业装入主存储器的工作称为作业调度。

job scheduling, select a job in the input well to take up the CPU

12. 当前PSW:存放在程序状态字寄存器中的PSW是当前正在占用处理器的进程的PSW,称为当前PSW。

***13. 进程切换:把一个进程让出处理器由另一个进程占用处理器的过程称为进程切换。

process switching

***14. 时间片:允许进程一次占用处理器的最长时间。

time piece, the longest time process can taken up the CPU

***16. 进程调度:从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度。

Process scheduling, pick a process from the ready process, and take up the CPU


**1. 重定位:把相对地址转换成绝对地址的工作称为重定位,也称为地转转换。

Relocation: the conversion of a relative address to an absolute address is called relocation, also known as ground conversion.

**3. 静态重定位:地址转换工作是在作业执行前集中一次完成,在作业执行过程中就无需再进行地址转换,这种定位方式称为静态重定位。

Static repositioning: address conversion work is done centrally once before the job execution, there is no need for address conversion in the process of job execution, this positioning method is called static repositioning.

4. 分区:固定分区存储管理方式是把主存储器中可分配的用户区域预先划分成若干个连续区,每个连续区称为一个分区。

Partitioning: Fixed partitioned storage management is the pre-division of the assignable user area in the main memory into a number of contiguous zones, each contiguous zone is called a partition.

5. 驻留区:操作系统采用覆盖技术控制作业执行时,在作业执行期间,让主段始终保留在主存中,主段所占的主存空间称为驻留区。

***6. 碎片:大的主存空间被分割成许多小的空闲区,在主存储器中形成许多不连续的空闲区,这些不连续的空闲区称为碎片。

Fragmentation: the large main memory space is divided into many small free zones, forming many discontinuous free zones in the main memory, these discontinuous free zones are called fragments.


***1. 缓冲技术:在操作系统中,把利用缓冲区来缓解处理器与外围设备之间工作速度不匹配的矛盾而采用的技术成为缓冲技术。

Buffering: In an operating system, a technique that uses buffers to mitigate a mismatch between the operating speed of the processor and peripheral devices becomes a buffering technique.

*4. 独占设备:在作业执行期间,只允许一个作业独占使用的设备称为独占设备。

Exclusive equipment: Equipment that is allowed to be used exclusively by only one job during the execution of the job is called exclusive equipment.

进程同步:多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。

process synchronization

信号机制:是一种使用信号来进行进程之间传递消息的方法,信号的全称为软中断信号,简称软中断(soft interruption)。信号的本质是软件层次上对中断的一种模拟(软中断)

Signal mechanism: is a method of using signals to pass messages between processes

集中分布管理:对所管资源拥有完全控制权,一类资源中的每一个资源仅受控于一个资源管理者

Centralized distribution management: complete control over the resources under management, each resource in a class of resources is controlled by only one resource manager

完全分布管理:对所管资源仅有部分控制权,一类资源存在多个管理者,每一个资源都由多个管理者共同管理

Fully distributed management: only partial control over the resources under management, there are multiple managers for one type of resource, each resource is managed by multiple managers

分布式资源搜索算法:在分布式系统中使用集中分布管理资源时,搜索资源的算法。如回声、由近至远、投标等算法

Distributed resource search algorithm, Echo, Near to Far, Tender, etc. algorithms


操作系统资源管理技术:复用,虚拟和抽象(Reuse, virtual and abstract)

复用:时分复用,空分复用

虚拟:物理资源与逻辑资源的对应。如SPOOLing,虚拟内存,VFS

时间换空间:虚拟存储技术

空间换时间:SPOOLing

抽象:资源体现为接口,接口表现为一组操作

操作系统最基础的抽象:进程抽象,虚存抽象,文件抽象(Process abstraction, virtual storage abstraction, file abstraction)

进程抽象:进入内存的执行程序在处理器上操作的状态集的一个抽象。对于用户来说,就是fork(),wait()和exec(),不关心细节操作

文件抽象:设备的一种抽象。open(),write(),read(),不关心细节操作

操作系统的作用:(接口与服务,进程调度,虚拟机,管理资源)

用户接口与公共服务:改善人机界面,提供各种服务

进程执行的控制者和协调者:控制程序运行,组织工作流程

扩展机与虚拟机

资源的管理者和控制者:管理系统资源

系统调用:使用系统服务

作用:保证系统安全性,提供一致性接口

操作系统的分类

批处理操作系统(batch operating system):批中作业输入作业队列,依次执行

关键机制是:在响应一个作业的处理结束信号时,处理器将在主存中驻留的不同作业间切换

资源利用率高,吞吐量大

作业周转时间延长,无法交互,不适合调试

分时操作系统(Time-sharing operating System):快速响应交互式用户的命令请求

采用时间片轮转法,让处理器在多个交互式用户间多路复用

四个性质:若干用户同时使用,相互独立,得到及时的交互反馈

同时性:若干用户

独立性

及时性

交互性

实时操作系统(real-time operating system):监控控制对象并能做出及时反应

其关键机制是:事件驱动机制,当系统接受来自外部的事件后,快速分析这些事件,驱动实时任务在规定的响应时间完成相应处理和控制

应用于数据库的查询和修改应用或生产过程控制实时应用

响应迅速,安全保密,可靠性高

分布式操作系统(distributed operating system)

具备进程通信、资源共享、并行运算、网络管理等基本功能,用于管理分布式计算机系统。

它的主要优点和特点是:坚定性强、扩充容易、可靠性好、维护方便和效率较高

操作系统:运行在内核态的,受硬件保护的软件

  • 内核态(管态,核心态)Kernel state

  • 用户态(目态,普通态)User state

操作系统的特征:

  • 并发(Concurrent)

  • 共享(shared)

  • 异步(asynchronous)(随机性)

系统调用与函数调用的区别

  • 函数调用地址不变VS系统调用不包含入口地址

  • 用户态VS核心态

  • 静态调用VS动态调用

  • 编程语言提供VS操作系统提供


特权指令(Privileged commands):仅在内核态下才能使用的指令

非特权指令(Non-privileged commands):目态与管态皆可。应用程序只能使用非特权指令

内核态与用户态:

  • 内核态:全部机器指令允许运行

  • 用户态转变为内核态的情况:

    • 系统调用

    • 中断(如I/O操作完成)

    • 异常事件

程序状态字PSW(Program status word):指示程序状态,控制执行顺序,保留与运行相关的各种信息。实现程序状态的保护和恢复

中断:暂时中止现行程序在CPU上的运行,转而执行相应事件处理程序,待处理完成后再返回断点或调度其他程序执行的过程

硬中断:硬件发出或产生的中断

中断源分类:外中断,内中断

外中断(中断或异步中断):处理器之外的中断信号

分为可屏蔽中断与不可屏蔽中断

内中断(异常或同步中断):处理器内部的中断信号

细分为:

1.访管中断:系统调用

2.硬件故障中断:电源失效

3.程序性异常:非法操作

无法屏蔽,必须立即响应处理

中断与异常的比较:

1.中断是与当前运行程序无关的中断信号触发的,CPU与中断是异步的,CPU对于中断是完全被动的

异常是CPU控制单元产生的,与CPU同步。大部分异常发生在用户态。唯一发生在内核态的异常是“缺页异常”

2.中断要求快速处理,中断处理程序过程中不能被阻塞。异常处理程序过程中可以被阻塞

3.中断允许嵌套,异常大多数为一重

软中断:软件上模拟硬件中断


线程(threads):轻量级进程。线程是进程中能够并发执行的实体,是进程的组成部分,也是处理器调度和分派的基本单位。

线程状态:运行,就绪,等待,终止

没有挂起:线程不是资源拥有单位。对换出内存的是其所属的进程

优点:

快速线程切换

通信易于实现

减少管理开销

并发程序提高

为什么引入线程:

开销:减少程序并发执行时所付出的时空开销

并发性:使得并发粒度更细,并发性更好

分离“独立分配资源”与“被调度分派执行”

进程的两部分:资源集合和线程集合

进程映像——某时刻进程的内容及其状态集合,包括:

  • 进程控制块

  • 进程程序块

  • 进程核心栈

  • 进程数据块

为什么引入进程:

  • 刻画系统的并发性。程序的执行不是连续的而是走走停停的。程序并发执行会引发共享和竞争问题。“程序”是个静态概念,无法描述程序的并发性

  • 解决资源的共享性

调度的层次:

  • 作业调度(高级调度):从外存的作业里选择作业,分配资源,建立进程,获得竞争处理机的权利,作业调度就是内存与辅存之间的调度

  • 中级调度:内存调度。提高内存使用率和系统吞吐量。把暂时不能运行的进程调至外存,此时进程的状态为挂起态

  • 进程调度

多线程的实现:

内核级线程(KLT):线程管理工作由内核完成。如Windows 2003,OS/2,Mach C

优点:

能够同时调度同一进程中的多线程并行运行

一个线程阻塞,其他线程(同一进程或不同进程)的运行不受影响

切换速度快

缺点:同一进程的线程切换需要内核态与用户态的转变,系统开销大

用户级线程(ULT):线程管理工作由应用程序完成。如POSIX,Java线程库

优点:

无需使用内核特权,节省开销与资源

允许实现自己的调度算法

能够运行在任何操作系统上

缺点:

一个线程阻塞,整个进程阻塞

只能执行一个用户级线程,无法得益于多线程的并发执行

混合式线程:Solaris

低级调度算法:(P101)

FCFS

SJF

SRTF(最短剩余时间优先算法)

HRRF(最高响应比优先)

优先级调度算法

RR

MLFQ(多级反馈队列)


死锁:(deadlock)

  • 定义:一个进程集合内每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期僵持的现象

  • 死锁产生的原因:

    • 进程推进顺序不当

    • PV使用不妥

    • 资源分配不均

    • 资源使用不加限制

  • 死锁的条件:

    • 互斥(mutually exclusive)

    • 占有和等待(Possession and waiting)

    • 不剥夺(non-deprivation)

    • 循环等待(wait in a loop)

  • 解决方法:

    • 死锁防止

    • 死锁避免

    • 死锁检测和恢复

  • 死锁预防:(Deadlock prevention)

    • 静态分配——破坏条件占有和等待

      • Static allocation

    • 按序分配,层次分配——破坏循环等待

      • Sequential distribution, hierarchical distribution

  • 死锁避免(deadlock avoidance)

    • 银行家算法——循环等待(Banker's Algorithm - Loop Waiting)

  • 死锁检测和恢复(Deadlock detection and recovery)

    • 资源剥夺(Deprivation of resources)

    • 进程回退(process regression)

    • 进程撤销(Process revocation)

    • 系统重启(system reboot)

进程同步与互斥的解决:

  • 信号量

  • 管程

  • 消息传递

***临界区:进程中用于访问临界资源的代码。一次只允许一个程序访问

Critical section:The code used in the process to access critical resources. Only one program is allowed access at a time.

信号量PV:

信号中包括一个整形变量,和两个原子操作P和V,其原子性由操作系统保证,这个整形变量只能通过P操作和V操作改变。

P意味着信号量值减1,减完之后如果信号量值小于0,则说明资源不够用的,把进程加入等待队列。

V意味着信号量值加1,加完之后如果信号量值小于等于0,则说明等待队列里有进程,那么唤醒一个等待进程

***进程通信(IPC,Inter-Process Communication):

  • 信号通信

  • 信号量

  • 管道通信

    • 连接读写进程的一个特殊文件。允许进程按先进先出方式传送数据,也能够使进程同步执行操作

  • 消息传递

    • 两条原语:发送消息和接收信息

    • 间接通信,发送或接收消息通过共享数据结构——信箱

  • 共享内存


**源程序运行的三个阶段:

  • 编译(compile):生成目标代码

  • 链接

    • 静态链接:装载前将目标模块与库函数链接装配成一个完整的可执行程序

    • 动态链接:程序装载时一边装载一边链接

    • 运行时链接:目标模块与库函数的链接推迟到执行时才进行

  • 装载:装入物理空间

    • 绝对装载:始终与内存地址相同

    • 可重定位装载:根据内存当前状况决定放入的物理位置。使用的地址为相对地址

    • 动态运行时装载:允许内存的程序换出到磁盘,适当时再换入内存。前后物理位置可不同。即允许进程的内存映像不同时候在不同位置

**重定位(repositioning):逻辑地址变物理地址

静态地址重定位Static address relocation

动态地址重定位

使用两个控制寄存器:基址寄存器和限长寄存器

运行时链接地址重定位

连续存储管理:

固定分区fixed partition

缺点:

必须使用覆盖技术

内存利用率不高

无法动态扩充

限制多道程序的道数

动态分区

可变分区分配算法:

最先适应:未分配区表或链表中的空闲区按地址从小到大排列

下次适应:上次扫描结束处顺序查找

最优适应:满足要求的最小分区

最坏适应:总是挑一个最大的空闲区给作业使用

快速适应:经常用到的长度的空闲区设立单独的空闲区链表

管理的数据结构:已分配区表,未分配区表

空闲区管理办法:链表

内存不足处理技术

移动:已在内存的进程分区连接到一起

对换:移出内存,把磁盘中某个进程换入内存

覆盖:执行过程中不同模块在内存中相互替代

基本实现技术是把用户控件分成固定区和一个或多个覆盖区。由程序员实现

分页存储管理Pagination storage management

一维结构,用户不可见,信息的物理单位,与逻辑单位无关

One-dimensional structure, invisible to the user

页面:逻辑地址分成大小相同的区

页框(页帧):内存物理地址分成大小相等的区,与页面大小相等

frame:The physical address of the memory is divided into equal-sized zones

页表:用于页面与页框建立联系,逻辑地址转换成物理地址。程序页面和内存页框的对照表

page table: Logical address converted to physical address

采用动态地址重定位技术

实际上是重定位寄存器的集合

物理地址=页框号*块长+页内位移

分段存储管理Segmented storage management

二维结构,用户可见。

Two-dimensional structure, user visible

信息的逻辑单位,由源程序的逻辑结构及含义决定

以段位单位来划分和连续存放,各段之间不一定连续

分段与分页存储的比较:

二维结构VS一维结构

用户可见VS用户不可见

逻辑结构VS物理结构

任意内存地址开始VS页面大小整数倍地址开始

满足用户模块化程序设计的需要VS实现离散分配并提高内存利用率

段页式存储管理系统中其虚拟地址空间是二维的

多级页表:

  • 页表项:把整个页表分割成许多小页表

  • 二级页表地址转换需要访问三次内存:一次页目录,一次页表项,一次指令或数据

虚拟存储管理:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换。从逻辑上为用户提供一个比物理内存容量大的多的“内存储器”。

核心思想:局部性原理——部分装入,部分替换

Partial principle - partial loading, partial replacement

局部性:时间局部性,空间局部性

Localization: temporal localization, spatial localization

在逻辑上扩充内存

Logically expand memory

请求分页虚拟存储管理

Request paging virtual storage management

全局页面替换策略:P224

Global page replacement strategy

OPT:(OPTimal replacement)首先选择以后不再访问的页面,然后选择距离现在最长时间再访问的页面

先进先出

LRU(Least recently used)

SCR:再给你一次机会。引用位是1便放到队尾

时钟页面替换算法(Clock)

页面首次装入内存,“引用位”置1

内存的任何一个页面被访问,“引用位”置1

淘汰页面时,开始扫描,所有“引用位”为1的置0。找第一个为0的引用页面

改进Clock:

1选择最佳淘汰页面,找r=0,m=0;

2找r=0,m=1,扫描过程中把经过的r置0

实现:

请求分页虚存管理:进程信息副本放在外存,只装入当前使用页面

请求分页

实现的硬件:页表基址寄存器,TLB快表

交换区

页面装入和清除策略:

请页式和预调式

请页式和预约式(写回外存)

页面分配策略

页面替换:局部替换(作用范围局限于进程自身)和全局替换

当工作集在进程运行期间发生较大变化时,全局算法比局部算法好

固定分配与局部替换配合使用

可变分配与全局替换配合使用

请求段页

例子:

Windows的虚拟内存

Linux的交换空间

抖动(颠簸):页面被调入不久即被淘汰,淘汰不久再被调入

Shaking (bumps)

虚拟存储器和对换的比较:

  • 虚存以段或页为单位VS对换以进程为单位

  • Void storage in segments or pages vs. swap in processes


I/O控制方式

轮询:查询指令——读写指令——转移指令

好了没有?好了没有?好了没有?

会中止原程序的执行。主机不能充分发挥功效,整个系统效率很低

中断

核心思想:允许I/O设备主动打断CPU的运行

不必忙式轮询

响应中断请求后必须停止现行程序

DMA(Direct Memory Access)直接存储器存取

无需CPU干预,只有当整个数据块传送结束后,处理器才被中断

CPU总是把总线占有权让给DMA,“周期窃取”,降低CPU处理效率

每发出一次I/O指令只能读写一个数据块

通道(I/O处理器)

Channel

完成内存和设备之间的信息传送,与CPU并行工作

CPU需要完成一组相关的读写操作与有关控制时,只需要向通道发送一条I/O指令。通道完成传送时向CPU发送中断请求

通道程序是由一系列通道指令所构成的

DMA与通道的区别:(通道的自主权更大)

DMA需要CPU来控制传输的数据块大小,内存位置。通道则自行控制

DMA控制器对应一台设备与内存传递数据。通道控制多台设备与内存的数据交换

磁盘调度算法:(P270)

  • 先来先服务FCFS

  • 最短寻找时间优先

  • 扫描算法(必须扫描到头)

  • 循环扫描算法(总是从0号柱面至最大号柱面顺序扫描,然后直接返回0,需要扫描到头)

  • 分步扫描算法(分N个子队列)

  • 电梯算法(LOOK)(不用扫描到头)

虚拟设备

原理:

缓冲区:输入缓冲区“预输入”与输出缓冲区“缓输出”

好处:

设备利用率提高

作业运行时间缩短

SPOOLing技术:独占型设备变成共享设备的一种技术

预输入:输入磁盘的输入缓冲区

pre-input

井管理

well management

井文件存放方式:连接方式与计算方式

缓输出:数据暂存磁盘的输出缓冲区

slow output


文件系统:文件与管理信息资源的管理程序的集合。按名存取。

File system: A collection of files and management procedures for managing information resources. 

Access by name.

文件:信息按一定结构组成,可持久性保存的抽象机制

  • 文件系统的优点

    • 便于用户使用

    • 文件安全可靠

    • 有效地利用存储空间

    • 文件共享

***文件存取方法

  • 顺序存取

  • 直接存取(随机存取)

  • 索引存取

文件保护:

口令保护(password protection):如Window系统的进入密码

加密保护(encryption protection):使用密钥。如RAR的加密方法

访问控制:访问控制列表。如Window的用户组的实现方式

DAC(Discretionary Access Control,自主访问控制)

资源属主可以按照自已的意愿指定系统中的其他用户对其资源的访问权限的一类访问约束机制

MAC(Mandatory Access Control,强制访问控制)

用于将系统中的信息分密级和范畴进行管理,保证每个用户只能够访问那些被标明能够由他访问的信息的一种访问约束机制。MAC 比DAC 有更强的安全手段和设施,使用户不能通过意外事件和有意的误操作逃避安全控制。

文件目录:

是指:为实现“按名存取”,必须建立文件名与辅存空间中物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。(百度定义)

文件目录的基本功能:文件名转变成此文件信息在磁盘上的物理位置

提高检索速度,文件共享

FCB的集合

FCB:

方便操作系统对文件的管理、控制和存取,可以实现文件的按名存取

包括:

文件名,类型,大小,位置,保护信息

***文件的逻辑结构:

流式文件:文件的数据不再组成记录

记录式文件:有结构,包含若干逻辑记录

记录式顺序文件

记录式索引顺序文件

***文件的物理结构:(逻辑文件在物理存储空间中的存放方法和组织关系)P308

顺序文件(连续文件):

逻辑上连续的信息存放到存储介质的相邻物理块上形成顺序结构。

逻辑记录顺序和物理块顺序完全一致的文件

磁带,卡片机,打印机

优点:顺序存取记录速度快

缺点:需要预先确定文件长度,插入修改文件记录有难度,变长记录处理很困难,对磁盘作连续分配会造成空闲块的浪费

连接文件

特点:使用连接字(指针)

输入井,输出井

存放信息的物理块不必连续

索引文件

散列存储,直接读写任意记录的能力,便于信息的增删改

缺点:索引表的空间开销与查找开销大

索引顺序文件:能够快速顺序处理。既允许按物理顺序又允许按逻辑顺序进行处理。

直接文件(散列文件,哈希文件)

常用的溢出处理技术:顺序探测法,两次散列法,拉链法,独立溢出区法

硬链接:文件名和自身inode链接起来

只能用于单个文件系统

可用于文件共享不能用于目录共享

实现简单,访问速度快

软链接(符号链接):只有文件名、不指向inode的链接,通过名称来引用文件

能用于链接计算机系统中不同文件系统中的文件,也可用于链接目录

缺点是搜索文件路径的开销大,需要额外的空间查找存储路径


猜你喜欢

转载自blog.csdn.net/m0_37302219/article/details/106068898