文档库 最新最全的文档下载
当前位置:文档库 › 本科毕业设计--基于arm9的linux操作系统移植

本科毕业设计--基于arm9的linux操作系统移植

本科毕业设计--基于arm9的linux操作系统移植
本科毕业设计--基于arm9的linux操作系统移植

基于ARM9的LINUX操作系统移植Transplantation of Linux Operation System Based on ARM9

摘要

随着电子技术的不断更新,嵌入式已经涉及到各行各业了,在智能家电,数字移动终端等这些行业嵌入式软件开发的需求下,嵌入式集成开发环境已经成为目前嵌入式系统发展的趋势。Linux作为优秀的开源操作系统软件被广泛应用到嵌入式操作系统中,它的实用性,可移植性,支持大容量的内存,MMU(微控制器)和I/O 系统等得到了体现。

本次设计主要研究了嵌入式Linux系统从PC机向开发板上移植的过程,硬件平台是基于CPU:三星S3C2440A,采用ARM920T 内核,主频400MHZ。本文介绍了嵌入式系统的概念和现状以及嵌入式系统的开发模式,介绍了内核启动流程,对Bootloader启动进行了分析,移植了Linux内核,移植了文件系统yaffs以及自己的LED程序移植。以上烧写的文件均是官网下载的,这样可以使得Linux在开发板上更流畅的运行。

本次设计成功的将嵌入式Linux系统移植到了FL2440开发板,文件系统运行正常,可通过触摸屏进行操作,LED程序调试成功,并在开发板上得到了运行结果。对以后Linux开发打下了很好的基础。

关键词:嵌入式系统Linux Bootloader 文件系统

Abstract

Along with the continuous renewal of electronic technology, the development of embedded system has become the mainstream of science and technology, under the requirements of embedded software development in the intelligent home appliance, digital mobile industry, the embedded integrated development environment has become the trend of the development of the embedded system at present. Linux as excellent open source operating system software has been widely applied to embedded operating system,whose featares such of practical applicability, portability, supporting large capacity memory, MMU (microcontroller) and I/O system have been reflected.

Mainly from the PC to transplant process the embedded Linux system are studied on the development board, hardware platform is based on CPU: samsung S3C2440A, adopted ARM920T kernel, dominant frequency 400 MHZ. This paper introduces the concept of embedded system and the status quo and development mode of the embedded system, the kernel boot process is introduced, the Bootloader startup was analyzed, and the transplantation of the Linux kernel, transplant yaffs file system as well as their own LED transplant program.The above writing files are the official website to download, so you can make the Linux more smoothly in the development board to run.

The design successful porting embedded Linux system to FL2440 development board, file system running normal, can be operated by touch screen, LED program debugging is successful, and gets the results on the development board. For future study Linux development laid a good foundation.

Key words: embedded system Linux Bootloader file system

目录

摘要 ................................................................................................................................ I Abstract ....................................................................................................................... II 绪论 . (1)

1 嵌入式Linux系统构成和软件开发环境 (5)

1.1嵌入式Linux系统的体系结构 (5)

1.2 嵌入式Linux系统硬件平台 (5)

1.2.1 S3C2440A处理器简介 (5)

1.2.2 硬件系统整体结构 (7)

1.3 嵌入式Linux开发软件平台建立 (12)

1.3.1 ADS1.2 集成开发环境 (12)

1.3.2 DNW串口调试软件 (12)

2 嵌入式Linux的引导BootLoader程序 (14)

2.1 BootLoader概述 (14)

2.2 NAND Flash和NOR Flash的区别 (14)

2.3 BootLoader移植 (15)

3 Linux内核的编译、移植 (21)

3.1 Linux2.6内核的新特性简介 (21)

3.2 Linux内核启动流程 (21)

3.3 内核移植的实现 (22)

4 移植文件系统yaffs (24)

4.1 yaffs文件系统简介 (24)

4.2 yaffs文件系统移植的实现 (24)

5 移植自己的程序 (30)

5.1 移植开机画面 (30)

5.2 移植LED程序 (31)

结论 (33)

致谢 (34)

参考文献 (35)

绪论

研究的背景及意义

随着计算机技术、通信技术以及Internet的飞速发展。嵌入式系统已得到越来越广泛的应用。以此同时,嵌入式系统也变得更加的复杂多样,嵌入式操作系统已经成为其中最重要的组成部分。

根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助机器和设备运行的装置”(原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants )。这主要是从应用上加以定义的,从定义之中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。从历史性、本质性、普遍性出发,嵌入式系统可以定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序。应用程序控制着系统的运作和行为,而操作系统控制着应用程序与硬件的交互作用。嵌入式系统是将先进的半导体技术、计算机技、电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

嵌入式系统同PC系统相比具有以下特点:

(1)嵌入式系统功耗低、体积小、专用性强。嵌入式系统与PC的最大不同就是CPU大多工作在特定用户群设计的系统中。能够把PC中许多由电路板完成的任务集成在芯片内部,从而有利于嵌入式系统趋于小型化系统设计。

(2)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储芯片或单片机本身中,而不是存储与磁盘等载体中。

(3)嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。

(4)对软件代码质量要求很高,应该尽最大可能避免“死机”的发生。

(5)嵌入式系统开发需要专门的开发工具和开发环境。

嵌入式设备能得到用户的喜爱,最重要的原因就是它能提供非常友好的用户界面、图形界面和灵活的控制方式。这就要求嵌入式软件设计者要在图形界面、多媒体技术上多下功夫(这样可以使客户更轻松方便的使用嵌入式产品)。

目前,市场上存在的众多的嵌入式操作系统,而在这些系统之中,兼有Linux和嵌入式优点的嵌入式Linux操作系统,凭借其在结构清晰、源代码开放性、裁剪性好,开发与使用均易实现等方面的优势,拥有巨大的市场前景和商业机会。当前嵌入式Linux的一个热点应用就是将Linux内核移植到一些典型的微控制器和微处理器上,提供操作系统层面支持,以实现嵌入式系统用软件的开发。

系统地研究嵌入式Linux系统的移植有很大的现实意义。首先,可以增加对S3C2440A以微处理器、内置外设以及系统扩展的了解,有助于将来的嵌入式学习。其次,可以熟悉嵌入式软件系统移植的整个过程,对该过程有整体上的把握,对后续的嵌入式系统开发有指导性意义。最后,通过该研究过程可以构建较新版的软件系统,实现更好的系统性能,最重要的是可以在实践基础上增加对系统移植理论的理解并积累丰富的系统移植经验,为后续的嵌入式应用开发打下坚实的基础。

国内外嵌入式系统的发展概况

我国国内的嵌入式软件市场已处于整体启动阶段。国内嵌入式软件市场未来的发展重点在于对应用范围的拓展。随着Internet的发展以及Internet技术在信息家电、工业控制技术等领域的应用,嵌入式系统与Internet的结合将代表着嵌入式技术的真正未来。

嵌入式处理器是嵌入式系统的核心,是辅助、控制系统运行的硬件单元,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构包括MPU、MCU 等三十几个系列,速度越来越快,性能越来越强,价格也越来越低。根据其现状,

嵌入式处理器可分成下面几类。

(1)嵌入式微处理器(Embedded MICroprocssor Unit,EMP)

(2)嵌入式微控制器(Microcontroller Unit,MCU)

(3)嵌入式DSP处理器(Embedded Digital Signal Processor)

(4)嵌入式片上系统(System on Chip,SOC)

嵌入式操作系统是嵌入式应用软件的基础和开发平台,用户的其它应用程序都建立在操作系统之上。但嵌入式操作系统并不是简单嵌入的操作系统,它与通常意义的操作系统有所区别。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配和调度工作。

Linux是一套以UNIX为基础发展而来的操作系统。自1991年诞生至今,以惊人的速度发展。Linux在很多方面己经赶上甚至超过了很多商用的UNIX系统。它充分利用了x86 CPU的任务切换机制,实现了真正的多任务、多用户环境。Linux对硬件配置的要求相当低,能够在4M内存的386机器上很好的运行。而且可以支持多种处理器芯片。在应用于嵌入式系统方面,Linux己经在许多典型的硬件平台上实现了移植,这些平台包括ARM、MIPS、PowerPC等。

随着Linux2.6内核的发布,Linux向现有主流的RTOS提供商在嵌入式系统市场提出了巨大挑战,将成为更优秀的嵌入式操作系统。Linux2.6在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。

本课题以飞凌嵌入式技术有限公司的以S3C2440A为核心的ARM9开发板FL2440为硬件开发平台,在此基础上,实现嵌入式Linux系统的移植。在了解了系统移植方法并做了大量的工程实践的基础上,从无到有的建立了一个可用的嵌入式Linux系统,包括移植了功能较强的BootLoader、性能更好的Linux2.6.28版本内核。其移植过程不脱离一般性,但因具体开发环境的不同,移植过程中会涉及到很多具体问题。

主要研究内容

(1)建立嵌入式Linux交叉开发环境

对于嵌入式系统,目标板一般只有很小的存储空间,处理器频率也较低。直接在这样的硬件上建立Linux系统非常困难。嵌入式Linux交叉开发环境可以很好地解

决这个难题,即实现在PC机上编译嵌入式系统要运行的程序。

(2)移植BootLoader引导程序

嵌入式Linux内核通常需要目标板上的引导程序引导来引导内核的启动,这些引导程序就是BootLoader。BootLoder所处层次位置如下图1所示。BootLoader在目标板上电的时候运行,主要完成开发板初始化和Linux内核引导的任务。由于BootLoder 和CPU及电路板的配置相关,不可能有通用的BootLoader,开发时需要根据具体情况进行移植。本次毕业设计所用的BootLoader是开发板官网上下载的,所以可以更加稳定的在开发板上运行Linux系统。

图1 BootLoader所处层次

(3)配置、编译、移植Linux内核

详细分析了Linux移植的要点,并对目前较新的2.6版Linux内核源码进行了移植、配置和编译。

(4)对文件系统进行移植到开发板。

根据内核所支持的文件系统类型选择文件系统,本论文选择触屏yaffs文件系统并移植。

1 嵌入式Linux系统构成和软件开发环境

1.1嵌入式Linux系统的体系结构

除了硬件系统外,嵌入式Linux系统需要有下面三个基本元素:系统引导程序BootLoader(用于设备加电后的系统定位引导)、Linux内核(内存管理、程序管理)、初始化进程。但如果要它成为完整的操作系统并继续保持小型化还必须加上硬件驱动程序、硬件接口程序和应用程序组。最终可用的嵌入式Linux系统体系结构如表1-1所示:

表1-1 嵌入式Linux系统体系结构

硬件层是操作系统的基础,所有软件都建立在它的基础上,系统层的BootLoader 是嵌入式系统软件的最底层,是上电后运行的第一个程序,类似于PC机上的BIOS,完成对硬件的初始化和内核加载,驱动程序作为系统内核的一部分,实现操作系统内核和硬件设备之间的接口,为应用程序屏蔽硬件的细节,系统内核主要完成任务管理,调度算法等,GUI图形支持库实现对硬件的抽象、提供基本的图形接口函数和与用户实现交互,而应用软件用来实现某一具体功能。

1.2嵌入式Linux系统硬件平台

1.2.1 S3C2440A处理器简介

三星公司推出的这款16/32 位RISC 处理器S3C2440A,是面向高端手持设备或其它一般应用而设计的芯片。采用ARM920T 内核,低功耗, 具有高速的处理计算能力。整体设计融合了MMU、AMBA BUS 和Harvard(哈佛)结构。具有独立的16KB 指令Cache 和16KB 数据Cache。

其内部结构框图见图1-1:

图1-1 S3C2440A结构框图

1.2.2 硬件系统整体结构

体系结构:

(1)为手持设备和通用嵌入式应用提供片上集成系统解决方案。

(2)16或者32 位RISC 体系结构和ARM920T 内核指令集。

(3)增强的ARM 体系结构MMU 用于支持WinCE,EPOC32 和Linux。

(4)指令高速存储缓冲器(I–Cache),数据高速存储缓冲器(D–Cache),写缓冲器和物理地址TAG RAM 减少主存带宽和响应性带来的影响。

(5)采用ARM920T CPU 内核支持ARM 调试体系结构。

(6)内部高级微控制总线(AMBA)体系结构(AMBA2.0,AHB/APB)。

系统管理器:

(1)支持大/小端模式。

(2)支持快速总线模式和同步总线模式

(3)寻址空间:每bank 128M 字节(总共1G 字节)。

(4)支持可编程的每bank 8/16/32 位数据总线带宽。

(5)从bank0 到bank6 都采用固定的bank 起始寻址。

(6)bank7 具有可编程的bank 的起始地址和大小。

(7)8 个存储器bank,其中6 个适用于ROM、SRAM 和其它,另外两个适用于ROM/SRAM和同步DRAM。

(8)所有的存储器bank 都具有可编程的操作周期。

(9)支持外部等待信号延长总线周期。

(10)支持掉电时的SDRAM 自刷新模式。

(11)支持各种型号的ROM 引导(NOR/NAND FLASH、EEPROM,或其它)。

NAND FLASH 启动引导:

(1)支持从NAND FLASH 存储器直接启动。

(2)采用4KB 内部缓冲器进行启动引导。

(3)启动之后NAND 存储器仍然可作为外部存储器使用

Cache 存储器:

(1)64 项全相连模式,采用I–Cache(16KB)和D–Cache(16KB)。

(2)每行8 字长度,其中每行带有一个有效位和两个dirty 位。

(3)伪随机数或轮转循环替代法。

(4)采用写穿式(write–through)或写回式(write–back)Cache 操作来更新主存储器。

(5)写缓冲器可以保存16 个字的数据和4 个地址。

时钟电源管理:

在S3C2440 中集成了两个锁相环:MPLL 和UPLL。UPLL 将产生USB 主机/设备的时钟,MPLL 产生处理器所需要的时钟,最大400MHZ(在1.3V 内核电压下)。

(1)通过设置相应寄存器,可以有选择的为每个功能模块提供需要的时钟。

(2)电源模式,包括正常、慢速、空闲和休眠模式。正常模式指正常运行模式;慢速模式指不加锁相环的低时钟频率模式;空闲模式指停止CPU 的时钟;休眠模式指所有外设和内核的电源都被切断。

(3)可以通过EINT[15:0]或RTC 报警中断来从休眠模式中唤醒处理器。

中断控制器:

60 个中断源(1 个看门狗定时器,5 个定时器,9 个UARTs,24 个外部中断,4 个DMA,2 个RTC,2 个ADC,1 个IIC,2 个SPI,1 个SDI,2 个USB,1 个LCD,1 个电池故障,1 个NAND 和2 个摄像头)1 个AC97。

(1)支持电平或者边沿触发模式的外部中断源。

(2)可编程的边沿或者电平触发模式选择。

(3)支持为紧急中断请求提供快速中断(FIQ)服务。具有脉冲带宽调制功能的定时器(PMW)

(4)4 通道16 位具有PWM 功能的定时器,1 通道16 位内部定时器,可基于DMA 或中断进行工作。

(5)可编程的占空比周期,频率和极性。

(6)能产生死区。

(7)支持外部中断源。

RTC(实时时钟):

(1)全面的时钟特性:秒、分、时、日期、星期、月和年。

(2)32.768KHz 工作频率。

(3)具有报警中断。

(4)具有节拍(TICK)中断。

通用I/O 端口:

(1)24 个外部中断端口。

(2)多功能输入/输出端口。

DMA 控制器

(1) 4 通道的DMA 控制器。

(2)支持存储器到存储器,I/O 到存储器,存储器到I/O 和I/O 到I/O 的传输。

(3)采用脉冲传输模式加快传输速率。

LCD 控制器::

STN LCD 显示特性:

(1)支持3 种类型的STN LCD 显示屏:4 位双扫描,4 位单扫描,8 位单扫描显示类型。

(2)支持单色模式、4 级、16 级灰度STN LCD、256 色和4096 色STN LCD。

(3)支持多种不同尺寸的液晶屏。

(4)LCD 实际尺寸的典型值是:640×480,320×240,160×160 及其它。

(5)最大帧缓冲器大小是4M 字节。

(6)256 色模式下支持的最大虚拟屏是:4096×1024,2048×2048,1024×4096 等。

TFT 彩色显示屏:

(1)支持彩色TFT 的1,2,4 或8bbp(象素每位)调色显示。

(2)支持16bbp 无调色真彩显示。

(3)在24bbp 模式下支持最大16M 色TFT。

(4)支持多种不同尺寸的液晶屏。

(5)典型实屏尺寸:640×480,320×240,160×160 等。

(6)最大帧缓冲器大小是4M 字节。

(7)64K 色彩模式下最大的虚拟屏尺寸为2048×1024。

UART:

(1) 3 通道UART,可以基于DMA 模式或中断模式工作。

(2)支持5 位、6 位、7 位或者8 位串行数据发送/接收。

(3)支持外部时钟作为UART 的运行时钟(UEXTCLK)。

(4)可编程的波特率。

(5)支持IrDA 1.0。

(6)具有测试用的回还模式。

(7)每个通道都具有内部64 字节的发送FIFO 和64 字节的接收FIFO。

A/D 转换和触摸屏接口:

(1)8 通道多路复用ADC。

(2)最大500KSPS/10 位精度。

(3)内置场效应管可直接连接触摸屏。

看门狗定时器:

(1)16 位看门狗定时器。

(2)在定时器溢出时发生中断请求或系统复位。

IIC 总线接口:

(1) 1 通道多主IIC 总线。

(2)可进行串行、8 位、双向数据传输,标准模式下数据传输速度可达100kbit/s,快速模式下可达到400kbit/s。

IIS 总线接口:

(1) 1 通道音频IIS 总线接口,可基于DMA 方式工作。

(2)串行,每通道8/16 位数据传输。

(3)发送和接收具备128 字节(64 字节加64 字节)FIFO。

(4)支持IIS 格式和MSB–justified 数据格式。

AC97 音频接口:

(1)支持16 位取样。

(2) 1 路立体声PCM(脉冲编码调制)输入、1 路立体声PCM 输出、l 路

centos操作系统简介

centos操作系统简介 CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是linux的一个发行版本。CentOS并不是全新的linux发行版,倘若一说到RedHat这个大名,大家似乎都听过,在RedHat家族中有企业版的产品,它是Red Hat Enterprise Linux(以下称之为RHEL),CentOS正是这个RHEL的克隆版本,RHEL是很多企业采用的linux发行版本,需要向RedHat付费才可以使用,并能得到付过费用的服务和技术支持和版本升级。这个CentOS可以像REHL一样的构筑linux系统环境,但不需要向RedHat付任何的费用,同样也得不到任何有偿技术支持和升级服务。 CentOS计划是在2003年红帽决定不再提供免费的技术支持及产品认证之后的部份"红帽重建者"(Red Hat rebuilders)之一。 CentOS和Linueox、组装Linux (White box Linux)、Tao Linux 、X/OS Linux,及科学Linux (Scientific Linux)等都以红帽所发布的源代码原件重建Red Hat Enterprise Linux的翻版,并修正了已经发现了的redhat的bug。 CentOS是"Caos Linux"独立计划的一个分枝,在Lawrence Berkeley 国家实验室担任管理员与程序设计师的Kurtzer表示。但后来Caos基金会最受欢迎的计划变成是RHEL 的重建。 历史 Red Hat公司的产品中,有RedHat Linux(如Redhat8,9)和针对企业发行的版本Red Hat Enterprise Linux,都能够通过网络FTP免费的获得并使用,但是在2003年的

linux网络操作系统和实训课后习题答案解析(1)

练习题 一、选择题 1. Linux 最早是由计算机爱好者 B 开发的。 A. Richard Petersen B. Linus Torvalds C. Rob Pick D. Linux Sarwar 2. 下列 C 是自由软件。 A. Windows XP B. UNIX C. Linux D. Windows 2000 3. 下列 B 不是Linux 的特点。 A. 多任务 B. 单用户 C. 设备独立性 D. 开放性 4. Linux 的内核版本2.3.20 是 A 的版本。 A. 不稳定 B. 稳定的 C. 第三次修订 D. 第二次修订 二、填空题 1. GUN 的含义是:GNU's Not UNIX。 2. Linux 一般有 3 个主要部分:内核(kernel)、命令解释层(Shell 或其他操作环境)、 实用工具。 三、简答题(略) 1. 简述Red Hat Linux 系统的特点。 2. 简述一些较为知名的Linux 发行版本。 练习题 一、选择题 1. Linux 安装过程中的硬盘分区工具是 D 。 A. PQmagic B. FDISK C. FIPS D. Disk Druid 2. Linux 的根分区系统类型是 C 。 A. FATl6 B. FAT32 C. ext3 D. NTFS 二、填空题 1. 安装Linux 最少需要两个分区,分别是 swap 交换分区和/(根)分区。 2. Linux 默认的系统管理员账号是 root 。 3. X-Window System 由三部分构成:X Server、X Client 和通信通道。 三、简答题(略) 1. Linux 有哪些安装方式 2. 安装Red Hat Linux 系统要做哪些准备工作 3. 安装Red Hat Linux 系统的基本磁盘分区有哪些 4. Red Hat Linux 系统支持的文件类型有哪些 练习题 一、选择题 1. C 命令能用来查找在文件TESTFILE 中包含四个字符的行 A. grep’’TESTFILE B. grep’….’TESTFILE C. grep’^$’TESTFILE D. grep’^….$’TESTFILE 2. B 命令用来显示/home 及其子目录下的文件名。 A. ls -a /home B. ls -R /home C. ls -l /home D. ls -d /home 3. 如果忘记了ls 命令的用法,可以采用 C 命令获得帮助 A. ls B. help ls C. man ls D. get ls 4. 查看系统当中所有进程的命令是 D 。 A. ps all B. ps aix C. ps auf D. ps aux

习题答案-Linux操作系统原理实践教程-崔继-清华大学出版社

第1章 1、在VMwane中安装CentOS 7的基本步骤有哪些? (1)新建虚拟机 (2)虚拟机设置 (3)启动虚拟机 (4)设置安装信息,包括软件选择,安装位置,分区等 (5)完成最后安装 2、安装Linux时可以设置哪些分区?有哪些分区是必须的? 能够设置的分区可以根据安装系统时提示,主要包括:/,/boot,swap,/home,/opt 等等;其中/(根)分区是必须的。 第2章 1、针对Linux 系统启动运行,有哪些运行目标?每个运行目标的含义是什么? CentOS 从7.0 开始使用systemd 代替init 作为系统启动和服务器守护进程的管理器,负责在系统启动或运行时,激活系统资源,管理服务器进程。systemd 用目标(target)替代了运行级别的概念,提供了更大的灵活性,比如可以继承一个已有的目标,并添加其他服务来创建自己的目标。CentOS 7.0 之前的运行级别和systemd 目标之间的对应关系如下表所示。 2、Linux 有几种关机方法,每种关机操作有何异同? 关闭系统的命令有: shutdown(最安全的方式),halt,init,telinit,poweroff,reboot,具体含义可以参考

帮助手册页。 第3章 more、less、cat、wc 命令有什么区别? 这几个命令可用于对文本文件的处理显示,主要区别在:more命令以分页(一次一屏)显示文本信息;less类似于more,但增加了回滚功能;cat本意是连接文件并在标准输出上输出,也就是将文件一次全部输出;wc用于统计输出文件中的行数、单词数、字节数等。 第4章 (1)发出命令显示行号。 底端命令方式下 :set nu (2)保存到文件AboutLinux,并不退出。 底端命令方式下 :w AboutLinux (3)删除一句“It is this kernel that forms the base around which a Linux operating system is developed.”。 在命令方式下,先把光标移到It处,再按d$。(从当前光标处到行末的所有字符删除)(4)查找单词“Finland”。 命令方式下输入/Finland,回车后会在第一个Finland处停下来。 (5)把第一段的“Finland”单词后的内容换行,使其变成三段内容。 插入方式下,将光标移到Finland后,按回车键即可。(vi的换行标志是回车符) (6)将第二段的内容复制到文档的最后。 命令方式下:先用yy命令,然后移到文档最后,再按p键。 (7)删除第三段的内容。 命令方式下,光标移到第三段,用dd命令。(注,这里的段实际上是第3行。) (8)恢复被删除的一段内容。 命令方式下,用u命令。 (9)查找所有的“Minix”单词,并全部改为“MINIX”。 底端命令方式下,:1,$s/Minix/MINIX/g (10)不保存修改,退出vi。 底端命令方式下,:q! (11)使用vi再次打开文件AboutLinux,在第二段后插入“He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released.”。 shell命令提示符下输入:vi AboutLinux(打开保存的文件)

我来说linux移植过程

我对linux移植过程的整体理解 首先,要开始移植一个操作系统,我们要明白为什么要移植。因为我们要在另外一个平台上用到操作系统,为什么要用操作系统,不用行不行?这个问题的答案不是行或不行来回答。单片机,ARM7都没有操作系统,我们直接对寄存器进行操作进而实现我们需要的功能也是可以。但是,一些大型的项目设计牵涉很多到工程的创建,单纯对裸机进行操作会显得杂乱庞大这时候需要一个操作系统。 操作系统的功能能。我们用到操作系统,一方面可以控制我们的硬件和维护我们的硬件,另一方面可以为我们得应用程序提供服务。呵呵,这样说还是很抽象,具体到项目中就可以感受到操作系统的好处。 Linux操作系统的移植说白了总共三大部分:一,内核的重新编译。二,bootloader的重新编译。三,文件系统的制作。在这里要解释这些名词也很不好说的明白,首先,一个完整的操作系统是包括这三大部分的,内核、Bootloader、文件系统。我们知道Linux有很多版本,不同的版本只是文件系统不一样而内核的本质都是一样的。 那么,我们开始进行移植。首先是内核。1.我们需要下载一个内核源码,这个在网上很好下载,下载后,保存下。2.把这个压缩包复制到ubuntu(我用的版本)里,一般复制到/home/dong/SoftEmbed(我的目录,呵呵),然后呢,我们需要对这个内核进行修改重新编译,为什么要这样做,因为我们要让内核为我们的ARM服务,所以需要修改一些东西的。至于具体如何修改,我已经写在另外一个文档里了。3.修改的内容主要是 Makefile(设置体系架构为arm,设置交叉编译器)、时钟频率(我们板子的频率)、内核配置(进入内核配置主要是设置一些选项以适合我们的开发板)。具体设置步骤我会另加说明。4.设置好后我们需要重新编译内核,用的是make zImage命令。编译后就生成了我们自己编译好的内核,呵呵。 接下来,进行文件系统的移植。我们需要一个Yaffs2文件系统压缩包。1.复制这个压缩包到/home/dong/SoftEmede(我自己在ubuntu里建的目录,呵呵),2.解压,会生成一个文件夹。3.给内核打补丁,通过执行 ./patsh-ker.sh c /内核目录。呵呵4.进入 make menuconfig中配置选项,要选择对yaffs2的支持,具体怎么设置我写在另一个文档。 接下来,我们进行根文件制作,需要一个制作工具 mkyaffs2image.taz.还是复制到我自己的目录下,解压,安装。接着,我们需要对Busybox的移植、配置,具体移植、配置步骤我另写,呵呵。最后是构建我们自己的文件系统,到此我们已经完成了内核移植和文件系统的制作。准备移植,呵呵。今天先写到这里,累了。

linux操作系统

以下哪些是Linux操作系统的特点? A. 广泛性 B. 低廉性 C. 灵活性 D. 健壮性 回答正确 解析: 略 2 单选以下哪个不属于操作系统? A. Windows B. Linux C. Oracle D. MacOS 回答正确 解析: 略 3 单选以下描述正确的是? A. 批处理系统出现早于分时系统 B. Linux就是批处理系统 C. 批处理系统可以同时执行多个任务 D. Windows是批处理操作系统 回答正确 解析: 略 4 单选以下哪个是移动操作系统? A. Linux B. Android C. WindowsXP D. Windows2003 回答正确 解析: 略 5 单选Linux最早发布于哪一年? A. 1990 B. 1991 C. 1992 D. 1993 回答正确 解析: 略 6 单选第一个企业版的Linux是哪一个? A. CentOS B. Ubuntu C. Debian D. RedHat 回答正确 解析: 略 7 单选以下哪个不是内核的组成部分? A. 系统调用接口

B. 进程管理 C. C语言编译器 D. 驱动程序 回答正确 解析: 略 8 单选Linux下常用文本编辑工具是? A. Notepad B. EditPlus C. DreamWeaver D. VIM 回答正确 解析: 略 9 单选Linux的终端软件英文名称是什么? A. background B. terminal C. console D. cmd 回答正确 解析: 略 10 单选下载安装软件的命令是什么? A. apt-getinstall B. vim-version C. sudo D. setup 回答正确 修改密码的命令是? A. change B. passwd C. password D. update 回答正确 解析: 略 2 单选进入某一文件夹的命令是? A. ls B. cd C. ll D. help 回答正确 解析: 略 3 单选列表显示所有文件的命令是? A. ls B. cd C. pwd

2016操作系统原理在线作业

窗体顶端 您的本次作业分数为:100分单选题 1.【第01~04章】以下描述中,()并不是多线程系统的特长。 A 利用线程并行地执行矩阵乘法运算。 B web服务器利用线程请求http服务 C 键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应相应的键盘输入。 D 基于GUI的debugger用不同线程处理用户的输入、计算、跟踪等操作。 正确答案:C 单选题 2.【第01~04章】现代操作系统的基本特征是()、资源共享和异步性。 A 多道程序设计 B 中断处理 C 实现分时与实时处理 D 程序的并发执行 正确答案:D 单选题 3.【第01~04章】操作系统的进程管理模块并不负责()。 A 进程的创建和删除 B 提供进程通信机制 C 实现I/O设备的调度 D 通过共享内存实现进程间调度。 正确答案:C 单选题 4.【第01~04章】下列选择中,()不是操作系统必须要解决的问题。 A 提供保护和安全机制 B 管理目录和文件 C 提供应用程序接口

D 提供C++语言编译器 正确答案:D 单选题 5.【第01~04章】用户在程序中试图读存放在硬盘中某文件的第10逻辑块,使用操作系统提供的接口是()。 A 进程 B 系统调用 C 库函数 D 图形用户接口 正确答案:B 单选题 6.【第01~04章】操作系统的管理部分负责对进程进行调度。 A 主存储器 B 控制器 C 运算器 D 处理机 正确答案:D 单选题 7.【第01~04章】下面关于进程的叙述不正确的是()。 A 进程申请CPU得不到满足时,其状态变为就绪状态。 B 在单CPU系统中,任一时刻有一个进程处于运行状态。 C 优先级是进行进程调度的重要依据,一旦确定不能改变。 D 进程获得处理机而运行是通过调度而实现的。 正确答案:C 单选题 8.【第01~04章】下列选项中,操作系统提供给应用程序的接口是()。 A 系统调用 B 中断 C 库函数

西安交大网络教育秋操作系统原理在线作业习题答案100分

《操作系统原理》习题答案 一、单项选择题 1、(信号量)是一种只能进行P、V操作的特殊变量。 2、一个进程是(PCB结构与程序和数据的组合)。 3、操作系统中,当(时间片完),进程从执行状态转变为就绪状态。 4,设有三个作业J1,J2,J3同时到达,运行时间分别为T1,T2,T3,且T1≤T2 ≤ T3。若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为(T1+ 2/3T2 + 1/3T3)。 5、在操作系统中,死锁出现是指(若干进程因竞争资源而无限等待其他进程释放已占有的资源) 6.若系统有三个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是( 10 ) 。 7、预防死锁的论述中,(可以通过破坏产生死锁的四个必要条件之一或其中几个的方法,来预防发生死锁)条是正确的论述。 8、关于死锁与不安全状态的关系,下列描述正确的有(死锁是一种不安全状态): 9、银行家算法是一种(死锁避免)算法。 10、以下哪种算法不属于多个分区的可变分区存储管理方式的主存分配算法(最后适应分配算法) 11、在固定分区管理方式中,处理器执行作业时,对每条指令中的地址要求满足(下限地址≤绝对地址≤上限地址) 12、以下叙述中,不正确的是(采用动态和静态重定位的系统都支持“程序浮动”) 13、在页式存储管理中,假定地址用m个二进制位表示,其中页内地址部分占用了n个二进制位,那么最大的作业允许有(2(m-n) )个页面。 14、关于一个分区的存储管理,以下叙述不正确的是(一个分区的存储管理中,必须采用动态重定位的方式进行地址转换) 15、下面哪种算法不属于页式虚拟存储管理中的页面调度算法(优先数调度算法) 16、缺页中断率与哪个因素无关(作业的逻辑地址) 17、很好地解决了“零头”问题的存储管理方法是(页式存储管理) 18、在存储管理中,(可变分区管理)可与覆盖技术配合. 19、虚拟存储器的最大容量(由计算机的地址结构决定) 20、下述(先进先出)页面淘汰算法会产生BELADY现象. 21、计算机系统的二级存储包括(主存储器和辅助存储器) 22、以下关于主存空间的说法中正确的是(操作系统与硬件的接口信息、操作系统的管理信息和程序等存放在主存储器的系统区) 23、联想存储器在计算机系统中是用于(地址变换) 24、以下有关可变分区管理中采用的主存分配算法说法中错误的是(最佳适应算法是最好的算法,但后过的较大作业很难得到满足)

Linux操作系统部分复习题答案

第一章 Linux系统简介 一、思考题 1.UNIX的大部分代码是用一种流行的程序设计语言编写的,该语言是什么? C语言 2.UNIX系统的特点有哪些? ·多任务 ·多用户 ·并行处理能力 ·设备无关性 ·工具 ·错误处理 ·强大的网络功能 ·开放性 3.什么是Linux?其创始人是谁? Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、可以自由使用的UNIX兼容产品。其创始人是Linus 4.Linux操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些? ·UNIX操作系统 ·MINIX操作系统 ·GNU计划 ·POSIX标准 ·Internet 5.简述Linux系统的特点。 ·自由软件 ·良好的兼容性 ·多用户、多任务 ·良好的界面 ·丰富的网络功能 ·可靠地安全性、稳定性 ·支持多种平台 6.常见的Linux的发行版本有哪些? ·Red Hat Linux ·Caldera OpenLinux ·SuSE Linux ·TurboLinux ·红旗Linux ·中软Linux 二、选择题 1.Linux最初是以MINIX 操作系统为模板而开发出来的。 2.关于Linux内核版本的说法,下列选项中错误的是(C)。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正(补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。)

3.Linux属于自由软件。 4.自由软件的含义是软件可以自由修改和发布。 5.一下不具有多任务性的操作系统是DOS 第二章 Linux系统入门 一、思考题 1.Linux系统有哪些运行级别?其含义是什么? 可用级别为0~6,其中0:关闭系统;6:重新启动,其他略。 2.Linux系统下经常使用的两种桌面环境是什么? GNOME和KDE 3.什么是X-Window系统?它有什么特点? 图形界面(X-Window)是在Linux操作系统中提供的图形化用户界面(GUI),其支持的视窗系统也称为X,它的特点有:它采用了“客户端-服务器”模式;它是一个跨平台的操作环境。 7.默认情况下,超级用户和普通用户的登录提示符分别是什么? # 和 $ 二、选择题 1.系统引导的过程一般包括如下的几步:①MBR中的引导装载程序启动。②用户登录。③Linux内核运行。④BIOS自检。正确的顺序是④①③②。 2.Linux中使用Ctrl+Alt+BackSpace 组合键可以关闭X-Window图形用户界面。 3.字符界面下使用init命令关机所用的参数是0 。(参数6是重新启动) 4.字符界面下使用shutdown命令重启计算机时所用的参数是–r 。 5.使用man命令调阅相关的帮助信息时,用于逐页地下翻的功能键是Space 。 第三章 shell与shell命令 一、思考题 1.shell的基本功能有哪些? 命令解释执行、文件名替换、输入/输出重定向、连同管道建立、系统环境设置和shell编程。 2.Linux系统中的主要目录有哪些? /:系统的根目录 /dev:系统的设备目录 /home:用户主目录 /root:root用户主目录 /boot:Linux的启动目录 /usr:用户级目录 3.工作目录及其父目录课分别用什么表示? . 和 .. 5.常用的shell环境变量有哪些? ·HOME:用户家目录的完全路径名 ·LOGNAME:登录用户名 ·IFS:命令行内部域分割符 ·PATH:由冒号分隔的目录路径名

最小的Linux操作系统制作过程详解

最小的Linux操作系统制作过程详解 一,什么是BabyLinux BabyLinux不是一个完整的发行版,他是利用原有的一套完整的linux系统的内核原代码和编译工具,利用busybox内建的强大功能,在一张软盘上做的一个很小的linux系统。他具备一个linux系统的基本特征,支持linux系统最常用的一百多个命令,支持多种文件系统,支持网络等等,你可以把他当做一张linux 起动盘和修复盘来用,你也可以把他当做一个静态路由的路由器软件,当然,你也可以把他当做一个linux玩具,向你的朋友炫耀linux可以做的多么小。我把他叫做BabyLinux因为他很小巧,小的很可爱,像一个刚刚出生的小baby。 二.为什么要作这样一个linux 先说说我一开始的想法,当我一开始接触linux的时候,看到书上说,linux 通常安装只需要60M左右的空间,但是我发现装在我硬盘上的Redhat 6.0确要占据好几百M的空间。为什么我的linux这么大呢? 后来我发现,装在我机器上的那么多东西只有不到30%是我平时常用的,还有30%是我极少用到的,另外的40%基本上是不用的。于是,我和大多数初学者一样,开始抱怨,为什么linux 不能做的精简一点呢?于是,我萌发了自己裁减系统的想法。可惜那个时候我还没有听说过有LFS和Debain。等到我积累了足够的linux知识后,我开始制作这样一个小系统。 制作这样一个小系统最大的意义在于,你可以通过制作系统了解linux的启动过程,学会ramdisk的使用,让你在短时间内学到更多的linux知识。当然,你会得到很大的乐趣。这个项目只是做一个具有基本特征的linux系统,如果你想自己做一个具有完整功能的linux,请阅读Linux From Scratch (LFS)文档。 三,什么人适合读这篇文档 如果你是一个linux爱好者,并且很想了解linux的启动过程和系统的基本结构,而且是一个喜欢动手研究小玩意的人,那么这个文档可以满足你的需求。如果你仅仅是用linux来做一些普通的日常工作,而不在乎你的linux到底怎么工作,那么这份文档也许不太适合你。另外,如果你是linux爱好者,但是目前还是一个刚刚入门的newbi,我建议你先把linux命令学好。不过我想我会尽可能的把这份文档写详细一些,如果你有足够的毅力,或许一个newbi也能成功做一个babylinux。或者,你遇到一件很不巧的事情,比如你的老婆来例假了,你的这个周末就泡汤了,那么阅读这篇文档并做一个linux小玩具可以打发你的时间。 四,应该具备的知识 在做一个babylinux之前,你应当已经会应用linux最常用的命令。并且至少有一次成功编译并安装系统内核的经历,会通过编译源代码来安装软件。如果你具备了这些条件,那么做这样一个小系统会很顺利,如果你还没有掌握这些知识,你可能会遇到一些困难。但是只要有毅力,也可以成功。你不需要具备编程的知识,因为我的目标是:让具有中等以上linux水平的爱好者可以通过阅读文档轻松完成这个项目。关于一张软盘上的linux还有一个很著名的linux叫LOAP

操作系统原理-Linux下的内存分配与回收的管理

广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室2014年11月19日 学院计算机科学与 教育软件学院 年级/专 业/班 姓 名 学号 实验课 程名称 操作系统实验成绩 实验项目名称Linux下的内存分配与回收的管理 指导 老师 张艳玲 一、实验目的 在Linux环境下利用下列系统调用malloc(),free()编写一段程序实现内存分配与回收的管理。 二、实验器材 1、计算机一台。 2、Linux 三、实验内容 1.返回已分配给变量的内存地址; 2.返回释放后的内存地址; 3.释放已分配的内存空间后,返回释放内存后未使用内存的大小。 四、实验步骤、记录和结果 源代码有错,不能正常运行,使用纯C语言,修改正如下。 黄色底色的为新增代码新增注释为绿色底色 #include /* For _MAX_PATH definition */ #include //#include //#include #include //void main() int main() { // int *string; char *string; // string =(int*) malloc(10 ); string = (char*) malloc(sizeof(char)*10); if( string == NULL )

printf( "Insufficient memory available\n" ); else { printf( "Memory space allocated for path name\n" ); /*printf ("string=%d\n",string);*/ // cout<<"string="< #include int main(){ char *string = (char*) malloc(sizeof(char)*10);

南开18秋学期(1703)《操作系统原理》在线作业

(单选题) 1: 当进程执行中需要等待从磁盘上读取数据时,进程的状态将()。 A: 从就绪变为运行态 B: 从运行变为就绪态 C: 从阻塞变为就绪态 D: 从运行变为阻塞态 正确答案: (单选题) 2: 在操作系统分类中对于可靠性和安全性要求较高的是()。 A: 批处理系统 B: 分时处理系统 C: 实时处理系统 D: 个人机操作系统 正确答案: (单选题) 3: 在设备管理中引入I/O缓冲机制是为了缓和()之间的速度不匹配问题。A: 内存与处理器 B: 内存与外设 C: 处理器与外设 正确答案: (单选题) 4: 在页式存储管理中,其虚地址存储空间是() A: 一维的 B: 二维的 C: 三维的 正确答案: (单选题) 5: UNIX文件系统采用( )逻辑结构对文件进行管理。 A: 网状文件 B: 记录式文件 C: 索引文件 D: 3流式文件 正确答案: (单选题) 6: 在文件系统中,使用( )信息实现对文件的管理。 A: 文件存储位置 B: 文件目录 C: 文件内容 正确答案: (单选题) 7: 进程所具有的()及并发性是两个很重要的属性。 A: 动态性 B: 易用性 C: 顺序性 D: 静态性 正确答案: (单选题) 8: 所谓进程调度,其调度的对象和任务分别是( )。 A: 进程,从就绪队列中按一定的调度策略选择一个进程占用CPU B: 数据,将程序中使用的数据调入内存 C: 指令,将指令从外存储空间调入内存 正确答案: (单选题) 9: 计算机系统采用多道并发技术将会() A: 缩短每个程序的执行时间 B: 使系统效率随着并行道数的增加成正比增加 C: 使用设备时不发生冲突 D: 提高了系统的整体执行效率 正确答案: (单选题) 10: 在系统中增加cache可以缓解()之间的速度不匹配性。 A: 硬盘与内存

bdpqlxz---linux操作系统详解(Linux不再难懂)

bdpqlxz---linux操作系统详解(Linux不再难懂) linux操作系统详解(Linux不再难懂) 4. 检查系统日志你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。 5. 考虑使用端口试探设置端口试探(Port knocking)是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。 6. 使用IptablesIptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。 7. 默认拒绝所有防火墙有两种思路:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。(LCTT译注:即默认许可策略和默认禁止策略,前者你需要指定哪些应该禁止,除此之外统统放行;后者你需要指定哪些可以放行,除此之外全部禁止。) 8. 使用入侵检测系统入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。Snort是目前公认

的Linux上的最好的IDS。9. 使用全盘加密加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。六、自学Linux操作系统命令的四种方法如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux 命令的四种方法。自学Linux操作系统----每日提示学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向你介绍一些有用的命令及其高级使用技巧。在.bashrc中(/home/.bashrc)增加如下一行:你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay。Ubuntu/Debian下安装cowsay:Fedora 下安装cowsay: 除了安装cowsay,还需要在.bashrc中增加:然而,上述使用cowsay的方法并不是在所有Linux发行版下均可运行成功。自学Linux操作系统----使用“whatis” 如果你不喜欢学习随机的命令,或许你喜欢在使用某种命令的时候学习它的用法。这时你只需要在其前面加上whatis即可。Whatis 会逐条的解释你输入的命令。上图的whatis sudo yum install cheese例子清楚的告诉你:1)sudo是让你具有管理员权限;2)yun是软件包管理器;3)install是让YUM安

Linux操作系统概述

第1章Linux操作系统概述 Linux操作系统是目前发展最快的操作系统,从1991年诞生到现在的二十多年间,Linux逐步完善和发展。Linux操作系统在服务器、嵌入式等方面获得了长足的发展,并在个人操作系统方面有着大范围的应用,这主要得益于其开放性。本章对Linux的发展进行介绍,主要包括如下内容: ?Linux发展的历史,以时间为主线对Linux的诞生进行介绍; ?分析Linux和UNIX操作系统的异同; ?介绍常用的几种Linux发行版本的特点; ?对Linux操作系统的系统架构进行简单的介绍; ?介绍GNU通用公共许可证及其特点。 通过本章的阅读,读者可以对Linux的发展历史和Linux操作系统的基本特点有一个简单的认识。 1.1 Linux发展历史 Linux操作系统于1991年诞生,目前已经成为主流的操作系统之一。其版本从开始的0.01版本到目前的2.6.28.4版本经历了二十多年的发展,从最初的蹒跚学步的“婴儿”成长为目前在服务器、嵌入式系统和个人计算机等多个方面得到广泛应用的操作系统。 1.1.1 Linux的诞生和发展 Linux的诞生和发展与个人计算机的发展历程是紧密相关的,特别是随着Intel的i386个人计算机的发展而逐步成熟。在1981年之前没有个人计算机,计算机是大型企业和政府部门才能使用的昂贵设备。IBM公司在1981年推出了个人计算机IBM PC,从而造成个人计算机的发展和普及。刚开始的时候,微软帮助IBM公司开发的MS-DOS操作系统在个人计算机中占有统治地位。随着IT行业的发展,个人计算机的硬件价格虽然逐年在下降,但是软件特别是操作系统的价格一直居高不下。 与个人计算机对应,在大型机上的主流操作系统是UNIX,而UNIX操作系统对操作系统的发展有诸多障碍:

实时操作系统到Linux系统的应用移植

实时操作系统到Linux系统的应用移植 ■MontaVistaJimReady 北京麦克泰软件技术有限公司译 从一个操作系统到另一个操作系统的应用程序移植,即使在最好的情况下也经常是一个艰巨的任务。把一个实时的嵌入式应用程序移植到一个新的操作系统上,可以说是一项最困难的任务。为了帮助开发人员在不久的将来转移到嵌入式Linux上,或者将现有的应用程序运行在嵌入式Linux上这种投资的必要性,Jim解释了这一转换的过程,评估了涉及到的困难和挑战,并且阐述了认识这种转换的益处。 越来越多的公司正在转向嵌入式Linux,把它作为其下一代产品的操作系统。事实上,VDC的报告显示了嵌入式I。inux占到32位和64位领域设计的三分之一,是其他所有嵌入式系统的2倍。 一个典型的基于RToS的应用程序依赖于很多因素,其中最重要的是编程/内存模型、API、性能,特别是实时响应的能力。另外一个重要的因素是软件开发环境。 编程模型 几乎所有使用的RToS有一个简单的编程模型,它由多线程的执行(通常称为“任务”)构成,包含在单一的地址空问中。举例来说,一个C语言的程序有一个单一的主函数,它创建所有其他的线程。每一个线程依次被定义为总程序中的一个C函数。不管是RTOS还是非保护内存中的应用程序,它们的物理地址和逻辑地址都是一样的。可能会有一些超级用户模式下的操作使用限制了在用户模式下的应用程序发出一些指令。基本上,所有的内存对应用程序来说都是虚拟的。 在过去,大多数嵌入式处理器没有内存管理单元,因此RTOS单地址空间模式是必需的。然而今天大多数的中高端处理器配备了MMU,由MMU来管理内存。 该体系结构的描述提出了一个移植RTOS代码到Linux上的简单架构: ◆RTOS的全部应用代码移植到一个Linux单进程; ◆RToS的任务转换成“nux线程; ◆RTOS的物理地址空间映射到Linux的虚拟地址 空间。 诸如VME机架的多板或多处理器架构,移植到一个多进程的Linux应用,如图1所示。 图1 构架上的考虑:进程和线程的创建 是否使用遵循API的Vxworks和PSOS等RTOS仿真软件包,开发人员最终必须决定是否将线程或是进程作为执行RTOS的任务。在这点上,Linux内核对待线程和进程是同等的,都是以调度为目的的。然而不同的API创建和管理每个实体的类型、性能、资源的成本和益处都是关联的。 通常来说,进程比线程大一点,因为它们传送更多的上下文信息。一个I。inux线程的上下文如同RTOS的一个任务,主要由CPU寄存器、堆栈、当前的程序指针以及一些内核数据结构的入口组成。一个进程加上一个完整的虚拟地址空间。这样,至少内核必须创建和跟踪进程的页转换、所有代码的类型、上下文、数据等。对于重量级进程,上下文的主要影响有两点:创建的时间和相互的上下文切换时间。 RTOS的代码会尽可能地争取要轻量级的执行。同样,当很多RTOS提供了动态的任务创建API时,其他以静态任务定义页表为特色,所有RTOS的商家不鼓励使用频繁的任务创建以节省时间和空间。Linux进程是重 84《平旁机乌嵌入式糸诧应冈》 adv@mesnet.com.cn(广告专用)  万方数据

15春学期《操作系统原理》在线作业

15春学期《操作系统原理》在线作业 试卷总分:100 测试时间:-- 试卷得分100 一、单选题(共20 道试题,共40 分。)V 1. 文件系统采用多级目录结构可以() A. 节省存储空间 B. 解决命名冲突 C. 缩短文件传送时间 D. 减少系统开销 B 满分:2 分 2. 在下述存储管理技术中,只有()可提供虚拟存储基础 A. 动态分区法 B. 交换技术 C. 静态分页法 D. 动态分页 D 满分:2 分 3. 下列对于进程的描述哪项是错误的 A. 各进程之间的地址是相互独立的 B. 进程控制块PCB是在系统调用进程时随机生成的 C. 进程是静态的 D. 进程同程序相比具备并发和异步执行特征 C 满分:2 分 4. 程序执行时下一条执行指令的地址放在()寄存器中 A. IR B. PSW C. PC C 满分:2 分 5. 一个进程从内存中换出到外存时,该进程被称作为() A. 被阻塞 B. 被终止 C. 唤醒 D. 被挂起 D 满分:2 分 6. 在分页存储管理系统中,从页号到物理块号的地址映射是通过()实现的 A. 段表 B. 页表 C. PCB D. JCB B 满分:2 分 7. 在UNIX系统进程调度中,当计算的进程优先数越大时其优先级将() A. 越大 B. 越小 B B 满分:2 分 8. 在文件管理中,使用链式结构可以实现()

A. 磁盘驱动控制 B. 磁盘空间分配与回收 C. 文件目录查找 D. 页面置换 B 满分:2 分 9. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 10. 当为一个新创建的进程分配资源和建立了PCB后,进程将进入() A. 运行态 B. 阻塞态 C. 就绪态 D. 退出态 C 满分:2 分 11. 在系统中增加cache可以缓解()之间的速度不匹配性。 A. 硬盘与内存 B. 内存与处理器 C. 内存与I/O设备 D. 硬盘与I/O设备 B 满分:2 分 12. 中断管理程序不包括下列哪项功能 A. 确定发生中断的特性 B. 将控制权切换到处理程序 C. 执行具体的处理过程 D. 将控制权切换到原执行程序 C 满分:2 分 13. 在时间片轮转(RR)法中,如果时间片过长,该算法会退化为()算法。 A. 短进程优先(SPN) B. 时间片轮转(RR) C. 先来先服务(FCFS) D. 优先级法(PS) C 满分:2 分 14. 下列分区管理的分配算法中,分配与释放时间性能最好的是() A. 最先匹配法 B. 最佳匹配法 C. 下次匹配法 D. 最坏匹配法 A 满分:2 分 15. 在下列的文件物理存储结构中最不便于进行文件扩充的结构是() A. 散列文件 B. 链接文件

Linux操作系统Ubuntu的详细介绍

Linux操作系统Ubuntu的详细介绍 Ubuntu是一个以桌面应用为主的Linux操作系统,下面由小编整理了Linux操作系统Ubuntu的详细介绍,希望对你有帮助。 Linux操作系统Ubuntu的详细介绍 1.简介 Ubuntu (官方中文译名:友帮拓)是一个南非的民族观念,着眼于人们之间的忠诚和联系。该词来自于祖鲁语和科萨语。Ubuntu(发音"oo-BOON-too"--“乌班图”,内置视频中曼德拉的发音为/u:bu:tu:/全部u发音/wu:/)被视为非洲人的传统理念,也是建立新南非共和国的基本原则之一,与非洲复兴的理想密切相关。Ubuntu 精神的大意是“人道待人”(对他人仁慈)。另一种翻译可以是:“天下共享的信念,连接起每个人”。“具有ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能,因为他/她拥有适度的自信,而这源自如下认识:自己乃是属于一个更大的整体,当他人受到伤害或死去时,当他人受到折磨或压迫时,这个整体就会消失。”--大主教Desmond Tutu。作为一个基于GNU/Linux 的平台,Ubuntu 操作系统将ubuntu 精神带到了软件世界。

2.自由软件 Ubuntu 项目完全遵从开源软件开发的原则;并且鼓励人们使用、完善并传播开源软件。也就是Ubuntu目前是并将永远是免费的。然而,这并不仅仅意味着零成本,自由软件的理念是人们应该以所有“对社会有用”的方式自由地使用软件。“自由软件”并不只意味着您不需要为其支付费用,它也意味着您可以以自己想要的方式使用软件:任何人可以任意方式下载、修改、修正和使用组成自由软件的代码。因此,除去自由软件常以免费方式提供这一事实外,这种自由也有着技术上的优势:进行程序开发时,就可以使用其他人的成果或以此为基础进行开发。对于非自由软件而言,这点就无法实现,进行程序开发时,人们总得白手起家。基于上述原因,自由软件的开发是迅捷、高效和激动人心的! 3.不同之处 目前已有大量各种各样基于GNU/Linux的操作系统,例如:Debian,SuSE,Gentoo,RedHat 和Mandriva。在这行业已竞争纷繁的世界里,Ubuntu 是又一个参与者。那么Ubuntu 何以有所不同? Debian 是一个广受称道、技术先进且有着良好支持的发行版,Ubuntu 正是基于Debian之上,旨在创建一个可以为桌面和服务

相关文档
相关文档 最新文档