搜档网
当前位置:搜档网 › Linux 集群文件系统简介

Linux 集群文件系统简介

Linux 集群文件系统简介
Linux 集群文件系统简介

Linux 集群文件系统简介

作者Sheryl Calish

集群文件系统在多个方面完善了Oracle RAC 的数据库集群功能。以下是它们的对比情况。

通常,集群只是一组作为单一系统运行的服务器(PC 或者工作站)。但是,这个定义的外延不断显著扩大;集群技术现在不但是一个动态领域,而且其各种应用程序正不断吸收新的特性。此外,集群文件系统技术(无论是开放源代码的还是专有的)在其功能方面正在迅速趋同。

很多人谈到集群应用程序和其中所使用的文件系统软件时,就象它们完全是一回事似的。更准确地说,大多数集群包含两个主要组件:通过快速网络连接共享存储介质的服务器和充当软件“粘合剂”使集群节点保持协作的文件系统。

在“Linux 文件系统精通指南”一文中,我解释了文件系统方法和数据结构如何提供硬盘分区物理结构的用户级视角。虽然各项目之间有所不同,但集群文件系统为集群的多个节点所做的工作是相同的:它们使所有节点看上去都象是单一系统的一部分,同时允许集群的所有节点进行并发的读写操作。

在本篇后续文章中,我们将从较高角度来介绍集群文件系统之间的总体差别以及Oracle 真正应用集群(RAC) 环境的某些特性。刚接触集群、Linux 文件系统或Oracle RAC 的数据库管理员或系统管理员会发该文很有教育意义。

集群应用程序简介

集群应用程序具有各种级别的成熟度和功能。它们包括:

?高性能集群也称为并行集群或计算集群,通常用于那些支持大量计算处理的系统。在这些集群中,并行文件系统在节点间分配处理资源,因而允许每个节点通过并发的读写同时访问同一文件。

NASA 在二十世纪九十年代初期开发的Beowulf Linux 集群就是最常见的示例。

?高可用性(HA) 集群专门为容错或冗余而设计。因为这些集群通常使用一个或多个服务器进行处理,所以当一个或多个服务器停机时,这些服务器能够承担其他服务器的处理职责。

?负载平衡或负载均衡集群在多个服务器(通常是web 服务器)间尽可能平均地分配负载。

?存储集群用于SAN 和具有不同操作系统的服务器之间,提供对通用存储介质上的数据块的共享访问。

?数据库集群将Oracle RAC 作为平台,把许多集群文件系统特性引入到应用程序本身中。

这些集群应用程序具有重叠的特性,其中一个或多个特性通常可在单个集群应用程序中找到—尤其是在HA 和负载均衡集群中。例如,Oracle RAC 可以安装在HA 集群文件系统上,从而将数据库集群的优点引入HA 集群应用程序,如:

?共享资源—包括数据、存储器、硬盘和元数据—从而使多个节点看上去就像单一文件系统。

它们允许集群的所有成员同时读写文件系统。

?将存储设备集合到单个磁盘卷中,从而因无需进行数据复制而提高了性能

?可伸缩的容量、带宽和连接性

?单个系统映像,为所有节点提供相同的数据视图。

现在让我们来看一些可以选用的支持Oracle RAC 并具有集群感知的Linux 文件系统,以及它们如何完善Oracle RAC 的功能。

可以运行Oracle 的集群文件系统

Oracle RAC 技术已经提供了诸如负载均衡、冗余、故障切换、可伸缩性、高速缓存和锁定等特性,因此当Oracle 数据文件位于安装有传统Linux 文件系统(如ext2/ext3)的块设备上时会出现功能的重复。在这种情况下性能降低了,因为Oracle 和文件系统的高速缓存消耗了内存资源。

到写本文时为止,除了第三方集群文件系统之外,还有四种可选用的运行Oracle RAC 的文件系统。按Oracle 的推荐顺序,它们依次为:

1. Oracle 自动存储管理

2. Oracle 集群文件系统

3. 网络文件系统

4. 原始设备。

Oracle 自动存储管理(ASM)Oracle 的一个特点就是,无论它在哪种环境中运行,一旦您获得一个Oracle API,则所有的外观、体验和操作都相同。Oracle ASM 是Oracle 数据库10g的一个特性,它将这种一致的环境扩展到存储管理方面,使用SQL 语句、Oracle Enterprise Manager 网格控制或数据库配置助手程序来创建和管理存储内容和元数据。将ASM 用于Oracle 数据库10g数据文件存储被认为是最佳方法。

ASM 中的基本数据结构是磁盘组,它由一个或多个磁盘组成。在该语境中,“磁盘”可以是一个磁盘分区、一个完整的磁盘、一个级联磁盘、一个存储设备的分区或者一个完整的存储设备。

一定要认识到,ASM 并非通用集群文件系统。相反,ASM 是一个具有集群感知的文件系统,专门为处理Oracle 数据库文件、控制文件和日志文件而设计。ASM 不应与逻辑卷管理器(LVM) 共用,这是因为后者会使ASM 无法识别磁盘。

ASM 执行以下功能:

?通过磁盘头中的ASM ID 识别磁盘。

?在磁盘组中的所有存储器间动态分配数据,提供可选的冗余保护,并且具有集群感知能力。

?允许在Oracle 数据库处于完全运转状态时进行主要的存储操作—无需停机即可添加、删除、甚至将磁盘组移到新的存储阵列(尽管少见)

?当添加或删除磁盘时,进行自动负载均衡和重新均衡

?通过使用故障组,提供额外的冗余保护

?优化存储资源的使用。

当安装在原始设备或者安装在Oracle 所推荐的那些使用ASM 库驱动程序的块设备上时,ASM 自身作为实例来运行,该实例先于数据库实例启动。它使DBA 能够创建、扩展和缩小磁盘,并将这些变化映射到共享访问这些组的其他节点上的磁盘组。数据库实例能够在集群的多个节点间共享存储器的集群池。ASM 由Oracle 通用安装程序安装。如果将ASM 添加到一个现有的数据库中,则要确保将数据库设置为从属于ASM 实例,以便在启动时ASM 实例先于所从属数据库启动。例如:

$ srvctl modify instance -d O10G -i O10G1 -s +ASM1

使o10G1 实例从属于+ASM1 实例。

ASM 实例与Oracle 数据库实例的区别表现在以下几方面:

1. 尽管可以使用几个V$ 视图来获得关于ASM 实例的信息,但没有数据字典:

V$ASM_DISKGROUP、V$ASM_CLIENT、V$ASM_DISK、V$ASM_FILE、V$ASM_TEMPLATE、

V$ASM_ALIAS 和V$ASM_OPERATION。

2. 您只能以SYSDBA 或SYSOPER 连接ASM 实例。

3. 有五个初始化参数用于ASM 实例,其中INSTANCE_TYPE 是必要的,并应该设置如下:

INSTANCE_TYPE = ASM。

在ASM 实例中,DBA 可以使用SQL 语法或Enterprise Manager 来:

1. 使用一个或多个磁盘为存储池定义一个磁盘组

2. 在磁盘组中添加和删除磁盘

3. 定义一个故障组来增加数据冗余保护。通常这是磁盘组中一系列需要不间断运行的磁盘,它们共

享一种共用资源,如控制器。

可以通过Enterprise Manager 或通过V$ASM 视图监视ASM 磁盘组的状态。您还可以在创建数据库结构时在一个数据库实例中引用它们来分配存储器。

当您创建表空间、重做日志、归档日志文件和控制文件时,通过在初始化参数或者在DDL 中指定磁盘组,您可以从数据库实例中引用ASM 磁盘组。

有关ASM 的更多详细信息,请参见Lannes Morris-Murphy 的OTN 文章“自动的存储”、Arup Nanda 的“Oracle 数据库10g:为DBA 提供的最重要的20 个特性”中的ASM 部分以及Oracle 数据库管理员指南10g 第1 版(10.1)的第12 章。

Oracle 集群文件系统(OCFS) OCFS 专门为支持Oracle RAC 应用程序的数据和磁盘共享而设计。它在RAC 集群的服务器节点间提供一致的文件系统映像,充当原始设备的替身。除了简化集群数据库管理外,它还在保持原始设备性能优势的同时克服了原始设备的局限性。

OCFS 第1 版支持Oracle 数据文件、spfile、控制文件、仲裁磁盘文件、归档日志、配置文件以及Oracle 集群注册表(OCR) 文件(Oracle 数据库10g中的新文件)。设计它不是为了使用其他文件系统的文件,甚至不是为了使用那些必须在集群每个节点上安装的Oracle 软件—除非您使用第三方解决方案。此外,OCFS 不提供诸如I/O 分配(分割)等LVM 功能,也不提供冗余功能。

Oracle 支持用于32 位和64 位发行版本的Red Hat Advanced Server 2.1、Red Hat Enterprise Linux 3 和Novell SUSE (United Linux) 上的OCFS 第1 版中的Oracle 数据库,该数据库需要从可下载的二进制文件进行安装。如果您自己对其进行重新编译,则Oracle 不提供支持。

有三种不同的rpm 程序包:

?OCFS 内核模块,针对Red Hat 和United Linux 的分发版本各不相同。请认真验证您的内核版本:

?$ uname -a

?Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

?OCFS 支持程序包

?OCFS 工具程序包。

当您下载了这些rpm 程序包后,执行以下安装步骤:

1. 在下载了rpm 程序包的目录中执行rpm -Uhv ocfs*.rpm命令安装这些程序包。

2. 确认已启用引导时自动挂载。

3. 自动使用ocfstool 在集群中的每个节点上配置OCFS。还可以使用手动配置方法,详情请见

OCFS 用户指南。这一步骤的最后结果是创建了/etc/ocfs.conf 文件,用于配置OCFS。

4. 运行ocfs load_ocfs,确保在启动时加载OCFS。

5. 使用ocfstool命令和GUI 环境或mkfs.ocfs来格式化OCFS 分区。

6. 手动挂载OCFS 分区,或者在/etc/fstab 中添加一项来实现自动挂载。

有关这些步骤的更详细说明,请参见“最佳实践”文档。

因为OCFS 第 1 版没有编写成符合POSIX 标准,所以诸如cp、dd、tar 和textutils 等文件命令需要coreutils 提供一个O_DIRECT 开关。该开关使这些命令能够如同预期那样用于Oracle 数据文件,即使Oracle 正在对这些相同的文件进行操作(只有当您运行第三方软件进行热备份时才会出现问题)。使用RMAN 可以完全避免这个问题。如果您仍然需要使用这些功能来完成各种维护任务;可以从https://www.sodocs.net/doc/0917965367.html,/projects/coreutils/files 下载能够实现这些命令的OCFS 工具。

相反,OCFS 第 2 版(到2005 年3 月时仍为测试版)符合POSIX 标准,并且支持Oracle 数据库软件,它可以安装在一个节点上并在集群的其他节点间共享。除了共享的ORACLE_HOME 外,OCFS 第2 版的其他新特性还包括改进的元数据数据高速缓存、空间分配和锁定。此外还有改进的日志和节点恢复功能。

网络文件系统(NFS)虽然ASM 和OCFS 是Oracle RAC 的首选文件系统,但Oracle 还支持经过认证的网络文件服务器上的NFS。NFS 是分布式文件系统,本文不对其作全面讨论。有关更多信息,请访问NFS 主页。

原始设备过去有一段时间内,原始设备是运行Oracle RAC 的唯一选择。原始设备就是一个没有安装文件系统的磁盘驱动器,可以被分成多个原始分区。原始设备允许绕过文件系统缓冲区高速缓存直接访问硬件分区。

要让Oracle RAC 使用原始设备,必须在安装Oracle 软件之前通过Linux raw命令将一个块设备绑定到该原始设备:

# raw /dev/raw/raw1 /dev/sda

/dev/raw/raw1:bound to major 8, minor 0

# raw /dev/raw/raw2 /dev/sda1

/dev/raw/raw2:bound to major 8, minor 1

# raw /dev/raw/raw3 /dev/sda2

/dev/raw/raw3:bound to major 8, minor 2

在绑定后,您可以使用raw命令来查询所有原始设备。

# raw -qa

/dev/raw/raw1:bound to major 8, minor 0

/dev/raw/raw2:bound to major 8, minor 1

/dev/raw/raw3:bound to major 8, minor 2

major 和minor 数值确定了该内核的设备位置和驱动程序。major 数值确定了总的设备类型,而minor 数值确定了属于该设备类型的设备数量。在上述示例中,major 8 是SCSI 磁盘/dev/sda 的设备类型。

请注意,设备不需要处于可访问状态即可运行上述命令。当我为了演示而运行上述命令时,我的系统没有连接任何SCSI 磁盘。这些命令的效果在我下一次重新启动后将会消失,除非我将这些命令放在类似

/etc/init.d/boot.local 或/etc/init.d/dbora 的引导脚本中,每当我的系统引导时,就会运行这些脚本。

在将块设备映射到原始设备后,您仍然需要确保原始设备属于oracle 用户和oinstall 组。

# ls -l /dev/raw/raw1

crw-rw---- 1 root disk 162, 1 Mar 23 2002 /dev/raw/raw1

# chown oracle:oinstall /dev/raw/raw1

# ls -l /dev/raw/raw1

crw-rw---- 1 oracle oinstall 162, 1 Mar 23 2002 /dev/raw/raw1

然后您可以在Oracle 数据文件与原始设备之间使用符号链接,以便使事情更易于管理。

Linux 内核2.4 版中的原始设备限制中包括每分区一个原始设备的限制和每系统255 个原始设备的限制。Novell SUSE Enterprise Linux 带有63 个原始设备文件,但可以使用mknod命令(需要有根权限)创建最多255 个原始设备。

# ls /dev/raw/raw64

ls:/dev/raw/raw64:No such file or directory

# cd /dev/raw

linux:/dev/raw # mknod raw64 c 162 64

# ls /dev/raw/raw64

/dev/raw/raw64

以上的mknod命令需要设备名、设备类型以及major 和minor 数值。本示例中的设备名是“raw64”,设备类型是“c”(表示它是一个字符设备)。该新设备的major 和minor 数值分别是162 和64。另外,Novell SUSE 用户可以通过运行orarun rpm 来安装这些设备。

使用原始设备的其他缺点包括:

?一个磁盘的原始分区数量限制为14。

?不支持Oracle 管理文件(OMF)。

?无法重新调整原始设备分区的大小,因此如果空间不足,则必须创建另一个分区来添加数据库文件。

?原始设备显示为未使用空间,这可能导致其他应用程序将其覆盖。

?向原始设备进行写操作的唯一方法是使用低级命令dd,该命令在设备或文件之间传输原始数据。

但是,您需要格外小心,确保恰当协调内存和磁盘上的I/O 操作。

?一个原始分区只能拥有一个数据文件、一个控制文件或一个重做日志等等。如果您不使用ASM,则您需要为每个与表空间关联的数据文件提供一个独立的原始设备。但是,一个表空间可以在不同的原始设备分区中拥有多个数据文件。

结论

Oracle RAC 提供了一个文件系统(集群的或非集群的)所具有的很多功能,最大程度地减轻了文件系统本身的工作。如前所述,所需要的只是一个对Oracle RAC 现有的、内在的数据库集群功能进行补充的文件系统。尽管OCFS、NFS 和原始设备也可能是可行的方法,但在大多数情况下,ASM 会最大程度地实现这一目的,从而被视为Oracle 的最佳实践。还可以将ASM 用于数据文件,OCFS 用于表决磁盘、OCR 和Oracle 主目录,以及在NFS 存储器上使用ASM。

将来我们还可以期待另一个方法,就是OCFS 第 2 版能够使用共享的Oracle 主目录,从而完善ASM 上的共享存储器。

Sheryl Calish(scalish@https://www.sodocs.net/doc/0917965367.html,) 是Blue Heron Consulting 的一位专门研究Linux 的Oracle 开发人员。她还是佛罗里达州Oracle 用户群的基金会主席和IOUG Linux SIG 的销售主席。

什么是嵌入式linux系统

什么是嵌入式linux系统? 一、什么是嵌入式linux? Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在新兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几K或者几M字节的存储器芯片或者单片机中,适合于特定嵌入式应用场合的专用Linux操作系统。嵌入式Linux既继承了intelnet上无限的开放原代码资源,又具有嵌入式操作系统的特性。 二、嵌入式Linux的特点版权费:免费; 购买费用:媒介成本; 技术支持:全世界的自由软件开发者提供支持; 网络特性:免费而且性能优异; 软件移植:容易,代码开放,有许多应用软件支持; 应用产品开发周期:短,新产品上市迅速,因为有许多公开的代码可以参考和移植; 实时性能:RT_Linux,hardhat Linux 等嵌入式Linux支持实时性能; 稳定性:好; 安全性:好。 三、嵌入式Linux的市场前景和商业机会 嵌入式Linux有巨大的市场前景和商业机会,出现了大量的专业公司和产品,如Montavista、Lineo、Emi等。有行业协会,如Embedded Linux Consortum等。得到世界著名计算机公司和oem板级厂商的支持,例如IBM、Motorola、Intel等。传统的嵌入式系统厂商也采用了Linux策略如Lynxworks 、Windriver、QNX等。还有intelnet上的大量嵌入式Linux 爱好者的支持。嵌入式Linux支持几乎所有的嵌入式cpu和被移植到几乎所有的嵌入式oem板。 四、嵌入式Linux的应用领域嵌入式Linux的应用领域非常广泛,主要的应用领域有,信息家电:PDA,STB-Set-stopbox,Digital Telephone,Answering Machine,Screen Phone、数据网络:Ethernet switches,Router,Bridge,Hub,Remote access servers,ATM,Frame relay、远程通信、医疗电子、交通运输、计算机外设、工业控制、航空领域等。 五、嵌入式linux的优势嵌入式Linux的开发和研究是操作系统领域中的一个热点,目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。Linux之所以能在嵌入式系统市场上取得如此辉煌的成果,与其

Websphere for Linux集群安装和配置

前言 目前天安保险的WAS环境中有5台服务器,每台服务器配成一个node,每个node上配置了2个application server,组成了一个ND的环境。前台有一台F5做负载均衡,后面连接了1套oracle RAC的数据库。但5个node之间没有做成集群。为了保证Websphere系统高可用性,提高系统性能和负载均衡,考虑配置成集群,下面说明创建、配置集群的整个过程与注意事项。 1. 集群系统架构 操作系统:Linux version 2.6.18-8.el5 Websphere版本:WAS6.1ND 根据天安的环境,可使用如下拓扑: 其中cisapp1~cisapp5表示5台WebSphere,cisCluster表示5台做成一个cluster,dmgr一般是5台中的一台。

2. 创建集群(含session复制) (截图为我本机测试截图,只是示意图,与天安保险的节点名和集群名不符) 在DMGR控制台中,选择集群,然后新建。 注意:先创建一个空的集群,然后我们再向该集群中添加成员即可。 这里还要注意勾选“配置HTTP会话内存到内存复制”,这样就能使session 在集群内共享,比如用户登录,加入被集群分配给node1来处理,用户的登录信息就会被保存在session中,如果此时node1宕机了,用户就会被分配到其他节点来处理而不会要求重新登录。 如果在创建集群时没有勾选此选项,也可按如下方式操作: 配置会话复制 服务器 --> 应用程序服务器 --> 选择集群成员 --> 容器设置:会话管理--> 其他属性:分布式环境设置 --> 确认分布式会话选择的是内存到内存复制,其他属性:定制调整参数 --> 调整级别: 低(故障转移优化) 写频率 servlet服务结束

嵌入式Linux应用软件开发流程

从软件工程的角度来说,嵌入式应用软件也有一定的生命周期,如要进行需求分析、系统设计、代码编写、调试和维护等工作,软件工程的许多理论对它也是适用的。 但和其他通用软件相比,它的开发有许多独特之处: ·在需求分析时,必须考虑硬件性能的影响,具体功能必须考虑由何种硬件实现。 ·在系统设计阶段,重点考虑的是任务的划分及其接口,而不是模块的划分。模块划分则放在了任务的设计阶段。 ·在调试时采用交叉调试方式。 ·软件调试完毕固化到嵌入式系统中后,它的后期维护工作较少。 下面主要介绍分析和设计阶段的步骤与原则: 1、需求分析 对需求加以分析产生需求说明,需求说明过程给出系统功能需求,它包括:·系统所有实现的功能 ·系统的输入、输出 ·系统的外部接口需求(如用户界面) ·它的性能以及诸如文件/数据库安全等其他要求 在实时系统中,常用状态变迁图来描述系统。在设计状态图时,应对系统运行过程进行详细考虑,尽量在状态图中列出所有系统状态,包括许多用户无需知道的内部状态,对许多异常也应有相应处理。 此外,应清楚地说明人机接口,即操作员与系统间地相互作用。对于比较复杂地系统,形成一本操作手册是必要的,为用户提供使用该系统的操作步骤。为使系统说明更清楚,可以将状态变迁图与操作手册脚本结合起来。

在对需求进行分析,了解系统所要实现的功能的基础上,系统开发选用何种硬件、软件平台就可以确定了。 对于硬件平台,要考虑的是微处理器的处理速度、内存空间的大小、外部扩展设备是否满足功能要求等。如微处理器对外部事件的响应速度是否满足系统的实时性要求,它的稳定性如何,内存空间是否满足操作系统及应用软件的运行要求,对于要求网络功能的系统,是否扩展有以太网接口等。 对于软件平台而言,操作系统是否支持实时性及支持的程度、对多任务的管理能力是否支持前面选中的微处理器、网络功能是否满足系统要求以及开发环境是否完善等都是必须考虑的。 当然,不管选用何种软硬件平台,成本因素都是要考虑的,嵌入式Linux 正是在这方面具有突出的优势。 2、任务和模块划分 在进行需求分析和明确系统功能后,就可以对系统进行任务划分。任务是代码运行的一个映象,是无限循环的一段代码。从系统的角度来看,任务是嵌入式系统中竞争系统资源的最小运行单元,任务可以使用或等待CPU、I/O设备和内存空间等系统资源。 在设计一个较为复杂的多任务应用系统时,进行合理的任务划分对系统的运行效率、实时性和吞吐量影响都极大。任务分解过细会不断地在各任务之间切换,而任务之间的通信量也会很大,这样将会大大地增加系统的开销,影响系统的效率。而任务分解过粗、不够彻底又会造成原本可以并行的操作只能按顺序串行执行,从而影响系统的吞吐量。为了达到系统效率和吞吐量之间的平衡折中,在划分任务时应在数据流图的基础上,遵循下列步骤和原则:

嵌入式Linux系统期末考试简答题、运用题

简答题与应用题 什么是嵌入式系统?主要有什么特点? 以应用为中心,以计算机技术为基础的, 并且软件硬件是可剪裁的, 能满足应用系统对功能、 可靠性、成本、 体积、功耗等指标的严格要求的专用计算机系统。他可以实现对其他设备的控制、监视或者管理等功能。 与通用的 计算机系统相比,特点为: (1) (2) (5) 嵌入式系统通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。 4、什么是Linux ?什么是嵌入式 Linux ? 答:严格来讲,Linux 是指由Linux 本人维护并不断更新的内核 。 一个嵌入式Linux 系统指的是一个基于 Linux 内核的,但不包含有关这个内核的任何专业的库或是用户工具 的嵌入式系统。 Linux 内核构建嵌入式操作系统有什么优势(优良特性)? 程度代码是可以获取的,可靠度高; 有完整的源码,软件丰富并且免费; 得到众多硬件生产家的广泛支持;包括 cpu 、计算机外 围设备 完善的通信协议、软件标准和文件管理机制; 提供完全免费且优秀的开发工具; 广泛的社群支持 无需购买lice nee ,是免费的; 不依赖特定厂商、供应商; 成本相对低廉。 6、 RTOS (嵌入式操作系统)强调的实时是什么概念?与中断的关系? 答:实时指的是特定操作所消耗的时间(以及空间)的上限是可预知的。操作系统能够在规定响应时间内完成客 户服务程序。中断程序响应中断并完成 是在固定时间内。 7、什么是实时LinUX ?涉及到哪些软硬件内容? 答:实时LinUX ( RT-Linux )通过在Linux 内核与硬件中断之间增加一个精巧的可抢先的实时内核 ,把标准的Linux 内核作为实时内核的一个进程与用户进程一起调度 ,标准的Linux 内核的优先级最低,可以被实时进程抢断。 正 常的Linux 进程仍可以在Linux 内核上运行,这样既可以使用标准分时操作系统即 Linux 的各种服务,又能提 供低延时的实时环境。它在硬件上涉及到硬件中断,软件上涉及到对高优先级的实时硬件中断的快速响应。 能在规定的时间内完成对突发事件的处理的 Linux 系统; 软件:中断服务程序、进程调度程序,硬件:嵌入式系统所采用的中断管理硬件。 8、试简要说明Linux 内核构成,并简要说明各部分的功能? 答: MMU :内存管理单元,完成地址映射(应用虚拟地址方式) VFS :虚拟文件管理系统,提供了统一管理计算机资源的途径。使统一规范计算机资源的使用格式成为可能,方 1、 答: 面向特定应用,一般都有实时要求; 集先进性的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集 成系统; 嵌入式系统是和具体应用对象有机结合在一起,因而其升级换代也是和具体的产品同步进行的。 嵌入式系统的软 硬件设计着重于高效率性。在最大限度满足应用需求的前提下,降低成本是必须要 考虑的主要问题。 嵌入式系统软件一般都固化在存储器芯片中。 (3) (4) 5、 用 答:( 1) (2) (3) (4) (5) (6) (7) (8) () 2、 答: 3、嵌入式操作系统的作用是什么?

was8.5.5 linux集群部署

概述 linux集群部署,记录关键的几个步骤如下: 1.做两个InstallationManager安装工具,一个控制平台(79),一个HIS(78),两个node 2.服务器获取文件,sftp root@10.224.130.18p@ssw0rd 3.get /opt/software/IBM/agent.zip /opt/software/IBM/ exit 安装InstallationManager # 78、79上安装InstallationManager cd /opt/software mkdir agent unzip -q agent.zip -d agent cdagent /tools ./imcl install com.ibm.cic.agent -repositories ../repository.config -acceptLicense 安装WAS AS 8.5.5 #两个服务器都安装WAS mkdir WAS_ND_V8.5.5_3 unzip -q -d WAS_ND_V8.5.5_3 WAS_ND_V8.5.5_1_OF_3.zip unzip -q -d WAS_ND_V8.5.5_3 WAS_ND_V8.5.5_2_OF_3.zip unzip -q -d WAS_ND_V8.5.5_3 WAS_ND_V8.5.5_3_OF_3.zip cd /opt/IBM/InstallationManager/eclipse/tools/ ./imcllistAvailablePackages -repositories /opt/software/IBM/WAS_ND_V8.5.5_3 ./imcl install com.ibm.websphere.ND.v85_8.5.5000.20130514_1044 -repositories /opt/software/IBM/WAS_ND_V8.5.5_3 -acceptLicense 安装HIS #78 安装HIS mkdirWAS_V8.5.5_SUPPL unzip -q -d WAS_V8.5.5_SUPPLWAS_V8.5.5_SUPPL_1_OF_3.zip unzip -q -d WAS_V8.5.5_SUPPLWAS_V8.5.5_SUPPL_2_OF_3.zip

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

嵌入式Linux系统

10-1 嵌入式Linux系统概述 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 Linux在所有的操作系统中,Linux 是一个发展最快、应用最为广泛的操作系统。 所谓嵌入式Linux,是指Linux 在嵌入式系统中应用,而不是什么嵌入式功能。实际上,嵌入式Linux 和Linux 是同一件事。 10-2 Linux启动过程综述 一. Bootloader 二.Kernel引导入口 三.核心数据结构初始化--内核引导第一部分 四.外设初始化--内核引导第二部分 五.init进程和inittab引导指令 六.rc启动脚本 七.getty和login 八.bash 附:XDM方式登录 Bootloader 简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。 在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等),firmware有ARC、SRM两种形式,ARC具有类BIOS界面,甚至还有多重引导的设置;而SRM

LINUX中使用IPVSADM配置LVS集群的基本方法

LVS集群有DR、TUN、NAT三种配置模式,可以对www服务、FTP服务、MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置。 一、 Director Server的配置 在Director Server上配置LVS负载均衡集群,有两种方法: a. 通过ipvsadm命令行进行配置 b. 通过Redhat提供的工具piranha来配置LVS 通过ipvsadm命令行方式配置LVS 安装IPVS后,就可以配置LVS集群了,首先在Director Server上绑定一个虚拟IP(也叫VIP),此IP用于对外提供服务,执行如下命令: 复制代码 代码如下: [root@localhost ~]#ifconfig eth0:0 192.168.60.200 broadcast 192.168.60.200 netmask 255.255.255.255 up 此处在eth0设备上绑定了一个虚拟设备eth0:0,同时设置了一个虚拟IP是192.168.60.200,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.60.200,需要特别注意的是,这里的子网掩码为255.255.255.255。 然后给设备eth0:0指定一条路由,执行如下指令: 代码如下: [root@localhost ~]#route add -host 192.168.60.200 dev eth0:0 接着启用系统的包转发功能,从而使系统充当路由器,执行如下指令: 代码如下: [root@localhost ~]#echo 1 ;/proc/sys/net/ipv4/ip_forward 指令中,参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是必须的,而在NAT模式下此操作是必须的。 然后开始配置ipvs,执行如下操作:

嵌入式LINUX试题

一、单项选择题 1.在宿主机上开启tftp服务时,所要修改的配置文件为()A./etc/exports B./etc/xinetd.d C.以上都不对 D./etc/xinetd.d/tftp 答案:D 2.内核在配置结束后,会将用户的选择结果保存在文件()中A.defconfig B.config C.default D..config 答案:D 3.u-boot指令中,下载文件的命令是() A.setenv B.reset C.tftp D.ping 答案:C 4.Kconfig文件中生成新的配置菜单使用() A.menu B.help C.default D.config 答案:A 5.在内核解压缩目录的Makefile文件中修改的ARCH变量实际是在指定()A.优化参数 B.目标系统架构 C.交叉编译器 D.编译参数 答案:B 6.在构建嵌入式linux平台过程中,具备开发能力的计算机我们称之为()A.计算机 B.宿主机 C.服务器 D.目标系统 答案:B 7.内核在编译时所依赖的编译规则文件是() A..config B.Makefile C.Make D.File 答案:B 8.linux下所使用的串口调试工具是()

B.nfs C.minicom D.tftp 答案:C 9.内核配置菜单生成时所依赖的文件是() A.config B.Kconfig C.Makefile D.kconfig 答案:B 10.U-Boot下tftp下载文件到目标系统的内存当中,在内存当中默认的地址是()A.0x30000000 B.0x30008000 C.0x30000100 D.0x30080000 答案:B 11.在操作过程中,内核编译所生成的内核压缩可执行文件是()A.s3c2440 B.linux-2.6.32.2 C.zImage D.选项均不真确 答案:C 12.系统环境变量中用来作为可执行文件搜索路径的变量是(); A.PWD B.HISTORY_SIZE C.LD_LIBRARY_PATH D.PATH 答案:D 13.创建设备文件有手动创建与自动创建之分,那么手动创建时标示设备所属种类时是用()来区分的。 A.次设备号 B.num C.-m D.主设备号 答案:D 14.嵌入式系统是面向()、实现特定功能的、软硬件可裁剪的计算机控制系统; A.家庭 B.特定领域 C.工厂 D.学校 答案:B 15.在Linux下,打补丁时所使用的命令是() A.patch

嵌入式LINUX系统的实现

嵌入式LI N UX系统的实现 检修厂 王小康 摘 要 嵌入式系统正变得越来越流行。被广泛地应用在各种网络设备、控制设备以及个人的数字工具如PDA中。文章论述了作者在嵌入式操作系统领域里所做的研究和实践工作,主要的工作围绕着将L i nux改造成嵌入式操作系统所进行的具体工作展开,包括单板配置代码,系统的引导与修改,核心映象定制与修改和调试工作。 1 引言 在当今数字信息技术、网络技术高速发展与发达的后PC时代,嵌入式系统无处不在,并将不断涌现出新的嵌入式应用系统。传统的操作系统软件[1][2]很难有效地支持嵌入式应用系统的快速开发,因而研究与开发嵌入式操作系统,对有效的支持广大的嵌入式应用系统开发具有重大意义,是十分必要的。L i n ux正在向嵌入式领域的各个方面进军,在不久的将来,我们可以发现嵌入式L i n ux的广泛的应用:各种车载嵌入式设备(GPS,电子地图)、消费电子设备、手持电脑(H PC,PDA)、蜂窝电话、Internet接入设备、工控设备以及各种网络的基础设施(网管设备,路由,网关,交换器,HUB等)[3]。 本文是围绕着嵌入式L i n ux系统的实现展开的。首先介绍嵌入式L i n ux系统的硬件结构和软件结构;然后对基于L i n ux的嵌入式实时操作系统的实现过程进行详细的阐述;最后是简短的总结。 2 嵌入式L inux系统的硬件结构 嵌入式L i n ux系统硬件系统是个微形化的专用PC,它包括系统主机扳、通讯接口板、图象处理和显示板、输入控制板以及存储板等。主机板可采用嵌入式X86CPU系列,图象处理和显示板能支持MPEG数字解压缩和电视终端显示,输入控制包括遥控键盘、遥控器和其他一些输入设备接口,存储板主要 要求。 7 设计报警和连锁保护系统 报警系统的作用在于及时提醒操作人员密切注意监视生产状况,以便采取措施减少事故的发生,连锁保护系统是指当生产出现严重事故时,为保证设备和人身的安全,使各个设备按一定次序紧急停下来。在焙烧炉的炉顶温度控制中,根据工艺要求,一个高限报警温度为480度;三个连锁保护温度设定,一个超高限报警温度自动连锁烧嘴,引起烧嘴自动熄火,从而立即引起调节阀的自动关闭,防止煤气流入焙烧炉,一个低限位报警温度用来连锁模式的切换,使模式从酸模式自动切换到水模式,另一个超低限位报警温度用来连锁三个喷枪,使得三个喷枪自动从焙烧炉提升出来,从而保护喷枪。 8 控制系统的调试和运行状况 控制系统安装完成后,应随生产过程进行试运行,按控制要求检查和调整各控制仪表和设备的工作状况,包括调节器的P、I等参数整定,依次将全部控制系统投入运行,在从投入运行到现在有半年多的时间了,发现焙烧炉的炉顶温度控制效果好,系统运行比较稳定。 20

DM7集群部署方案之数据共享集群Linux(2节点)

DM7集群部署方案之数据共享集群 Linux(2节点) 武汉达梦数据库有限公司 2019年9月

版本历史

目录 1 前期准备工作 (1) 1.1硬件准备 (1) 1.2网络架构 (1) 1.3硬件环境建议 (1) 1.4硬件环境环境验证 (2) 1.5集群规划 (2) 1.6修改主机名 (2) 1.7关闭防火墙 (3) 1.8网卡自启 (3) 1.9修改系统参数 (3) 2 创建目录并安装数据库 (3) 2.1A机器 (3) 2.2B机器 (4) 3 存储准备 (4) 3.1划存储 (4) 3.2挂存储方法1:直接挂 (4) 3.3挂存储方法2:多路径绑定 (5) 4 搭建DSC (6) 4.1配置DMDCR_CFG.INI (6) 4.2初始化磁盘组 (7) 4.3配置DMASVRMAL.INI (7) 4.4配置DMDCR.INI (7) 4.5启动CSS、ASM服务 (8) 4.6创建DMASM磁盘组 (9) 4.7配置DMINIT.INI (9) 4.8初始化数据库 (9) 4.9配置DMARCH.INI (10)

4.10启动DMSERVER服务 (10) 4.11设置后台启动脚本 (11) 4.12启停集群 (12) 5 配置监视器 (13) 5.1配置DMCSSM.INI (13) 5.2启动监视器 (13) 6配置DM_SVC.CONF文件 (13) 6.1 DM_SVC.CONF配置内容 (13) 6.2应用连接 (14) 7附加操作 (14) 7.1操作系统/数据库调优 (14) 7.2数据库备份 (14) 7.3项目管理维护 (14)

Torque在Linux集群上的安装配置

服务器的基本状况: 一个2T硬盘的前端存储节点,名称为tccl_front;9台8核的计算节点,名称分别为tccl01-tccl09。操作系统为CentOS 5.3 x86_64版本的Linux系统。 NIS服务已经配置好,存储节点的磁盘用NFS挂载在每个计算节点上作为共享磁盘。所有的应用软件都安装在此共享磁盘上。 1.ssh免密码登录.对每个用户都要设置。 2.下载Torque,解压缩,编译。 目前,torque 2.3是稳定版本,2.4是beta版本。为了稳定,我下载的是2.3.9版本。下载地址: https://www.sodocs.net/doc/0917965367.html,/downloads/torque 在PBS服务器节点上: tar xvfz torque-2.3.9.tar.gz configure需要加参数 ./configure --enable-docs --with-scp --enable-syslog make make packages make install 将torque-package-mom-linux-i686.sh,torque-package-clients-linux-i686.sh安装到计算节点上。 将这两个文件拷贝到计算节点上(或者是共享磁盘上),登录进计算节点,运行: ./torque-package-mom-linux-i686.sh --install ./torque-package-clients-linux-i686.sh --install 可以使用dsh之类的工具来辅助。或者手工写一个脚本来完成这些工作。 3.配置pbs_mom为服务 在torque源码包contrib目录中有一个文件 cp contrib/init.d/pbs_mom /etc/init.d/pbs_mom chkconfig --add pbs_mom 在所有的机器(pbs服务器和计算节点)上都需要如此设置。 写脚本来完成吧!比如 for i in `seq 1 9` do echo tccl0$i ssh tccl0$i "some command" done 4.配置torque 1) ldconfig 2) Specify Compute Nodes 编辑文件 /var/spool/torque/server_priv/nodes 内容如下(注意,这里使用的都是机器的简称,与使用免密码登录时的机器名称相同):

嵌入式linux下的文件系统

嵌入式linux下常见的文件系统RomFS:只读文件系统,可以放在ROM空间,也 可以在系统的RAM中,嵌入式linux中常用来作 根文件系统 ?RamFS:利用VFS自身结构而形成的内存文件系 统,使用系统的RAM空间 ?JFFS/JFFS2:为Flash设计的日志文件系统?Yaffs:专门为Nand Flash设计 ?proc:为内核和内核模块将信息发送给进程提 供一种机制,可以查看系统模块装载的信息?devFS:设备文件系统 Linux上的Ext2fs ?支持4 TB 存储、文件名称最长1012 字符 ?可选择逻辑块 ?快速符号链接 ?Ext2不适合flash设备 ?是为象IDE 设备那样的块设备设计的,逻辑块大小必 须是512 byte、1 KB、2KB等 ?没有提供对基于扇区的擦除/写操作的良好管理 ?如果在一个扇区中擦除单个字节,必须将整个扇区复制到RAM,然后擦除,再重写入

?在出现电源故障时,Ext2fs 是不能防止崩溃的 ?文件系统不支持损耗平衡,缩短了flash的寿命 jffs/jffs2文件系统的优缺点 ?日志文件系统 ?提供了更好的崩溃、掉电安全保护 ?jffs2支持对flash的均匀磨损 ?在扇区级别上执行闪存擦除/写/读操作要 比Ext2文件系统好 ?文件系统接近满时,JFFS2 会大大放慢运行 速度——垃圾收集 Nand上yaffs文件系统的优势 ?专门为Nand flash设计的日志文件系统 ?jffs/jffs2不适合大容量的Nand flash ?jffs的日志通过jffs_node建立在RAM中,占用RAM空间:对于128MB的Nand大概需要4MB的空间来维护节点 ?启动的时候需要扫描日志节点,不适合大容量 的Nand flash ?FAT系统没有日志 编译yaffs文件系统 ?mtd的最新补丁升级? ?接口更新,适合与yaffs

嵌入式Linux系统开发教程很完整的习题答案

嵌入式Linux系统开发教程很完整的习题答案

参考答案 第一章 一、填空题。 1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力以实现某些特定的功能。 2、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。 4、嵌入式处理器目前主要有ARM、MIPS、Power PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32位双指令集,全球合作伙伴众多。 5、常见的嵌入式操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。 6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。 二、选择题 1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:、存储器(SDRAM、ROM等)、设备I/O接口等。(A) A、嵌入式处理器 B、嵌入式控制器 C、单片机 D、集成芯片 2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。(D) A、分时多任务操作系统 B、多任务操作系统 C、实时操作系统 D、实时多任务操作系统 3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是。(B) A、Palm B、VxWorks C、Linux D、WinCE [在此处键入]

Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

Linux平台Apache双机高可用集群 + Tomcat负载均衡集群配置手册

在这个配置手册中,使用的操作系统和软件清单如下: 操作系统: RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装) 软件: jdk-1_5_0_15-linux-amd64.bin Tomcat5.5.26 httpd-2.0.63.tar.gz jakarta-tomcat-connectors-jk2-src-current.tar.gz ipvsadm-1.24.tar.gz libnet.tar.gz heartbeat-2.1.3-3.el4.centos.x86_64.rpm heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm 因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。 jdk-1_5_0_15-linux-amd64.bin JAVA环境包使用的是64位1.5版 Tomcat版本为公司指定的5.5版本 Apache为2.0.63版 jakarta-tomcat-connectors-jk2-src-current.tar.gz 是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载 ipvsadm-1.24.tar.gz libnet.tar.gz 这两个是用于2台Apache服务器虚拟一个IP地址使用 heartbeat-2.1.3-3.el4.centos.x86_64.rpm heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm 这3个软件是用于2台Apache服务器之间的心跳检测

嵌入式Linux系统期末考试简答题运用题

简答题与应用题: 1、什么是嵌入式系统?主要有什么特点? 答:以应用为中心,以计算机技术为基础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。他可以实现对其他设备的控制、监视或者管理等功能。 与通用的计算机系统相比,特点为: (1)面向特定应用,一般都有实时要求; (2)集先进性的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集成系统; (3)嵌入式系统是和具体应用对象有机结合在一起,因而其升级换代也是和具体的产品同步进行的。 (4)嵌入式系统的软硬件设计着重于高效率性。在最大限度满足应用需求的前提下,降低成本是必须要考虑的主要问题。 (5)嵌入式系统软件一般都固化在存储器芯片中。 2、嵌入式系统有哪几个部分? 答:嵌入式系统通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。3、嵌入式操作系统的作用是什么? *实际是一组软件模块集合 满足多任务处理、稳定运行、安全可靠、占用系统资源少、特有的实时事件处理、便于维护和管理、简洁良好的用户界面 4、什么是Linux?什么是嵌入式Linux? 答:严格来讲,Linux是指由Linux本人维护并不断更新的内核。 一个嵌入式Linux系统指的是一个基于Linux内核的,但不包含有关这个内核的任何专业的库或是用户工具的嵌入式系统。 5、用Linux内核构建嵌入式操作系统有什么优势(优良特性)? 答:(1)程度代码是可以获取的,可靠度高; (2)有完整的源码,软件丰富并且免费; (3)得到众多硬件生产家的广泛支持;包括cpu、计算机外围设备 (4)完善的通信协议、软件标准和文件管理机制; (5)提供完全免费且优秀的开发工具; (6)广泛的社群支持 (7)无需购买licence,是免费的; (8)不依赖特定厂商、供应商; (9)成本相对低廉。 6、RTOS(嵌入式操作系统)强调的实时是什么概念?与中断的关系? 答:实时指的是特定操作所消耗的时间(以及空间)的上限是可预知的。操作系统能够在规定响应时间内完成客户服务程序。中断程序响应中断并完成是在固定时间内。 7、什么是实时Linux?涉及到哪些软硬件内容? 答:实时Linux(RT-Linux)通过在Linux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux 内核作为实时内核的一个进程与用户进程一起调度,标准的Linux内核的优先级最低,可以被实时进程抢断。正常的Linux进程仍可以在Linux内核上运行,这样既可以使用标准分时操作系统即Linux的各种服务, 又能提供低延时的实时环境。它在硬件上涉及到硬件中断,软件上涉及到对高优先级的实时硬件中断的快速响应。能在规定的时间内完成对突发事件的处理的Linux系统; 软件:中断服务程序、进程调度程序,硬件:嵌入式系统所采用的中断管理硬件。 8、试简要说明Linux内核构成,并简要说明各部分的功能? 答: MMU:内存管理单元,完成地址映射(应用虚拟地址方式) VFS:虚拟文件管理系统,提供了统一管理计算机资源的途径。使统一规范计算机资源的使用格式成为可能,方

嵌入式Linux系统开发教程答案

1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力 、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用 、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。4、嵌入式处理器目前主要有 PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32 操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:嵌入式处理器、存储器(SDRAM、ROM等)、设备I/O接口等。2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为实时多任务操作系统,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是VxWorks 。4、嵌入式系统设计过程中一般需要考虑的因素不包括:(大小)5、在嵌入式系统中比较流行的主流程序有:(Angel、Blob、Red Boot )1、Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在:开放性、多用户、多任务、友好的用户界面、设备独立性、丰富的网络功能、文件传输、远程访问、可靠的安全性、良好的可移植性、X Window系统、内存保护模式。2、Linux 作环境)、文件结构(File Structure)和实用工具。3、目前几乎所有的Linux ;查看当前路径应使用命令:pwd;的作用是:使linux.tar.gz文件 Linux内核主要由:进程调度,内存管理,虚拟文件系统,网络接口,进程间 (Red Flag)2、启动shell环境时,屏幕上显示“[arm@www home]$”,其中的arm 命令时,如果想对文件名中的不可显示字符用八进制逃逸字符显示,则应该选用的参数是(-b)。4、解 Linux用的文件系统是(ntfs)。1、ARM9系列微处理器在高性能和 5级整数流水线,指令执行效率更高;提供1.1MIPS/MHz的哈佛总线结构;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口。2、ARM芯片的内核一般包括以下几个单元:ARM9TDMI32RISC处理器、数据 本质上是内存中一段连续的地址,对其最常见的操作为“压栈”( 出)。1、在arm/thumb汇编语言程序中,程序是以程序段的形式呈现的。程序段是具有特有名称的相对独立的指令或数据序号。程序段有两大类型代码段、数据段。2、基于linux下GCC汇编语言,代码表号必须在一行的顶端,后面要加上:,注视的内容可以在前面加上@。 3、符号定义伪指令()、数据定义伪指令(Data Definition 4、linux下的嵌入式程序开发,主要需要的代码编辑器,如vi和gedit,另外还需要编译器gcc、调试器Vi编辑器基本上有三种基本状态,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(gcc编译文件生成可执行文件要经历四个相互关联的步骤:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。1.假如使用伪指令定义一个局部的数据量,变量名为temp,然后给其赋值为8,汇编代码为(GBLA temp;temp SET A 0x08;)2、在vi处于命令行模式时,如果需要对文本进行修改,欲在光标所在位置的下一个位置开始输入文字,则(按下字母“a”进入插入模式)3、当前vi 处于插入模式,先放弃对文本的修改,即不保存退出vi,则(先按下“ESC”后,再使用“:q!”命令)。4、经过汇编之后,生成的目标文件的后缀名为(.o)。 5、对代码文件code.c进行调试的命令为($gcc –g code.c –o code)。1、SMDK2440平台的开发板采用的处理器是S3C2440,其主频一般为400M。2、windows软件环境的设置一般包括以下几部分:超级终端的设置、DNW设置、GIVEIO驱动的设置和USB驱动3、在windows系统上建立基于linux嵌入式开发环境一般有三种方案可以选择分别是Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin4、UBUNTU的网络设置可以采用命令行方式、也可以采用图形界面操作方式来配置。5、开发板硬件平台是基于三星S3C2440的SMDK2440平台的目标板,使用的刻录软件为SJF2440。1、为了通过PC的串口和开发板进行交互,需要使用(超级终端)。2、在嵌入式linux的开发中,能实现上传下载文件、刻录文件、运行映像等功能工具是(DNW)。 3、由普通用户账户转为管理员账户登录,使用的命令为($su root)。 4、安装FTP服务器时,在终端输入的命令为($sudo apt-get install vsftpd)。 5、安装Telnet服务时,在终端输入的命令为($sudo apt-get install telnetd)1、交叉开发工具链就是为了编译、链接、处理和调试跨平台体系结构的程序代码执行工具链软件,通过带有不同的参数,可以实现编译、链接、处理、调试等不同的功能。2、linux经常使用的工具链软件有Binutils、Gcc、Glibc和Gdb。3、分布构建交叉编译工具链的制作过程需要以下几步编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。4、使用crosstool构建交叉编译工具链的制作过程需要以下几步:准备工作、建立脚本文件、建立配置文件、执行脚本文件和编译gdb调试器。5、使用crosstool构建交叉编译工具链的制作过程中需要的配置文件,其主要作用是定义配置文件、定义生成编译工具链的名称、定义编译选项等。1.(binutils)十二进制程序处理工具,包括连接器,汇编器等目标程序处理的工具。2.构建交叉编译器的第一个步骤是(下载工具)。3、分析以下代码#export PRJROOT=/home/arm/armlinux #export TARGET=arm-linux #export PREFIX=$PRJROOT/$TARGET其中,变量PREFIX代表的路径为(/home/arm/armlinux)。4. Binutils是gnu工具之一,他包括连接器、汇编器和其他用于目标文件和档案的工具,特使二进制代码的处理维护工具。其中包括(ld)命令,他是把一些目标和归档文件结合在一起,重定位数据,并连接符号引用。5.分布构建交叉编译链的过程有两次变异gcc,其中第二次进行编译的作用是(获得glibc库的支持) 。1、Bootloader,亦称引导加载程序,是系统加电后运行的第一段软件代码。2、一般Bootloader包含两种不同的操作模式:启动加载模式 的主要功能是引导操作系统启动,它的启动方式有网络启动、磁盘启动和Flash 运行的第一阶段主要完成以下工作:屏蔽所有中断、设置CPU的速度和时钟频率、RAM初始化、初始化LED和关闭 cache。1、在Bootloader的启动方式中,Flash启动方式通常有两种,一种是可以直接从Flash启动,另一种时可以将压缩的内存映像文件从Flash中复制、解压到RAM ,再从中启动。2、在各种Bootloader中,U-boot 是以PPCBoot和ARMBoot为基础的通用加载程序,并且在ARM、PowerPC以及MIPS等多种平台上运行。3、在编译Vivi之前将Vivi里所有的“*.o”和“*.o.flag”文件删除,以确保文件编译时没有错误或者警告发生,使用的命令格式为(make distclean)。4、编译Vivi时,如果编译成功,在/vivi里面会生成三个vivi文件,其中不包括文件(vivi.exe)。5、把二进制文件载入Flash或RAM使用的命令是(load)。1、ARM-Linux内核的配置系统由三个部分组成,它们分别是Makefile、配置文件和配置工具。2、配置工具一般包括配置命令解释器和配置用户界面,前者主要作用是对配置脚本中使用的配置命令进行解释;而后者则是提供基于字符界面、基于Ncurses图形界面以及基于X Window图形界面的用户配置界面。3、Makefile文件主要包含注释、编译目标定义和适配段。4、Linux内核常用的配置命令有make oldconfig、make config、make menuconfig 和make xconfig。其中以字符界面配置的命令是make config。5、内核编译结束后,会在“/arch/arm/boot/”目录下面和根目录下面生成一个名为zImage的内核镜像文件。1.linux内核中的makefile以及与makefile直接相关的文件不包括(后缀名为.in)。2.用户通过make config 配置后,产生了后缀名为(in.config)。3.rules.make文件定义了许多变量,最重要的是那些编译、连接列表变量,但不包括(O-OBJS)。4.在内核配置过程中,如果需要设置networking support这个选项,进入的菜单项是(General setup)。5.在linux系统中,我们既需要标记变量的符号,有需要变量的物理地址,两者同时需要的时候可以采用符号表的方式,其对应的文件为(System.map)。1、Linux下的文件系统主要分为三个层次:上层用户的应用程序对文件系统的系统调用、虚拟文件系统和挂载到VFS中的各种实际文件系统。2、三种常用的块驱动程序分别是Blkmem驱动层、RAMdisk驱动层、MTD驱动层JFFS2、Yaffs、Romfs和Cramfs。 4、基于RAM的文件系统常见的有Ramdisk和Ramfs/Tmp fs。 5、System V init、Busybox init1、(MTD驱动层)也支持在一块Flash上建立多个Flash分区,没一个分区作为一个MTD block设备,可以把系统软件数据等分配到不同的

相关主题