自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (7)
  • 收藏
  • 关注

原创 第10章 中断 时钟

中断是指CPU在执行程序的过程中,出现了某些突发事件急待处理,CPU必须暂停当前程序的执行,转去处理突发事件,处理完毕后又返回原程序被中断的位置继续执行。根据中断的来源,中断可分为内部中断和外部中断,内部中断的中断源来自CPU内部(软件中断指令、溢出、除法错误等,例如,操作系统从用户态切换到内核态需借助CPU内部的软件中断),外部中断的中断源来自CPU外部,由外设提出请求。根据中断是否可以屏蔽,中...

2018-05-31 15:46:42 308

原创 container_of() offsetof()函数个人理解

这是在linux-source-4.13.0/include/linux/kernel.h中container_of()函数的定义:#define container_of(ptr, type, member) ({ \ void *__mptr = (void *)(ptr); ...

2018-05-31 13:30:35 1341

原创 第9章 异步通知和异步I/O

1.概念与作用异步通知:一单设备就绪,则主动通知应用程序,此时应用程序不需要查询设备状态。类似于“中断”概念,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。阻塞、非阻塞、异步通知 这几种本身没有优劣 应根据不同的应用场景合理选择、2.Linux异步通知编程        2.1Linux信号       参考: https://www.linuxidc.com/Linux/2016-...

2018-05-30 15:27:46 252

原创 Linux驱动开发详解源代码中的疑问之处探究-(九)

1.signal_test.c#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#include <fcntl.h>#include <signal.h>#include <unistd.h>#define MAX_LEN 100void i...

2018-05-30 15:20:55 250

原创 第8章 阻塞与非阻塞I/O

阻塞操作:在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。被挂起的进程进入睡眠状态,被从调度器的运行队列移走,直到等待条件被满足。非阻塞操作:在不能进行设备操作时,并不挂起,要么放弃要么不停地查询,直至可以进行操作为止。唤醒进程的地方最大可能发生在中断里面,因为在硬件资源获得的同时往往伴随着一个中断。8.1等待队列        实现阻塞进程的唤醒1.定义“等待队列头...

2018-05-29 19:10:58 430

原创 Linux驱动开发详解源代码中的疑问之处探究-(八)

1.DECLARE_WAITQUEUE(wait, current);//通过DECLARE_WAITQUEUE宏将等待队列项初始化成对应的任务结构,并且用于连接的相关指针均设置为空。其函数宏定义在wait.h中#define __WAITQUEUE_INITIALIZER(name, tsk) { \ .private = tsk, \ .func = default_wa...

2018-05-29 16:17:48 359

转载 Linux内核空间申请内存函数

kmalloc()函数原型:void *kmalloc(size_t size, gfp_t flags);  kmalloc() 申请的内存位于物理内存映射区域,而且在物理上也是连续的,它们与真实的物理地址只有一个固定的偏移,因为存在较简单的转换关系,所以对申请的内存大小有限制,不能超过128KB。    较常用的 flags(分配内存的方法):GFP_ATOMIC —— 分配内存的过程是一个原...

2018-05-29 14:30:59 3824

原创 Linux中的inode

最近在学习设备驱动,常常接触到inode这个结构体。故特意找了一些资料来进一步透彻地理解它。一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区...

2018-05-29 10:05:09 225

原创 第七章 Linux设备驱动开发中的并发控制

7.1并发和竞态并发 :多个执行单元同时、并行被执行,而并发的执行单元对共享组员的访问很容易导致竞态竞态发生情况:1.对称多处理器(SMP)的多个CPU2.单CPU内进程与抢占它的进程    一个进程在内核执行的时候可能耗完了自己的时间片,也可能被另一个高优先级进程打断,而进程与抢占它的进程访问共享资源的情况3.中断与进程之间    中断可以打断正在执行的进程,且此时中断服务程序访问进程正在访问的...

2018-05-28 17:12:30 172

原创 第六章 字符设备

记录一下 建立一个简单的字符设备的编码过程前提准备:已经编译好的Linux内核进入../drivers/char/目录这里存放着这字符设备驱动mkdir globalmem 创建一个我们新建驱动的目录并进入新建globalmem.c文件,清单如下#include <linux/module.h>#include <linux/fs.h>#include <linu...

2018-05-28 17:09:26 285

spring boot 参考文档

spring boot 参考文档 英文

2019-02-26

mybatis逆向工程

mybatis 逆向工程 根据数据库自动建立实体 mapper映射文件 dao 层interface 此项目产生的文件在我上传的研究生的信息管理系统有使用 很方便

2019-01-06

ssm研究生信息管理系统

ssm框架 研究生信息管理系统 IDEA mysql tomcat mybatis逆向工程 bootstrap前端 含管理员 研究生角色

2019-01-06

聚类 k-means k-medoids代码实现

数据挖掘k-means k-medoids python代码实现 含测试数据

2019-01-06

矩阵论PPT(线性空间 内积空间 矩阵标准型 矩阵分解.....)

矩阵论课件 矩阵论PPT(线性空间 内积空间 矩阵标准型 矩阵分解.....)

2018-11-29

爬取酷狗飙升榜(100首)

python 使用 selenium 爬取酷狗音乐飙升榜(100)包括歌曲播放地址 音乐名 作者 以及音乐资源url地址

2018-04-12

空空如也

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

TA关注的人

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