云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 操作系统实验一 - 系统调用

操作系统实验一 - 系统调用

  • 62 次阅读
  • 3 次下载
  • 2026/4/29 21:57:01

实验一 系统调用

姓名: 学号:

完成日期:

【实验类容】

使用系统调用,用C或C++写一个程序,实现如下功能:从一个文件中读出数据,写入另一个文件中。 要求:

1. 具有良好的交互性

使用者可输入源文件和目的文件的路径和文件名。 2. 具有完善的错误处理机制

针对可能出现的各种错误,要有相应的错误提示输出,并作相应处理。 3. 在Linux操作系统上调试并运行

【实验目的】

1. 通过实验,加深对系统调用概念的理解,了解其实现机制以及使用方式。

2. 通过在Linux操作系统上编写和调试简单程序,进一步熟悉Linux操作系统的使用,初

步掌握linux环境下的C或C++编译和调试工具,为进一步理解和学习Linux操作系统的内核结构和核心机制作准备。

【设计思路和流程图】

1. 由于在并没有安装开发工具,因此采用终端编译及运行程序 2. 该实验的主要工作是文件的拷贝,因此调用类库

3. 拷贝文件的时候,不需要考虑文件的格式,只需要将文件里面的字节逐个拷贝就可以了

【源程序并附上注释】

#include #include using namespace std;

int main(int argc, char **argv) {

cout << \ << argv[2] << \ << argv[3] << \ << endl; ifstream in(argv[2], ios::binary | ios::in); //the file needed to copy is not exited if (!in) { }

ofstream out(argv[3], ios::binary | ios::out); char it;

cout << \ << argv[2] << \ << endl; system(\); return -1;

}

while (in.get(it))

out << it; in.close(); out.close();

cout << \ << endl; system(\); return 0;

【实验体会】

(1) 程序中用到的系统调用及调用的功能

在使用g++编译程序时,会用到系统调用的文件系统控制部分的函数,主要是文件的读与写,这些系统调用主要是文件的读写操作:

read 读文件

write 写文件 open 打开文件 create 创建新文件 lseek 移动文件指针 close 关闭文件

(2) 在Windows操作系统中与这些系统调用相对应的Windows32 API及函数原型。

API Linux 系统调用 ReadFile read WirteFile write CreateFile Open CloseHandle Close SetFilePointer lseek

搜索更多关于: 操作系统实验一 - 系统调用 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验一 系统调用 姓名: 学号: 完成日期: 【实验类容】 使用系统调用,用C或C++写一个程序,实现如下功能:从一个文件中读出数据,写入另一个文件中。 要求: 1. 具有良好的交互性 使用者可输入源文件和目的文件的路径和文件名。 2. 具有完善的错误处理机制 针对可能出现的各种错误,要有相应的错误提示输出,并作相应处理。 3. 在Linux操作系统上调试并运行 【实验目的】 1. 通过实验,加深对系统调用概念的理解,了解其实现机制以及使用方式。 2. 通过在Linux操作系统上编写和调试简单程序,进一步熟悉Linux操作系统的使用,初步掌握linux环境

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com