磁盘 逻辑 主机linux

【原创】linux实时应用如何printf输出不影响实时性?

本文介绍为什么linux实时任务不能直接调用printf,首先简单介绍一下printf终端输出原理,然后就如何实现终端输出不影响实时任务实时性问题给出一个方案,最后介绍xenomai中是如何做到完美`printf()`的。 ......
实时 实时性 printf linux

Coolify系列-手把手教学解决局域网局域网中的其他主机访问虚拟机以及docker服务

背景 我在windows电脑安装了一个VM,使用VM开启了Linux服务器,运行docker,下载服务镜像,然后运行服务,然后遇到了主机无法访问服务的问题。 问题排查 STEP1:首先要开启防火墙端口,这个我的Coolify系列其他文章有详细讲解,可以参考一下哇~~ STEP2:配置虚拟机网络,让主 ......
局域网 局域 主机 Coolify 教学

linux 基础(2)文件权限及其修改

文件的权限属性 在 linux 中,每个文件都有唯一的“所属者”(user)和“所属群组”(group)。owner 和 group 都对文件有特殊的权限 输入ls -l,就可以详细查看每个文件的权限属性。 我们可以看到,用户名和群组名可以是相同的。一个群组可以只包含一个用户,也可以包含多个用户。 ......
权限 文件 基础 linux

dotnet 代码优化 聊聊逻辑圈复杂度

本文属于 dotnet 代码优化系列博客。相信大家都对圈复杂度这个概念很是熟悉,本文来和大家聊聊逻辑的圈复杂度。代码优化里面,一个关注的重点在于代码的逻辑复杂度。一段代码的逻辑复杂度越高,那么维护起来的难度也就越大。衡量代码的逻辑复杂度的一个维度是通过逻辑圈复杂度进行衡量。本文将告诉大家如何判断代码... ......
复杂度 逻辑 代码 dotnet

linux基础:1、linux简介,虚拟化软件的安装与配置,Xshell的安装与配置

Linux 一、linux简介 常见岗位 1、自动化运维 2、容器运维 3、DBA 4、IDC运维(机房运维员) 计算机种类 linux常用的计算机种类: 1、台式机 2、笔记本 3、服务器 作用: 1.相比较于笔记本和台式机数据的安全性更高、不易于丢失 2.可以24小时不间断地提供服务 3.提升用 ......
linux 基础 简介 Xshell 软件

linux环境编程(1): 实现一个单元测试框架

写在前面 在开发的过程中,大多数人都需要对代码进行测试。目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目。但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感。作为“linux环境编程”系列文章的第一篇,本 ......
框架 单元 环境 linux

linux环境编程(2): 使用pipe完成进程间通信

1. 写在前面 linux系统内核为上层应用程序提供了多种进程间通信(IPC)的手段,适用于不同的场景,有些解决进程间数据传递的问题,另一些则解决进程间的同步问题。对于同样一种IPC机制,又有不同的API供应用程序使用,目前有POSIX IPC以及System V IPC可以为应用程序提供服务。后续 ......
进程 环境 linux pipe

【Linux】TCS34725 颜色传感器设备驱动

一、概述 此笔记主要是学习 Linux 中的 I2C 驱动,顺便验证一下 TCS34725 传感器的使用,主要内容还是程序记录,方便编写其他 I2C 设备驱动时做参考,所以关于 TCS34725 这里就不过多描述了,需要的小伙伴可以浏览我之前的笔记:TCS34725 颜色传感器设备驱动程序 二、添加 ......
设备驱动 传感器 颜色 设备 Linux

Linux 驱动像单片机一样读取一帧dmx512串口数据

硬件全志R528 目标:实现Linux 读取一帧dmx512串口数据。 问题分析:因为串口数据量太大,帧与帧之间的间隔太小。通过Linux自带的读取函数方法无法获取到 帧头和帧尾,读取到的数据都是缓存区中的,数据量又大。导致缓冲区中一直有很多数据, 又由于dmx512数据协议中并没有帧头帧尾字段只有 ......
串口 单片机 数据 Linux 512

数据分析师都要具备以终为始的思考逻辑

职场中,需要的是「解决问题」的能力,对于数据分析师同样如此。 数据分析解决业务问题有一套“标准化流程”:从明确需求、清洗数据,到分析原因、提出建议。对于这大同小异的过程,有的分析师驾轻就熟赋能业务,但有的却频频卡壳,或许拿了数据不知从何入手,或许分析一轮后却被否认。 针对这些问题,我们需要「以终为始 ......
分析师 逻辑 数据

前端Linux部署命令与流程记录

以前写过一篇在Linux上从零开始部署前后端分离的Vue+Spring boot项目,但那时候是部署自己的个人项目,磕磕绊绊地把问题解决了,后来在公司有了几次应用到实际生产环境的经验,发现还有很多可以补充的地方,很多指令和下载地址每次用到的时候再找就相对麻烦,通过这篇文章可以做一个记录。 另外,之前 ......
前端 命令 流程 Linux

[Linux Kernel 源码分析] 通过vconfig配置vlan的系统调用/驱动流程分析

By YuCloud (蓝天上的云℡ - 博客园 https://www.cnblogs.com/yucloud/) 转载请注明出处 vconfig源码分析 vlan/vconfig.c at master · Distrotech/vlan (github.com) https://github. ......
源码 流程 vconfig Kernel 系统

prometheus-添加监控linux服务器

1. prometheus-添加监控linux服务器 prometheus添加监控linux服务器 node_exporter:用于监控Linux系统的指标采集器。 常用指标: CPU 内存 硬盘 网络流量 文件描述符 系统负载 系统服务 数据接口:http://IP:9100 使用文档:https ......
prometheus 服务器 linux

CH9434-MCU代码移植,芯片使用详细说明(附Linux开发资料链接)

简介 CH9434是一款SPI转四串口转接芯片,提供四组全双工的9线异步串口,用于单片机/嵌入式/安卓系统扩展异步串口。提供25路GPIO,以及支持RS485收发控制引脚TNOW。本篇基于STM32F103,介绍CH9434在MCU平台移植和使用方法。 Linux移植说明可以跳转到这个链接:http ......
开发资料 芯片 代码 链接 资料

Linux 环境中使用 LVGL

之前有记录过在 esp32 中使用 LVGL 的笔记,需要的小伙伴可以了解一下,esp-idf 移植 lvgl8.3.3 我之前整理的学习资料:https://www.cnblogs.com/jzcn/p/16647106.html 一、准备材料 开发板:一块 linux 的开发板 或 linux ......
环境 Linux LVGL

【开源】基于.net6+gtksharp实现的Linux下的图形界面串口调试工具

背景 22年初从上家互联网公司离职以后,充分认识到互联网行业的风险,公司在没有自身稳定产品的情况下,互联网行业就是一个烧钱的行业,支出远远大于收入来源,上家公司就是如此,12年的公司转瞬间轰然倒地,1000多号人面临失业,不幸的是本人也在其中。经过深思熟虑以后本人决定找个有自身稳定收入的企业,因此便 ......
串口 gtksharp 图形 界面 工具

深入理解 Linux 物理内存分配全链路实现

前文回顾 在上篇文章 《深入理解 Linux 物理内存管理》中,笔者详细的为大家介绍了 Linux 内核如何对物理内存进行管理以及相关的一些内核数据结构。 在介绍物理内存管理之前,笔者先从 CPU 的角度开始,介绍了三种 Linux 物理内存模型:FLATMEM 平坦内存模型,DISCONTIGME ......
链路 物理 内存 Linux

Linux基础:ssh与scp

登陆 登陆服务器 ssh user@hostname user: 用户名 hostname :IP地址或域名 第一次登陆会提示 The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established. ECDSA k ......
基础 Linux ssh scp

Linux命令篇 - nc(ncat) 命令

nc (ncat) Ncat is a feature-packed networking utility which reads and writes data across networks from the command line; nc(ncat):Ncat是一个功能丰富的网络实用工具;支 ......
命令 Linux ncat nc

史上最小 x86 Linux 模拟器「GitHub 热点速览 v.22.50」

本周 GitHub Trending 略显冷清,大概是国内的人们开始在养病,而国外的人们开始过圣诞、元旦双节。热度不减的 ChatGPT 依旧占据了本周大半的 GitHub 热点项目,不过本周的特推和周榜并未重复收录这些。不过,本周有个新的 C 项目颇为有意思,它便是特推史上最小的 x86 Linu ......
模拟器 热点 GitHub 22.50 Linux

使用linux的ffmpeg进行B站直播推流

很久之前买了个友善的开发板R2S,一直在家吃灰。最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程。 第一步:安装ffmpeg sudo apt update sudo apt install ffmpeg 第二部分:创建用来存放视频的文件夹 这里我选择在/ ......
ffmpeg linux

Linux NTP工具的基本使用

NTP 时间同步 NTP(Network Time Protocol)协议,网络时间协议。利用ntp协议可以实现网络中的计算机时间同步。 实现NTP协议的工具: ntpdate:只能同步一次时间 ntp:持久同步时间 chrony:持久同步时间,精度比上面的ntp更好,速度更快。 使用ntpdate ......
工具 Linux NTP

Java锁的逻辑(结合对象头和ObjectMonitor)

我们都知道在Java编程中多线程的同步使用synchronized关键字来标识,那么这个关键字在JVM底层到底是如何实现的呢。 我们先来思考一下如果我们自己实现的一个锁该怎么做呢: 首先肯定要有个标记记录对象是否已经上锁,执行同步代码之前判断这个标志,如果对象已经上锁线程就阻塞等待锁的释放。 其次要 ......
ObjectMonitor 逻辑 对象 Java

mysql基础问题三问(底层逻辑;正在执行;日志观察)

背景:经常面试会遇到且实际工作中也会应用到的三个场景: 目录: 一.mysql查询时的底层原理是什么? 二.如何查看正在执行的mysql语句? 三.如何观察mysql运行过程中的日志信息? - - - - - - - - - -分割线- - - - - - - - - - -一.mysql查询时的底 ......
底层 逻辑 正在 基础 问题

前端学习 linux —— 软件安装(Ubuntu)

软件安装(Ubuntu) 本篇主要讲解 ubuntu 中软件的安装、apt 的源、内网部署案例(graylog 为例),最后是 python 开发准备。 apt 和 rpm 在linux 第一篇我们知道如果机器是 ubuntu 则可用 apt-get/dpkg 安装软件,如果是centos 则可用 ......
前端 Ubuntu linux 软件

Linux系统各种库/软件版本输出指令

日常开发基于Linux系统(其实更多的是Ubuntu平台),平时总会遇到一些情况需要查看某个库或者软件的版本信息,在这里做一下简单的记录。 1. 查看glibc版本 方法一:使用ldd指令 cv@cv:~$ ldd --version ldd (Ubuntu GLIBC 2.23-0ubuntu11 ......
指令 版本 系统 Linux 软件

Multipass,多平台本地轻量级Linux体验!

Multipass 是由Ubuntu官方提供,在Linux,MacOS和Windows上快速生成Ubuntu虚拟机的工具。它提供了一个简单但功能强大的CLI,可让我们在本地快速进入Ubuntu系统环境并使用Linux命令,亦可以在本地计算机创建自己的迷你型云服务器。总的来说就是在本地创建Ubuntu... ......
轻量 轻量级 Multipass Linux 平台

Linux 系统环境监测

Linux系统环境监测 Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。 1. CPU (1) 查看CPU的负载情况:uptime 可以通过uptime查看系统整体的负载情况。 如果服务器的CPU为1核心,则1分钟的系统平均负载 >=3 说明负载过高,如果服务器的CPU为4核心,则lo ......
环境监测 环境 系统 Linux

Linux面试题1:用户态和内核态

内核态和用户态 我们开发的服务代码,都是基于操作系统抽象提供的功能接口,进而操作相应的硬件资源。而硬件资源对于安全性要求非常高,所以对于安全性和系统稳定性而言,需要划定不同的应用程序运行级别。 Intel对于CPU的权限划分了四个等级0 ~ 3,linux采用了其中的0和2这两个等级。运行在0级别的 ......
内核 用户 Linux

.NET性能优化-使用内存+磁盘混合缓存

我们回顾一下上一篇文章中的内容,有一个朋友问我这样一个问题: 我的业务依赖一些数据,因为数据库访问慢,我把它放在Redis里面,不过还是太慢了,有什么其它的方案吗? 其实这个问题比较简单的是吧?Redis其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以 ......
缓存 磁盘 内存 性能 NET