目录
24. 操作系统的主要功能有哪些?
25. 文件的属性主要有哪些?
26. 对文件的基本操作主要有哪些?
27. 目录的基本操作有哪些?
28. 目录的逻辑结构有哪些种?
29. 简述银行家算法的Available、Max、Allocation、Need和Request的意义。
30. I/O设备在哪些方面存在差异?
31. 进程控制块(PCB)主要包括哪些信息?
32. 描述基本页面置换算法。
33. 进程的调度主要考虑哪些因素?
34. 描述缺页错误的处理过程。
35. 描述Pentium 4KB分页情况下,32位线性地址到物理地址的转换过程。
36. 程序并发执行为什么会失去封闭性和可再现性?
37. 何谓死锁?产生死锁的原因和必要条件是什么?
38. 分页和分段存储管理有何区别?
39. 简要说明I/O软件的四个层次的基本功能。
40. 假定盘块的大小为1K,硬盘的大小为500MB,采用显示链接分配方式时,其FAT共有多少个表项?
41. OS有哪几大特征?其最基本的特征是什么?
42. 为什么要在操作系统中引入线程?
43. 已知某分页系统,主存容量为64KB,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。将十进制的逻辑地址1023、2500、3500、4500转换成物理地址:
44. I/O软件的四个层次及对应功能:
45. 在链接式文件中常用哪种链接方式?为什么?
46. 在基于微内核结构的操作系统中,应用了哪些新技术?
47. 已知某分页系统,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的3、2、5、1块中。将逻辑地址1023、2500、3500、4500转换成物理地址:
48. PCB提供了进程管理和进程调度所需的哪些信息?
49. 什么是WIMP技术?它被应用到何种场合?
50. 什么是微内核OS?
51. 为什么要在OS中引入线程?
24. 操作系统的主要功能有哪些?
参考答案:
- 存储管理:操作系统负责管理计算机的存储资源,包括主存(RAM)和外部存储设备(如硬盘)。它负责分配内存、回收内存并进行内存保护,确保不同进程的内存不互相干扰。
- 进程管理:操作系统负责管理计算机中的所有进程,包括进程的创建、调度和终止。它还负责进程间的同步和通信,确保资源的合理分配。
- 文件系统管理:操作系统管理文件的存储、访问权限、文件的创建、删除以及文件的组织结构。它提供一个逻辑抽象,允许用户和程序通过文件名而非物理位置访问文件。
- 安全和保护:操作系统提供用户身份验证、访问控制、加密等功能,以确保系统和数据的安全。同时,它还防止恶意软件或未授权的用户对系统造成损害。
25. 文件的属性主要有哪些?
参考答案:
- 文件名:文件的唯一标识符,以可读的字符串形式存在。
- 类型:指明文件的格式或类别,不同的文件系统可能支持不同类型的文件。
- 位置:指文件在存储设备上的物理位置或其在设备上的地址。
- 大小:文件当前占用的空间大小。
- 保护:文件的访问权限,包括读、写、执行等权限。
- 时间、日期、用户标识:文件的创建、修改时间以及访问的记录。用户标识用于文件的访问控制。
讲解:文件属性有助于操作系统管理文件的存储和访问,确保文件的安全性和完整性。文件系统会根据这些属性来优化文件的存取性能和安全性。
26. 对文件的基本操作主要有哪些?
参考答案:
- 创建文件:在磁盘上分配空间并初始化文件。
- 写文件:向文件中写入数据。
- 读文件:从文件中读取数据。
- 在文件内重定位:修改文件中的内容位置。
- 删除文件:从磁盘上移除文件,释放存储空间。
- 截断文件:截断文件的大小,删除超出部分的数据。
- 打开文件:将文件信息加载到内存中,供程序访问。
- 关闭文件:将内存中的文件信息保存到磁盘,释放资源。
讲解:这些操作是文件系统的基本操作,操作系统通过这些操作来管理文件的生命周期,包括如何创建、访问、修改和删除文件。
27. 目录的基本操作有哪些?
参考答案:
- 搜索文件:在目录结构中查找文件。
- 创建文件:向目录中添加新文件。
- 删除文件:从目录中移除文件。
- 列出目录:显示目录中的文件列表。
- 重命名文件:改变文件的名称。
- 跟踪文件系统:维护文件系统的完整性和一致性,跟踪文件的修改。
讲解:目录是文件系统的一部分,负责组织和管理文件的存储。通过这些操作,操作系统可以有效地管理文件及其相关信息。
28. 目录的逻辑结构有哪些种?
参考答案:
- 单级目录:所有文件放在一个目录中,适合小型系统。
- 两级目录:有一个根目录和若干子目录,适用于较大系统。
- 树状目录:采用树形结构,支持多层次的子目录。
- 无环图目录:目录和文件的结构形式可以是图,但没有环路,确保文件的唯一性。
- 通用图目录:目录和文件结构可以形成图形,包括循环依赖关系。
讲解:目录结构决定了文件系统如何组织文件。不同的目录结构有不同的访问效率和灵活性,通常较大的系统采用树状目录结构。
29. 简述银行家算法的Available、Max、Allocation、Need和Request的意义。
参考答案:
- Available:表示系统中每种资源的可用数量。
Available[j]
表示资源Rj
有多少实例可用。- Max:表示每个进程最多可以请求的资源数。
Max[i, j]
表示进程Pi
对资源Rj
的最大请求量。- Allocation:表示每个进程已经分配的资源数。
Allocation[i, j]
表示进程Pi
当前已占用的资源Rj
实例数。- Need:表示每个进程仍然需要的资源数。
Need[i, j] = Max[i, j] - Allocation[i, j]
,即进程Pi
还需要多少资源Rj
。- Request:表示进程当前请求的资源数量。
Request[i, j]
表示进程Pi
请求的资源Rj
的实例数。
讲解:银行家算法是一种资源分配和死锁避免算法,主要通过检查系统状态是否安全,来避免死锁的发生。通过
Available
、Max
、Allocation
、Need
和Request
五个矩阵,系统可以计算是否满足进程的请求,并决定是否分配资源。
30. I/O设备在哪些方面存在差异?
参考答案:
- 数据传输方式:设备支持字符流传输或块传输。
- 访问方式:设备支持顺序访问或随机访问。
- 共享方式:设备可能是专用的或共享的。
- 设备速度:不同I/O设备的处理速度存在差异。
- I/O方向:设备可能支持读写、只读或只写操作。
讲解:I/O设备具有多种差异,这些差异影响到设备的使用方式、性能以及系统资源的调度方式。操作系统根据这些差异来优化资源的使用和调度。
31. 进程控制块(PCB)主要包括哪些信息?
参考答案:
- 进程状态:记录进程的当前状态,如就绪、运行、等待等。
- 程序计数器:保存进程执行的下一条指令的地址。
- CPU寄存器:保存进程在运行期间的CPU寄存器状态。
- CPU调度信息:包括进程的优先级、调度策略等。
- 内存管理信息:包括进程的页表、段表等内存管理信息。
- 计账信息:包括进程的运行时间、已使用的CPU时间等。
- I/O状态信息:记录进程的I/O设备使用情况。
讲解:PCB是操作系统管理进程的重要数据结构,保存了进程运行所需的所有信息,操作系统通过它来调度和控制进程。
32. 描述基本页面置换算法。
参考答案:
- 查找所需页面在磁盘上的位置:当进程访问的页面不在内存中时,发生缺页错误。操作系统需要在磁盘中找到该页面。
- 查找空闲页框:如果内存中有空闲的页框,直接将缺页加载到空闲页框中。
- 无空闲页框时使用页面置换算法选择一个“牺牲”页框:若内存已满,操作系统会选择一个页面作为“牺牲”页面进行置换,腾出空间加载新的页面。
- 将“牺牲”页框的内容写回磁盘:如果被替换的页面被修改过,操作系统会将其内容写回磁盘,保持数据的一致性。
- 将所需页加载到新的页框中,并更新页表和帧表:新页面加载完成后,更新相应的页表和帧表,以便后续访问。
- 重启用户进程:页面加载完成后,继续执行进程。
讲解:页面置换算法是虚拟内存管理的一部分,它解决了内存不足时如何选择一个页面进行替换的问题。常见的页面置换算法有最近最少使用(LRU)算法、先进先出(FIFO)算法等。
33. 进程的调度主要考虑哪些因素?
参考答案:
- CPU利用率:进程调度应尽量保证CPU高效利用,避免CPU闲置。
- 吞吐量:指单位时间内操作系统能够完成的进程数。吞吐量越高,操作系统的效率越好。
- 周转时间:从进程提交到完成所经过的时间。周转时间越短,意味着系统响应更快。
- 等待时间:进程在就绪队列中等待调度的时间总和。减少等待时间有助于提升系统响应性。
- 响应时间:从进程发出请求到首次得到响应的时间。响应时间较短时,用户体验更好。
讲解:进程调度的目标是最大化系统的效率和用户体验。通过平衡这些因素,操作系统能够提供更好的性能,避免过度负载某个进程或资源。
34. 描述缺页错误的处理过程。
参考答案:
- 查看进程页表,确定是否为无效引用:
- 如果是无效引用(比如访问一个不存在的地址),操作系统会终止进程。
- 如果仅仅是页面不在内存中,则继续处理。
- 获取空闲页框:操作系统查找内存中未被占用的空闲页框。如果没有空闲页框,则需要执行页面置换。
- 将所需页加载到页框中:加载缺失的页面到内存中。
- 更新页表,将有效位设为“V”:更新页表项,标记该页面为有效。
- 重启指令:页面加载完成后,进程重新执行发生缺页错误的指令。
讲解:缺页错误处理是虚拟内存管理的核心内容。操作系统通过这种机制实现了虚拟内存的扩展,即使内存空间不足,程序也能像在足够大的内存中一样运行。
35. 描述Pentium 4KB分页情况下,32位线性地址到物理地址的转换过程。
参考答案:
- 逻辑地址结构:在IA-32体系结构中,32位线性地址由三个部分组成:
- 高10位:页目录索引,用于定位页目录项。
- 中间10位:页表索引,用于定位页表项。
- 低12位:页内偏移,用于定位具体数据。
- 转换过程:
- 使用页目录索引查找页目录,获取页表的物理地址。
- 使用页表索引查找页表,获取页框号。
- 最后将页框号与页内偏移合并,得到物理地址。
讲解:分页机制通过将地址空间划分为固定大小的页,简化了内存管理,增强了内存的利用率。Pentium架构使用分层的页表结构,允许支持更大规模的内存管理。
36. 程序并发执行为什么会失去封闭性和可再现性?
参考答案:
- 失去封闭性:
- 程序并发执行时,共享资源可能被其他程序修改,导致程序运行环境的不稳定,从而失去封闭性。例如,程序A和程序B都访问同一共享变量,A修改该变量后,B的行为可能会受到影响。
- 失去可再现性:
- 并发执行时,程序的运行顺序和调度依赖于操作系统调度的顺序,可能不同的执行顺序导致不同的执行结果。即使初始条件相同,程序的执行结果也可能不同。
讲解:并发编程面临的问题之一就是如何保证程序的封闭性和可再现性。操作系统通过锁、信号量等同步机制来避免这些问题,确保并发程序的正确性。
37. 何谓死锁?产生死锁的原因和必要条件是什么?
参考答案:
死锁:是指一组进程中的每个进程都在等待其他进程释放资源,从而进入一种无法恢复的状态。
产生死锁的原因:
- 竞争不可抢占资源:进程持有某资源并请求其他资源,但被阻塞。
- 竞争可消耗资源:进程间对同一资源的争夺。
- 进程推进顺序不当:进程请求资源的顺序导致死锁。
死锁的必要条件:
- 互斥条件:资源只能由一个进程独占。
- 请求和保持条件:进程持有资源并同时请求其他资源。
- 不可抢占条件:资源不能被强行抢占,必须等待。
- 循环等待条件:进程间形成一个循环的等待链。
讲解:死锁是并发系统中常见的问题,操作系统可以通过预防、避免、检测等方式来处理死锁,保证系统的正常运行。
38. 分页和分段存储管理有何区别?
参考答案:
分页:
- 分页是基于物理内存的划分,内存被划分为固定大小的页,每个页面的大小是固定的。
- 地址空间是一维的,采用页表来管理虚拟地址到物理地址的映射。
分段:
- 分段是基于程序的逻辑结构划分,内存被划分为不同大小的段(如代码段、数据段、堆栈段)。
- 地址空间是二维的,既包含段号也包含段内地址。
讲解:分页和分段是两种不同的内存管理方式。分页简化了内存管理的实现,但可能导致内存碎片问题;分段则根据程序的逻辑结构进行管理,具有更高的灵活性,但实现复杂度较高。
39. 简要说明I/O软件的四个层次的基本功能。
参考答案:
- 用户层I/O软件:提供与用户交互的接口,允许用户通过库函数或系统调用进行I/O操作。它为用户提供一个便捷的抽象层,不需要关心底层设备的细节。
- 设备独立性软件:提供设备无关性,使应用程序无需知道具体硬件设备的细节。它负责对设备进行缓冲、映射等操作,以确保不同类型设备能统一处理。
- 设备驱动程序:直接与硬件设备进行交互,发送控制命令并处理设备的具体操作。它们控制设备的操作并管理硬件的状态。
- 中断处理程序:负责处理由硬件设备产生的中断请求。当设备完成I/O操作时,它会产生中断信号,中断处理程序响应该信号,完成后续处理(如更新缓冲区、通知进程等)。
讲解:I/O软件的多层设计使得操作系统可以将硬件操作与应用程序逻辑分离,从而提高了系统的可移植性和设备管理的灵活性。每一层都扮演着不同的角色,使得系统能更高效、稳定地运行。
40. 假定盘块的大小为1K,硬盘的大小为500MB,采用显示链接分配方式时,其FAT共有多少个表项?
参考答案:
- 硬盘的大小为500MB,1MB = 1024KB,所以硬盘的大小为500 × 1024 = 512000KB。
- 盘块的大小为1KB,所以硬盘的总盘块数为512000个。
- 每个盘块有一个表项,因此FAT中共有512000个表项。
讲解:FAT(文件分配表)是用来管理磁盘空间的。每个表项指向磁盘上的一个盘块,操作系统通过FAT管理文件在磁盘上的存储位置。在显示链接分配方式下,每个文件占用的每个盘块都有一个表项,FAT表的大小直接取决于磁盘的总大小和盘块大小。
41. OS有哪几大特征?其最基本的特征是什么?
参考答案:
- 并发性:操作系统能够支持多个进程或线程并发执行。
- 共享性:操作系统管理和调度资源,使得多个进程能够共享计算机的硬件资源。
- 虚拟性:操作系统通过虚拟内存、虚拟设备等机制,使得应用程序能够透明地访问硬件资源,提升了系统的使用效率和安全性。
- 异步性:操作系统通过中断和事件驱动机制,使得进程的执行不依赖于固定的时间序列,从而实现高效的资源管理。
最基本的特征:并发性和共享性是操作系统的最基本特征。通过并发执行和资源共享,操作系统能够在有限的硬件资源下高效地管理多个进程,确保系统的高效运行。
讲解:操作系统通过这些基本特征提供对硬件的高效管理和抽象,允许多个进程共享计算机资源,并且确保每个进程的独立性和安全性。
42. 为什么要在操作系统中引入线程?
参考答案:
- 引入线程是为了在进程内部实现更细粒度的并发执行。线程是进程的基本执行单位,进程内部可以有多个线程,每个线程可以并发地执行任务。
- 引入线程可以减少进程之间的时空开销,因为线程共享进程的资源,如内存和文件描述符等,避免了进程间切换的开销。
- 引入线程能显著提高系统的响应性和吞吐量,尤其在多核处理器环境下,线程能充分利用多核CPU的并行处理能力。
讲解:线程使得操作系统能够更细粒度地管理并发,提高资源利用率。在现代操作系统中,线程是一种轻量级的执行单元,相比进程,线程的创建、销毁和切换更加高效。
43. 已知某分页系统,主存容量为64KB,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。将十进制的逻辑地址1023、2500、3500、4500转换成物理地址:
参考答案:
- 逻辑地址1023:页号为0,页内偏移为1023。物理地址 = 2×1K + 1023 = 2048 + 1023 = 3071。
- 逻辑地址2500:页号为2,页内偏移为452。物理地址 = 6×1K + 452 = 6144 + 452 = 6596。
- 逻辑地址3500:页号为3,页内偏移为428。物理地址 = 7×1K + 428 = 7168 + 428 = 7596。
- 逻辑地址4500:页号为4,越界,发生越界中断。
讲解:分页系统将虚拟地址分为页面号和页内偏移,通过页表将虚拟页号映射到物理页框。每个虚拟页都有一个对应的物理页框。分页系统有助于简化内存管理和提高内存的利用率。
44. I/O软件的四个层次及对应功能:
参考答案:
- 向设备寄存器写命令:设备驱动程序负责直接与硬件设备进行交互,发送控制命令到设备寄存器。
- 检查用户是否有权使用设备:设备独立性软件负责管理设备访问权限,确保用户对设备的操作符合权限要求。
- 将二进制整数转换成ASCII码格式打印:用户层软件提供接口,将数据从二进制格式转换为用户可以理解的格式,如ASCII字符。
- 缓冲管理:设备独立性软件通过管理I/O缓冲区,确保数据的顺利传输。
讲解:I/O软件的四个层次在操作系统中各自承担不同的角色。它们使得操作系统能够高效地处理硬件设备的输入输出操作,同时也为应用程序提供了简洁、统一的I/O接口。
45. 在链接式文件中常用哪种链接方式?为什么?
参考答案:
- 显式链接方式:常用于链接式文件系统中,在显式链接中,文件的每个记录都指向下一个记录的位置。
理由:显式链接方式允许在内存中快速查找记录,显著提高检索速度。与隐式链接方式不同,显式链接适用于随机访问,能有效减少磁盘访问次数,提高文件的访问效率。
讲解:显式链接和隐式链接是两种不同的文件链接方式。在显式链接中,文件记录直接通过指针链接到下一条记录,适合需要频繁访问的场合。隐式链接则适合顺序访问,但效率较低。
46. 在基于微内核结构的操作系统中,应用了哪些新技术?
参考答案:
- 足够小的内核:微内核操作系统将内核的功能最小化,只保留最基本的功能,如进程调度、内存管理和低级别的硬件抽象。其他功能(如文件管理、网络协议等)则由用户空间的服务来处理。
- 基于B/S模式:许多微内核系统采用客户端/服务器架构,将操作系统的部分功能外包到用户空间的服务器中,这样可以提高系统的灵活性和扩展性。
- 机制与策略分离:在微内核中,操作系统的核心负责提供机制(例如进程管理、内存管理等),而具体的策略(例如调度算法、安全策略)则交给用户空间的服务模块来实现。通过这种分离,操作系统可以更加灵活地应对不同需求。
- 采用面向对象技术:微内核操作系统可能使用面向对象的技术来组织和管理系统资源,提高模块化和可扩展性。
讲解:微内核结构的主要优势是其模块化特性,可以实现高可扩展性和灵活性。相比传统的单体内核,微内核更容易实现操作系统的稳定性和安全性,因为大部分功能都运行在用户空间,不容易对系统核心造成影响。
47. 已知某分页系统,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的3、2、5、1块中。将逻辑地址1023、2500、3500、4500转换成物理地址:
参考答案:
- 逻辑地址1023:页号为0,页内偏移为1023。物理地址 = 3×1KB + 1023 = 3072 + 1023 = 4095。
- 逻辑地址2500:页号为2,页内偏移为452。物理地址 = 5×1KB + 452 = 5120 + 452 = 5572。
- 逻辑地址3500:页号为3,页内偏移为428。物理地址 = 1×1KB + 428 = 1024 + 428 = 1452。
- 逻辑地址4500:页号为4,超出了分配的页数,发生越界中断。
讲解:在分页系统中,逻辑地址由页号和页内偏移组成。操作系统通过页表将页号映射到物理内存的页框号,然后将页框号与页内偏移结合,得到物理地址。
48. PCB提供了进程管理和进程调度所需的哪些信息?
参考答案:
- 进程标识符:唯一标识一个进程。
- 处理机状态信息:包括程序计数器、CPU寄存器等,保存进程的执行状态。
- 进程状态:记录进程当前的状态,例如就绪、运行、等待等。
- 进程优先级:指明进程调度的优先级,操作系统根据优先级来决定进程的调度顺序。
- 等待CPU时间和阻塞原因:记录进程等待CPU的时间以及进程被阻塞的原因。
- I/O状态信息:记录进程在进行I/O操作时的相关信息。
讲解:PCB(进程控制块)是操作系统用于管理进程的核心数据结构。通过它,操作系统能够跟踪进程的执行状态、调度信息以及资源使用情况,是进程调度和管理的基础。
49. 什么是WIMP技术?它被应用到何种场合?
参考答案:
- WIMP技术包括:窗口(Windows)、图标(Icons)、菜单(Menus)、鼠标(Pointing device)。
- 窗口:提供图形化的界面,允许用户在屏幕上同时打开多个应用程序窗口。
- 图标:图形化表示文件、应用程序等对象,便于用户理解和操作。
- 菜单:提供操作选项,用户可以通过菜单进行交互。
- 鼠标:用来指向、选择和操作界面元素的输入设备。
应用场合:WIMP技术广泛应用于图形用户界面(GUI)的操作环境中,尤其是个人计算机和移动设备上的操作系统。它通过图形化的界面提高了用户与计算机系统的交互效率。
讲解:WIMP技术改变了人们与计算机互动的方式,提供了更直观、更友好的用户体验。它使得计算机的使用更加便捷,成为现代操作系统和应用程序的标准交互方式。
50. 什么是微内核OS?
参考答案:
- 微内核操作系统是将操作系统的核心功能最小化,仅包含最基本的功能,如进程调度、内存管理、低级硬件抽象等。其他功能,如文件管理、网络协议等,通常由用户空间的服务提供。
- 基于客户/服务器模式:微内核采用客户/服务器模式,操作系统的核心功能作为客户与服务器之间的通信桥梁存在。
- 机制与策略分离:微内核操作系统将“机制”与“策略”分开,操作系统核心提供基本的机制,而特定策略(如调度策略)则交给用户空间来定义。
- 采用面向对象技术:微内核系统通常使用面向对象的方法来管理资源和模块化服务。
讲解:微内核操作系统具有高度的模块化和灵活性,能够更容易实现操作系统的扩展和定制。由于其最小化的设计,微内核系统通常更加稳定和安全,因为大多数系统功能运行在用户空间而非内核空间。
51. 为什么要在OS中引入线程?
参考答案:
- 提高并发性:进程内部的多个线程可以并发执行,提高程序的执行效率,尤其在多核处理器上能够更好地利用硬件资源。
- 减少进程之间的时空开销:与进程相比,线程是轻量级的。线程共享进程的内存和资源,因此线程之间的切换比进程切换更加高效。
- 更好的响应性:多线程可以提高应用程序的响应性,允许多个任务同时进行而不互相阻塞。
- 提高系统吞吐量:线程的引入使得操作系统能够更高效地利用CPU,特别是对于I/O密集型或计算密集型任务。
讲解:线程是进程中的基本执行单位。通过引入线程,操作系统能够将复杂的任务划分成多个小的、独立执行的部分,这不仅减少了进程间切换的开销,还能提升并发性能,尤其是在多核计算机上,线程的并行执行使得系统性能大幅提升。