🏷️ 知识点:IO软件层次
用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是( )。
A.用户程序
B.系统调用处理程序
C.设备驱动程序
D.中断处理程序
[tag_link] 正确答案:C计算磁盘号、磁头号和扇区号的工作是由 设备驱动程序 完成的。题中的功能因设备硬件的不同而不同,因此应由厂家提供的设备驱动程序实现。
用户程序发出磁盘 I/O 请求后,系统的正确处理流程是( )。
A. 用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序
[tag_link]
正确答案:BI/O 软件 一般从上到下分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。与设备无关的软件层也就是系统调用的处理程序。当用户使用设备时,首先在用户程序中发起一次系统调用,操作系统的内核接到该调用请求后请求调用处理程序进行处理,再转到相应的设备驱动程序,当设备准备好或所需数据到达后设备硬件发出中断,将数据按上述调用顺序逆向回传到用户程序中。
用户程序发出磁盘 I/O 请求后,系统的正确处理流程是操作系统的 I/O 子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。
A. 用户级 I/O 软件、设备无关软件、设备驱动程序、中断处理程序
B. 用户级 I/O 软件、设备无关软件、中断处理程序、设备驱动程序
C. 用户级 I/O 软件、设备驱动程序、设备无关软件、中断处理程序
D. 用户级 I/O 软件、中断处理程序、设备无关软件、设备驱动程序
[tag_link]
正确答案:A
设备管理软件一般分为 以下层次 :用户层、与设备无关的系统调用处理层、设备驱动程序以及中断处理程序。
下列关于驱动程序的叙述中,不正确的是()。
A. 驱动程序与/O 控制方式无关
B. 初始化设备是由驱动程序控制完成的
C. 进程在执行驱动程序时可能进入阻塞态
D. 读/写设备的操作是由驱动程序控制完成的
[tag_link]
正确答案:A
厂家在设计一个设备时,通常会为该设备编写 设备驱动程序 ,主机需要先安装驱动程序,才能使用设备。
当一个设备被连接到主机时,驱动程序负责初始化设备(如将设备控制器中的寄存器初始化),B 正确。
当进程在执行驱动程序时,可能会因为设备忙碌而进入阻塞态,C 正确。
设备的读/写操作本质就是在设备控制器和主机之间传送数据,而只有厂家知道 设备控制器的内部实现,因此也只有厂家提供的驱动程序能控制设备的读/写操作,D 正确。
厂家会根据设备特性,在驱动程序中实现一种合适的 I/O 控制方式,A 错误。
计算机网络 33 在 ISO/OSI 参考模型中,实现两个相邻结点间流量控制功能的是( )。
OSI模型 A. 物理层 B. 数据链路层 C. 网络层 D. 传输层 查看答案与解析 收藏 正确答案: 在 ISO/OSI 模型 中,数据链路层、网络层、传输层都具有流量控制功能,数据链路层是相邻结点之间的流量控制,网络层是整个网络中的流量控制,传输层是端到端的流量控制。
某计算机系统中的磁盘有 300 个柱面,每个柱面有 10 个磁道,每个磁道有 200 个扇区,扇区大小为 512B。文件系统的每个簇包含 2 个扇区。请回答下列问题:
(1) 磁盘的容量是多少?
(2) 假设磁头在 85 号柱面上,此时有 4 个磁盘访问请求,簇号分别为 100260、60005、101660 和 110560。若采用最短寻道时间优先 (SSTF) 调度算法,则系统访问簇的先后次序是什么?
(3) 第 100530 簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由 I/O 系统的什么程序完成的?
[tag_link]
1)磁盘容量 = 磁盘的柱面数每个柱面的磁道数每个磁道的扇区数每个扇区的大小 =(300×10×200×512/1024)KB=3×105KB。
2)磁头在 85 号柱面上,对 SSTF 算法而言,总是访问当前柱面距离最近的地址。注意每个簇包含 2 个扇区,通过计算得到,85 号柱面对应的簇号为 85000~85999。通过比较得出,系统最先访问离 85000~85999 最近的 100260,随后访问离 100260 最近的 101660,然后访问 110560,最后访问 60005。顺序为 100260、101660、110560、60005。
3)参考 CHS 地址,第 100530 簇在磁盘上的物理地址由其所在的柱面号、磁道号、扇区号构成。柱面号= ⌊簇号/每个柱面的簇数⌋ = ⌊100530/(10×200/2)⌋ = 100。磁道号 = ⌊(簇号%每个柱面的簇数)/每个磁道的簇数⌋ = ⌊530/(200/2)⌋ = 5。扇区号 = 扇区地址%每个磁道的扇区数 = (530×2) % 200 = 60。将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。
进程 P 通过执行系统调用从键盘接收一个字符的输入,已知此过程中与进程 P 相关的操作包括:①将进程 P 插入就绪队列;②将进程 P 插入阻塞队列;③将字符从键盘控制器读入系统缓冲区;④启动键盘中断处理程序;⑤进程 P 从系统调用返回;⑥用户在键盘上输入字符。以上编号①~⑥仅用于标记操作,与操作的先后顺序无关。请回答下列问题。
(1) 按照正确的操作顺序,操作①的前一个和后一个操作分别是上述操作中的哪一个?操作⑥的后一个操作上述操作中的哪一个?
(2) 在上述哪个操作之后 CPU 一定从进程 P 切换到其他进程?在上述哪个操作之后 CPU 调度程序才能选择进程 P 执行?
(3) 完成上述哪个操作的代码属于键盘驱动程序?
(4) 键盘中断处理程序执行时,进程 P 处于什么状态?CPU 处于内核态还是用户态?
[tag_link]
1)在操作①的前操作是③,后一个操作是⑤。操作⑥的后一个操作是④。
2)在操作②之后 CPU 一定从进程 P 切换到其他进程。在操作①之后 CPU 调度程序才能选中进程 P 执行。
3)完成操作③的代码属于键盘驱动程序。
4)进程 P 处于阻塞状态。CPU 处于内核态。