• 标准IO和文件IO(好文转载)


    缓存io和非缓冲io

    https://www.cnblogs.com/cavehubiao/p/3981482.html

    库函数与系统调用

    https://blog.csdn.net/lht1314tttt/article/details/79150776

    总结:

        无缓存IO操作数据流向路径:数据——内核缓存区——磁盘
        标准IO操作数据流向路径:数据——流缓存区——内核缓存区——磁盘

     1 //标准IO和文件IO的区别?
     2     文件IO,属于系统调用,可以直接访问到内核,在用户层无缓存区,
     3         使用文件描述符表示打开的文件,一般用于访问普通文件、设备文件、管道文件
     4     标准IO,属于库函数,将系统调用进行更多功能的封装,在用户层有缓冲区
     5         使用流指针表示打开文件,通常只用于访问普通文件。
     6     标准I/O可以看成是在文件I/O的基础上封装了缓冲机制。先读写缓冲区,必要时再访问实际文件,从而减少了系统调用的次数。
     7 
     8 //库函数与系统调用的区别
     9     (1)库函数是语言或应用程序的一部分,而系统调用是内核提供给应用程序的接口,属于系统的一部分
    10     (2)库函数在用户地址空间执行,系统调用是在内核地址空间执行,库函数运行时间属于用户时间,
    11        系统调用属于系统时间,库函数开销较小,系统调用开销较大
    12     (3)库函数是有缓冲的,系统调用是无缓冲的
    13     (4)系统调用依赖于平台,库函数并不依赖

    *标准IO和文件IO的区别?**文件IO,属于系统调用,可以直接访问到内核,在用户层无缓存区,使用文件描述符表示打开的文件,一般用于访问普通文件、设备文件、管道文件标准IO,属于库函数,将系统调用进行更多功能的封装,在用户层有缓冲区使用流指针表示打开文件,通常只用于访问普通文件。标准I/O可以看成是在文件I/O的基础上封装了缓冲机制。先读写缓冲区,必要时再访问实际文件,从而减少了系统调用的次数。**库函数与系统调用的区别**(1)库函数是语言或应用程序的一部分,而系统调用是内核提供给应用程序的接口,属于系统的一部分(2)库函数在用户地址空间执行,系统调用是在内核地址空间执行,库函数运行时间属于用户时间,   系统调用属于系统时间,库函数开销较小,系统调用开销较大(3)库函数是有缓冲的,系统调用是无缓冲的(4)系统调用依赖于平台,库函数并不依赖

  • 相关阅读:
    417 Pacific Atlantic Water Flow 太平洋大西洋水流
    416 Partition Equal Subset Sum 分割相同子集和
    415 Add Strings 字符串相加
    414 Third Maximum Number 第三大的数
    413 Arithmetic Slices 等差数列划分
    412 Fizz Buzz
    410 Split Array Largest Sum 分割数组的最大值
    409 Longest Palindrome 最长回文串
    day22 collection 模块 (顺便对比queue也学习了一下队列)
    day21 计算器作业
  • 原文地址:https://www.cnblogs.com/y4247464/p/12537524.html
Copyright © 2020-2023  润新知