包含标签 Kernel 的文章

系统调用的实现原理

实现原理 用户态 –> 中断(Linux 下中断号0x80) –> 内核态 中断 中断就是一个硬件或软件请求,要求 CPU 暂停当前的工作,去处理更重要的事情。比如,在……

阅读全文

UNIX 操作系统体系结构调整

起因 闲来无事时通常会打开 github/trending 看看当前大家热门的项目是什么,同时也希望看到自己感兴趣的项目,以此来提高自己。这天,突然看到了一个名为《程序员应该……

阅读全文

内核编译选项介绍

介绍 modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules -C 选项是将当前工作目录转移到指定目录 M= 选项是当用户需要以某个内核为基础编译一个外部模块时,需要指定 M=dir,程序会自动到你……

阅读全文

mmc

参考 Linux和Uboot下eMMC boot分区读写 mount: mounting /dev/mmcblk0 on /mnt failed: Invalid argument……

阅读全文

mtd mmc

参考 Linux内核MTD驱动程序与SD卡驱动程序 mtd和mtdblock的区别……

阅读全文

文件系统和虚拟文件系统

虚拟文件系统 虚拟文件系统(VFS)是由 SUN 公司在定义网络文件系统(NFS)时创造的。 虚拟文件系统(VFS)是物理文件系统与服务之间的一个接口层……

阅读全文

proc 文件的创建和读写

内核版本 Linux version 5.8.0-44-generic mydev.c #include <linux/module.h>#include <linux/moduleparam.h>#include <linux/init.h>#include <linux/kernel.h> #include <linux/proc_fs.h>#include <asm/uaccess.h> #define BUFSIZE 100 static int irq = 20; static int mode = 1; static struct proc_dir_entry *ent; static ssize_t mywrite(struct file *file, const char __user *ubuf, size_t count, loff_t *ppos) { int num, c, i, m; char buf[BUFSIZE] = {0}; if (*ppos > 0 || count > BUFSIZE) return -EFAULT; if (copy_from_user(buf, ubuf, count))……

阅读全文

Linux 进程状态 Ss、Sl、S+、Z、I< 等是什么意思?

man ps ... PROCESS STATE CODES Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process: D uninterruptible sleep (usually IO) I Idle kernel thread R running or runnable (on run queue) S interruptible sleep (waiting for an event to complete) T stopped by job control signal t stopped by debugger during the tracing……

阅读全文