索引 | 博客文章目录

爱技术 | 爱分享 | 爱生活 目前研究操作系统内核相关 不喜勿喷,欢迎交流 Linux内核设计 Linux内核 | 进程和线程的主要区别 系统调度 | 进程调度原理 系统调度 | CFS公平调度算法 Linux设备驱动 Linux设备驱动 | 如何进行构建和运行模块 Linux设备驱动 | 字符设备驱动程序scull Linux设备驱动 | 系统IO之ioctl函数详解 嵌入式系统 嵌

- 阅读全文 -

系统调度 | 进程调度原理

调度原理 最大限度地利用处理器时间,只要有可以执行的进程,那么就总会有进程正在执行。 多任务系统 抢占式多任务 非抢占式多任务 进程分类 IO消耗型:进程的大部分时间用来提交I/O请求或是等待I/O请求。 处理器消耗型:进程的大部分时间在执行代码 进程优先级 根据进程的价值和其对处理器的时间需求对进程进行分级。 Linux采用了两种优先级范围: nice值,范围[-20,19],nice

- 阅读全文 -

Linux设备驱动 | 如何进行构建和运行模块

内核功能模块 ​ ​ 设备和模块的分类 字符设备:可通过字节流(类似文件)进行访问的设备,字符设备驱动程序通常至少要实现open、close、read和write系统调用。 块设备:进行IO操作,可进行传输若干个完整的块的设备。 网络接口:任何网络事务都经过一个网络接口形成,网络接口由内核中的网络子系统驱动,负责发送和接收数据包,不需要了解数据包

- 阅读全文 -

Linux设备驱动 | 字符设备驱动程序scull

字符设备驱动程序scull  scull设备是一个操作内存的字符设备,不是真正的设备,只是向内核注册为字符设备,并使用内存来存取数据。 1. scull的设计 scull0~scull3:分别是由一个全局且持久的内存区域组成。 scullpip0 ~ sullpip3:多个进程读取同一个设备,可能发生数据竞争,在不借助中断的条件下,实现阻塞式和非阻塞式读/写操作。 scullsingle:一次只

- 阅读全文 -

C++错误 | 不兼容类型void *分配给char *

在C++中,malloc这样使用,会报错assigning to 'char ' from incompatible type 'void ',而C语言不会报错。 char * ver =malloc(size); 你需要进行强制类型转换 char * ver = (char *) malloc(size); C语言对类型检查比较宽松,而C++要求就比较严格,malloc()返回是数值类型是voi

- 阅读全文 -

搬迁声明

我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:世至其美,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply

- 阅读全文 -

系统调度 | CFS公平调度算法

Linux调度算法 时间记账 进程选择 调度器入口 睡眠和唤醒 1. 时间记账 1.1 调度器实体结构 CFS使用调度器的实体结构(源代码 | linux/sched.h)追踪进程运行记账,然后将实体结构体作为se的成员变量,嵌入在进程描述符struct task_struct内。 struct sched_entity { /* For load-balancing: */

- 阅读全文 -

Linux设备驱动 | 系统IO之ioctl函数详解

1. 定义: ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。 在用户空间, ioctl 系统调用的原型: int ioctl(int fd, unsigned long cmd, ...); ioctl 驱动方法有和用户空间版本不同的原型: int (*ioctl) (struct inode *inode, struct file *filp, unsigned int cmd,u

- 阅读全文 -

读书笔记 | 人性的弱点 - 切忌批评、责怪或抱怨他人

真心取蜂蜜,蜂房不能踢 原则一:切忌批评、责怪或抱怨他人。 批评是徒劳无益的,因为它会使人采取防御手段,而且往往使人竭力替自己辩护。批评也是危险的,因为它会伤害一个人那可贵的自尊、自重感,同时还会激起他的反感情绪。--戴尔·卡耐尔 世界知名心理学家B.F.斯金纳通过无数次的实验证明.相比因表现糟糕而受到惩罚的动物,因表现良好而得到奖赏的动物会学得更快,对所学东西的效果也保持得更久一些。后来的种种

- 阅读全文 -

搞机吧 | 利用magisk安装Xposed框架

后起之秀Magisk和江湖老大哥Xposed Magisk原理:在系统boot时,将其img挂载到自己的分区下,构建一个虚拟文件系统,和system分区没有半毛钱关系。magisk可在不修改系统文件的前提下,从而达到修改系统文件的效果。通过这种方式绕过Google SafetyNet,系统OTA升级,部分"被禁"软件都可以正常使用。 Xposed原理:框架被修改系统文件,会

- 阅读全文 -