标签 缓冲区 下的文章

  • 📂Linux进程终止教程

    1.进程退出场景:代码运行完毕,结果正确代码运行完毕,结果不正确代码异常终止2.进程常见退出方法:main函数returnctrl+c:退出前台进程exit和\_exit函数接下来就来了解exit和\_exit函数的区别exit函数:该函数是库函数,谁调用谁退出 void exit (int ststus) status:进程退出的状态码\_exit函数:该函数是系统调用函数,也是谁...

  • 📂linux五种IO模型教程

    linux五种IO模型,包括同步模式(阻塞模式、非阻塞模式、多路复用模式、信号驱动模式)和异步模式 在Linux中,对于一次写入IO操作,是将数据拷贝到TCP内核缓冲区;对于一次读取IO的操作,通常包括两个不同阶段: (1)等待数据准备好,到达内核缓冲区; (2)从内核向进程复制数据。参考:https://blog.csdn.net/z\_ryan/article/details...

  • 📂nginx应用指南教程

    一、nginx基本简述最新更新:请点击这个里 1、概念:nginx是一个开源且高性能、可靠的HTTP中间件、代理服务。开源: 直接获取源代码 高性能: 支持海量并发2、nginx应用场景静态处理、反向代理、负载均衡、资源缓存、安全防护、访问限制、访问认证二、nginx优秀特性 1、nginx基于IO多路复用:IO复用解决的是并发性的问题,Socket作为复用。概念:多个描述符的I/O操...

  • 📂linux缓存同步教程

    缓存同步 : 为了保证磁盘系统与缓冲区中内容一致,Linux 系统提供了 sync、fsync 和fdatasync 三个函数.函数描述:向打开的文件写数据; 成功返回0,若出错,返回-1。头文件:#include <unistd.h>int fsync(int fd);int fdatasync(int fd);void sync(void);说明:sync - 将所有修改过的...

  • 📂其实 Linux IO 模型没那么难教程

    文章首发于公众号「陈树义」及个人博客 shuyi.tech,欢迎关注访问。 ================================================================================博主个人独立站点开通啦!欢迎点击访问:https://shuyi.techIO 其实就是 Input 和 Output,在操作系统中就对应数据流的输入与输出...

  • 📂为什么“内存管理”漏洞值得你的绝对关注!教程

    在IT业务环境中,客户数据是关注的焦点。因此,保护客户数据自然是任何IT专业人员最重要的责任。许多国家或组织已经立法要求,数据在静态存储和移动过程中必须为加密状态。这会使许多人觉得如果IT系统符合法律要求,数据就是安全的。实际情况是数据在CPU操作期间依然需要被解密。因此,需要密码和密钥才能启用数据加密和解密。除此之外,数据管理员还需要能够在用户丢失密码或密钥时恢复数据。总之,数据在解密状态...

  • 📂Unix/Linux实践-文件操作-02教程

    who在Unix中,任何可以被 shell 解释的命令都是一个其他人编写的程序。who 用来查看当前登录系统的用户数量及其信息。man 命令 用来查看特定命令的详细信息,包括所有后面可以紧跟的所有参数,每个参数的具体功能、用法等等。who 的原理:who命令显示出的信息是通过读取某个文件实现的,该文件记录所有已登录用户的信息。该文件名称为utmp文件相关命令read将一定数目的字节读入到缓冲...

  • 📂Nginx基本简述教程

    一、Nginx简介Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务.开源:直接获取源代码高性能:支持海量高并发1、nginx应用场景:静态处理 (对静态页面的处理,不管是httpd还是nginx默认只能处理静态页面)反向代理 (不直接处理客户端请求,而是将请求转交给其它服务器)负载均衡 (长跟反向代理相结合,负责将客户端的请求转交给其它压力较小的服务器)资源缓存 (对客户端经常访...

  • 📂Linux操作系统——文件I/O - 知其然,知其所以然教程

    在操作系统中, 最为复杂同时也最为重要的功能就是文件I/O。 一台PC可以不连接互联网, 但是一定需要程序的载入、文件的打开, 而这些操作与I/O均密不可分。 包括软件开发中, 数据库与I/O的关系密切相关, 有时衡量一个DB的效率, 其实就是在衡量其I/O效率。 理解文件I/O, 就是在理解我们常用应用软件, 如MySQL、Redis、Nginx、ES、Prometheus等的核心。处于内...

  • 📂Windows技术篇——Socket粘包问题教程

    一 .两个简单概念长连接与短连接:1.长连接Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点 通讯,比如多个Client连接一个Server.二 .什么时候需要考虑粘包问题?1:如果利用tcp每次发送数据,就与对方建立连...

  • 📂【Linux】零拷贝技术(Zero Copy)教程

    一、为什么要有DMA技术?在没有 DMA 技术前,I/O 的过程是这样的:CPU 发出对应的指令给磁盘控制器,然后返回;磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区中,然后产生一个中断;CPU收到中断信号后,停下手头的工作,接着把磁盘控制器的缓冲区的数据一次一个字节地读进自己的寄存器,然后再把寄存器里的数据写入到内存,而在数据传输的期间CPU 是无法执行其他...

  • 📂深入剖析Linux IO原理和几种零拷贝机制的实现(转)教程

    作者:零壹技术栈 链接:https://zhuanlan.zhihu.com/p/83398714 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前言零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传...

  • 📂Nginx的gzip压缩的原理和设置参数教程

    开启Nginx gzip压缩非常简单,达到的效果可以压缩静态文件大小、提高页面访问速度、节省流量和带宽是很有帮助的,也为用户省去了很多流量;唯一的不足就是开启之后服务器这边会增加运算,进行压缩运算处理,就比如压缩级别,服务器cpu会有开销。原理举例比如一个css文件,里面肯定有很多font-size、换行、字体等标签和内容,这种重复的内容会很多,压缩的时候它会对重复的字符串进行扫描,它会把这...

  • 📂nginx搭建静态文件下载服务器教程

    配置文件大致内容server { # 监听8001端口 listen 8001; server_name 192.168.0.2; # 指定使用utf8的编码 charset utf-8; # 内容根目录 root /home/data/download; location / { # 自动创建目...

  • 📂【操作系统习题】三个并发进程 R、M、P 共享一个可循环使用的缓冲区 B教程

    文章目录习题题目一、解题思路二、代码结语引用-习题题目今有三个并发进程 R、M、P,它们共享了一个可循环使用的缓冲区 B,缓冲区 B 共有 N 个单元。进程 R 负责从输入设备读信息,每读一个字符后,把它存放在缓冲区 B 的一个单元中;进程 M 负责处理读入的字符,若发现读入的字符中有空格符,则把它改成“,”;进程 P 负责把处理后的字符取出并打印输出。当缓冲区单元中的字符被进程 P 取出后...

  • 📂39.Linux调试测试输入思路教程

    当产品要发布之前,都会进行反复的测试输入,比如:测试按键,遥控,触摸等等.当出现bug时,就还需要不停地找规律,修改程序,直到修复成功,会显的非常麻烦答: 可以通过之前在35.Linux-分析并制作环形缓冲区里学的,使用myprintf()保存到环形缓冲区. 当出错时,直接可以通过缓冲区里的数据来“复现”输入.

  • 📂31.Linux-分析并制作环形缓冲区教程

    1.环形缓冲区log\_buf[]又是存在内核的哪个文件呢?位于/proc/kmsg里,所以除了dmesg命令查看,也可以使用cat /proc/kmsg来查看2.但是,dmesg命令和cat /proc/kmsg有所不同2.1 dmesg命令每次使用,都会打印出环形缓冲区的所有信息2.2 cat /proc/kmsg只会打印出每次新的环形缓冲区的信息比如,第一次使用cat /proc/km...

  • 📂nginx响应超时upstream timed out (110: Connection timed out) while reading response header from upstream教程

    问题描述 后台server服务响应时间正常,但是请求没有打到服务器,在nginx很慢才看到error日志,如下:2018/07/26 10:17:42 [error] 45762#0: *7489 upstream timed out (110: Connection timed out) while reading response header from upstream, clien...

  • 📂中高级工程师Java开发!Nginx如何支持HTTPS?完整版开放下载教程

    前言前几天我上班路上,和小区门口开车的师傅闲聊,发现他们虽然学历不高,但挣钱的途径不少,比如固定接送多位客户,然后能通过朋友圈拓展新客户,而且通过客户口口相传,也能不断拉到生意,算下来每月也能挣1万5出头,好的话能有2万,我在上海,做IT的要月入2万,如果不是996,估计本科毕业还得干几年。可能有人会说了,他们第一不交金,第二未必稳定,但这批师傅学历也就高中,对于这个学历来说,这个收入不能算...

  • 📂Linux的Zero Copy(转)教程

    作者:零壹技术栈 链接:https://zhuanlan.zhihu.com/p/83398714 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前言零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传...

  • 📂【Linux】文件管理系统解析(I/O与缓冲区,文件描述符fd,iNode)教程

    目录0.前言1.文件1.1如何理解文件?1.1 文件构成1.2 文件有哪些2.文件操作2.1 C语言文件操作2.2 系统调用文件操作2.3 两种操作的关系3.文件描述符fd3.1 什么是文件描述符?3.2 为什么有文件描述符?3.3 fd使用之重定向4. I/O与缓冲区4.1 是什么?4.2 为什么?4.3 使用方法与注意事项5. 文件管理系统5.1 文件系统是什么5.2 为什么需要文件系统...

  • 📂嵌入式学习DAY25 --- 进程线程开始学习,进程的基本概念以及创建退出教程

    *嵌入式入门学习笔记,遇到的问题以及心得体会! DAY25*笔记:并发编程:同一时刻实现多个任务同时执行,这样的编程称之为并发编程。1.并发编程的核心: 进程 线程 进程间通信 线程的同步和互斥 2.多任务的实现:多任务是通过操作系统的任务调度策略实现并发的。 多进程并发是通过时间片的快速轮转,给用户一个真并发的错觉。 多线程并发在多核cpu机器上,则是以真...

  • 📂内存包装类 Memory 和 Span 相关类型教程

    1. 前言2. 简介3. Memory和Span使用准则3.1. 所有者, 消费者和生命周期管理3.2. Memory 和所有者/消费者模型3.3. “缺少所有者” 的Memory 实例3.4. 使用准则前言==========================此文章是官方文档的翻译,由于官方文档中文版是机器翻译的,有些部分有疏漏和错误,所以本人进行了翻译供大家学习,如有问题欢迎指正。参考资料...

  • 📂【Linux 基础】 -- V4L2 框架分析教程

    一、概述Video4Linux2 是 Linux 内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处。就像公司的老板一般都不会直接找底层的员工谈话,而是找部门经理了解情况,一个是因为底层屌丝人数多,意见各有不同,措辞也不准,部门经理会把情况汇总后再向上汇报;二是老板时间...

  • 📂SylixOS中的动态内存分配【13】--- 成块消息缓冲区接口实现原理教程

    实现原理成块消息缓冲通过一个数组和读写指针实现,由一个成块消息缓冲结构体进行管理。 成块消息缓冲创建时通过系统堆申请内存,且是一次性把管理结构体和数据缓存空间整体分配,所以只能在内核中调用。成块消息缓冲区与环形缓冲区的管理方式比较相似但也有些区别,其主要的区别在于成块消息管理在保证消息完整性上做了相应的处理,保证完整性的处理分为两个部分,分别是写消息时的处理与读消息时的处理。实现源码/*...

  • 📂进程同步与互斥——理发师问题(实现OS上的伪代码)教程

    理发师问题描述:(1)理发店里有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子 (2)如果没有顾客,理发师便在理发椅上睡觉 (3)一个顾客到来时,它必须叫醒理发师 (4)如果理发师正在理发时又有顾客来到,则如果有空椅子可坐,就坐下来等待,否则就离开问题分析:1、对于理发师问题而言,是生产者-消费者(有界缓冲区)模型的一种。其中理发师和顾客之间涉及到进程之间的同步问题,理发师...

  • 📂linux c socket编程学习(1)教程

    1、相关理论:大部分资料来自TCP/IP sockets编程(C语言实现),额外做了补充。概念:IP: 每台主机的IP地址都是不同的。主机的IP地址有公网IP和内网IP。在局域网中,每台主机的IP都取自192.168.1.1-192.168.1.255(C类)之间,不存在两台主机的IP重复,此IP是局域网的内网IP,由用户自行分配。公网IP是访问互联网的IP,每次联机到互联网时会随机分配...

  • 📂Linux、JDK、Netty中的NIO与零拷贝教程

    一、先理解内核空间与用户空间 ===================================Linux 按照特权等级,把进程的运行空间分为内核空间和用户空间,分别对应着下图中, CPU 特权等级分为4个,Linux 使用 Ring 0 和 Ring 3。内核空间(Ring 0)具有最高权限,可以直接访问所有资源,;用户空间(Ring 3)只能访问受限资源,不能直接访问内存等硬件设备...

  • 📂Linux 零拷贝技术教程

    减少拷贝次数的一种方法是调用mmap()来代替read调用,调用mmap(),内核会把数据通过DMA拷贝到内核缓冲区,然后不发往用户空间,而是直接将数据拷贝到socket缓冲区或者其他硬盘缓冲区。原本数据从硬盘发送到网卡需要经过四次上下文切换和四次数据拷贝——从硬盘到内核缓冲区,从内核缓冲区到用户空间,从用户空间到内核缓冲区,从内核缓冲区到socket缓冲区。使用mmap后需要经过相同过的四...

  • 📂LINUX 进程与线程 信号量 通信教程

    操作系统 进程与线程 信号量 通信1 进程进程模型:每个系统有自己的虚拟CPU,但CPU又在不同进程之间进行切换。一个进程就是一个正在执行的程序,包括程序寄存器和变量当前的值。 进程是某种类型的活动,它有程序。输入和输出以及状态。单个处理器可被若干进程共享,使用某种进程调度算法,决定何时停止一个进程的工作,并转而为另一个进程提供服务。 1.1进程的创建:系统初始化,正在运行的程序执行...