06 2019 档案
摘要:时间管理在内核中占用非常重要的地位,内核中有大量的函数都需要基于时间驱动的,内核对相对时间和绝对时间都非常需要。 一、内核中的时间概念 内核必须在硬件的帮助下才能计算和管理时间,系统定时器以某种频率自行触发(击中hitting或者射中popping)时钟中断,该频率可以通过编程预定,称作节拍率。 因
        阅读全文
                
摘要:一、原子操作 原子操作可以保证指令以原子的方式执行 执行过程不被打断。 1.1 原子整数操作 针对整数的原子操作只能对atomic_t类型的数据进行处理。 首先,让原子函数只接收atomic_t类型的操作数,可以确保原子操作只与这种特殊类型数据一起使用,并且不会被其他人使用。 使用atomic_t类
        阅读全文
                
摘要:在使用共享内存的应用程序中,程序员必须特别留意保护共享资源,防止共享资源并发访问。 一、临界区和竞争条件 1.1 临界区和竞争条件 所谓临界区就是访问和操作共享数据代码段。多个执行线程并发访问同一个资源通常是不安全的,为了避免在临界区中并发访问,编程者必须保证这些代码原子地执行。 如果两个执行线程有
        阅读全文
                
摘要:一、编写一个hello world驱动 懒,不写了 二、编写Kconfig和Makefile 我们在kernel/driver目录下创建一个hello目录 然后创建一个Kconfig文件: config HELLO tristate "Hello world for Firefly" help He
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号