底层知识
未读
0x102 DMA数据拷贝
复习时思考: DMA是如何进行数据拷贝的? 为什么需要使用DMA进行数据拷贝? ==总结==:专业的人干专业的事,数据拷贝这个活就专门由DMA芯片负责,每次CPU需要什么数据时,告诉DMA芯片即可。 DMA,英文全称是Direct Memory Access,即直接内存访问。DMA本质上是一块主板上
底层知识
未读
0x201 IO复用
前置知识 I/O流 I/O流(输入/输出流)是程序和外部环境(文件,网络连接等)之间传输数据的通道。流提供一种连续的数据传输方式,使程序可以顺序的读取或写入数据。 除了流还有什么数据传输方式 ? 数据报:数据报是一种无连接的传输方式,每个数据报独立发送,且数据报之间没有固定的顺序。UDP(用户数据报
底层知识
未读
0x200 事件驱动编程
什么是事件驱动编程 所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数)。 当然事件也不仅限于用户的操作. 事件驱动的核心自然是事件。从事件角度说,事件驱动程序的基本结构是由一个事件收集器、一个事件发送器和一个事件处理器组成。事件收集器专门负责收集所有事件,包
底层知识
未读
0x103 虚拟内存
复习时思考 什么是虚拟内存 为什么使用虚拟内存 虚拟内存是如何实现的 什么是虚拟内存(Virtual Memory)? 虚拟内存可以让程序可以拥有超过系统物理内存大小的可用内存空间。 虚拟内存为每个进程提供了一个一致的、私有的地址空间,它让每个进程产生了一种自己在独享主存的错觉(每个进程拥有一片连续
底层知识
未读
0x100 零拷贝技术
复习时思考: 什么是零拷贝? 为什么需要零拷贝? 零拷贝的实现方法? 什么是零拷贝 零拷贝字面意思上可以拆解为“零”和“拷贝” “零”:次数为零,表示拷贝的次数为零。 “拷贝”:指数据从一个存储区域转移到另一个存储区域。 合起来就是一份数据不需要从一个区域复制到另一个区域。 零拷贝是指在计算机在执行
底层知识
未读
0x101 为什么要区分内核区和用户区
区分内核区和用户区主要是为了安全性、稳定性、效率和可移植性。 安全性 内核区运行着操作系统的核心部分,包括进程管理,内存管理,硬件管理等。 通过隔离用户区和内核区,可以有效防止程序直接访问和修改系统内核代码和数据,避免恶意程序和不稳定程序破坏内核。 稳定性 如果用户开发了一个不稳定的程序,这个程序和
GoWeb
未读
Go Web项目业务分层
conf:存放配置文件,支持多种格式,jason、ini config:配置模块,存放各个组件的初始化函数 conreollers:处理器模块,按照不同的对象,进行划分,Example:跟文章相关的,位于article.go dao:数据库模块,如创建数据库的表,数据库增删改查 logger:日志模