书籍详情
《Lenix嵌入式操作系统》[57M]百度网盘|亲测有效|pdf下载
  • Lenix嵌入式操作系统

  • 出版社:北京航空航天大学出版社
  • 出版时间:2014-07
  • 热度:10916
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  

Lenix这个名称本来的意义是“学习用的操作系统”,因为这个系统就是为了便于学习而开发的。命名时就用了英文单词“Learn”作为名称,完全符合本意。随后看到很多操作系统名字的末尾都有一个“x”,给人一种探索未知领域的感觉,很科幻,因此就凑趣,保留Learn的头尾,在末尾加了x,但感觉“Lenx”这个词没有美感,就又加了一个“i”,也就是笔者自己,于是就有了Lenix这个名称。随着开发工作的深入,功能逐步增加,这时笔者发现其在嵌入式领域中已经具备了一定的可用性,因此就对名称的意义进行了重新定义: 名称不变,还是Lenix,但其代表的意义变更为“罗氏嵌入式操作系统(Luobins Embedded OS)”,也就是用笔者的名字来命名这个系统,且将其定位在嵌入式领域。
  本书预计面向有一定C语言、汇编语言编程经验和PC硬件知识的读者。如果没有以上基础,但又确实对操作系统感兴趣,那么在阅读本书前,先适当学习一定的C语言和汇编语言编程,并初步了解PC的硬件配置。这样会比较容易理解书中的内容。
  关键章节内容采用的结构是先说明需求和设计等基本情况,然后安排API的用法说明和一些程序例子,最后对功能的实现做详细解析,这包括数据类型、公共变量和源代码的说明。笔者认为这样的方式比较便于理解和学习。
  

内容简介

  嵌入式Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
  《Lenix嵌入式操作系统》分4个部分介绍Lenix,首先用具体的例子向读者展示部分Lenix的能力,随后对Lenix涉及的操作系统的基本概念进行说明,接着再对Lenix的整体结构和引入的CPU、计算机模型进行介绍,最后用大量篇幅对进程管理、时间管理、内存管理、IPC、设备管理、人机交互和移植等几个部分的设计思路、API和源代码进行详细的分析。

目录

第1章,通过具体的演示程序来展示Lenix的功能,使读者对Lenix建立一个比较直观的认识。
第2章,介绍操作系统的基础概念,这些概念是在Lenix中采用的。对这些概念建立起统一的认识,将有助于理解Lenix。
第3章,从整体上介绍Lenix,使读者建立起较为系统的认识。
第4章,说明Lenix的临界段保护方法,这是开发操作系统的关键基础,会一直伴随开发的整个过程。
第5章,说明Lenix引入的硬件模型。模型包含CPU模型和计算机模型,各个模型都定义了一定数量的接口,这些接口为实现操作系统的功能提供便利。
第6章,说明Lenix进程管理的设计和实现。对于单个进程,进程管理的主要工作是对进程生命周期的管理。对于多个进程,主要工作则是关注进程如何被调度,即如何分配CPU。
第7章,说明Lenix的IPC设计和实现。系统实现了自旋锁、普通锁和互斥对象三个基本的IPC机制,还提供了邮箱来完成进程间少量数据的通信。
第8章,说明Lenix时间管理的设计和实现。时间管理是通过时钟中断来提供一个基本的计时依据,并在这个基础上开发了定时器等功能。
第9章,说明Lenix内存管理的设计和实现。系统的内存总是无法满足程序的需要,因此有动态内存管理功能。系统还提供了高效的定长内存管理和适用广泛的堆内存管理。
第10章,说明Lenix人机交互的设计和实现。人机交互是使用计算机系统的重要组成部分,目前系统提供了利用TTY终端与SHELL解释程序组合的人机交互方式。
第11章,说明Lenix设备管理的设计和实现。系统定义Lenix驱动模型(LDM),包含设备驱动接口(DDO)、设备管理的框架、设备使用规范和驱动程序框架。
第12章,说明Lenix的移植。通过在16位PC上的开发来说明如何移植Lenix。

前言/序言

  随着计算机技术的发展,计算机在日常生活中的应用越来越广泛。从最开始在科学计算领域的应用,发展到个人电脑普遍进入家庭,再到冰箱、电饭煲等小电器也嵌入了计算机系统,至此人们似乎对计算机系统已经不再陌生,但细想起来,绝大多数人仅是知道计算机由多个硬件组成,稍微了解多一些的人还会知道这些硬件发挥作用需要操作系统。
  操作系统管理着计算机系统的软、硬件资源,可以说它是计算机系统的灵魂。这个灵魂从诞生的那天起就一直保持着神秘。因为它的神秘,使得很多人对其工作原理和方式产生了浓厚兴趣,并想了解其中的奥秘。但现有的操作系统,要么无法获得源代码,例如Windows;要么在经过多年的发展后,已变得庞大而复杂,比如UNIX、Linux,在加上代码上的优化和各种初始准备条件,更是让人很难摸到其核心。因此,对于操作系统爱好者来说,如果有一个相对简单,但功能还算齐全,又可以获得源代码的操作系统,就是一大幸事。对于母语是中文的爱好者来说,有一份中文注释的操作系统源代码则更好。
  Lenix就是在这样的想法下开发的。为了简化开发,Lenix选择常见的PC作为开发平台,而且是在16位实模式下开发的。对于绝大多数操作系统爱好者来说,如何学习操作系统是个很大的难题,特别是开发PC操作系统,绝大部分人会认为要进入保护模式才能算是操作系统。很不幸,这是一个极大的误区。进入保护模式是为了发挥CPU的功能,而不是操作系统的核心,操作系统的核心是管理计算机系统的软、硬件资源。保护模式只是操作系统发挥X86系列CPU功能的一个方式。从学习的角度来看,保护模式反而干扰了对操作系统的进程管理和内存管理这些核心内容的学习。因此,实际上在16位实模式条件下才能更直观地接触到操作系统的关键内容。
  开发Lenix的过程比较顺利。因为在此之前,笔者已经开发了一个32位的通用操作系统,名为SHEMOX。SHEMOX已经实现了自启动、进程管理、虚拟内存管理、文件系统,还支持PE格式的可执行文件和动态链接库。Lenix从2011年中开始开发,到系统跑起来,大概只用了2个星期。但后续功能的扩展和调试,由于出差、外出学习等事情,断断续续花费了一年多时间。
  在开发Lenix的过程中,代码编辑器使用的是VisualStudio2012的express版本,在VisualPC2007上进行调试,没有使用物理机器作为调试平台。当然,最关键的还要找到一个16位的C语言编译器,笔者使用的是BorlandC/C++3.1。既然选择了BC31,那么自然要使用16位的操作系统作为辅助,因此自然选择了DOS,实际上这是Windows98制作的启动系统。