06 2019 档案

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