个人学习笔记

Linux Driver的安装和卸载

3 分钟阅读

ko文件的安装与卸载 安装 ko文件的安装与卸载 安装 # 将ko文件拷贝到目录 target_folder="/lib/modules/$(uname -r)/kernel/drivers/test" mkdir -p -m 755 $target_folder cp test.ko $target_folder -f # 更新和加载模块 depmod -a modprobe test # 设备Driver安装完成后会更新/lib/modules/$(uname -r)/module.alias文件, # 该文件保证设备与driver的安装关系,当系统重启后,如果存在该设备,driver则被自动加载

概率论基础

4 分钟阅读

基本概念 基本概念 样本空间:随机试验E的所有可能结果组成的集合,记为S 样本点:样本空间的元素,即随机试验E的每个结果 随机事件:样本空间的子集,简称事件 不可能事件:每次试验都不会发生的事件,记为∅ 必然事件:S是自身的子集,必然发生

readelf与objdump

14 分钟阅读

readelf 查看头信息(-h) readelf 查看头信息(-h) $ readelf -h mytest ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0x400790 Start of program headers: 64 (bytes into file) ......

Bash shell脚本

13 分钟阅读

通用说明 通用说明 注释用# 标头用#!表明解释器 #!/bin/bash echo "Hello world" 用;号可以将多行语句写一行,可以不用空格 a=10;b=20;c=30 内部执行命令如下: `expr 1 + 1` #数学运算 $(expr 1 + 1) #同上

微积分基础

9 分钟阅读

导数 导数定义 导数 导数定义 [f’(x) = \lim_{\Delta{x}->0}\frac{f(x+\Delta{x})- f(x)}{\Delta{x}} = \lim_{x->x_0}\frac{f(x)-f(x_0)}{x-x_0}] [f’(x)也常表示为:\frac{\alpha y}{\alpha x} 或者 \frac{\Delta y}{\Delta x} 或者 \frac{d y}{d x}] 意义: 可以代表曲线y=f(x)在某点的切线斜率 可以反映y在x的某点上的变化率 可以表示运动曲线s=f(t)在t的某点上的速率

VSCODE C/C++配置

4 分钟阅读

常用操作 常用操作 F1: 选择和执行命令 CTRL+SHIFT+I: 格式化排版代码 CTRL+P: 搜索文件名 CTRL+S: 保存修改 CTRL+鼠标左键: 跳转到定义处 CTRL+ALT+减号: 返回上一处 文件单击:预览,注意标签名是斜体字;预览会覆盖上一次预览 文件双击:打开,注意标签名是正体字;会从新标签打开

CMAKE的使用

5 分钟阅读

最简单方式 最简单方式 新建hello.cpp源码文件,如下 #include<stdio.h> int main() { printf("hello world\n"); } 新建CMakeLists.txt,内容如下 add_executable(hello hello.cpp) 执行mkdir build && cd build && cmake .. 执行make,生成hello

gcc参数选项整理

3 分钟阅读

参数 -o 输出文件名 -E 输出预处理文件 参数 -o 输出文件名 gcc test.c -o test 将gcc的处理结果输出到test文件中。本例中输出可执行文件。 -E 输出预处理文件 gcc -E test.c -o test.i 将预处理输出到test.i文件中。在大型项目中,可能各个宏的值不容易从代码里面直接看出来,通过-E参数,可以全部展开。

Ruby元编程

11 分钟阅读

eval函数 eval函数 该函数将字符串解析成代码,如下示例 传入变量字符串,解析成变量 test = "abc" puts eval("test") #打印abc puts eval("0x12") #打印18

Linux下磁盘分析

20 分钟阅读

一、基本介绍 磁盘信息查看 一、基本介绍 磁盘信息查看 df -h:磁盘空间信息 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root 17G 7.7G 9.2G 46% / devtmpfs 896M 0 896M 0% /dev tmpfs 912M 144K 912M 1% /dev/shm tmpfs 912M 17M 895M 2% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda2 1014M 165M 850M 17% /boot /dev/sda1 200M 9.5M 191M 5% /boot/efi tmpfs 183M 20K 183M 1% /run/user/0

硬盘SMART检测参数详解[转]

14 分钟阅读

一、SMART概述 一、SMART概述 要说Linux用户最不愿意看到的事情,莫过于在毫无警告的情况下发现硬盘崩溃了。诸如RAID的备份和存储技术可以在任何时候帮用户恢复数据,但为预防硬件崩溃造成数据丢失所花费的代价却是相当可观的,特别是在用户从来没有提前考虑过在这些情况下的应对措施时。 硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等。但像电机轴承磨损、盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现象。 对于可预测的情况,如果能通过磁盘监控技术,通过测量硬盘的几个重要的安全参数和评估他们的情况,然后由监控软件得出两种结果:“硬盘安全”或“不久后会发生故障”。那么在发生故障前,至少有足够的时间让使用者把重要资料转移到其它储存设备上。 最早期的硬盘监控技术起源于1992年,IBM在AS/400计算机的IBM 0662 SCSI 2代硬盘驱动器中使用了后来被命名为Predictive Failure Analysis(故障预警分析技术)的监控技术,它是通过在固件中测量几个重要的硬盘安全参数和评估他们的情况,然后由监控软件得出两种结果:“硬盘安全”或“不久后会发生故障”。