深度探索嵌入式操作系统:从零开始设计、架构和开发.html.pdf

深度探索嵌入式操作系统:从零开始设计、架构和开发.html.pdf

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前言 为什么写这本书 随着移动互联网技术的成熟 ,物联网也开始崭露头角 ,由 产生了各种小型、低功耗的智能硬件 ,这些智能硬件被嵌入到移动电话、手表、冰 箱、空调、电视机、洗衣机等常用电子产品中,使这些常用电子产品功能更加强大、更加智能 ,而且它们可以连接到网络 ,便于用户远程操控 ,从而 大大改善了人们的生活。 因 ,嵌入式行业才变得如 火热 ,那些被嵌入到电子产品中的智能硬件 ,也需要一些小巧、特殊的操作系统软件才能正常工作 ,这类小巧、特 殊的操作系统软件 ,称为嵌入式系统。2013年下半年 ,我开始学习嵌入式系统 ,并编写了一个嵌入式操作系统——LMOSEM。在互联网上也认识了 不少研究嵌入式的朋友 ,在他们的要求和规劝下 ,我终于有勇气把我研究出来的东西归纳、整理成册 ,也算是我学习的笔记 ,于是就有了这本书。虽 然有很多的顾虑 ,怕贻笑方家、怕误导同道……但是我的每行代码、每个点子 ,都在实机上测试过并证明了其正确性 ,所以也就心下一片坦然了。如 果这本书能够被后来者借鉴一二 ,或者解决他们的一些疑惑 ,我 自然欣慰万分。 关于LMOSEM 关于LMOSEM,这得从 LMOS开始说起。2010年下半年 ,我开始准备要写个操作系统 内核 ,没有其他 目的 ,只是出于学习 ,出于兴趣。由于是 自己独立从零开始设计、编写的 ,我觉得 自己这种行为有点疯狂 ,索性用LMOS (liberty madness operating system)命名了我的操作系统。 LMOS经过这几年的独立开发 ,现在已经发布了6个测试版本。先后从32位单CPU架构发展到64位多CPU架构 ,现在的LMOS已经是多进程、多线 程、多CPU、支持虚拟 内存的x86_64体系下的操作系统 内核。LMOS的这些特性 ,非常适合通用计算机领域 ,如PC、工作站、小型服务器。这些特 性导致LMOS代码量庞大 ,一些组件不够小巧 ,削剪起来非常复杂 ,很难保证削剪后的组件是否健壮 ,因 LMOS不适合于嵌入式领域 ,所以笔者才 重新开发了LMOSEM——适合嵌入式领域的操作系统。 LMOSEM依然删除了很多代码 ,因为写书要做到简单 ,便于理解。即便如 ,LMOSEM依然包含了现代操作系统的大部分重要组件 ,如 内存管 理、进程管理、驱动模型、文件系统等。这些组件的实现过程在本书中都会有详细的介绍。LMOSEM不支持实时性功能 ,嵌入式操作系统也不一定 要是实时性的操作系统 ,何况我们是出于学习的 目的。为了代码的清晰、简单 ,我们暂不考虑安全性和性能方面的问题。等到明白了操作系统原理 , 我们再去不断修正、优化 ,使之功能变得更多 ,性能变得更强。笔者开发的LMOSEM操作系统项 目,是在 Linux操作系统下开发的 ,用到了Linux操 作系统的很多工具。笔者不会和读者讨论为什么不用常用的Windows系统 ,也不会说谁好、谁不好。如果读者非常喜欢Windows系统 ,那么也可以 尝试着把这个项 目迁移到Windows系统下。但是笔者书中演示的环境还是 Linux系统。关于如何搭建开发环境 ,本书后面的章节有详细的介绍。在那 里读者会发现用Linux系统开发 LMOSEM内核有很多方便之处 ,如会用到的MAKE、GCC、LD等 ,这些工具在 Linux系统下都很容易得到 ,在 Windows系统下虽然也能做到 ,但相对麻烦一点。何况今天的Linux系统已经很好用了。 读者对象 ·如 果读者是一位 纯粹 的操作 系统爱好者 ,对其有着浓厚 的兴趣 ,那 么本书将 常适合。 ·如 果读者是嵌入式领域的从业者或者学生,也可以从本书中获得很 多帮助。 ·如 果读者是一位普通的应 用软件开发者 ,业余时间也可以翻翻此书,书中的一些设计方法和编程手段 ,或许可以借鉴一二。 ·如 果你只是想 了解一些计算机硬件 系统和软件 系统的常识 ,那 么本书同样会让你获益。 如何阅读本书 为了能更轻松地阅读这本书 ,笔者建议先了解C语言这门编程语言 ,对数据结构有所了解就更好了。除这些外 ,笔者假定读者没有其他任何技 能。除了需要的上述技能 ,读者还需要对操作系统有强大的兴趣和求知欲 ,要有坚强的意志、永远不放弃的精神。开发操作系统 内核本身就不是件容 易的事 ,必然会有很多问题在等着我们 ,但是遇到问题不要害怕 ,静下心从容面对 ,只要我们不放弃 ,问题最终会解决。 本书很简单 ,没有拐弯抹角 ,没有反复修饰

文档评论(0)

紫竹语嫣 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档