![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 68
川愚
知小而谋强
展开
-
一次学校实训总结
总结前言1、Linux基本命令;2、编程开发经验3、一点MQTT协议的小知识点4、学习中遇到的一些问题5、遗忘的知识点与待解决的疑惑:写在后面的话前言好久不见,本来说好要更哈工大那一版的操作系统的,现在看来要食言了(正在准备考研啦,希望可以一战上岸,也希望正在努力备考的程序员们能考上自己心仪的学校)。这次能有这样一篇笔记是因为学校组织了为期五天的一次来自华清远见的校内实训,有一些收获,所以特地来记录一下。好了话不多说,来看看内容吧,如果能对你也有所帮助的话那就更好。今天是参加华清远见实训的最后一天,进原创 2022-04-20 21:12:02 · 1908 阅读 · 0 评论 -
基于框架编写设备驱动
基于框架编写设备驱动前言设备驱动是如何被调用的代码段例程底层驱动应用层小知识点总结前言想要对设备进行读写等操作,首先要求该设备在内核中已经添加了该设备的设备驱动。设备驱动是如何被调用的首先在应用层,用户调用api 比如说 open()应用层 open(); | 产生了一个软中断,由应用层即用户态进入到内核态 中断号 0x80------------------------------------------------------------------内核原创 2021-11-01 20:43:54 · 275 阅读 · 0 评论 -
Linux内核驱动笔记
后面会进行文字补充原创 2021-06-18 20:32:36 · 129 阅读 · 0 评论 -
Linux文件系统简单认识学习笔记
Linux文件系统简单认识ReadMe1. 什么是文件系统?2. 文件系统(文件管理系统的方法)的种类有哪些?3. 什么是分区?4. 什么是文件系统目录结构?5. 什么虚拟文件系统Virtual File System ?6. 虚拟文件系统有什么作用?ReadMe此文章全部为学习笔记的摘录。以便于后面学习回顾。1. 什么是文件系统? 常规认知: 根目录 文件系统是操作系统用于明确存储设备组织文件的方法。 以上说的方法:就是文件管理系统(程序),简称文件系统 2. 文件系统(文件管理系统的方原创 2021-06-15 18:43:01 · 110 阅读 · 0 评论 -
基于树莓派对Linux内核简单认识
基于树莓派对Linux内核简单认识树莓派等芯片带操作系统的启动过程Linux 内核源码Linux 内核源码目录树安装tree命令目录树结构Linux根目录下 \树莓派Linux源码配置 替换内核为什么要配置如何配置**方法实操1****方法实操2**树莓派Linux内核编译安装必要的库:编译内核查看编译是否成功打包zImage文件挂载树莓派sd卡并安装编译出的DIRECTLY 到sd卡插入内存卡数据拷贝安装modules安装更新kernel.img文件查看文件有没有烤坏拷贝其他相关文件更新完成替换内核后原创 2021-06-14 17:23:33 · 874 阅读 · 1 评论 -
Ubuntu挂起再次启动时失败有大佬知道咋回事吗?
之前挂起了虚拟机,现在要启用虚拟机出现了以下问题这里尝试了点击帮助里的支持经过一些列上传之后出现了以下情况之后尝试了所说的WorkStation文件夹运行脚本的方法,但是由于没有找到该文件夹,最后由于急着用,试着直接重启虚拟机结果看样子可以使用了。...原创 2021-06-14 09:51:25 · 209 阅读 · 0 评论 -
新建一个Linux虚拟机之后需要安装哪些功能
新建一个Linux虚拟机之后需要安装哪些功能以Ubuntu为例安装 vim文本编辑器查看网络配置安装 ifconfig安装 gcc编译工具共享内存这里搭配树莓派的学习进行说明如何查看自己树莓派的版本?以Ubuntu为例安装 vim文本编辑器sudo apt-get install vim(记录一个快捷键 shift + g 跳到最后一行)查看网络配置我用的桥接模式安装 ifconfigsudo apt install net-tools安装 gcc编译工具sudo apt i原创 2021-06-14 09:50:03 · 955 阅读 · 0 评论 -
交叉编译工具链的安装及使用
交叉编译工具链的安装前言工具链的安装安装地址配置环境变量配置环境变量的作用前言在上文中讲了交叉编译工具链,现在再来安装交叉编译工具链,这个工具链是安装树莓派,由树莓派来使用的。打比方说在使用Keil软件的时候,需要选择是C51还是Stm32;这其实就是在选择使用哪一种交叉编译工具链。所以说不同的平台所使用的交叉编译工具链是不一样的。工具链的安装安装地址交叉编译工具链的安装https://github.com/raspberrypi/Tool -> Code -> DownLoa原创 2021-06-13 09:39:14 · 1320 阅读 · 0 评论 -
交叉编译 概念
交叉编译什么是交叉编译?为什么要交叉编译宿主机与目标机交叉编译需要用到的工具什么是交叉编译?交叉编译是一个动作。交叉编译是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。编译:在原创 2021-06-12 18:05:18 · 409 阅读 · 1 评论 -
树莓派vim更新安装(SecureCRT)
将VIM更新到好用的版本默认的源是国外的,apt-get 安装的时候失败,我们更新成国内的源。1、编辑sources.list打开终端 输入sudo nano /etc/apt/sources.list2、用#注释或直接删除原有的内容,并新增一条指令。deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi3、配置完成之后,输入更新指令;更新源。sudo apt原创 2021-05-24 20:33:30 · 299 阅读 · 0 评论 -
Linux静态库与动态库
Linux动态库与静态库前言Linux动态库与静态库介绍静态库与动态库的优缺点代码说明静态库演示**静态库的命名规则:****静态库的制作步骤:****静态库的使用:**动态库演示**动态库的命名规则:****动态库的制作步骤:****动态库的使用:**静态库与动态库的使用不同之处前言上一篇文章提到了再写程序的时候会有代码的分专,会按功能等来划分不同的代码块,等到整合的时候会给你这些代码。而在有些时候,在购买厂家的芯片等时,厂家不希望你看到其中的源码。有句话说,代码就相当于程序员的秘密不允许别人观看,程原创 2021-05-27 00:06:17 · 409 阅读 · 0 评论 -
linux库引入之分文件编程
分文件编程分模块编程的思想Linux分库调用示例原函数代码 caculment.c引入库函数后的代码主函数 calcumentMain.c分装函数代码 calcumentDemo.c分装库函数 calcumentDemo.h编译运行结果为什么要include分模块编程的思想优点:功能划分明确便于调试主函数整洁明了Linux分库调用示例原函数代码 caculment.c#include <stdio.h>int add(int data1,int data2){ ret原创 2021-05-25 20:43:49 · 237 阅读 · 0 评论 -
线程(一)
一、线程的基本认识线程与进程进程是程序进行执行时的一个实例,是担当系统分配(CPU时间、内存)的基本单元,在面向线程设计的系统时,进程本身不是执行的基本运行单位,而是线程执行的容器。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的使劲运作单位,一个进程可以并发多个线程,每条线程执行不同的任务,线程包含了进程内执行环境必需的信息。每个进程都是相互独立的,即使是父子进程,而一个进程的所有信息对于该进程的所有线程都是共享的。线程与进程的区别创建一个进程需要再另外开辟内存空间,而创原创 2021-04-26 08:04:38 · 125 阅读 · 0 评论 -
Linux指令笔记
**READ ME**这篇文章写下来的初衷主要是记录在学习的过程中遇到的一些对我目前来说不常用的或者容易忘的一些指令,方便日后回顾。data指令 看时间whereis data 看data在Linux中的路径echo指令 export指令 改变环境变量ipcs -m 查看共享内存ipcrm -m id号 删除共享内存kill -l .原创 2021-04-26 08:03:54 · 101 阅读 · 0 评论 -
Linux网络编程(Socket)(一)
README前面已经了解了进程间的五种通信方式管道:通过父子进程进行通信消息队列:通过内存中的链表进行通信共享内存:在内核中开辟一块内存空间,是双方都可以使用信号:A通过B的ID号来进行收发消息信号量:对这些临界资源进行p、v操作控制他们的特点是都依赖于内核进行单机内的进程间通信,当然缺点也就很明显了,无法多机通讯。多机通讯,比如说Linux与Android的通讯、与IOS的通讯、与51单片机的通讯、或者说两个手机之间的通讯等等。那么机器A如何找到机器B,在网络中就需要用到地址来寻找了,原创 2021-03-23 16:01:48 · 132 阅读 · 0 评论 -
Linux 信号
信号本质软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。信号的处理方式收到信号的进程对各种原创 2021-03-09 20:09:15 · 229 阅读 · 0 评论 -
在众多大佬肩膀之上——浅谈进程间的通信方式(二)
四、共享内存指两个或多个进程共享一个给定的存储区。特点共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。因为多个进程可以同时操作,所以需要进行同步。信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。一般使用操作a、创建/打开共享内存 shmgetb、将共享内存映射到进程内存中 shmatc、进行共享内存中的数据交换 strcpyd、释放共享内存 shmdt函数原型#include <sys/shm.h>// 创建或获取一个共原创 2021-03-09 15:44:21 · 220 阅读 · 0 评论 -
在众多大佬肩膀之上——浅谈进程间的通信方式(一)
1、进程间通信概述fork函数和exec函数传送打开文件或者打开文件系统只是单方面的单机pc,是残缺的并不能实现进程间的相互通信,进程之间的相互通信的其他技术——IPC。(InterProcess Communication)2、管道通信原理IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持不通知主机上的两个进程IPC。管道中的数据,读走就没了。3、无名管道 pipe()。特点:1、它是半双工的(原创 2021-03-08 21:17:16 · 183 阅读 · 0 评论 -
进程
1、进程问1:什么是程序,什么是进程,有什么区别?程序是静态的概念, gcc xxx.c -o pro磁盘中生成的pro文件,叫程序进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一个进程问2: 如何查看系统中有哪些进程?a.使用ps指令查看实际工作中,配合grep来查找程序中是否存在某一个进程ps -aux如 ps -aux|grep initb.使用top指令查看,类似windos任务管理器问3: 什么是进程标识符?每个进程都有一个非负整数表示的唯一ID原创 2021-03-07 20:58:43 · 119 阅读 · 0 评论 -
fopen
转自https://www.cnblogs.com/NickyYe/p/5497659.html对于这两个名字很类似的函数,对于很多初学者来说,不容易搞清楚它们有什么不同,只知道按照函数用法使用。如果能很好的区分两者,相信大家对于C语言和UNIX系统(包括LINUX)有更深入的了解。在网上查找了一些资料,但是感觉不够全面,一些答案只是从某个角度阐述,所以让人觉得,这个也对,那个也对。但到底谁的表述更正确呢?其实都是对的,只是解释的视角不同罢了。下面结合个人的理解做一些梳理。1. 来源从来源的角度看,原创 2021-03-07 18:02:12 · 188 阅读 · 0 评论 -
Linux基础API(二)
文件描述符:1、对于内核而言,所有打开文件都由文件描述符引用;文件描述符是一个非负整数,当打开一个现存文件,或者创建一个新文件时,内核向进程返回一个文件描述符,当读写一个文件时,用open或creat返回的文件描述符表示该文件,将其作为参数传递给read和write。按照惯例,Linux和shell使用文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准错误输出相结合,STDIN_FILEHO、STDOUT_FILENO、STDERR_FI;ENO这几个宏代替了0、1、2原创 2021-03-07 17:46:16 · 167 阅读 · 0 评论 -
Linux基础API(一)
Linux基础APILinux 操作系统为我们提供了一系列的API如基本的open、write、read、lseek、close1、 文件打开及创建open() 执行后会返回一个文件描述符,用来进行下一步操作或区分辨别。失败返回 -1Pathnanme: 要打开的文件名(含路径,缺省为当前路径)Flags:O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 可读可写当我们附带了权限后,打开的文件就只能按照这种权限来操作。以上这三个常数中应当只指定一个。下列常数原创 2021-03-06 16:21:30 · 1680 阅读 · 0 评论