Linux Kernel
文章平均质量分 92
Linux Kernel中学习到的技术
LUCKY-LIVING
这个作者很懒,什么都没留下…
展开
-
Journaling and Log-structured file systems(日志式和日志结构文件系统)
Journaling and Log-structured file systems(日志式和日志结构文件系统)from:https://pdfs.semanticscholar.org/presentation/45a4/c9b72ff6a2480545e3cf53b303dea9adecd7.pdf文件系统文件系统是数据用户层视角的永久存储容器。 - 文件是永久存储...翻译 2018-06-25 22:49:19 · 5226 阅读 · 0 评论 -
日志结构文件系统的设计与实现
from The Design and Implementation of a Log-Structured File System——–Mendel Rosenblum and John K. Ousterhout摘要这篇文章提出了一种叫做日志式文件系统的新的磁盘管理技术。日志式文件系统将所有的更改以日志式的结构连续的写入磁盘,以这种方式来同时加速了文件写入和崩溃恢复。日志是磁盘的上翻译 2017-12-06 22:34:34 · 8369 阅读 · 0 评论 -
为什么U盘、SD卡等依然使用FAT32而非NTFS
翻译自Why Do Removable Drives Still Use FAT32 Instead of NTFS?–by Chris Hoffman on September 22nd, 2016 from How to Geekwindows xp 从2001开始开始将NTFS作为内部存储器的默认文件系统。12年过去,为什么USB闪存、SD 卡和其他的可移动存储设备仍然在使用FAT32?这并不翻译 2017-09-15 12:27:21 · 6905 阅读 · 0 评论 -
Linux Module
Linux Module模块安装手动安装模块时有insmod和modprobe,它们的区别是:insmod在加载外部模块时要指定模块的绝对路径。多个外部模块有符号依赖时,要按依赖关系顺序加载。此时可以没有/lib/modules/kernel_release_version目录。modprobe后边只需要去跟模块名称,它自动去分析/lib/module/kernel_release下mo...原创 2019-07-25 10:04:15 · 675 阅读 · 0 评论 -
linux ERR
LINUX IS_ERR#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO))-MAX_ERRNO是-4095,强制转换后的值是ffff001。对于32位机就是ffff001~ffffffff都是错误地址。ERR_PTR( )是把错误值转换为指针,也就是地址最高page内的地址值。PTR_ERR( )是...原创 2018-10-19 17:30:58 · 485 阅读 · 0 评论 -
Linux UART Console Driver(1)--硬件设备的注册和UART Driver的注册
linux uart driver and console原创 2018-07-28 00:06:29 · 4260 阅读 · 1 评论 -
Linux 以太网驱动
Linux 以太网驱动(RTL8168 driver in Linux 3.10)1.网络子系统初始化在以太网驱动加载之前,首先会进行网络子系统初始化 subsys_initcall(net_dev_init)net_dev_init():static int __init net_dev_init(void){ int i, rc = -ENOMEM; B原创 2017-07-09 22:24:33 · 5104 阅读 · 1 评论 -
signal信号的处理过程
signal信号的处理过程mips架构下signal信号的处理。信号是linux下非常重要的部分,把这几天看的整理一下。执行kill -l列出所有的信号HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFS...原创 2018-11-30 14:36:31 · 3759 阅读 · 0 评论 -
irq n: nobody cared (try booting with the "irqpoll" option)
当一个注册的irq_action处理返回值一直是IRQ_NONE时,引发这个crash。/* * If 99,900 of the previous 100,000 interrupts have not been handled * then assume that the IRQ is stuck in some manner. Drop a diagnostic * and try to原创 2017-07-17 17:50:25 · 2342 阅读 · 0 评论 -
Linux功能目录文件详解
Linux procmeminfomeminfo:Provides information about distribution and utilization of memory. Thisvaries by architecture and compile options. The following is from a16GB PIII, which has highmem e...原创 2019-02-21 15:51:30 · 424 阅读 · 0 评论 -
page allocation failure messages和oom message分析
page allocation failure messages 分析page allocation failure messages一个典型的page allocation failure message from linux on MIPS R3000 CPUmm: page allocation failure: order:4, mode:0x104020CPU: 0 P...原创 2018-12-06 16:11:21 · 6462 阅读 · 0 评论 -
linux 时间子系统 二 时间系统的组成
linux 时间子系统 二 时间系统的组成时间轮,jiffies与HZ时间轮是linux kernel处理内核低精度定时器的机制,由周期的定时器中断驱动。定时器中断以配置的HZ参数为频率产生,在中断中更新系统时间jiffies,摘取到期的定时器执行,更新时间轮时间。clock source##clock source 是kernel用来记录时间的机制,它为系统提供一种时间线,通过时间线每一...原创 2019-02-19 17:57:46 · 499 阅读 · 0 评论 -
Linux时间子系统 tick broadcast framework
Linux时间子系统 tick broadcast frameworkfrom https://lwn.net/Articles/574962/在linux kernel中电源管理是很重要的一部分。最常用的电源管理机制是cpuidle framework,它会使得cpu 进入idle低功耗状态直到它有新的动作需要执行。这种idle状态被称作C-state, C-state进入的越深(cpu 被...翻译 2019-02-19 11:07:07 · 265 阅读 · 0 评论 -
linux 时间系统 一 时间相关的系统调用
linux 时间系统 一 时间相关的系统调用时间相关的系统调用,这里主要说明的是用来记录时间(打时间戳)和delay时间的系统调用。它们是linux时间系统的一部分。 时间相关的操作在应用层和内核层都很重要。下面的代码基于linux-4.9内核, ARCH=mips首先是两个比较重要的系统调用:gettimeofday#include <sys/time.h>int gett...原创 2019-01-29 13:50:45 · 1528 阅读 · 0 评论 -
Linux programming (1) Tty, Session, Process group
Linux programming (1) Tty, Session, Process group每一个process的相关ID有如下这些类型enum pid_type{ PIDTYPE_PID, // process pid PIDTYPE_PGID, // process group id PIDTYPE_SID, // session id PIDTYPE_MAX };...原创 2019-04-29 12:42:21 · 201 阅读 · 0 评论