【正确答案】
【答案解析】应该由用户层I/O完成。
[解析] 首先我们来看这些功能是不是应该由操作系统来完成。操作系统是一个代码相对稳定的软件,它很少发生代码的变化。如果(1)由操作系统完成,那么操作系统就必须记录逻辑块和磁盘细节的映射,操作系统代码就会急剧膨胀,而且对新型介质的支持也会引起代码的变动。如果(2)也由操作系统完成,那么操作系统需要记录不同生产厂商的不同数据,而且后续新厂商和新产品也无法得到支持。
因为(1)和(2)都与具体的磁盘类型有关,因此为了能够让操作系统尽可能多地支持各种不同型号的设备,(1)和(2)应该由厂商所编写的驱动程序完成。
至于(4)应该由用户来完成,因为只有用户知道将二进制整数转换为ASCII码的格式(使用二进制还是十进制,有没有特别的分隔符,等等)。
因为(3)涉及安全问题,所以应该由操作系统完成。