新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > coLinux构建嵌入式开发环境

coLinux构建嵌入式开发环境

作者:时间:2011-05-10来源:网络收藏

1 引言

本文引用地址:http://www.eepw.com.cn/article/150780.htm

  GNU项目为提供了优秀的交叉工具链,虽然这些工具链也移植到了 Windows系统中,但是为了在 Windows系统中使用,通常还需要另外一个模拟的 Linux——Cygwin,效率是一个新的问题。另外, Cygwin也不是一个真正的 Linux,相比于真正的 Linux环境来说, Cygwin仍显不足。从根本上来讲, GNU工具链是基于 Linux操作系统环境而的。

  在众多的开源项目中,与相关的开发项目大多数仍然需要基于 Linux系统进行编译和链接。虽然在 Cygwin中通过复杂的设置也有可能满足相关开发需要,但是对于开发人员来说,优先的选择仍然是使用 Linux。用惯了 Windows的程序员通常会在系统中安装一个庞大的 Linux虚拟机,或者直接安装两个操作系统。程序员必须忍受虚拟机的运行效率低下的重大缺点,或者为了切换操作系统而反复地重新启动安装了双操作系统的计算机。如果需要在 Linux与 Windows之间进行文件传递,还需要做一些额外的工作。

  然而 的出现,改变了这一切。

  2 简介

  也是一个源代码开放的软件,全名为 Cooperative Linux(协作 Linux)。coLinux是第一个能在 Win32平台上高效地以原生(native)方式运行 Linux的软件, Linux在 coLinux中的运行效率极高,远远超过虚拟机的运行效率(为了模拟一条汇编指令,通常虚拟机要使用一段 C语言代码来完成)。 coLinux目前发展到了 0.73版本,在其官方网站http://www.colinux.net上提供了最新版本的源代码和二进制代码的下载地址。

  coLinux有很高的运行效率,并且仅需要很少的系统资源。 coLinux中的 Linux在本质上是直接在 PC机硬件中运行的,而不是在虚拟机上。coLinux不像虚拟机那样一次就从系统中划去一大块内存,而是根据实际需要让宿主机系统动态为其分配内存。

  coLinux创建的是一个“真正的” Linux操作系统。相比之下, CygWin提供的是一个模拟的 Linux环境。Linux程序若不重新,就无法在 Cygwin中直接运行。

  coLinux可以通过 cofs驱动使宿主机( Windows XP)与 Linux进行文件夹共享。通过简单的设置后,就可以把 Windows系统中的一个文件夹与 coLinux中的 Linux系统进行共享。在 Windows操作该文件夹中文件的时候,Linux也可以对其进行操作。

  coLinux具有高可移植性的特点。在一个 Windows主机上建立一个 coLinux发行版,并在根文件系统中安装一套定制的应用程序。然后,可以将根文件系统转移到另一个主机上,并重新启动。这样就有了一个可移动的开发平台,压缩后的根文件系统完全可以放在一个标准的 USB盘中。

  3 coLinux的工作原理

  coLinux在 Windows操作系统中作为一个进程执行。可以认为 coLinux是 Linux操作系统与 Windows操作系统之间的一个接口。两种操作系统通过将处理器(CPU)的控制权转让给彼此从而达到协作(Cooperative)的目的。它们通过使用内核驱动程序共享网络接口、串口等物理资源。

  

  coLinux是一个修改过的 Linux 内核,它可以与另一个操作系统协作运行。宿主机(host)操作系统控制本机的硬件资源,而访客(guest)操作系统只得到本机硬件的虚拟抽象。主机操作系统提供了以特权级别(ring 0)执行驱动程序的方法,并提供了分配内存的方法。

  

  Linux 内核所需的其他特性(比如网络连接、串口或视频访问)通过外部代理来实现,

  比如 coLinux 可以通过 TUNTAP驱动程序访问外部网络,通过代理访问显示器( X Window System)等。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭