内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。以module的方式编译驱动,需要以下几个部分:1内核成功编译过;2找到内核的arm编译器;3编译简单驱动;4编译简单的Makefile文件,Makefile文件中需要指向内核源码目录(成功编译过的内核源码目录);和文档在一起的有“Makefile”、c文件和ko文件,大家可以用来测试。要动态的编
分类:
其他好文 时间:
2020-10-16 11:23:36
阅读次数:
32
Linux基础系列 https://www.cnblogs.com/xdyixia/category/1244088.html 1,linux内核的基础知识 1.1 linux内核版本 从内核源码顶层目录Makefile中可以看到: VERSION和PATCHLEVEL组成主版本号,比如2.4、2. ...
分类:
系统相关 时间:
2020-08-27 13:14:15
阅读次数:
58
这几天一直在忙别的事,完事了,看了点文件系统相关的部分,就看看 read 在内核里面的实现 这是大概的函数调用链,但是我不会一个一个全部去分析,我只看主要的 man 手册描述 via:https://man7.org/linux/man-pages/man2/read.2.html NAME rea ...
分类:
系统相关 时间:
2020-06-25 17:39:42
阅读次数:
113
ctrl+Alt打开terminal,uname -a查看linux内核版本。我这里安装的ubuntu的内核版本为5.4.0-29-generic。 socket.h中只有函数声明,要获得c文件得解压linux内核源码。 extern int socket (int __domain, int __ ...
分类:
其他好文 时间:
2020-06-14 20:33:35
阅读次数:
52
Linux内核源码分析 -- 同步原语 -- 自旋锁 spinlock_t typedef struct spinlock { union { struct raw_spinlock rlock; #ifdef CONFIG_DEBUG_LOCK_ALLOC # define LOCK_PADSIZ ...
分类:
系统相关 时间:
2020-06-08 00:16:40
阅读次数:
138
Linux内核源码分析 -- 同步原语 -- 信号量 semaphore 源码位于 include/linux/semaphore struct semaphore { raw_spinlock_t lock; // 保护信号量的自旋锁 unsigned int count; // 现有的资源的数量 ...
分类:
系统相关 时间:
2020-06-07 19:39:35
阅读次数:
105
本人学号末位为10 一、环境准备 上次实验已经下载好内核源码参考https://www.cnblogs.com/russian/p/12873826.html,接下来进行内核编译选项。 配置内核编译选项,首先打开debug相关选项 ;选择进入Kernel Hacking 接着选择 Compile-t ...
分类:
其他好文 时间:
2020-05-27 20:30:46
阅读次数:
69
Checkpoint,是Spark提供的一个比较高级的功能。有的时候啊,比如说,我们的Spark应用程序,特别的复杂,然后呢,从初始的RDD开始,到最后整个应用程序完成,有非常多的步骤,比如超过20个transformation操作。而且呢,整个应用运行的时间也特别长,比如通常要运行1~5个小时。在 ...
分类:
其他好文 时间:
2020-05-19 09:12:08
阅读次数:
88
上篇已经降到AppClient找Master进行注册,本章主要解析Master的原理和源码解析 1、Master的主备切换原理 package org.apache.spark.deploy.master completeRecovery,过滤没有响应的worker,app,drivers,从内存缓 ...
分类:
其他好文 时间:
2020-05-11 15:54:04
阅读次数:
62
源码解析 主构造函数代码 private[spark] var (schedulerBackend, taskScheduler) = SparkContext.createTaskScheduler(this, master) createTaskScheduler,创建TaskScheduler ...
分类:
其他好文 时间:
2020-05-10 23:08:55
阅读次数:
63