文章 2023-09-15 来自:开发者社区

Linux系统编程2(基础IO详解)

在基础IO这篇博客中,我们将了解到文件系统的构成,以及缓冲区究竟是个什么东东,我们都知道缓冲区,有时也谈论缓冲区,但不一定真的去深入了解过缓冲区。为什么内存和磁盘交互速度如此之慢?为什么都说Linux中一切皆文件?别急,在这篇博客中,你都会找到答案。此类博客是笔者在学习过程中整理的笔记,有错误偏差的地方实属正常,还望大佬多多指点。关于文件操作的基础知识我们先来回顾一下文件操作的相关知识,在之前说....

Linux系统编程2(基础IO详解)
文章 2023-09-10 来自:开发者社区

【Linux系统编程】IO标准缓冲区

1. 缓冲区概述标准I/O提供了三种类型的缓冲:1、全缓冲:在填满标准I/O缓冲区后才进行实际I/O操作。常规文件(如普通文本文件)通常是全缓冲的。2、行缓冲:当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际I/O操作。标准输入和标准输出对应终端设备(如屏幕)时通常是行缓冲的。3、不带缓冲:用户程序每次调库函数做写操作都要通过系....

文章 2023-07-10 来自:开发者社区

Linux系统应用编程---文件IO

文件描述符files_struct *file结构体记录在task_struct结构体中,*file指向文件描述符。一个进程默认打开三个文件描述符  1. STDIN_FILENO 0 2. 3. STDOUT_FILENO 1 4. 5. STDERR_FILENO 2新打开文件返回文件描述符表中未使用的最小文件描述符一、文件打开与关闭open函数打开文件...

Linux系统应用编程---文件IO
文章 2023-05-23 来自:开发者社区

学习系统编程No.12【基础IO】

引言:北京时间:2023/3/28/7:19,周二,早八的一天,难过!终于进入C站周创作榜啦!开心!给大家推荐一首歌《盛夏的果实》,给我的感觉非常的放松,劳逸结合,音乐非它莫属,为了下周周榜可以继续前进,今天我们就来学习一下基础IO的知识吧!回顾重定向从上篇博客,我们明白,重定向不过只是关闭在文件描述符表下标为0 1 2 默认打开的标准输入、标准输出和标准错误,然后把新文件打开,然后占用文件描述....

学习系统编程No.12【基础IO】
文章 2023-02-13 来自:开发者社区

Python编程:aiohttp和requests网络io性能比较

使用4 种方式 对网络发起10次请求,进行10次耗时测试以下代码在 Python3.6.5 下测试测试代码# -*- coding: utf-8 -*- import asyncio import time import aiohttp import requests urls = ["https://www.baidu.com/"] * 10 # 1、直接使用 requests de...

Python编程:aiohttp和requests网络io性能比较
文章 2023-01-30 来自:开发者社区

系统编程之高级文件IO(十五)——poll,epoll简单使用和异步IO及总结

一、poll基本原理与select一致, 也是轮询+遍历;唯一的区别就是poll没有最大文件描述符限制(使用链表的方式存储fd)原型:int poll(struct pollfd *fds, nfds_t nfds, int time out);POLLIN可读POLLPUT可写POLLERR异常nfds:数组个数timeout:延迟时间#include <stdio.h> #inc....

系统编程之高级文件IO(十五)——poll,epoll简单使用和异步IO及总结
文章 2023-01-30 来自:开发者社区

系统编程之高级文件IO(十四)——select优缺点

一、用select监听多个文件描述符题目表述:监听鼠标和键盘的变化标准模板#include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <unistd.h> #include <sys/types.h> #include <fcntl.h> #in....

文章 2023-01-30 来自:开发者社区

系统编程之高级文件IO(十三)——IO多路复用-select

一、IO多路复用IO多路复用就是IO被阻塞状态下,做其他事情二、select实现功能:监听;可以监听很多的文件描述符原型:int select(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout)fd_set:文件描述符集合,一个容器,可以保存很数据(文件描述....

系统编程之高级文件IO(十三)——IO多路复用-select
文章 2023-01-30 来自:开发者社区

系统编程之高级文件IO(十二)——阻塞和非阻塞方式读取

一、阻塞与非阻塞阻塞:读某些文件时,如果文件没有数据的话,往往会导致读操作会阻塞(休眠)(1%)非阻塞:读某些文件时,如果文件没有数据的话,立即返回(99%)read原本是阻塞阻塞 --> 非阻塞int flags; flags = fcntl(0, F_GRTFL); flags = flags | O_NONBLOCK; fcntl(0, F_SETFL, flags); read(0....

系统编程之高级文件IO(十二)——阻塞和非阻塞方式读取
文章 2023-01-30 来自:开发者社区

系统编程之高级文件IO(十一)——获取设置文件属性(fcntl、ioctl)

一、fcntl通过fcntl可以设置、或者修改已打开的文件性质int fcntl(int fd, int cmd, …/* arg */);fd,指向打开文件cmd,控制命令,通过指定不同的宏来修改fd所指向文件的性质调用成功:返回值视具体参数而定;调用失败:返回-1,并把错误信号设置给errno#include <stdio.h> #include <stdlib.h>....

系统编程之高级文件IO(十一)——获取设置文件属性(fcntl、ioctl)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。