分类 Linux 中的文章

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 内存

内存的由来 程序要运行,必须先加载到内存。 但在很久以前,准确地说是在操作系统出现以前,程序并不需要加载到内存就能运行。实际上,在那个已经久远的……

阅读全文

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……

阅读全文

printk 打印等级

/proc/sys/kernel/printk $ cat /proc/sys/kernel/printk 4 4 1 7 printk 共有四个参数 第一个参数 4,控制台打印等级。表示小于等于 4 优先级的消息才会被打印至控制台。 第二个参数 4,printk 的默认打……

阅读全文

Linux 性能优化实战

00 把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序、库函数、系统调用、再到内核和硬件等不同的层级贯穿起来。 应用程序 –> 库函数 –> 系统……

阅读全文

Linux 系统简介

# UNIX 与 Linux 发展史 关系:Unix 是父亲,Linux 是儿子。 1965年:Multics,MIT && GE && AT&T 联合开发,过于复杂,失败 1969年:Unix……

阅读全文

grep

强大的文本搜索工具 grep [OPTION...] PATTERNS [FILE...] 方括号中的项目是可选的。 三个点说明此参赛可以有多个。 [OPTION…] - 零个或多个选项。grep 包含许多控制其行为的选项。 PATTERNS - 搜索……

阅读全文

Linux 内建命令和外部命令

概述 Linux 命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但工作机制相差很大。 一、内部命令(内建命令) 内部命令,实际上……

阅读全文

内核驱动最简demo

hello.c /** * 当一个模块设备驱动被加载到内核时,一些通常要做的事情包括:设备复位,初始化RAM,初始化中断,初始化输入输出端口等。 * 这些动作在内核空……

阅读全文