linux
文章平均质量分 90
linux相关开发笔记
神秘的羔羊
技术拉近你我
展开
-
RT Preempt linux学习笔记
实时操作系统要求在一个触发信号到来之后能够在一个确定的时间点之前进行响应处理。它与普通的非实时操作系统区别在于:普通操作系统的响应延时受系统负载影响较大,轻负载时可能会满足响应的要求,但是在负载变大的时候响应会变慢,并且这个响应时间是不确定的。因此一个足够快的系统不代表是一个实时操作系统,实时系统必须要求在负载变化的情况下依然能够满足确定的响应时间,如果无法在确定的时候下完成响应,那么会导致系统错误。原创 2023-09-18 22:52:26 · 1402 阅读 · 0 评论 -
Linux源码目录说明
内核源代码的根目录下包含了以下文件及文件夹:COPYING-许可和授权信息。Linux内核在GPLv2许可证下授权。该许可证授予任何人有权免费去使用、修改、分发和共享源代码和编译代码。然而,没有人可以出售源代码。CREDITS- 贡献者列表Kbuild- 这是一个设置一些内核设定的脚本。打个比方,这个脚本设定一个ARCH变量,这是开发者想要生成的内核支持的处理器类型。Kconfig- 这个脚本会在开发人员配置内核的时候用到MAINTAINERS- 这是一个目前维护者列表,他们的...原创 2021-01-28 22:52:18 · 1159 阅读 · 0 评论 -
Linux 文件 I/O笔记
一、Linux 的文件 I/O 概述 Linux 把大部分系统资源当作文件呈现给用户,用户只需按照文件 I/O 的方式,就能完成数据的输入输出。Linux 文件,按其代表的具体对象,可分类为:1.普通文件,即一般意义上的文件、磁盘文件;2.设备文件,代表的是系统中一个具体的设备;3.管道文件、FIFO 文件,一种特殊文件,常用于进程间通信;4.套接字(socket)文件,主要用...原创 2018-07-20 20:53:01 · 281 阅读 · 0 评论 -
ioremap和ioremap_nocache函数笔记
ioremap - 将一个IO地址空间映射到内核的虚拟地址空间上去void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)入口: phys_addr:要映射的起始的IO地址;size:要映射的空间的大小;flags:要映射的IO空间的和权限有关的标志; void *i...原创 2018-07-27 09:30:47 · 11120 阅读 · 0 评论 -
clock_gettime 函数笔记
函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。#include<time.h>int clock_gettime(clockid_t clk_id,struct timespec *tp);clk_id : 检索和设置的clk_id指定的时钟时间。 CLOCK_REALTIME:系统实时时间,随系统实...原创 2018-07-28 13:41:10 · 30306 阅读 · 7 评论 -
Linux 内核源码中likely和unlikely
if (likely(value))等价于if (value)if (unlikely(value))等价于if (value)也就是说likely()和unlikely()从阅读和理解的角度是一样的。这两个宏在内核中定义如下: linuxcompiler #define likely(x) __builtin_expect(!!(x), 1) #defi...原创 2018-10-17 09:57:31 · 203 阅读 · 0 评论 -
Linux kernel版本号的获取以及修改
在使用linux的时候,我们使用cat /proc/version命令来获得我们内核的版本号,但是是如何产生的呢?请看内核源码中的fs/proc/version.c文件:#include <linux/fs.h>#include <linux/init.h>#include <linux/kernel.h>#include <linux/p...原创 2019-02-19 16:12:06 · 17369 阅读 · 2 评论 -
Linux下去掉^M的方法
问题:在windows下使用notepad++写的脚本上传到Linux下,在使用vim编辑的时候我们发现在行末出现了^M。造成的原因:在DOS/Windows里,文本文件的换行符为\r\n,而在linux系统里则为\n,所以DOS/Windows里编辑过的文本文件到了linux里,每一行都多了个^M。^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除。解决办法:1....原创 2019-07-10 10:42:33 · 1374 阅读 · 0 评论