华中科技大学操作系统课程设计

写在前面:内核编译和模块添加的实验(即实验二和实验三),我使用的是Ubuntu16.04LTS、Linux4.14.1。其他的实验我使用的是Ubuntu20系统、Linux5.12.19。至于原因懂的都懂——Linux高版本有关内核的资料太少,用低版本比较好做。


实验一 Linux用户界面的使用

1. 编一个C程序,其内容为实现文件拷贝的功能。基本要求:使用系统调用open/read/write...;

#include<stdio.h>
#include<fcntl.h>
#include<stdlib.h>
#include<unistd.h>

int main(int argc, char* argv[])
{
  if(argc < 3)
  {
    printf("input fail\n");
    exit(-1);
  }
  int fd1 = open(argv[1], O_RDONLY);
  if(fd1 == -1)
  {
    perror("open fail");
    exit(1);
  }

  int fd2 = open(argv[2], O_CREAT | O_RDWR, 0664);
  if(fd2 == -1)
  {
	  perror("open fail");
      exit(1);
  }

  char c;
  int len = read(fd1, &c, sizeof(char));
  while(len)
  {
    write(fd2, &c, len);
    len = read(fd1, &c, sizeof(char));
  }
  close(fd1);
  close(fd2);
  return 0;
}
                         

 2. 编一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库。 (gtk/Qt) 基本要求:三个独立子进程,各自窗口显示;

--------------分割线--------------

家人们不好意思 2024年登陆csdn才想起来这篇2022年没写完的草稿

由于已经换电脑了 之前的代码也不在了 这篇草稿就直接发出来吧 不想每次编辑新文章都弹出来草稿提示。。。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值