Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1347597
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: LINUX

2014-12-06 20:47:56

       在内核编程中,需要遵循它的框架和机制,对于应用层编程,设备驱动编程也可有类似动态内存分配的
       大多数的系统调用实际上是修改内核中数据结构(如:页表),或者是在内核中建立数据结构
       内核中错误码定义文件
           /usr/include/asm-generic/errno.h
           /usr/include/asm-generic/errno-base.h
       内核中的模块之间的引用关系,或许只能通过EXPORT_SYMBOL来使用其他模块中的接口
             内核模块子系统对外是一个封闭的,内核只能通过系统调用的方式提供接口
             内核模块也需要map文件
       内核中也有运行实体-内核线程
       内核与进程的通信方式,传统的就是signal,即使是用户态的进程,执行时遇到了问题,如内存操作问题,虽然程序在用户态,但是CPU资源是由内核管理的,出了问题,内核就会发信号给进程
       驱动、内核、进程的关系是这样的,驱动通知内核,内核通知进程
       DMA环形缓冲区实际上是内核分配的,写完后,DMA再中断通知内核,内核取走这些之前它自己分配好的缓冲区,然后又分配新的缓冲区

阅读(904) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~