• 2024-07-01科大讯飞:说说零拷贝技术和多路复用技术?
    零拷贝技术和多路复用技术是现代计算机系统和网络编程中两项重要的优化手段,旨在提高数据处理和传输的效率。如高性能框架Netty中,即使用了零拷贝技术又使用了多路复用技术,同时来保证Netty框架的高性能运行。1.零拷贝技术零拷贝(Zero-copy)技术是一种计算机操作系统中用于提高数
  • 2024-06-23python的描述符(器)是如何工作的?
    当一个class中定义了__get__,__set__,__delete__三个函数中的任意一个,那么这个class就可以被成为描述符。当在python中使用点.来调用某个属性的时候,其loadattr的顺序如下图所示。    关于描述符中instance和owner的解释   className:def__ge
  • 2024-06-21Linux 阻塞和非阻塞 IO 实验学习
    Linux阻塞和非阻塞IO实验学习IO指的是Input/Output,也就是输入/输出,是应用程序对驱动设备的输入/输出操作。当应用程序对设备驱动进行操作的时候,如果不能获取到设备资源,那么阻塞式IO就会将应用程序对应的线程挂起,直到设备资源可以获取为止。对于非阻塞IO,应用程序对应的线
  • 2024-06-19【操作系统】pipe&mkfifo|管道详解
     
  • 2024-06-17【简单讲解下epoll】
  • 2024-06-11【网络编程开发】11.IO模型 12.IO多路复用
    11.IO模型什么是IO:IO是Input/Output的缩写,指的是输入和输出。在计算机当中,IO操作通常指将数据从一个设备或文件中读取到计算机内存中,或将内存中的数据写入设备或文件中。这些设备可以包括硬盘驱动器、网卡、键盘、屏幕等。通常用户进程中的一个完整I/O分为两个阶段
  • 2024-06-11IO多路复用
    IO多路复用什么是IO多用复路IO多路复用(Input/OutputMultiplexing)是一种在单个线程中管理多个输入/输出通道的技术。它允许一个线程同时监听多个输入流(例如网络套接字、文件描述符等),并在有数据可读或可写时进行相应的处理,而不需要为每个通道创建一个独立的线程。==没有文件句
  • 2024-06-10服务器IO多路复用的select和poll的区别以及监听套接字select函数的四个宏操作
    目录知识补给站对文件描述符集合操作的四个宏操作服务器IO多路复用中的select和poll的区别知识补给站对文件描述符集合操作的四个宏操作对文件描述符集合操作的四个宏操作在select函数中起着关键的作用,它们用于初始化、添加、删除和检查文件描述符集合中的元素。这四个宏为:FD_
  • 2024-06-10监听套接字状态的四个宏
    监听套接字状态的四个宏1.FD_ISSET(intfd,fd_set*set):作用:检查文件描述符fd是否在fd_set类型的集合set中被设置。返回值:如果fd在集合中,则返回非零值(通常是1);如果不在集合中,则返回0。2.FD_SET(intfd,fd_set*set):作用:将文件描述符fd添加到fd_set类型的集合
  • 2024-06-10Socket编程权威指南(四)彻底解密 Epoll 原理
    在上一篇文章中,我们优化了基于Socket的网络服务器,从最初的select/poll模型进化到了高效的epoll。很多读者对epoll的惊人性能表示极大的兴趣,对它的工作原理也充满了好奇。今天,就让我们一起揭开epoll神秘的面纱,深入剖析其内部运作机制,进一步提升你的Linux网络编程
  • 2024-06-08解决系统too many open files
    .背景nofile不足引起的toomanyopenfiles故障报警频繁出现2.文件描述符的定义与功能文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回
  • 2024-06-08【GD32H757Z海棠派使用手册】第十三讲 USB-虚拟键盘实验
    13.1实验内容通过本实验主要学习以下内容:USB协议基本原理GD32H7xxUSBHS的使用虚拟键盘的协议原理及使用13.2实验原理13.2.1USB通信基础知识USB的全称是UniversalSerialBus,通用串行总线。它的出现主要是为了简化个人计算机与外围设备的连接,增加易用性。USB支持热
  • 2024-06-08嵌入式Linux系统编程 — 1.5 文件描述符详解
    目录1文件描述符简介1.1文件描述符特点1.2标准文件描述符1.3文件描述符的生命周期2 fcntl()函数2.1fcntl()函数简介2.2复制文件描述符(F_DUPFD)2.3获取/设置文件状态标志(F_GETFL/F_SETFL)1文件描述符简介文件描述符(FileDescriptor)是Linux和UNIX系统编
  • 2024-06-07IO多路复用
    基本概念IO多路复用指用一个线程来处理多个客户端请求Epoll是一种IO事件通知机制IO输入输出对象可以是文件,网络,管道等用文件描述符fd表示的事件Event分为可读事件和可写事件,有两种触发机制(水平触发和边缘触发)水平触发机制:只要fd关联的内核缓冲区非空/非满,数据就可以一直读/
  • 2024-06-06Poll机制实现以及应用实例
    目录poll机制概要说明测试程序:驱动程序:poll机制概要说明Linux系统中的poll 机制是一种I/O多路复用技术,它允许程序同时监控多个文件描述符(filedescriptors),以确定哪些文件描述符已经准备好进行读取、写入或出现错误。poll 机制提供了一种高效的方式来处理并发的I/O
  • 2024-06-04【Linux系统编程复习】一些常见的问题3
    21、协程了解吗(高频)协程和微线程是一个东西。协程就是子程序在执行时中断并转去执行别的子程序,在适当的时候又返回来执行。这种子程序间的跳转不是函数调用,也不是多线程执行,所以省去了线程切换的开销,效率很高,并且不需要多线程间的锁机制,不会发生变量写冲突。22、那协程
  • 2024-06-03网络I/O模型
    网络I/O模型同步I/O阻塞I/O非阻塞I/OI/O多路复用select函数接口示例poll函数接口示例poll和select的区别epoll原理:示例Reactor单Reactor单进程/线程;单Reactor多线程/进程;多Reactor多进程/线程;异步I/O同步I/O阻塞I/O一个基本的C/S模型如下图所
  • 2024-06-03【Linux 网络】高级 IO -- 详解
    一、IO的基本概念I/O(input/output)也就是输入和输出,在冯诺依曼体系结构当中,将数据从输入设备拷贝到内存就叫作输入,将数据从内存拷贝到输出设备就叫作输出。对文件进行的读写操作本质就是一种IO,文件IO对应的外设就是磁盘。对网络进行的读写操作本质也是一种IO,网络IO对
  • 2024-06-02linux: 基础io
     在C语言中,我们也学习过对文件进行操作,使用C语言对文件进行读写操作是一个正在运行的进程去访问一个二进制文件,想要访问一个文件,首先需要打开这个文件,不同语言都有对文件操作的接口,但是文件本身是存在于磁盘外设中的,想要从磁盘外设中拿到数据,这是要通过操作系统接手的,因为操
  • 2024-06-01【LInux内核中IO多路复用 背景+原理+直白总结+优缺点】EPoll篇 及大总结
    Linux内核中的epoll多路复用原理是基于事件驱动的一种高效I/O处理机制,它主要用于监视多个文件描述符(filedescriptors,简称fd)的状态并进行事件驱动的I/O操作。epoll相比传统的select和poll机制,在处理大量并发连接时具有更高的效率和更低的资源消耗。以下是epoll多路复用原理
  • 2024-06-01Linux基础 (九):Linux 进程复制与替换
       各位看官,本篇博客干货满满,请耐下心来,慢慢吸收!哈哈哈,内功一定会大增!目录一、printf函数输出问题1.1第1个示例代码1.2第2个示例代码1.3分析与结论二、主函数参数介绍三、复制进程fork3.1进程的基本概念3.2fork()方法3.3fork方法使用示例3.4 面试题fo
  • 2024-06-01linux:命令别名,文件描述符及重定向
    命令别名命令别名是Shell提供的一种快捷方式,允许为命令创建简短的替代名称。,可以通过输入较短的别名来执行较长的命令,从而提高效率。1.查看所有别名:[root@localhost~]#alias2.创建临时别名,当前会话关闭即清除alias别名='完整命令'[root@localhost~]#aliaschec
  • 2024-05-27USB接口协议和应用示例
    1USB接口简介1.1USB接口发展历史USB全称为UniversalSerialBus,翻译过来就是通用串行总线。由英特尔与众多电脑公司提出来,用于规范电脑与外部设备的连接与通讯。目前USB接口已经得到了大范围的应用,已经是电脑、手机等终端设备的必配接口,甚至取代了大量的其他接口。比如
  • 2024-05-2711.1文件描述符0、1、2
    11.1文件描述符文件描述符:是内核为了高效管理已被打开的文件所创建的索引,用于被打开的文件,所有执行I/O操作的系统调用都通过文件描述;文件描述符是一个简单的非负整数,用以表明每一个被进程所打开的文件,程序刚刚启动的时候,第一个打开的文件是0,第二个打开的是1,以此类推。也
  • 2024-05-26嵌入式网络编程面试题(更新中)
    目录1.项目中如何实现TCP的并发?2.TCP通信中的三次握手3.四次挥手的过程4.tcp\IP协议分几层?tcp\IP是哪一层?5.UDP为什么丢包,怎样处理?丢包发生在哪一层?为什么?6.TCP是同步还是异步?谈谈你对同步异步的理解? 7.什么是TCP的沾包现象,如何解决? 8.组播和广播的区别? 9.阻塞IO