OS错题
第一章 计算机系统概述
1、王道错题
- 系统调用的目的是请求系统服务,而不是申请系统资源
- OS与用户通信接口通常不包括缓存管理指令,缓存管理全部由OS完成,对用户是完全透明的
- 多道程序设计的基本特征有制约性、间断性、共享性
- 计算机开机后,OS最终被加载到RAM中。
- 提高单机资源利用率的关键技术是 多道程序设计技术
- 多道批处理系统的I/O设备可以与CPU并行工作,这是借助于中断技术实现的
- 多道批处理系统的程序开销大,因为要对系统要付出额外的开销来组织和切换作业
- 实时系统的进程调度,通常采用抢占式的优先级高者优先算法
- 对操作系统的优先级+非抢占式调度算法因素进行改进有利于改善系统的响应时间
- 在分时系统中,时间片一定时,用户数越多,每个用户分到的时间片就越少,响应时间越长
- 通用操作系统使用时间片轮转调度算法,不需要预先预定运行时间
- 编译器是OS的上层软件
- 在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始执行
- 当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下执行
- 操作系统中,通道技术是一种硬件技术
- 中断处理是OS必须提供的功能
- OS中的进程调度不需要硬件的支持
- 在中断发生后,进入中断处理的程序属于操作系统程序
- 计算机通过硬件中断机制完成由用户态到核心态的转换,而不是中断处理程序!!!!
- 广义指令只能在核心态下执行‘
- 由用户态转向核心态的例子:(1)用户程序要求操作系统的服务(2)发生一次中断(3)用户程序中产生了错误的状态(4)用户程序中企图执行一条特权指令(5)从核心态转向用户态通常由一条指令实现,这条指令也是特权指令;二用户想要进入核心态使用的访管指令不是特权指令;
- CPU处于核心态时,可以执行除“访管”指令外的全部指令
- 子程序调用只需保存程序断点;而中断调用子程序不仅要保存断点,还要保存程序状态寄存器PSW的内容
- 内部异常的检测由CPU内部逻辑实现
- 内部异常的响应发生在指令执行过程中
- 处理外部中断时,通用寄存器中的内容应该由操作系统保存
- 操作系统通过提供系统调用避免用户程序直接访问外设
- 与中断相关的操作中,由操作系统执行的有:提供中断服务、初始化中断向量表、保存中断屏蔽字、保存各通用寄存器的值、保存PSW
- 微内核添加系统服务时,不必修改内核
第二章 进程管理
一、书上的知识点
- 任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。(???我怎么记得有一个啥不需要内核,是啥来着,是同一个进程下的线程之间的同步与通信,用户级线程不需要内核!线程可以直接读写进程数据段来进行通信)
- 程序可以被多个进程共享,即多个进程可以运行同一个程序
- 不同的线程可以执行相同的程序
- 进程作为除CPU外的系统资源的分配单元,而线程作为处理机的分配单元
- 程序并发执行的特征:(1)间断性(2)失去封闭性(3)不可再现性
二、王道错题
- 线程包括CPU现场,可以独立执行程序
- 进程与程序的根本区别是动态和静态特点
- 进程获得处理器运行是通过调度得到的
- 程序封闭性是指进程执行的结果只取决于进程本身,不受外界影响,也就是说,进程在执行过程中不管是不停顿的执行还是走走停停,进程的执行速度都不会改变他的执行结果。失去封闭性是指并发进程共享变量,其执行结果与速度有关
- 系统动态DDL库中的系统线程,被不同的进程所调用,他们是相同的线程;同一个系统的进程(或线程)可以由系统调用的方法被不同的进程(或线程)多次使用,这些线程都是相同的
- 进程是暂时的,程序是永久的;进程是动态的,程序是静态的;进程至少由代码、数据和PCB组成,程序仅需代码和数据即可;程序代码经过多次创建可对于不同的进程,而同一个系统的进程(或线程)可以由系统调用的方法被不同的进程(或线程)多次使用
- 在一个多道系统中,若就绪队列不空,就绪的进程数目越多,处理器的效率不变
- 设备分配不会引起新进程的创建
- 两个合作进程无法利用高级语言程序设计中的全局变量交换数据
- 时间片轮转调度算法是绝对可抢占的
- 作业以用户任务为单位,进程以操作系统控制为单位
- 时钟中断是系统中特定的周期性时钟节拍,OS通过它来确定时间间隔,实现时间的延时和任务的超时;时钟中断发生后,系统会修改当前进程在时间片内的剩余时间
- 分时系统的时间片固定,因此用户数越多,响应时间越长
- UNIX属于分时操作系统
- 中断向量地址是中断服务例行程序入口地址的地址
- 中断发生时,由硬件保护并更新程序计数器PC主要是为了系统运行可靠,正确而不是为了为了提高处理速度
- 在进程处于临界区时,可以进行处理机的调度,以提高系统性能(当进程处于临界区时,说明进程正在占用处理机,只要不破坏临界资源的使用规则,就不会影响处理机的调度。
- 临界资源与共享资源的区别是在一段时间内能否被多个进程访问,磁盘共享介质是共享资源,公用队列是临界资源
- 在操作系统中P、V操作是一种低级进程通信原语,不是系统调用;PV操作由两个不能被中断的过程组成
- 用PV操作实现同步,信号量的初值由用户根据需要确定;而互斥信号量初值一般为1
- 可重入代码,又叫纯代码,要求代码不能被任何进程修改,是允许多个进程同时访问,被多个进程在任意时刻共享的代码
- 管程是被进程调用的,管程是语法范围,无法创建和撤销
- 管程是由编译语言支持的进程同步机制;管程中定义的变量只能被管程内的过程访问
- TSL!!!!
- 管程中,当进程执行x.wait()时所作的工作是阻塞该进程,并将之插入x的阻塞队列里;不用根据x的值判断该进程是否应该进入阻塞态,实际上是只有判断了该进程需要进入阻塞态之后,才会执行x.wait这个语句
- 实现临界区互斥机制必须遵循的原则有:忙则等待,空闲让进,有限等待;而让权等待不是必须要遵循的,硬件实现方法和Peterson算法都没有实现让权等待
- 引入多道程序技术的前提条件之一是系统具有中断功能
- 堆和栈的区别:栈用来存放局部变量、堆存放全局变量 其余的堆和栈的区别可以看这个链接https://blog.csdn.net/weixin_45151795/article/details/105758221
- 父进程创建子进程后,父进程与子进程同时执行(并发)。主程序调用子程序后,主程序停在调用点,子程序开始执行,直到子程序返回,主程序才开始执行
- 每个进程有自己独立的内存地址空间,在操作系统和硬件的地址保护机制下,一个进程不能访问其他进程的地址空间,必须借助操作系统的系统调用函数实现进程之间的通信
- 多线程与多任务的区别:多线程是相对于程序而言的,指的是一个程序可以同时执行的线程的个数;而多任务是相对于操作系统而言的,指的是操作系统可以同时执行的程序个数;
第三章 内存管理
- 地址变换机构将逻辑地址变换为物理地址,形成逻辑地址的阶段时链接阶段
- 编址空间的大小取决于硬件的访存能力,一般由地址总线宽度决定
- 一个进程在创建时也可以换出主存
- 内存保护需要由操作系统和硬件机构合作完成
- 分页式存储管理有内部碎片、分段式存储管理有外部碎片、固定分区存储管理有内部碎片、段页式存储管理方式有内部碎片
- 对重定位存储管理方式,应在整个系统中设置唯一一个重定位寄存器
- 对主存储器的访问,以字节或字为单位
- 在分页存储管理方式中,要求每个进程拥有一张页表,且进程的页表驻留在内存中
- 在动态分区分配算法中,最容易产生内存碎片的是最佳适应算法
- 页帧,页框,内存块,物理块,物理页 是同一个概念
- 页面引用串,又称作访问串,是指程序一段时间内需要调用的页号序列
- 抖动是进程的页面置换过程中,频繁的页面调度(缺页中断)行为,所有的页面调度策略都不可能完全避免抖动
- 使用覆盖、交换方法可以实现虚拟存储
- 在计算机系统中,快表用于地址变换
一些疑问
- 页故障指的是?是页面不在内存中?就是缺页吗?
第四章 文件管理
- 文件的逻辑结构是为了方便用户而设计的
- 对索引文件存取时,必须线查找索引表
- 索引表中每条记录的索引项只有一个,索引项只包含每条记录的长度和在逻辑文件中的起始位置
- UNIX.OS中,文件的索引结构放在索引节点中
- 硬链接通过索引结点进行链接,一个文件在物理存储器上有一个索引节点号,存在多个文件名指向同一个索引结点的情况;共享同一个文件的不同进程各自维护自己的文件描述符
- 对一个文件的访问,通常由用户访问权限和文件属性共同控制
- 相对于加密保护机制,访问控制机制的安全性较差,而加密保护机制的的灵活性相对较高;访问控制系统必须由系统实现,而加密保护机制不应该由系统实现,否则不能扩展
- 系统安全管理包括注册和登录
- 既可以随机访问,又可以顺序访问的有:光盘、磁盘、U盘。
- 扇区数据的处理时间对传输时间的影响较大
-
第五章 输入/输出管理
- 共享设备必须是可寻址的和可随机访问的
- 分配共享设备是不会引起进程死锁的
- 为了便于上层软件的编制,设备控制器通常需要提供控制寄存器、状态寄存器和控制命令
- 通道是一种特殊的处理器,所以属于硬件技术。SPOOLing、缓冲池、内存覆盖都是在内存的基础上通过软件实现的
- 设备分配时一般不需要考虑及时性
- 计算机系统为每台设备确定一个编号以区分和识别设备,这个确定的编号称为设备的绝对号
- 通道控制设备控制器、设备控制器控制设备工作
- 所有设备的启动工作都由系统统一来做
- 来自通道的I/O中断事件由设备管理负责处理
- 在通道完成了通道程序的执行时,要产生I/O中断
- 将系统调用参数翻译成设备操作命令的工作由设备无关的操作系统软件完成
- 用户程序发出磁盘I/O请求后,系统的正确处理流程是:①用户程序→②系统调用处理程序→③设备驱动程序→④中断处理程序
- 可以改善磁盘I/O性能的有:①重排I/O处理次序 ②预读和滞后写 ③优化文件物理块的分布
- 若I/O所花费的时间比CPU的处理时间短得多,则缓冲区几乎无效,没有必要设置
- 提高单机资源利用率的关键技术是多道程序设计技术
- SPOOLing系统由预输入程序、井管理程序和缓输出程序组成
- SPOOLing系统中的用户程序可以随时将输出数据输出到输出井中,待输出设备空闲时再由SPOOLing系统完成数据的输出操作
- 共享设备是指一个作业尚未撤离,另一个作业即可使用,但每个时刻只有一个作业使用