![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 71
baidu_17062867
这个作者很懒,什么都没留下…
展开
-
等待队列的使用
----------等待队列的使用----------1.DEFINE_WAIT(wait); //定义当前进程的等待队列wait/*#define DEFINE_WAIT_FUNC(name, function) \wait_queue_t name = { \ .private = current, \ .func = function, \原创 2014-07-16 23:27:32 · 624 阅读 · 0 评论 -
【linux kernel】虚拟内存分配
一、用户空间虚拟内存的分配【接口】1)mmap()函数2)malloc()函数1.mmap()->sys_mmap() //sys.c->sys_mmap_pgoff() //见SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,...) , mm/mmap.c->vm_mmap原创 2014-09-03 00:28:23 · 1208 阅读 · 0 评论 -
[Linux kernel]系统sleep
//以下是进入sleep的关键入口lpm_cpuidle_enter()或 lpm_suspend_enter() ->lpm_enter_low_power() ->lpm_cpu_prepare(system_state, cpu_index, from_idle); ->lpm_system_prepare(system_state, idx, from_idle); ->msm原创 2014-08-12 23:27:38 · 3452 阅读 · 0 评论 -
【Linux Kernel】抢占
struct thread_info->flags值: * thread information flags: * TIF_SIGPENDING - signal pending //有信号没有处理 * TIF_NEED_RESCHED- rescheduling necessary //当一个睡眠的进程被唤醒,当其要加入运行队列时,如果其动态优先级比当前正在运行进程curren原创 2014-07-13 23:00:16 · 755 阅读 · 0 评论 -
【Linux kernel】进程相关
//sched.h---------------------------------------以下代码是关于task_struct->state的:* * Task state bitmask. NOTE! These bits are also * encoded in fs/proc/array.c: get_task_state(). * * We have two se原创 2014-07-13 22:51:39 · 521 阅读 · 0 评论 -
【Linux kernel】Timing
Droidphone: http://blog.csdn.net/droidphone/article/category/1263459timer/** * getnstimeofday - Returns the time of day in a timespec * @ts: pointer to the timespec to be set * * Returns原创 2014-07-13 16:57:59 · 584 阅读 · 0 评论 -
内存管理之SLUB
kernel 3.10使用slub,不是slab文件Slub.c (android\kernel\mm)Slab_common.c (android\kernel\mm)-------全局变量和接口----------------/*Slab cache management.*/struct kmem_cache { struct kmem_cache_cpu __percpu原创 2014-07-24 19:39:18 · 1395 阅读 · 0 评论 -
pfn_to_page()和page_to_pfn)
#define page_to_pfn(page) ((unsigned long)((page) - mem_map) + PHYS_PFN_OFFSET)根据给出页地址求出对应的页帧号。两个结构相减,得出的是两者之间的对象个数,加上起始帧号偏移,即给出页地址的相对绝对页号。#define pfn_to_page(pfn) (mem_map + ((pfn) - PHYS_PFN_OFFSE转载 2014-07-23 17:13:13 · 5976 阅读 · 0 评论 -
[Linux内存管理] linux内存布局的内核实现--用户空间的映射方式
linux内存布局的内核实现--用户空间的映射方式http://totoxian.iteye.com/blog/1219991转载 2014-07-01 23:53:51 · 822 阅读 · 0 评论 -
class,device,DEVICE_ATTR和sysfs
从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_creat原创 2014-07-16 23:16:20 · 782 阅读 · 0 评论 -
高速缓存
L i n u x系统使用了几种涉及到高速缓存的内存管理方法。1 缓冲区高速缓存缓冲区高速缓存中保存着块设备驱动程序所用到的数据缓冲区。这些缓冲区的大小固定,一般包括从块设备中读入的和将要写入到块设备中的信息块。快设备一次只能处理大小固定的数据块。硬盘就是块设备中的一种。缓冲区高速缓存使用设备标识符和块号作为索引来快速地查找数据块。块设备只通过缓冲区高速缓存进行存取。如果所需要的数据存在转载 2014-07-16 23:31:58 · 698 阅读 · 0 评论 -
【Linux kernel】中断
-------------------------中断上下文注意事项------------------------1)"中断上下文(包括软中断上下文)不可以调用schedule()函数及其封装函数,如msleep(msecs), 因为不允许在中断上下文发生进程调”(在支持内核抢占的情况下不成立),但是可以调用wake_up_process(task)及其封装函数,如schedule_work原创 2014-07-13 23:01:53 · 809 阅读 · 0 评论