操作系统概述
定义
1.1 进程:进程是具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
1.2 线程:线程是进程中的一个实体,是处理器调度和分派的基本单位。可与同属一个进程的其他线程共享进程所拥有的全部资源。
1.3 原语:原语是由若干条指令所组成的一个指令序列。用来实现某个特定的操作功能。具有连续性,不可分割性。在执行时也不可间断,必须在管态下执行,并且常驻内存。
1.4 创建原语:是指创建一个新的进程,前者称为父进程,后者称为子进程建立进程控制块PCB。
1.5 DMA (Direct Memory Access):直接内存访问,是一种完全由硬件执行I/O数据交换的工作方式。
1.6 通道:通道是一个特殊功能的处理器,它有自己的指令和程序,可以实现对外部设备的统一管理和外部设备与内存之间的数据传送。
1.7 SPOOLING (Simultaneous Peripheral Operations On-Line):外部设备联机并行操作(虚拟设备技术)。它是关于慢速字符设备如何与计算机主机交换信息一种技术,通常称为“假脱机技术”。是多道程序设计系统中处理独占I/O设备的一种方法,能将独占设备转变为共享设备,可以提高设备利用率并缩短单个程序的响应时间。
属性
2.1 计算机系统的资源包括两大类:硬件资源和软件资源。
2.2 操作系统的两大发展方向:宏观应用、微观应用。
2.3 操作系统启动的引导方式:BIOS引导,UEFI引导。
2.4 操作系统的启动过程:BIOS自检、系统引导、启动内核、初始化系统。
2.5 操作系统管理程序运行的状态称为管态。
系统启动时,处理器的初始状态为管态。
当处理器处于管态时,可以执行全部指令。
当用户程序占用处理器时,应让处理器在目态下工作。
2.6 处理器的状态字(PSW)通常包含以下状态代码:(1)CPU的工作状态代码;(2)条件码;(3)中断屏蔽码。
2.7 所有的子系统都可以包括在硬件(子)系统和软件(子)系统。
2.8 系统软件包括:操作系统、编译系统、数据库。
2.9 硬件系统:中央处理器、存储系统、中断机制、I/O技术、时钟。
2.10 内存空间的最小分配单位为块,这样的块有时被称为一个物理页(Page)。
2.11 时钟中断处理程序的主要内容:(1)维护软件时钟;(2)处理器调度;(3)控制系统定时任务;(4)实时处理。
2.12 允许优先级较高的中断打断优先级较低的中断处理过程称为中断嵌套。
2.13 时钟分为硬件时钟和软件时钟。
2.14 系统调用是操作系统提供给编程人员的唯一接口。
2.15 进程从运行状态进入就绪状态的原因可能是:时间片用完。
2.16 七状态模型和五状态模型相比,增加了就绪挂起和阻塞挂起两个状态。
2.17 操作系统把所有的PCB用适当方式组织起来。一般的组织方式:线性方式、索引方式、链接方式。
2.18 同一个进程中的各个线程共享该进程的内存地址空间。
2.19 对进程在整个生命周期中各种状态之间的转换进行有效的控制通过进程控制原语来实现。
2.20 线程作为调度和分派的基本单位,进程作为资源拥有的基本单位。
2.21 线程的实现机制:用户级线程、内核级线程、混合方式。
2.22 CPU主要的两级调度:进程调度、作业调度。
2.23 时间片轮转法主要用于分时系统中的进程调度。
2.24 保证调度算法的目标是保证每个进程享用CPU的时间完全一样,即如果系统里一共有n个进程,则每个进程占用CPU的时间为1/n。
2.25 彩票调度算法是一种概率调度算法。
2.26 基于进程组的调度决策是非常有吸引力的,该方法通常称作公平共享调度。
2.27 BSD UNIX系统主要用于分时交互环境中。
2.28 Linux系统的调度方式基本上采用抢占式优先级方式。
2.29 Windows中的优先级被组织成两段:实时和可变。
2.30 任何情况下,都可以把系统看作是多服务器排队结构。
2.31 线程调度常用方法有:加载共享、组调度、专用处理器分配、动态调度。
2.32 为周期性任务解决多任务调度冲突的一个非常好的方法是速率单调调度RMS。
2.33 优先级逆转是在任何基于优先级的可抢占的调度方案中都能发生的一种现象,但是它与实时调度的上下文关联特别大。
2.34 优先级继承协议的基本思想是优先级较低的任务继承任何与它共享同一个资源的优先级较高的任务的优先级。
2.35 采用动态重定位的系统支持“程序浮动”。
2.36 存储管理的主要任务包括:内存的分配与回收、内存扩充、存储共享、存储保护。
2.37 在存储管理中,将绝对地址对应的存储空间称为物理地址空间,将逻辑地址对应的存储空间称为逻辑地址空间。
2.38 通过分区管理,内存真正成为了共享资源,提高了系统得到吞吐量和缩短了周转时间。
2.39 在可变区分存储管理方案中,解决碎片问题的一个有效办法是采用紧缩技术,通过移动内存中程序,把所有空闲碎片的合并成一个连续的大空闲区,置于内存的一端,把所有程序占用区的放在内存的另一端。
2.40 采用页式存储管理的主要目的是:提高内存的利用率。
2.41 大多数操作系统采用的进程页表是二级页表:即由页表页和页目录一起构成进程页表。
2.42 分页后,逻辑地址由两部分组成:虚拟页号,页内地址。
2.43 流式文件是有序字符的集合。
2.44 常用的文件物理结构:索引结构、链接结构、顺序结构。
2.45 文件按组织形式进行分类:普通文件、目录文件、特殊文件。
文件按文件用途进行分类:库函数文件、用户文件。
2.46 文件常用的存取方法:顺序存取、随机存取。
2.47 链式结构,有利于文件动态扩充,解决了存储的碎片问题,但不适合随机存取。
2.48 磁盘空间的分配与回收算法:位示图、空闲块表、空闲块链表。
2.49 把若干个逻辑记录合成一组,存入一个物理块的工作称为记录的成组。
2.50 记录的成组和分解技术是磁盘高速缓存的一种应用,虽然需要代价,但是具有提高存储空间利用率和减少启动设备次数的优点。
2.51 用来解决磁盘速度慢、出现故障的技术是RAID技术。
2.52 RAID2和RAID3以位或字节作为并行单位。
2.53 规定用户使用文件的权限的方法:树形目录结构、存取控制表。
2.54 UNIX的文件使用权限管理方案中,对文件存取权限的设置方法:存取控制矩阵和二级存取控制。
2.55 按设备的使用特性分类:(1)输入设备;(2)输出设备;(3)交互式设备;(4)存储设备。
2.56 设备驱动程序是操作系统底层中唯一知道各种输入输出设备的控制器细节以及其用途的部分。
2.57 设计I/O软件的一个最关键目标是设备独立性。
2.58 键盘、终端、打印机等以字符为单位组织好处理信息的设备。
2.59 I/O硬件由物理设备和电子部件两部分组成。
2.60 在典型的计算机系统硬件结构中,CPU与内存在最里层,通过总线与第二层的适配器(接口)部件相连,第三层是各种外围设备控制器,最外层是外围设备。
2.61 从功能上看,设备独立层是I/O软件的主要部分;
从代码量上看,设备驱动层是I/O软件的主要部分。
2.62 I/O设备管理中,可按照两种方式进行设备分配:静态分配和动态分配。
2.63 两种常用设备分配策略:先来先服务、高优先级优先。
2.64 设备分配表由设备类表和设备表组成。
2.65 常用的磁盘移臂调度算法:先来先服务调度算法、最短寻找时间优先调度算法、电梯调度算法、单向扫描调度算法。
2.66 缓冲出把多个缓冲区连接起来统一管理。
2.67 SPOOLING系统主要包括:输入程序模块、输出程序模块、作业调度程序。
2.68 Dijkstra把同步问题抽象成一种生产者-消费者关系。
2.69 对信号量的PV操作在程序流程上必定是成对出现,不能缺少,缺少了会死锁。
2.70 剥夺资源的常用方法:(1)还原算法,即恢复计算结果和状态;(2)建立检查点,用来恢复分配前的状态。
2.71 死锁产生的必要条件:互斥条件、不可剥夺条件、请求和保持条件、循环等待条件。
2.72 哲学家就餐问题是操作系统中关于进程同步与互斥的经典问题,也是涉及到死锁的关键问题。
在哲学家就餐问题中,为每只筷子设置一个信号量,一个哲学家通过在信号量上执行操作P抓起一只筷子,通过执行V操作放下一只筷子。
简述
3.1 操作系统的特性:
1 | 1. 并发:在计算机系统中同时存在多个程序,宏观上,这些程序是在同时执行的;微观上,任何时刻只有一个程序在执行,即微观上这些程序在CPU上轮流执行。 |
3.2 操作系统的主要功能:
1 | 1. 处理机管理功能:进程控制,进程同步,进程通信,调度。 |
3.3 微内核结构及其基本原理:
1 | 1. 微内核OS结构:能实现OS核心功能的小型内核。并非一个完整的OS,与OS的服务进程(如文件服务器、作业服务器等)共同构成OS。 |
3.4 最常见的控制和状态寄存器:(了解)
1 | 1. 程序计数器(PC:Program Counter):记录了将要取出的指令的地址。 |
3.5 系统软件包括哪些软件:
1 | 系统软件包括:系统软件、支撑软件、应用软件。 |
3.6 简述指令的执行过程
1 | 1. 每个取值周期先从存储器中读取一条指令。 |
3.7 简述指令的分类
1 | 1. 访问存储器指令:负责处理器和存储器之间的数据传送。 |
3.8 现代计算机采用的多级存储体系包括哪几部分?简述各部分功能。
1 | 1. 多级存储体系包括寄存器、主存储器、高速缓冲存储器、辅助存储器。 |
3.9 中断响应是什么?中断处理程序主要工作有哪些方面?
1 | 1. 处理器每执行完一条指令后,中断装置立即检查有无中断事件发生。 |
3.10 简述通道的工作原理
1 | 1. 当处理器执行到一条“启动外设”指令时,就按指令中给定的参数启动指定的设备。 |
3.11 简述时钟的工作原理
1 | 1. 硬件时钟的工作原理:电路中的晶体振荡器,每隔一定间隔产生固定的脉冲频率,时钟电路中的时钟寄存器依据时钟电路所产生的脉冲数,对时钟寄存器进行加1的工作。 |
3.12 简述时钟的功能
1 | 1. 在多道程序运行,时钟可以发现死循环,防止机时的浪费。 |
3.13 简述系统调用的分离
1 | 一个操作系统的功能分为两大部分:一部分是系统自身所需要的,另一部分功能是作为服务提供给用户的,有关这部分功能可以从操作系统所提供的系统调用上体现出来。 |
3.14 在七状态模型中,什么是阻塞状态?什么是阻塞挂起状态?两个状态之间如何转换
1 | 1. 阻塞状态:进程在内存并等待某事件的出现。 |
3.15 进程具有哪些特性
1 | 1. 并发性:一个进程可以同其他进程一道向前推进。 |
3.16 线程与进程的关系
1 | 1. 线程是进程中可独立执行的子任务。 |
3.17 进程调度的主要功能
1 | 1. 保存现场:记录系统中所有进程得到执行状况。 |
3.18 在选择调度策略时应该考虑什么因素
1 | 1. 设计目标 |
3.19 进程最短剩余时间优先调度算法的基本思路和实现方法
1 | 最短进程优先算法的抢占版本是最短剩余时间优先(SRTN)算法。 |
3.20☆ 某单CPU系统有如下一批处于就绪状态的进程。
(1) 给出FCFS(先来先服务)和SJF(最短作业优先)算法个进程的开始事件、完成时间、周转时间。
(2) 计算在各算法下的平均周转时间
进程进入就绪队列的先后顺序 | 运行时间 | FCFS | SJF | ||||
---|---|---|---|---|---|---|---|
开始时间 | 完成时间 | 周转时间 | 开始时间 | 完成时间 | 周转时间 | ||
1 | 10 | 0 | 10 | 10 | 9 | 10 | 19 |
2 | 1 | 10 | 1 | 11 | 0 | 1 | 1 |
3 | 2 | 11 | 2 | 13 | 2 | 2 | 4 |
4 | 1 | 13 | 1 | 14 | 1 | 1 | 2 |
5 | 5 | 14 | 5 | 19 | 4 | 5 | 9 |
1 | 平均周转时间: |
3.21 加载共享的缺点
1 | 中心队列占据了必须互斥访问的存储器区域,被抢占的线程可能不在同一个处理器上恢复执行。如果一个程序的线程间需要高度的合作,所涉及的进程切换就会严重影响性能。 |
3.22 存储管理中交换技术的实现原理及主要作用
1 | 交换技术又称对换技术。 |
3.23 虚拟页式存储管理的优缺点
1 | 优点:由于它不要求进程的程序段和数据在内存中连续存放,从而有效地解决了碎片问题。这既提高了内存的利用率,又有利于组织多道程序执行。 |
3.24 文件系统的功能
1 | 1. 统一管理文件的存储空间,实施存储空间的分配与回收。 |
3.25 什么是逻辑文件?什么是物理文件?简述逻辑文件的几种形式。
1 | 1. 用户组织的文件称为逻辑文件,存放在存储介质上的文件称为物理文件。 |
3.26☆ 某UNIX操作系统采用i结点管理文件的存储空间,假设磁盘大小为2048字节,每个地址占64位(8个字节),i结点包括13个地址项,其中10个地址用来存直接地址,一个地址项存一次间接地址,一个地址项存二次间接地址,一个地址项存三次间接地址。问系统能管理的单个文件最大长度是多少?
1 | 磁盘块大小=2048字节=2×1024字节=2×1KB=2KB |
3.27☆ 假定某系统中,磁带的记录密度为每英寸1200个字符,每个逻辑记录长为200个字符,块与块之间的间隙为0.5英寸。问,为了使磁带空间利用率达到70%,采用记录成组操作时的块因子应为多少?
1 | 设块因子为x。 |
3.28 简述UNIX的目录文件的存取权限及其含义
1 | 读:允许读该目录。 |
3.29 通道有哪三种类型?简述三种通道的优缺点。
1 | 1. 选择通道 |
3.30☆ 假设对磁盘的请求为柱面号95、180、35、120、10、122、64、68,磁头的初始位置为30,求在下列移臂调度算法下的服务顺序和移动臂需要移动的距离。
(1)最短寻找时间优先调度算法。
(2)移动臂由外向里移动(向柱面号增大的方向)的电梯调度算法。
1 | (1) 最短寻找时间优先调度算法 |
3.31 磁盘驱动调度包括什么调度?各涉及什么时间?
1 | 磁盘驱动调度包括移臂调度和旋转调度。 |
3.32 简述关于磁盘的电梯调度算法与单向扫描调度算法的含义
1 | 1. 电梯调度算法是从移动臂当前位置开始沿移动方向去选择最近的柱面请求,当移臂方向向上无请求时,就改变移臂的移动方向再做类似处理。 |
3.33 磁盘驱动调度和调度原理
1 | 磁盘执行一次输入输出所需时间是:寻找时间、延迟时间、传送时间。 |
3.34 什么是死锁?产生死锁的额两个主要原因?
1 | 死锁是指在多道程序系统中的一种现象,一组进程中的每个进程均无限期地等待被该进程中的另一个进程所占用且永远不会释放的资源。 |