linux内核
Hi-Lu
这个作者很懒,什么都没留下…
展开
-
Linux进程调度和内核同步
一、什么叫进程调度?决定哪个进程投入运行,什么时候运行,运行多久,就叫进程调度。实现这样功能的程序,叫进程调度程序。二、目的:在进程快速响应和系统最大利用率之间寻找平衡。例如I/O消耗型进程需要在键盘等I/O设备产生硬件中断时快速响应,其他时间不消耗处理器,大部分在等待。而处理器消耗型进程,要占着CPU,例如视频播放器。三、时间片的概念:在进程被抢占之前,所能持续运行的...原创 2019-01-10 14:32:52 · 352 阅读 · 1 评论 -
framebuffer驱动框架
1. 翻译为:帧缓冲(抽象的显存)2. 是内核中的虚拟字符设备(类/sys/class/graphics)3.framebuffer的使用 1):打开framebuffer设备文件: /dev/fb0 2):获取framebuffer设备信息 #include <linux/fb.h>:通过ioctl获取fix info、var info等,根据屏幕参数可计算屏...原创 2019-01-10 14:34:24 · 721 阅读 · 0 评论 -
likely与unlikely
likely与unlikely互换或不用都不会影响程序的正确性,只是可能会影响程序的效率。if(likely(x)) //认为x通常为1if(unlikely(x)) //认为x通常为0原创 2019-01-10 14:34:08 · 4663 阅读 · 0 评论 -
上下文理解
定时器到了,执行定时器的handler function,这算处于中断上下文。内核调度,调度的线程、进程,这算处于进程上下文。。。 内核中有一个中断线程化的概念,属于中断下半部的范畴,中断线程是可以被调度的,处于进程上下文。 在中断线程化机制合入Linux内核之前,中断下半部的三种旧实现机制(SoftIRQ、tasklet、workqueue)中的workqueue,就有了一些...原创 2019-01-10 14:33:59 · 452 阅读 · 0 评论 -
内核支持抢占和非抢占的含义
Linux2.4不支持内核抢占,即是说进程通过系统调用陷入到内核态的时候,不可以被其他的进程抢占。如果有更高优先级的进程,只有在系统调用返回用户空间的时候,才可被调度程序调度,由高优先级的进程占用cpu。这里的“不可以被其他进程抢占”当然不包括中断上下文,无论内核态还是用户态,中断上下文都可以抢占进程上下文,中断上下文是拥有最高的权限,它甚至可以抢占其他的中断上下文。Linux2.6有一个CO...原创 2019-01-10 14:33:19 · 805 阅读 · 0 评论 -
ARM64内存布局总结
综述: kernel image在被bootloader或者UEFI加载后,最终会跳到kernel的入口代码处,顺便将一些参数传给内核。kernel的启动包括两个阶段,分别由两个head.S描述。第一个阶段是内核的解压缩和重定位,第二阶段从stext开始,主要完成的工作有:参数检查,创建初始化页表,设置C代码运行环境,为跳转到内核第一个真正的C函数start_kernel做准备。所以,第...原创 2019-01-10 14:33:47 · 3372 阅读 · 1 评论 -
伙伴系统与slab/slub分配器
内存管理有两个算法:伙伴算法和slab/slub算法。伙伴算法是以页为单位管理内存,slab算法是以字节为单位管理内存,是内核的小内存管理算法。slab分配器并没有脱离伙伴系统,而是基于伙伴系统分配的大内存进一步细分成小内存。先讲伙伴系统,再讲slab分配器。 伙伴系统是基于bootmem机制来分配一些数据结构的。bootmem初始化的时候会调用free_area_init_n...原创 2019-01-10 14:33:32 · 1268 阅读 · 0 评论 -
request_threaded_irq
函数原型:int request_threaded_irq(unsigned int irq, irq_handler_t handler, irq_handler_t thread_fn, unsigned long irqflags, const char *devname, void *dev_id)输入参数 描述 irq 中断号 handler 中断处...原创 2018-07-26 15:43:52 · 1076 阅读 · 0 评论 -
内核的几个面试题
下半部的三种实现机制区别:下半部的三种实现机制 所处上下文 区别 软中断 中断上下文 不可抢占和阻塞,不可睡眠,同类型可以在不同cpu上同时执行 tasklet 中断上下文 不可抢占和阻塞,不可睡眠,同类型不能同时执行在不同cpu上 工作队列 进程上下文 可能被调度、抢占、阻塞,可睡眠 工作队列与哪些接口: struc...原创 2019-01-10 14:33:07 · 622 阅读 · 0 评论 -
android 用adb命令唤醒和熄灭屏幕
//发一次熄灭屏幕,再发一次点亮屏幕。可以在板级没有接出power键时使用。adb shell input keyevent 26 // power事件。原创 2019-01-10 14:32:25 · 39159 阅读 · 9 评论