自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IMX6ULL挂载根文件系统出现Cannot open root device “nfs“ or unknown-block(2,0): error -6

在ubuntu18.04下挂载根文件系统出现以下错误:VFS: Unable to mount root fs via NFS, trying floppy.VFS: Cannot open root device “nfs” or unknown-block(2,0): error -6解决方法:设置bootargs时加上参数v3setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.20:/home/xxx

2021-05-17 19:49:41 745

原创 线程同步概念及常用同步方法

线程同步概念及常用同步方法1.基本概念线程同步:指的是一个线程发出某一功能调用时,在没得到结果之前,该调用不返回。同时其他线程为保证数据一致性,不能调用该功能数据混乱原因:资源共享(独享的资源则不会)调度随机(意味着数据访问会出现竞争)线程间缺乏必要的同步机制2.互斥锁mutex使用步骤pthread_mutex_t lock; //创建锁pthread_mutex_init(); //初始化锁pthread_mutex_lock(); //加锁//访问共享的

2020-06-13 20:34:56 1225

原创 Linux下信号的概念及相关函数

Linux下信号的概念及相关函数1.基本概念信号的共性简单不能携带大量信息满足某个特定条件才发送信号的特质信号是软件层面上的中断,一旦信号产生,无论程序执行到什么位置,必须停止运行来处理信号,处理结束后才能执行别的指令所有信号的产生和处理都是由内核完成的与信号相关的事件和状态产生信号按键产生,如:Ctrl+c、Ctrl+z、Ctrl+\系统调用产生,如:kill、raise、abort软件条件产生,如:定时器alarm硬件异常产生,如:非法访问内存(段错

2020-06-13 20:22:55 321

原创 线程基本概念与相关函数

线程基本概念与相关函数1.基本概念LWP:light weight process 轻量级的进程,其本质仍是进程进程:独立地址空间,拥有PCB线程:有独立的PCB,但是没有独立的进程地址空间区别:在于是否共享地址空间linux下:线程:最小的执行单位​ 进程:最小分配资源单位,可以看成只有一个线程的进程2.线程性质线程共享资源:文件描述符表每种信号的处理方式当前的工作目录用户ID和组ID内存地址空间(.text/.data/.bss/heap/

2020-06-13 20:19:49 277

原创 文件操作与目录操作常用函数

文件操作与目录操作常用函数1.stat和lstat需要包含头文件#include <sys/stat.h>#include <unistd.h>statint stat(const char* path, struct stat* buf);参数:path:文件路径buf:(传出参数)存放文件属性返回值成功:0失败:-1,errnolstat与stat的区别在于:lstat不会穿透软链接而stat会穿透软连接应用:获取文件

2020-06-13 20:15:31 304

原创 文件操作相关函数介绍及使用

文件操作相关函数介绍及使用1.open/close函数需包含的头文件:#include <unistd.h>#include <fcntl.h>open:int open(const char* pathname, int flags);int open(const char* pathname, int flags, mode_t mode);常用参数flags:O_RDONLY 只读、O_WRONLY 只写、O_RDWR 读写、O_APPEND

2020-06-13 20:00:14 1691

原创 TCP/UDP协议基础知识

TCP/UDP协议基础知识1.协议指的是一组规则2.分层模型结构OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP 四层模型:链路层、网络层、传输层、应用层应用层:HTTP,FTP,NFS,SSH,TELNET传输层:TCP、UDP网络层:IP、ICMP、IGMP链路层:以太网帧协议、ARP3.以太网协议ARP协议:根据IP地址获取MAC地址以太网帧协议:根据MAC地址,完成数据包的传输4.IP协议版本:IPv4、IPv6TT

2020-06-13 19:41:24 301

原创 进程基本概念

进程相关概念1.程序与进程区别程序:死的,只占用磁盘空间进程:活的,运行起来的程序占用内存、CPU等系统资源2.内存映射示意图3.进程控制块内容*进程id,每一个进程有独一无二的进程id*进程的状态,就绪、停止、挂起、运行等进程切换时需要保存和恢复的一些CPU寄存器描述虚拟地址空间的信息描述控制终端的信息*当前工作目录umask掩码*文件描述符,包含很多指向file结构体的指针*和信号相关的信息*用户id和组id会话和进程组进程可以使用的资源上限...

2020-06-13 19:39:18 216

原创 进程相关函数及使用

进程相关函数及使用1. fork函数用途:用于生成子进程原型:pid_t fork(void);返回值:父进程中:返回生成的子进程pid子进程中:0表示成功,-1表示失败,如果失败就不会创建子进程2. getpid与getppid用途:获取进程pid原型:pid_t getpid(void); //获取当前的进程号pid_t getppid(void); //获取父进程号返回值:对应的pid号3. 进程共享相同:全局变

2020-06-13 19:37:54 351

原创 UDP服务器模型和本地套接字使用

UDP服务器模型和本地套接字使用1.UDP和TCP的差异TCP:面向连接的、可靠数据包传输。对于不稳定的网络层,采取完全弥补的通信方式,具有丢包重传机制。优点:数据流量稳定,数据传输速度稳定,数据传输的路径稳定。缺点:传输的速度慢、效率低,系统资源的开销大。使用场景:数据的完整性要求较高,但是不追求效率,比如大数据传输、文件传输等。UDP:无连接的,不可靠的数据报传递。对于不稳定的网络,采取完全不弥补的通信方式,默认还原网络状况。优点:传输的速度快,效率高,系统资源的开销小。缺点:

2020-06-13 19:06:40 266

原创 socket编程相关函数及简单服务器模型

socket编程相关函数及简单服务器模型1.网络字节序小端法:高位存高地址,低位存低地址(PC本地存储采用)大端法:高位存低地址,低位存高地址(网络存储采用)函数原型:(字节序切换)uint32_t htonl(uint32_t hostlong); //无符号长整型本地字节序转网络字节序uint16_t htons(uint16_t hostshort); //无符号短整型本地字节序转网络字节序uint32_t ntohl(uint32_t netlong); //无符号长

2020-06-13 18:59:24 179

原创 select函数介绍及使用

select函数介绍及使用1.select函数函数原型int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, struct timeval* timeout);参数:nfds:所有文件描述符中最大的文件描述符+1readfds:传入传出参数(位图),读 文件描述符监听集合writefds:传入传出参数(位图),写 文件描述符监听集合,常为NULLexceptfd

2020-06-13 18:55:30 670

原创 poll和epoll函数介绍及使用

poll和epoll函数介绍及使用1.poll函数函数原型:int poll(struct pollfd* fds, nfds_t nfds, int timeout);参数:fds:监听的文件描述符数组struct pollfd{ int fd; //待监听的文件描述符 short events; //待监听的文件描述符对应的事件 //取值 POLLIN、POLLOUT、POLLERR short revents; //传入时给0,如果

2020-06-13 18:49:47 1104

原创 Linux基本知识及常用指令

Linux基本知识及常用指令1.Linux系统目录bin: 存放二进制可执行文件boot: 存放开机启动程序dev: 存放设备文件home:存放用户etc: 用户信息和系统配置文件lib: 库文件root: 管理员宿主目录usr: 用户资源管理目录2.Linux系统文件类型普通文件: -目录文件: d字符设备文件: c块设备文件: b软连接: l管道文件: p套接字: s(总共有

2020-06-13 18:47:35 926

原创 基于libevent库服务器搭建经验

基于libevent库服务器搭建经验1. libevnet库介绍优点:开源、精简、跨平台(Windows、Linux、maxos、unix等)、专注于网络通信。安装:./configure 检查安装环境和生成makefilemake 生成.o和可执行文件sudo make install 将必要的资源拷贝至系统指定目录进入sample目录,运行demo验证库的安装情况编译使用库的.c需要添加-levent选

2020-06-13 18:41:57 408

原创 进程间通信方法(IPC)

进程间通信方法(IPC)1.概念IPC指的是InterProcess Communication,进程间的通信需要借助操作系统提供的特殊方法,如文件、管道、信号、共享内存、消息队列、套接字、命名管道等等。进程间通信方式对比:管道:使用最简单信号:开销最小共享映射区:无血缘关系本地套接字:最稳定2.管道管道的特质:本质是一个伪文件由两个文件描述符引用,一个表示读端,一个表示写端规定数据从管道的写端流入,从读端流出管道的原理:管道实现为内核使用环形队列机制,

2020-06-13 18:39:56 444

原创 HTTP协议简介及web服务器搭建经验

HTTP协议简介及web服务器搭建经验1.HTTP概念​ HTTP(超文本传输协议,HyperText Transfer Protocal)。互联网应用最为广泛的一种网络应用层协议,它可以减少网络传输,使得浏览器更加高效。通常HTTP信息包含客户机向服务器的请求消息和服务器向客户机的响应消息。2. 请求消息方向:浏览器→服务器,主要内容包含四部分:请求行:说明请求类型,要访问的资源,以及使用的http版本请求头:说明服务器要使用的附加信息空行:必须要有,即使没有请求数据请求数据:也称为主

2020-06-13 18:34:38 575

原创 HTML简介

HTML简介1. HTML超文本标记语言定义:超文本标记语言(Hyper Text Mark-up Language)是构成网页文档的主要语言。可以说明文字、图形、动画、声音、表格和链接等。计算机中以.html和.htm作为扩展名,可以被浏览器访问。特点:语法非常简洁、比较松散,以相应的英语单词关键字进行组合HTML标签不区分大小写大多数标签是成对出现的,有开始也有结束…不成对出现的标签称为短标签 标签的属性和值:属性=“属性值”,如hello,word,属性值最好加上双引

2020-06-13 18:26:38 129

原创 静态库和动态库简介

静态库和动态库简介1.静态库特点:通过牺牲空间而换来了效率,占用更大的存储空间而有更高的效率使用流程:1)将.c文件生成.o文件gcc -c + c文件 + -o + o文件2)使用ar工具制作静态库ar rcs libxxxxx.a + 静态库材料(静态库的命名规则是固定的)3)编译静态库到可执行文件中gcc + c文件 + 静态库名 + -o + 可执行文件名2.动态库特点:动态库加载到内存后,动态库中的函数有地址了,引用的动态库函数才有地址1)将.c文件生成.o文件gc

2020-06-13 18:19:38 178

原创 vim的简单使用

vim的简单使用1.切换模式i 在光标左侧输入正文I 在光标所在行的行首输入正文a 在光标右侧输入正文A 在光标所在行的行尾输入正文o 在光标所在行的下一行增添新行O 在光标所在行的上一行增添新行2.跳转跳转到指定行: XXG(命令模式),:XX(末行模式)跳转到首行: gg(命令模式)跳转到末行: G(命令模式)自动化格式化程序:gg=G(命令模式)大括号对应: %(命令模式)跳转到行首:

2020-06-13 18:17:23 902

原创 gdb调试工具和makefile的简单使用

gdb调试工具和makefile的简单使用1.gdb调试方法1)-g:使用该参数编译可执行文件,得到调试表2)gdb + 可执行文件2.gdb常用参数list: list n 列出第n行源码b: b n 在第n行设置断点r: r 运行程序n: n 下一条指令(越过函数)s: s 下一条指令(进入函数)p: p x 查看x变量的值continue: 继续执行断点后续指令quit: 退

2020-06-13 18:16:17 309

原创 gcc简单使用

gcc使用1.gcc四步骤预处理: gcc -E → xx.i功能:展开宏文件和头文件,替换条件编译,删除注释、空行和空白编译: gcc -S → xx.s功能:检查语法规范,消耗的时间和系统资源最多汇编 gcc -c → xx.o功能:将汇编指令翻译成机器命令链接 gcc → xx.out功能:数据段合并和地址回填2.gcc常用选项指定头文件所在目录位置: -I(这里是大写的i,表示inc

2020-06-13 18:12:46 177

空空如也

空空如也

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

TA关注的人

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