unix file 读写

  1. 带缓冲
//
//  copyFile2.c
//  myShell
//
//  Created by baodong on 4/22/15.
//  Copyright (c) 2015 baodong. All rights reserved.
//


#include "apue.h"
#include "myErr.h"

int main(void){
    int n;
    while ((n = getc(stdin)) != EOF) {
        if (putc(n , stdout) == EOF) {
            err_sys("输出错误。。。");
        }
    }
    if (ferror(stdin)) {
        err_sys("读取出错。。。");
    }

    return 0;
}
  1. 无缓冲
//
//  copyFile.c
//  myShell
//
//  Created by baodong on 4/22/15.
//  Copyright (c) 2015 baodong. All rights reserved.
//

#include <stdio.h>
#include "apue.h"
#include "myErr.h"
#define BUFFERSIZE 10240

int main(void){
    long n;
    char buf[BUFFERSIZE];

    while ((n = read(STDIN_FILENO, buf, BUFFERSIZE) )>0) {
        if (write(STDOUT_FILENO, buf, n) != n) {
            err_sys("写入错误!!!");
        }
    }

    if (n < 0) {
        err_sys("读入失败!!!");
    }

    return 0;
}
华工操作系统课程设计时,通常会涉及到Unix文件系统的学习和设计。Unix文件系统是一种层次化的文件系统结构,以目录、文件和链接为基础,并支持对文件和目录的创建、读取、写入和删除等操作。 在设计Unix文件系统时,首先需要确定文件系统的组织结构。通常,文件系统被组织成一系列的目录,这些目录可以包含其他目录和文件。每一个文件和目录都有一个唯一的路径标识符,用于在文件系统定位它们。 其次,需要确定文件和目录的属性和权限。每个文件和目录都会有一些属性,如大小、创建时间、修改时间等。此外,文件和目录还有访问权限,用于控制哪些用户可以对它们进行读取、写入和执行操作。 另外,还需要实现文件和目录的基本操作功能。文件和目录可以通过系统调用进行创建、读取、写入和删除等操作。这些操作涉及到对文件和目录的物理位置和大小进行管理,还包括文件的读写缓冲区和文件指针的管理等。 此外,还要考虑文件系统的性能和安全性。为了提高文件系统的性能,可以采用缓存和预读取策略,减少磁盘的访问次数。为了保障文件系统的安全性,可以通过访问控制列表和文件权限等机制来限制用户对文件的操作。 总结来说,设计Unix文件系统需要考虑文件系统的组织结构、文件和目录的属性和权限、基本操作功能的实现以及性能和安全性的考虑。通过理解和掌握Unix文件系统的原理和设计方法,可以更好地设计和实现一个高效、安全的文件系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值