自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 Cygwin环境下vim配置

Cygwin环境下vim配置vim是Linux发行版的标配编辑器。为什么还要使用cygwin?因为,不可能所有软件/开发都在linux下进行。许多的开发者还在windows下进行。而要使用命令行的便捷工具,于是就有了cygwin。官网看这里http://cygwin.com/vim是件上古神器,官网上说, Vim:Thepower toolforeveryone!unix诞生时,就有vi编辑器。后经imporved升级为vim。功能强劲,不输任何的IDE。就在现代化的今天,也仍然活跃在无数的服务器,无数的

2022-03-01 11:37:18 1684

原创 dmidecode查看硬件信息

dmidecode查看硬件信息dmidecode 用于查看和硬件相关的信息,可以查询到BIOS,系统,主板,处理器,内存,缓存等信息常用的命令有:dmidecode | grep 'Product Name' //查看服务器型号dmidecode | grep 'Serial Number' //查看主板序列号dmidecode -s system-serial-number //查看系统系列号dmidecode -t

2021-09-01 16:47:46 2227

原创 fio测试磁盘/U盘吞吐量

编译fio: 进入fio-master文件夹1./configure2. make //生成fio可执行文件3. make installyqq@ubuntu18:~/Tool/fio-master$ sudo make install [sudo] yqq 的密码: install -m 755 -d /usr/local/bininstall fio t/fio-genzipf t/fio-btrace2fio t/fio-dedupe t/fio-verify-state ./t

2021-09-01 16:43:24 859

原创 stream测试内存带宽

stream测试内存带宽stream测试原理:1.主要有四种数组的运算,测试到内存带宽的性能,分别是:数组的复制,数组的尺度变换,数组的矢量求和,数组的复合矢量求和2.数组的值采用了双精度(8个字节)stream工具安装:1.下载stream工具源码(stream_5.10.tar.gz)2.解压tar -zxvf stream_5.10.tar.gz3.进入目录cd stream_5.104.编译gcc -O3 -mcmodel = small -mtune = native

2021-09-01 16:40:13 2233

原创 iperf测UDP和TCP丢包率及带宽

iperfiperf3 (安装包是:iperf-master)安装遇到error while loading shared libraries:libiperf.so.0解决方法:在正常编译以后运行ldconfig安装软件包的方法(参考REDMINE):在顶层目录下:./configuremakemake installyqq@ubuntu18:~/Tool/iperf-master$ iperf3 -siperf3: error while loading shared libraries

2021-09-01 16:34:39 15837 1

原创 制作raid0/1/5的步骤

制作raid0/1/5的步骤yqq@ubuntu18:~$ sudo df -h //看系统下挂载了哪些文件(包含挂载的文件和硬盘)yqq@ubuntu18:~$ sudo fdisk -l //看系统下有哪些硬件设备,没有挂载的硬盘也会出现Disk /dev/vdb:5 GiB,5368709120 字节,10485760 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字

2021-08-26 21:54:29 472

原创 Linux下串口工具minicom的使用

Linux下串口工具minicom的使用安装配置minicomsudo apt-get install miniconsudo minicom -s//serial port setup(除了ttyS0需要根据自己情况配置以外,其他都如图配置)按A :ttyUSB1代表使用USB转串口工具,若直接使用串口,则设置为ttyS或ttyAMA,可以在系统下用:dmesg |grep tty 来查看或者是采用:/dev/ttyS0 或是ttyAMA0等 ;需要结合cat /proc/tty/dri

2021-08-26 21:48:32 2001

原创 操作系统安装指南

操作系统安装指南1. 安装介质制作一般系统可以通过光盘或者U盘来进行安装,光盘安装是最保险的方法,就目前的系统,均可以通过光盘安装。1.1. U盘介质制作1.1.1. linux系统下U盘安装介质制作dd if=./rhel-server-6.5-x86_64-dvd.iso of=/dev/sdb bs=1M && sync其中dd为命令,if(input file)表示输入源,一般为操作系统镜像文件,of(output file)表示输出目的,一般是我们U盘的设备,bs=1M

2021-08-26 21:34:58 542

原创 测试显卡性能的两种方法

测试显示性能的两种方法:方法一:利用软件包unixbench-5.1.2用unixbench-5.1.2,需要网上下载相关源码包,并提前需要修改Makefile:GL_LIBS = -lGL -lXext -lX11 -lm //加上-lm选项//用unixbench工具测试单3D功能–>ubgearsroot@yqq:~/unixbench-5.1.2# ./Run ubgearsgcc -o ./pgms/ubgears -DTIME -Wall -pedantic -ansi -

2021-08-26 14:00:11 6537

原创 进阶学习C语言之---指针、函数指针、指针函数你理解到位了吗?

6、指针C程序设计中指针的重要性:1.使程序简洁、紧凑、高效2.有效地表示复杂的数据结构3.动态分配内存4.得到多于一个的函数返回值6.1 地址和变量在计算机内存中,每一个字节单元,都有一个编号,称为地址1个字节(byte)=8bits小知识在一个程序中,变量只能定义一次,却可以声明多次定义分配存储空间,而声明不会int main() {extern int A;//这是个声明而不是定义,声明A是一个已经定义了的外部变量//注意:声明外部变量时可以把变量类型去掉如:extern

2021-08-03 20:33:28 280

原创 现在开始,从0开始学C语言!

C语言基础1、必备Linux命令和C语言基础1.1环境安装Ubuntu是Linux的一个发行版本,Linux有许多发行版本,比如Debian,center,redhat等都是比较流行的,Linux和Ubuntu的关系,类似win7,win10,XP是windows的实际的一个操作系统1.1.1虚拟机安装VMware-workstation 10 (.exe后缀)ubuntu-14.04.5-desktop-i386.iso1.1.2linux安装1.1.3常规配置1.2文件和目录相关

2021-08-03 20:30:19 361

原创 驱动

【1】课程大纲1.linux内核模块2.字符设备驱动3.内核中的并发和竞态的解决方法在应用层中的方法是加锁等驱动中有五种解决方法4.IO模型阻塞非阻塞IO多路复用异步通知(又叫信号驱动IO)5.linux内核中的中断和ARM中的中断原理一样,只是内核中有一个中断子系统,基于中断子系统驱动调用就可以了,中断产生的4大步3小步都是一样的6.platform总线驱动7.i2c总线驱动/spi总线驱动8.块设备驱动9.网卡设备驱动10.摄像头驱动【2】ARM裸机驱动和驱动的区别

2021-02-22 20:53:13 531

原创 ARM体系结构及接口技术(部分理论知识)

一、ARM相关的概念1.1ARM的发展历史1978年,CPU公司Cambridge processing Unit1979年 Acorn1985年, 32位,8MHz,使用的精简指令集RISC芯片的名字ARM ----> Acorn RISC machine1990年,转折点iphone 150万英镑 VLSI: 25万英镑ARM公司12工程师+技术专利:150万英镑ARM公司-> Advanced RISC MachineARM公司不生产芯片,做技术的授权,提供

2021-02-18 15:24:39 3920 3

原创 系统移植(系统移植环境搭建及简单概念)

1、为什么学习系统移植为后边学习linux驱动开发打基础linux驱动开发:基于linux内核提供的接口,完成硬件驱动的开发。2、系统移植的目的给开发板移植一个linux操作系统3、如何学习系统移植系统移植都是流程化的操作,重点掌握系统移植的流程动手操作不要深追代码4、GNU组织相关命令的扩展(二进制工具)gcc / g++ (重点)gdb (重点)ld (重点)将.o文件链接生成.elf文件objdump (重点)将.elf文件进行反汇编生成.dis反汇编文件

2021-02-16 12:16:14 4474 1

原创 网络编程_8(项目附件)

dict.txtabandonment n.放弃abbreviation n.缩写abeyance n.缓办,中止abide v.遵守ability n.能力able adj.有能力的,能干的abnormal adj.反常的,变态的aboard adv.船(车)上abolish v.废除,取消abolition n.废除,取消abortion n.流产abortive adj.无效果的,失败的about prep.关于,大约ab

2021-01-13 13:27:09 33909 2

原创 网络编程_6(数据库)

一二章请点击:网络编程_1(网络基础+跨主机传输)三四章请点击:网络编程_2(网络属性+UDP(UDP模型+广播组播))第五章请点击:网络编程_3(TCP)第六章请点击:网络编程_4(IO模型)七八九十请点击:网络编程_5(超时检测+UNIX域套接字+抓包工具+包头分析)十一、数据库1、数据库基本概念1.1数据(Data)能够输入计算机并能被计算机程序识别和处理的信息集合1.2数据库 (Database)数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合1.3常用的数据

2021-01-13 13:05:24 339

原创 网络编程_5(超时检测+UNIX域套接字+抓包工具+包头分析)

一二章请点击:网络编程_1(网络基础+跨主机传输)三四章请点击:网络编程_2(网络属性+UDP(UDP模型+广播组播))第五章请点击:网络编程_3(TCP)第六章请点击:网络编程_4(IO模型)七、超时检测1.在网络通讯中,有很多函数是阻塞函数,使进程阻塞。例如 accpet recv send recvfrom sendto等等。2.为了避免进程在阻塞函数处无限制阻塞,可以设定超时时间,当超时后从阻塞函数立即返回,继续运行。超时检测方法1.select 可以通过函数设置超时时间 struc

2021-01-11 20:42:19 829

原创 网络编程_4(IO模型)

六、IO模型一二章请前往:网络编程_1(网络基础+跨主机传输三四章请前往:网络编程_2(网络属性+UDP(UDP模型+广播组播))第五章请前往:网络编程_3(TCP)(1)阻塞IO1)最常用的,最简单,效率最低的2)套接字创建之后就处于阻塞IO模式3)read,write, recv, send, recvfrom, sendto(二)非阻塞IO1)可以防止进程阻塞在IO上,需要轮询。2)当一个应用程序使用了非阻塞IO模式的套接字,那么他需要使用一个循环来不停的判断该文件描述符是否有可读

2021-01-11 19:03:49 203

原创 网络编程_3(TCP)

五、TCP一二章请前往:网络编程_1(网络基础+跨主机传输三四章请前往:网络编程_2(网络属性+UDP(UDP模型+广播组播))(一)TCP模型1.TCP模型2.listen功能:监听套接字;头文件: #include <sys/types.h> /* See NOTES */ #include <sys/socket.h>原型: int listen(int sockfd, int backlog);参

2021-01-11 18:19:51 188

原创 网络编程_2(网络属性+UDP(UDP模型+广播组播))

三、网络属性一二章请点击:网络编程_1(网络基础+跨主机传输)1.getsockop 和 setsockopt功能:获取和设置网络属性;头文件: #include <sys/types.h> /* See NOTES */ #include <sys/socket.h>原型: int getsockopt(int sockfd, int level, int optname, void *optval, soc

2021-01-09 16:54:02 388

原创 网络编程_1(网络基础+跨主机传输)

一、网络基础知识点回顾 ###:同一主机间的进程通讯方式:无名管道(亲缘关系间的通讯,固定的读端和写端)有名管道(半双工(因为文件可见,可再次打开交换读端写端),非亲缘关系)信号共享内存(效率最高)消息队列(可以指定发送和接收的数据类型)信号灯集(常和共享内存一起使用)*********************************详情见做系统开发的程序员至少要精通两门语言,一门脚本,网络知识同一台主机间进程间通讯方式XSI IPC不同计算机上进程相互通讯的机制:网络进程间通讯(N

2021-01-09 14:33:43 1330

原创 进程间的通讯

进程间的通讯【1】进程间的通信方式1.传统的进程间通信方式1)无名管道 pipe2)有名管道(命名管道) fifo3)信号 signal2.system V操作系统的IPC对象 inter process communication1)共享内存 share memory2)消息队列 message queue3)信号灯集 semaphore3.BSD1)套接字 socket【2】管道1. 管道的原理在进

2020-12-29 19:57:10 258 2

原创 线程

线程【1】线程的概念线程:是程序并发执行多种任务的机制;并发:多个任务同时进程;(cpu以ms级别的速度进程调度,切换进程、线程);进程的上下文切换:​ 上下文--->运行性一个程序所需的所有资源;​ 切换上下文--->替换原来的内容,是一个耗时操作。为了提高系统的性能,许多操作系统引入了一个轻量级进程的概念,也被被称之为线程。线程是属于进程的。每一个进程至少需要一个线程作为指令执行体。线程运行在进程空间内。多线程:一个进程,可以运行多个线程。同一进程下的线程,共享该

2020-12-29 18:53:36 158

原创 进程

进程【1】进程的概念1.什么是进程1. 进程是一个独立的,可以调度的任务。2. 进程是一个程序的一次执行过程。3. 进程在调度的时候,系统会分配和释放各种资源(cpu,内存资源......)4. 进程是一个抽象的概念。2.进程和程序的区别程序是静态的,它是保存在磁盘上的可执行二进制文件.进程是一个动态的概念,它是程序的一次执行过程。包括进程的创建,调度,消亡。是存在内存中3.进程的内存管理1. 每个进程都会分配4G的内存空间(虚拟空间)2. 其中0-3G是用户空间代码使用,3-4G

2020-12-29 15:35:48 280

原创

库【1】库的概念1.什么是库库是一个二进制可执行的文件。库需要被载入到内存中才能使用相比较可执行的二进制程序,库是不能单独运行的。windows和linux都有自己的库,不兼容的。2.库的分类1.动态库(共享库)2.静态库区分:通过库的后缀来区分库的类型windowslinux静态库*.lblibxxx.a动态库*.lldlibxxx.so3.库存在的意义库是已经写好的,成熟的,可以复用的代码。其实我们写的很多代码,都是依赖于基础库的,

2020-12-28 19:36:02 1452 1

原创 IO

IO简介【1】什么是IO#include <stdio.h>std:standard 标准的i:input 输入 数据从外部存储设备输入到内存中o:output 输出 数据从内存输出到外部存储设备中。存储设备:​ 1.硬盘:机械硬盘和固态硬盘​ 2.内部存储设备:内存:SDROM DDR4 用于缓存硬盘上的数据。总结:IO就是数据从硬盘到内存,内存到硬盘的流动【2】IO的分类1)文件IO文件IO:由系统提供的基本IO函数,与操作系统绑定的,又称之为系统调用(从用

2020-12-28 19:08:11 323

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除