操作系统我说了算!扒一扒调度器

点击蓝色字体关注我们哦阅读本文之前,需要具备以下两点条件:了解arm汇编或者x86汇编熟悉c语言程序开发调度器是什么任务调度器的存在,主要是为了充分利用计算机的硬件资源,要让计算机尽可能"同时"多干一点点活。这些活其实是由处理器执行某段代码来完成的,一般我们把这段程序称为进程。进程通过负责完成某件事情,但是如果这件事情太过于复杂的话,就必须招几个小弟来帮忙...
📅 2023-07-13 阅读全文 →

你的锅我不背!且看职责链模式

come on 伸出中指戳戳上方关注我……模式动机责任链模式在日常生活里面非常普遍,比如说小时候上学的时候,老师每次让我们缴一些书本费用,作为小朋友自己肯定是没钱,只好回家把缴费信息告诉爸妈,爸妈身上可能也没钱,于是只好去亲戚家借钱。最后由亲戚家出这个钱。这就是责任链模式,在整个问题的解决过程,节节相扣,看起来就像是构成了一条"链"。在程序开发过程中,我们...
📅 2023-07-13 阅读全文 →

我想靠自己加载个动态库

差一点我们就擦肩而过了有趣有用有态度大家好,我是yeye。前段时间,断断续续地在研读完了Linux0.12,期间接触到非常多有意思的知识。见识到历史悠久的x86为了保持向前兼容玩出来了芯片硬件的各种骚操作、看到Linus在21岁时往代码注释里面写的各种吐槽等等,尤其是领悟到了程序这玩意本质是怎么回事。可能各位Linux程序员每天都在和程序打交道,每天都要写...
📅 2023-07-13 阅读全文 →

高质量软件之路--平台与框架

差一点我们就擦肩而过了有趣有用有态度前言近两年来,平台和框架可谓是当今嵌入式开发的香馍馍。得益于开源运动日渐兴盛,很多以往从事单片机行业的工程师,已经逐渐改变了单打独斗的开发模式。意识到了引入平台、框架概念对软件质量持续提高和发展的重要性。 毫无疑问,这是嵌入式行业的一大进步,在一定程度上缩小了嵌入式软件开发与计算机软件开发的差距。长期以来,岗位...
📅 2023-07-13 阅读全文 →

嵌入式,真的不需要单元测试?

前言嵌入式行业摸爬滚打这几年,遇见有规范单元测试的项目寥寥无几。归根到底,无非是公司希望快速迭代出产品,有问题等客户反馈再说。当然,也有人认为是嵌入式行业都是小而美的产品居多,没有到一定量级之前,玩不起单元测试这种配置。正如做个蛋炒饭,并不需要安排主厨、二厨一般。不过出于对代码稳定性的追求,我认为还是应该着手了解一下单元测试的。毕竟,这是有效提高代码说服力...
📅 2023-07-13 阅读全文 →

图解fat32文件系统设计

差一点我们就擦肩而过了有趣有用有态度设计文件系统思路 这一篇文章是带大家思考,fatfs文件系统是怎样逐步发展而来的,如果你是文件系统的设计者,你会怎么设计?希望从这个思考的过程,帮助大家掌握fatfs里面的一些基本概念。要设计一种文件系统,说白了就是要实现一种文件名与文件数据的映射,也就是给定一个文件名后,就能找到它所对应的映射。这看似简单,事实上却不简...
📅 2023-07-13 阅读全文 →

分享一款Linux平台下的tcp协议栈!超级透彻!

差一点我们就擦肩而过了有趣有用有态度前言 tcp/ip协议栈相信在大家日常开发里面,或多或少都有接触过,在单片机领域比较常用的有以下几种开源的软件协议栈:LwIPuC/IPuIPTinyTcp也有些产品直接使用硬件协议栈,如w5500。或者是其他的一些串口转wifi模块,如经典的esp8266等。作为软件工程师,自然重点是关注软件协议栈。但是,哪怕是上面罗列...
📅 2023-07-13 阅读全文 →

level-ip之虚拟网卡接口封装

                     差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下文:分享一款Linux平台下的tcp协议栈!超级透彻!请根据上述...
📅 2023-07-13 阅读全文 →

level-ip之以太网数据接口封装

差一点我们就擦肩而过了有趣有用有态度前言阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!level-ip之虚拟网卡接口封装请根据上述文章中的指引获取leve-ip的全部源码,并且尝试在任意Linux发行版本上编译运行。知识回顾在前面的文章中,我们已经介...
📅 2023-07-13 阅读全文 →

ARP协议是什么鬼?这一篇源码分析!

差一点我们就擦肩而过了有趣有用有态度前言阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!level-ip之虚拟网卡接口封装level-ip之以太网数据接口封装请根据上述文章中的指引获取leve-ip的全部源码,并且尝试在任意Linux发行版本上编译运行...
📅 2023-07-13 阅读全文 →

socket套接字地址介绍​

差一点我们就擦肩而过了有趣有用有态度前言 socket套接字也叫伯克利套接字,是加州大学伯克利分校的研究人员在 20 世纪 80 年代早期提出的。BSD作为unix系统的一大分支,最早在BSD 4.2 Unix 内核上实现了 socket。因为它符合unix系统一切皆文件的哲学理念,方便易用,于是很快就推广开来使用了。目前,Linux系统和window系统...
📅 2023-07-13 阅读全文 →

TCP/IP和Unix的发展轨迹

差一点我们就擦肩而过了有趣有用有态度导学问题:TCP/IP 网络协议栈诞生于哪个操作系统?Linux 为什么又被称为 GNU/Linux?在当代互联网时代里,最重要的事物有两个:TCP/IP协议Linux操作系统TCP协议的由来最早的网络通信为阿帕网(ARPANET),它的通信协议为网络控制协议(Network Control Protocol,缩写 NC...
📅 2023-07-13 阅读全文 →

怎样学好网络编程?

差一点我们就擦肩而过了有趣有用有态度前言 在嵌入式行业网络编程使用相对较少,主流应用集中在NB-IOT、Lora、Mqtt这一块,原理上一般是通过加入硬件模块或者是使用第三方SDK来实现。因此,大部分嵌入式从业人员网络编程能力较弱,网络编程水平多数停留在大学阶段。考虑到未来嵌入式的发展趋势,必然是网络化+智能化。因此深度掌握网络编程和人工智能,会有更好的发...
📅 2023-07-12 阅读全文 →

TCP本地套接字

差一点我们就擦肩而过了有趣有用有态度本地套接字实际上也是进程间通信的一种手段,类似于管道、消息队列、共享内存等等,因为本地套接字使用方便,接受度高,现在已经普遍使用了。比如现在最火的kubernetes和docker,他们都在大量使用本地套接字。本地套接字概述 本地套接字是一种特殊类型的套接字,和 TCP/UDP 套接字不同。TCP/UDP 即使在本地地 ...
📅 2023-07-12 阅读全文 →

socket套接字如何建立连接?

差一点我们就擦肩而过了有趣有用有态度导学问题:1、套接字如何实现非阻塞调用?2、客户端能调用 bind 函数绑定端口吗?服务端准备连接 创建一个套接字int socket(int domain, int type, int protocol)domain :PF_INET:ipv4套接字PF_INET6 :ipv6套接字PF_LOCAL:本地套接字...t...
📅 2023-07-12 阅读全文 →

读写socket套接字的正确姿势

差一点我们就擦肩而过了有趣有用有态度导学问题:1. 增加缓冲区,可以提高程序的吞吐量吗?2. 网络数据从发送到接受的过程,总共拷贝了多少次?发送数据ssize_t write (int socketfd, const void *buffer, size_t size)ssize_t send (int socketfd, const void *buff...
📅 2023-07-12 阅读全文 →

什么是零拷贝?一招学会高效传输文件

差一点我们就擦肩而过了有趣有用有态度导学问题:1.服务器通过网络传输数据时,系统有几次拷贝?2.大文件和小文件各有什么传输特点?什么是零拷贝 零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。从一个案例说起某天你接到公司下发的一个安排,完成一个类似...
📅 2023-07-12 阅读全文 →

level-ip之ip数据包接口剖析

差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!level-ip之虚拟网卡接口封装level-ip之以太网数据接口封装请根据上述文章中的指引获取leve-ip的全部源码,并且尝试在任意Linux发行版本上编译运行。知...
📅 2023-07-12 阅读全文 →

level-ip之ping命令处理

差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!level-ip之虚拟网卡接口封装level-ip之以太网数据接口封装ARP协议是什么鬼?这一篇源码分析level-ip之ip数据包接口剖析请根据上述文章中的指引获取l...
📅 2023-07-12 阅读全文 →

Linux系统中间件的巧妙实现--以用户空间的tcp协议栈为例

差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!socket套接字如何建立连接?TCP本地套接字前言 一般来说,使用套接字进行网络编程时,默认使用linux内核提供的网络服务。但是,现在我们自己在用户空间构建了一个t...
📅 2023-07-12 阅读全文 →

从源码看tcp三次握手(上)

差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!Linux系统中间件的巧妙实现--以用户空间的tcp协议栈为例请根据上述文章中的指引获取leve-ip的全部源码,并且尝试在任意Linux发行版本上编译运行。著名的TCP...
📅 2023-07-12 阅读全文 →

level-ip之tcp数据包接口封装

差一点我们就擦肩而过了有趣有用有态度阅读本文需要对level-ip的整体架构有所了解,如果读者尚未接触过level-ip,请先阅读下面文章:分享一款Linux平台下的tcp协议栈!超级透彻!level-ip之虚拟网卡接口封装level-ip之以太网数据接口封装level-ip之ip数据包接口剖析请根据上述文章中的指引获取leve-ip的全部源码,并且尝试在...
📅 2023-07-12 阅读全文 →

开关电源变换器工作模式--平均电流、滞回电流模式

 1 平均电流模式的工作原理及特点图1为平均电流模式的控制系统图,K为检测电流放大器,CEA为电流误差放大器,VEA为电压误差放大器。输出电压通过分压电阻器接到电压误差放大器的反相端,VEA同相端接参考电压Vref,输出的电压误差信号经VEA放大后输出,电压值为Vc。Vc连接到电流误差放大器CEA的同相端,输出电流信号由Rs取样,经电流放大器K放...
📅 2023-07-12 阅读全文 →

开关电源变换器工作模式--COT固定开通时间模式

     0 前言前面讲述了电压模式、电流模式的工作原理,事实上,从控制策略而言,以BUCK电路为例,可以用下面的公式来说明:Vo = D* Vin =Ton*Vin/Ts ==Ton*Vin/(Ton+Toff) Vo是固定不变的,当Vin变化的时候,需要有另一个变量相应的变化,从而维持Vo的稳...
📅 2023-07-12 阅读全文 →

DCDC变换器外部软起动电路设计

 0 前言‍目前在电子系统中使用了许多Buck降压型变换器,这些变换器集成芯片中,有些使用了外部软起动管脚来设定软起动时间,而有些内部集成的数字或模拟的定时器固定了软起动时间以减小外部管脚的分配降低芯片成本。在一些实际的应用中发现,有外部软起动管脚的芯片有时因为内部软起动电容的放电电路不能及时将软起动电容的电荷放掉,导致系统重起时过流保护电路工作...
📅 2023-07-12 阅读全文 →

电流模式电流的取样方式

对于工作于电流模式的DCDC变换器,通常需要电流检测元件,下面就介绍这些电流检测元件,并阐述它们各自的特点。 ‍‍1 高精度的功率电阻‍‍‍‍高精度的功率电阻是用于检测电流的最常用的元件,也称电流取样电阻,为了减小功率损耗,电流检测信号的最大幅值较小,对于一些大电流的应用,有的甚至小到25mV、30mV。由于功率地回路中有较大的开关电流,会干扰电...
📅 2023-07-12 阅读全文 →

电流模式取样电阻的位置对结构影响

本文以Buck变换器为例,来说明电流取样电阻放置的位置和相对应的工作模式。电流的取样电阻有三种不同的放置方式:(1)放置在输入回路,即与高端主开关管相串联。(2)放置在输出回路,即与电感相串联。(3)放置在续流回路,即与续流的二极管或同步开关管相串联。‍1 电流取样电阻放置在输入回路‍在Buck变换器中,输入回路,即高端的主开关管流过的电流波形为上升阶段的...
📅 2023-07-12 阅读全文 →

电流模式向电压模式转变

通常在讨论这两种工作模式的时候,所指的是理想的电压模式和电流模式。然而,在实际的应用中,电流模式的开关电源系统,当输出负载变化时,或者在一些工作条件,为了系统的稳定,增加一些补偿的信号,此时,系统会在电流模式中引入部分的电压模式特性,或者完全进入电压模式。1 轻载时电流模式趋向于电压模式 电源系统进入轻载或空载时,变换器通常工作在突发模式和跳脉冲...
📅 2023-07-12 阅读全文 →

电压模式向电流模式转变

通常在讨论这两种工作模式的时候,所指的是理想的电压模式和电流模式。然而,在实际的应用中,电压模式的开关电源系统,即系统反馈环中没有引入电流取样信号,但也会采用其它的方式引入一定程度的电流反馈,电压模式向电流模式转变,从而提高系统动态响。1 电压模式输出电容ESR取样形成平均电流模式 理想的电压模式在一定的反馈网络参数下,很难在整个电压输...
📅 2023-07-12 阅读全文 →

功率MOSFET基础

本文内容较长,希望了解MOSFET基本参数工程师,需要花一些时间和耐心。功率MOSFET基础内容表 1.基本器件结构2.击穿电压3.导通状态特性4.电容5.栅极电荷6.栅极电阻7.导通和关断8.体二极管正向电压9.体二极管反向恢复10.雪崩能力和额定11.dV/dt额定12.热阻特性13.功率耗散14.安全工作区15.电流额定 1.基本器...
📅 2023-07-12 阅读全文 →