曙海教育集团论坛Linux专区Linux系统开发 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题新回顾(发布时间:2010-11-25 10:24:50)
--  作者:wangxinxin
--  Linux嵌入式系统与硬件的关系
对初学者而言,可以将内核与任务分开,标准的Linux内核通常驻留在内存中,每一个应用程序程序都是从磁盘运到内存上执行。当程序结束后,它所占用的内存就被释放,程序就被下载了。在一个嵌入式系统里,可能没有磁盘。有两种途径可以消除对磁盘的依赖,这要看系统的复杂性和硬件的设计。在一个简单的系统里,当系统启动后,内核和所有的应用程序都在内存里。这就是大多数传统的嵌入式系统工作模式,它同样可以被Linux支持。有了Linux,就有了第二种可能性。因为Linux已经有能力加载和卸载程序,一个嵌入式系统就可以利用它来节省内存。试想一个典型的包括一个大概8MB到16MB的Flash Memory和8MB内存的系统。Flash Memory可以作为一个文件系统。Flash Memory驱动程序用来连接Flash Memory和文件系统。作为替代也可使用Flash Disk,用工具软件可把Flash Memory仿真为磁盘或部分。

图片点击可在新窗口打开查看 所有的程序都以文件形式存储在Flash文件中,需要时可以装入内存。这种动态的、根据需要加载的能力是支持其它一系列功能的重要特征:

      1. 它使初始化代码在系统引导后被释放。Linux同样有很多内核外运行的公用程序。这些通常程序在初始化时运行一次,以后就不再运行。而且,这些公用程序可以用它们相互共有的方式,一个接一个按顺序运行。这样,相同内存空间可以被反复使用以调入每一个程序,就象系统引导一样。这的确可以节省内存,特别是那些配置一次以后就不再更改的网络堆栈。如果Linux可加载模块的功能包括在内核里,驱动程序和应用程序就都可以被加载。它可以检查硬件环境并且为硬件装上相应的软件。这就消除了用一个程序占用许多Flash Memory来处理多种硬件的复杂性。

      2. 软件的升级更模块化。你可以在系统运行的时候在Flash上升级应用程序和可加载驱动程序。

      3. 配置信息和运行时间参数可以作为数据文件储存在Flash上。