avatar
文章
107
标签
40
分类
34

Home
Tags
Categories
Music
港乐Live Show
Eden Mo Blog
搜索
Home
Tags
Categories
Music
港乐Live Show

Eden Mo Blog

Linux操作系统:进程与线程
发表于2024-03-02|操作系统操作系统理论Linux|进程与线程•Linux
Linux进程 进程和程序的区别 程序:指的是编译好的可执行文件,存放在磁盘上指令和数据的有序集合,程序是静态的,没有任何执行的概念,例如编译源文件之后的a.out文件、exe文件等。 进程:一个独立可调度的任务,执行一个程序所分配资源的总称,进程是程序的一次执行过程,进程是动态的,包括创建、调度、执行和消亡。 程序包含正文段、用户数据段,而进程除了包含这两个,还包括系统数据段,例如程序计数器(或称指令计数器,PC)存储下一条指令的地址、CPU的所有寄存器值(用于控制和计算等)、存储临时数据的进程堆栈等。 进程的结构 进程的标识:进程号(Process Identity Number,PID),例如我们在Linux使用不挂起nohup操作,会返回一个进程号,能够唯一地标识一个进程让我们找到。 操作系统记录了进程的PID,还会标识进程所属用户的UID,记录该进程分配的资源(内存、IO设备、文件)、进程的运行情况(CPU、磁盘、网络使用)等,这些都被记录在进程控制块(Process Control Block,PCB)中。 Linux进程包含三个段(这是给进程自身使用的 ...
数据结构算法题目(二):回溯、贪心、动态规划与图论
发表于2024-03-01|C/C++数据结构数据结构题目|数据结构与算法
以下所有内容编排按照Carl开源的算法攻略进行,感谢博主悉心的内容挑选和顺序编排。编程语言为C++; 回溯算法篇 回溯算法是一种经典的算法,旨在让计算机穷尽各种可能,广泛用于处理组合问题、子集问题、排列问题等等,回溯算法可以被设计得很精妙,开始时难以理解是不可避免的,关键还是从基本题目入手,逐渐体会其中原理,Carl以及其他算法博客已经把规律总结很好,本篇文章只是记录而并非教程;虽然回溯算法很巧妙,但是代码写法一般比较固化,回溯算法普遍使用的算法模板如下: 12345678910111213141516travel(){ if(//每次递归结束的条件) //深度控制,不可能无限向下递归 ..... return; //递归套循环是很常见的事情,递归控制搜索的深度,循环控制单次处理时的广度 for(){ //决策 //标记 ...... //travel //取消决策 //取消标记 ...... } ......} 有人把递 ...
C++ Qt入门
发表于2024-02-27|C++ Qt开发|C++ Qt
1. Qt基本文件组成 1. .pro项目文件 Qt版本不同,内容略有差异。如5.14版本,记录了模块、编译器版本、编译文件、输出路径等信息。 12345678910111213141516171819202122232425262728293031#4.x版本的Qt的gui与widgets是合并的,在5.x中分开了,模块化编程要载入。QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgets#编译器版本CONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on your compiler). Please consult the documentation of the# deprecated API in order to know how ...
IP核之加法器实验
发表于2024-02-26|FPGAverilog|Vivado IP核
目的:使用加法器,将两个输入数据相加输出,并且在matlab中验证计算误差。 数据的获取 由于人工设定数据量小,而大批量数据设定麻烦,因此要提前做处理。思路是利用两块RAM来存储起始数据,输入到加法器进行相加。Quartus可以使用mif文件进行RAM的初始化,vivado则可使用coe文件进行初始化。 为了使数据有一定的随机性又不失规律性,我们对正弦波进行采样,以获取位宽为8,位深为1024的数据,实际上这并不是最佳建议,因为位宽为8而位深为1024意味着有很大部分的数据会重叠,但从验证角度而言我们选择忽略这个问题。 12345678910111213141516171819202122232425262728293031323334353637383940#include <stdio.h>#include <math.h>#define PI 3.141592#define depth 1024 /*数据深度,即存储单元的个数*/#define width 8 /*存储单元的宽度*/int main(void){ ...
IP核之MMCM实验
发表于2024-02-17|FPGAverilog|Vivado IP核
PLL与MMCM FPGA中,外部时钟域与主时钟域不同步将导致各种各样的复杂情况的出现,因此异步时钟域的处理往往是一个重要的问题,也有各种各样的解决办法,如特定的握手协议、异步FIFO、双时域同步器、锁相环等。锁相环(PLL,Phase-Locked Loop)是一种能够自动跟踪输入信号相频,从而实现信号同步的电路,主要由鉴相器(PD,Phase Detector)、环路滤波器(LF,Loop Filter)、压控振荡器(VCO,Voltage Controlled Oscillator)组成。模拟鉴相器是一个乘法器,能够将相位差信号转换成控制电压,环路滤波是一个低通滤波器,平滑控制电压的变化,调节VCO的响应速度和稳定性,对能否锁相起到至关重要的作用。一种常用的压控振荡器通过变容二极管实现,根据不同的电压电容容值发生变化,从而实现了不同频率信号的输出,最后锁相环电路输出信号将实现与输入信号同步。 Altera公司IP核采用了PLL,赛灵思公司则采用了混合模式时钟管理(MMCM,Mixed-Mode Clock Manager),MMCM中集成了PLL以及其他部件,实现 ...
【PointPillars】环境部署全纪实
发表于2024-01-15|Python|3D目标检测
PointPillars是一个基于激光雷达点云的3D目标检测模型,兼顾了检测精度和检测效率。由于仓库代码比较老了,部署过程也遇到了不少问题,特此记录。 (由于显卡型号、系统架构等问题该记录不具备普适性,注意甄别)。 云平台环境:Ubuntu 18.04(X64架构)、GTX 1080ti(显存10G以上)、Python 3.7版本(建议anaconda管理) Cuda Installation Cuda:验证版本11.1,可以说很多问题都与Cuda版本有关(或Cuda与软件包版本)。 其他版本相关问题如下: Cuda 12.x:报错numba软件包的IR version不兼容。 Cuda 10.1:编译SparseConvNet时报错,理由是10.1不兼容C++ 17。 Cuda 11.7:训练报错/usr/include/boost/math/constants/constants.hpp:265:1007: error: template argument 2 is invalid+一堆boost文件error,实际上与boost(1.65)没关系,更 ...
数据结构算法题目(一):数组、链表、栈队列与二叉树
发表于2024-01-14|C/C++数据结构数据结构题目|数据结构与算法
以下所有内容编排按照Carl开源的算法攻略进行,感谢博主悉心的内容挑选和顺序编排。编程语言为C++; 数组篇 1. 原地删除某个元素值 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。不需要考虑数组中超出新长度后面的元素。 快慢指针: 1234567891011121314class Solution {public: int removeElement(vector<int>& nums, int val) { int slow = 0; //慢指针 for(int fast=0; fast<nums.size(); fast++){ if(nums[fast]==val) continue; nums[slow] = nums[fast]; //不等才拷贝快指 ...
误删博客Nodejs文件与博客迁移方法
发表于2024-01-13|网站相关
今天通过本地服务器端口预览网页页面,清理了系统垃圾,可能因此系统误删除了一些博客文件,报错如下: 2024.2更新方法 下面记录了第一次解决方法思路,今天清理了垃圾重现了故障,捋了一下思路实际上不需要做博客迁移,源文件夹就能完成修复。 在运行rm -rf node_modules之前,备份footer文件!备份footer文件! 既然Git bash是无效的,那么直接使用powershell运行 1npx npm install --force 安装完成,故障解决。把备份的footer文件替换掉新的footer文件,当然如果有更多的node.js文件,都要备份。 既然有了几分钟能修好的方法,那就查看一下究竟是删除了哪些文件让环境失效了。 原来是电脑管家把Node.js缓存都当成是VsCode缓存了,下次不要勾选这个即可。 无效方法 根据建议输入命令没有效果,只显示了npm错误日志信息。怀疑npm缓存文件带来的: 删除博客根目录下node_modules文件夹、AppData-cache文件夹 考虑到当前npm为9.5版本 ...
阿里云盘Motrix插件报错18
发表于2024-01-10|奇奇怪怪的实现
最近因为显存不足不得已部署了一个云GPU平台,除了跑算法之余还可以白嫖服务器带宽,平台贴心地准备了百度云和阿里云接口方便文件传输。因为百度云上传文件大小限死了4G,主要用阿里云多。号称永不限速的阿里云也不老实了,下载了客户端无论移动网络还是校园网只有2M/s,虽说是比百度云良心然而下载大文件远远不够,不过平台有佬做了插件,在网页端也植入了部分客户端功能: 插件地址 结合Motrix可能会报18代码错误,进入仓库地址:https://github.com/agalwood/Motrix/wiki/Error#18查看,发现 #18 If aria2 could not create directory. 原来作者在代码中指定了D盘路径,但是本地刚好没有D盘,导致下载目录创建失败。 修复方法: 进入脚本编辑页,在951行左右位置将路径修改成本机存在的路径: 1dir: (obj.getItem("aria-dir") || "F:\/aliyundriveDownloads") + (folderName ? " ...
Linux系统扩容
发表于2023-12-31|Linux|Linux扩容
给新装的硬盘分个区给Linux,发现网上的资料鱼龙混杂,很多都是基于虚拟机操作,再复杂的也有。可能简单的没人愿意写,那就我来记录一下。本方法经过验证适用于Windows和Linux物理机双系统在同一块硬盘分区、新硬盘划出新分区。原理不难,整个流程按照系统分区、新建分区格式化、挂载到Linux系统、设置永久挂载、设置文件权限进行,步骤简单,但涉及硬盘操作务必小心,一个数字盘符错误可能就要折腾半天甚至覆盖掉有用数据了。 Windows分出空块 如果是整个硬盘都给Linux使用,该步骤可跳过,直接以硬盘未分配状态进入Linux系统操作即可。如果已经在Windows分配了空间,可以win+r唤出任务窗口输入diskmgmt.msc进入磁盘管理,进行压缩卷的操作。Windows的存储管理是基于盘的,压缩卷的作用是,将原有的数据集中到一侧,把盘一部分的存储空间数据清理出来。盘的已用空间越大,压缩卷的风险越大,因此应该做好重要资料备份。为了更好压缩,压缩卷前可删除所有系统还原点,关闭对应盘的系统保护,选择压缩卷,输入压缩空间。压缩成功即可得到多出来一块“未分配区域”,随即进入Linux系统。 ...
1…789…11
avatar
Eden
不做前端所以博客不漂亮,纯免费授权码来自公众号:归零者星的日与夜
文章
107
标签
40
分类
34
Follow Me
公告
文章任何错误、疏漏、建议麻烦请联系博主qq邮箱2436444815@qq.com
最新文章
OpenCV C++记录(十一):Mat数据规范化、灰度直方图与均衡算法2025-05-15
OpenCV C++记录(十):形态学处理基础2025-05-12
OpenCV C++记录(九):二值化与图像模糊(滤波)算法2025-05-08
C++ Generic Programming:SFINAF与类型萃取2025-04-26
Modern C++ Design(第二章):Techniques2025-04-20
分类
  • C20
  • C++ Qt开发7
  • C/C++14
  • CPP14
    • C++ Generic Programming3
  • FPGA2
    • verilog2
  • Linux23
标签
3D目标检测 Linux 信号与系统 网络编程 Linux扩容 MIT6.S081 Vivado IP核 读写锁 OpenCV Modern C++ Design 数据结构与算法 引导程序 C++ Generic Programming MathType快捷键 Private Content Stanford CS144 格式化输出 内存管理理论 进程与线程 数据库 Protobuf C++ Qt C++ SFINAF and Type Traits json序列化 C++11 新特性 设计模式 C++基础 高等数学 Effective C++ 奇奇怪怪的实现 Markdown语法 CSAPP 计算机网络理论 线程池 Qt网络编程 vim使用 C++高阶 CMake Git基本使用 MCU开发
归档
  • 五月 20253
  • 四月 20254
  • 三月 20256
  • 二月 20255
  • 一月 20257
  • 十二月 20248
  • 十一月 20242
  • 十月 20245
网站资讯
文章数目 :
107
本站总字数 :
473.9k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Eden
框架 Nodejs|你忘掉理想 只能忙于生活吗
粤公网安备 44010602011738号|粤ICP备2023072610号
搜索
数据库加载中