操作系统实验二 文件管理

更新时间:2023-05-23 22:44:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

操作系统实验二文件管理

姓名:胡伟

班级:1310904

学号:2009213880

一.实验目的:

熟悉LINUX环境下C语言应用程序开发的基本步骤;完成简单文件管理C 应用程序的开发。

二.实验内容:

文件复制程序设计

编写C语言程序将file.in文件的内容拷贝到file.out。

三.实验要求:

1、熟悉Linux下最常用的C程序编译器gcc的基本使用方法;

2、编写文件复制C应用程序,完成实验内容规定任务,并能上机正确编译与运行

3、撰写实验报告

四.实验步骤:

1、利用文件管理系统调用open( ),read( ),write( ),参考示例程序

copy_system.c(逐个字符的文件拷贝),编程实现数据块拷贝将文件file.in 的内容拷贝到文件file.out。

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提供了一系列的标准函数库来对设备进行相关操作

本文来源:https://www.bwwdw.com/article/dff4.html

Top