操作系统实验二 文件管理(2)

时间:2026-01-22

2、2.利用标准I/O库函数fopen( ),fgetc( ),fputc( ),编程实现将文件file.in

的内容拷贝到文件file.out。

3、思考题:比较文件管理系统调用和标准I/O库函数的性能。

文件I/o函数文件I/O又称为无缓冲的I/0,是指用户需要自行管理读写操作所需要的用户空间缓冲区及其大小。在Linux平台上的文件I/O中与读写效率有直接关系的就是read和write两个函数。例如,当用户调用read函数时,操作系统进入内核执行对应读取文件的系统调用函数,从其文件所在磁盘上读取与buf大小相同的数据到内核态中,并复制到位于用户空间的buf 变量当中。当调用read时,其处理流程:I/O read 函数的处理流程由于磁盘和CPU之间速度的不匹配。Linux 使用文件预读算法(read—ahead)有效的改进磁盘读I/0性能。文件预读的基本方法是,当CPU处理当前数据时,预读机制在后台异步加载下一批数据,当程序发出下一个读请求时,被请求的数据可直接从内核中复制到用户空间。当顺序读取磁盘文件时,文件预读对I/O性能有很大的提高。

系统调用会降低计算机的执行性能。因为用户空间和内核空间处于不同的空间,系统调用会在用户程序与内核代码之间来加切换,因此系统调用开销很大

带有缓冲的操作实现,用户可以高效果地写任意长度的数据块,当数据块满足一定长度要求时,就调用一次底层系统调用来完成相关操作。因此,Unix/Linux提供了一系列的标准函数库来对设备进行相关操作

操作系统实验二 文件管理(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219