`
LIMIMGJIE
  • 浏览: 174256 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux 基础代码学习

阅读更多
文件名称:copy_system.c

#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>

int main()
{
        char c;
        int in,out;

        in = open("file.in",O_RDONLY);
        out = open("file.out",O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
        while(read(in,&c,1)==1)
                write(out,&c,1);

        exit(0);
}

编译:
gcc -o copy_system copy_system.c
执行:
./cpoy_system

利用time工具对程序的时间进行测算:
TIMEFORMAT "" time ./copy_system

结果:
11.03user 79.89system 4:34.81elapsed 33%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+96minor)pagefaults 0swaps

读取1M的文件,由于调用的是linux内核的文件此操作,消耗了2分半钟,几乎完成了超过200万次系统内核的调用。

调用linux系统加大每次copy长度为1K的数据块。
int main()
{
        char buffer[1024];
        int in,out;
        int nread;

        in = open("file.in",O_RDONLY);
        out = open("file.out",O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
       while(nread=read(in,buffer,sizeof(buffer))
                write(out,buffer,nread);

        exit(0);
}

编译后执行的时间:
TIMEFORMAT="" time ./copy_system
1.26user 10.18system 0:35.37elapsed 32%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+97minor)pagefaults 0swaps
分享到:
评论

相关推荐

    Linux基础实验代码

    这个“Linux基础实验代码”压缩包很可能是为了帮助初学者理解Linux系统操作、命令行交互以及基本的编程概念而设计的一系列练习或示例代码。 在Linux环境中,源代码是操作系统、应用程序及各种工具的核心组成部分,...

    linux零基础学习

    #### 二、Linux基础知识 - **Linux发行版介绍**:Linux有多种不同的发行版,如Ubuntu、CentOS等。这些发行版在界面设计、默认软件配置等方面有所不同。 - **Ubuntu安装与配置**:Ubuntu是最受欢迎的Linux发行版之一...

    Linux基础知识学习文档

    Linux基础知识学习文档是一份全面介绍Linux操作系统的入门资料,涵盖了从基本概念到实际操作的多个方面。这份文档可能包括了Linux的起源、发行版选择、安装过程、桌面环境、文件系统结构、用户权限管理以及常用命令...

    Linux基础知识学习资料

    Linux基础知识学习资料主要涵盖Linux操作系统的基本概念、起源、特点、应用领域以及主流的Linux发行版。Linux是由Linus Torvalds在1991年创建的,随着时间的推移,它已经成为一个高度稳定、多任务处理能力和强大网络...

    鸟哥Linux基础学习篇

    《鸟哥Linux基础学习篇》是一本深受广大Linux爱好者欢迎的入门教程,它以其通俗易懂的语言和详尽的实例,为初学者提供了全面而深入的Linux系统学习指南。本书涵盖了Linux系统的各个方面,包括安装、操作、管理以及...

    Linux基础学习篇(第四版)

    《Linux基础学习篇(第四版)》是一本深入浅出介绍Linux操作系统的教材,适合初学者及有一定经验的用户进一步提升。本资源包含了作者长期学习和实践经验的结晶,旨在帮助读者掌握Linux系统的基础操作和核心概念。 ...

    linux基础知识学习

    Linux 基础知识学习 Linux 基础知识学习是计算机领域的基础知识之一,对于任何一个 IT 从业者来说,学习 Linux 都是一种必备技能。 Linux 是一种开放源代码的操作系统,由 Linus Torvalds 在 1991 年创建,目前已经...

    Linux基础及应用教程(基于CentOS7) 第2版 课件+代码.rar

    本教程“Linux基础及应用教程(基于CentOS7) 第2版”是针对初学者设计的,旨在帮助学习者掌握Linux系统的基础知识和实际应用技能。教程内容涵盖CentOS 7这个流行的Linux发行版,因其稳定性和广泛的企业支持而备受...

    linux学习基础笔记

    Linux学习基础笔记主要涵盖Linux操作系统的基本概念、安装与配置、常用命令、文件系统管理、用户权限与用户组、进程管理、网络配置以及shell脚本编程等多个方面。以下是对这些知识点的详细阐述: 1. **Linux操作...

    最早的linux源代码

    开源的Linux源代码允许用户查看、学习、修改和重新分发,这促进了全球开发者社区的协作,也催生了无数的Linux发行版。 3. **学习价值**:对于初学者,阅读Linux 0.11源代码可以帮助理解操作系统的基本结构和工作...

    linux 设备驱动学习代码

    本资料集“Linux设备驱动学习代码”专注于JZ2440平台,这是一个常见的嵌入式处理器平台,广泛应用于各种物联网设备和小型电子系统。该资料包括了对I2C、UART、LCD、USB和Flash等关键外设的驱动程序,这些驱动是...

    linuxptp源代码

    为了理解并使用这些源代码,你需要具备一定的C语言编程基础,熟悉Linux内核开发,以及对网络协议和时间同步原理的理解。通过阅读源代码、调试和运行测试,你可以更深入地了解PTP的工作原理,并根据项目需求进行定制...

    Linux 内核代码修改

    总之,修改Linux内核代码是一个深入学习和实践的过程,需要扎实的编程基础、对操作系统原理的理解以及良好的问题解决能力。通过这个过程,开发者不仅可以提升技术水平,还能对Linux内核有更深入的认识。

    Linux内核源代码的阅读及相关工具介绍

    2. **提高编程能力**:Linux内核源代码是高质量C语言编程的典范,通过对它的学习,能够显著提升个人的编程技巧。 3. **贡献社区**:参与开源项目不仅可以帮助社区改进软件,还能提高自己的知名度和技术影响力。 ###...

    Linux内核代码及解析

    这本书结合Linux 0.11版本的实际代码,让学习者能够通过实例更直观地理解内核的运作机制。下面将对Linux内核的主要知识点进行详细阐述。 一、Linux内核概述 Linux内核是操作系统的核心,负责管理硬件资源、进程调度...

    linux0.0.1源代码

    通过分析这些源代码,开发者和学生可以深入学习到操作系统内核的基础知识,如进程管理、内存管理、设备驱动以及文件系统等核心概念。 Linux 内核是操作系统的核心,负责管理系统资源、调度任务、处理硬件中断、实现...

    linux源代码分析

    在阅读和分析源代码的过程中,我们还需要掌握C语言基础,因为Unix和Linux系统的主要编程语言就是C。同时,理解数据结构和算法也是必不可少的,因为操作系统中的许多核心功能都依赖于高效的算法实现。 总的来说,...

    linux 经典源代码

    Linux经典源代码是每个对操作系统内核感兴趣的开发者和学习者不可或缺的资源。Linux是一个开源的操作系统内核,由林纳斯·托瓦兹于1991年首次发布,至今已经发展成为全球范围内广泛使用的开放源代码项目。这个压缩包...

    大数据Linux基础学习笔记

    以下是对"大数据Linux基础学习笔记"的相关知识点的详细说明: 一、Linux简介 Linux是一种自由和开放源代码的类UNIX操作系统,由Linus Torvalds在1991年创建。它提供了一个强大的命令行界面,支持多用户、多任务,且...

Global site tag (gtag.js) - Google Analytics