2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢業(yè)設計外文資料翻譯</p><p><b> ?。ㄗg文)</b></p><p>  題目名稱:Embedded Linux applications: An overview</p><p>  學 院: 計算機科學技術 </p><p>  專業(yè)年級

2、: 計算機科學與技術07級 </p><p>  學生姓名: xx </p><p>  班級學號: 1班 16號 </p><p>  指導教師: xx </p

3、><p>  二○一一年 四 月 十 日</p><p>  譯文題目: Embedded Linux applications: An overview </p><p>  原文題目: 嵌入式 Linux 應用:概述 </p><p>  原文出處:Internet source : http://www.i

4、bm.com/developer- </p><p>  -works/cn/linux/embed/embl/overview/index.html</p><p>  Embedded Linux applications: An overview</p><p>  Linux now spans the spectrum of computing appli

5、cations, including IBM's tiny Linux wrist watch, hand-held devices (PDAs and cell phones), Internet appliances, thin clients, firewalls, industrial robotics, telephony infrastructure equipment, and even cluster-based

6、 supercomputers. Let's take a look at what Linux has to offer as an embedded system, and why it's the most attractive option currently available.</p><p>  One. Emergence of embedded systems</p>

7、;<p>  The computers used to control equipment, otherwise known as embedded systems, have been around for about as long as computers themselves. They were first used back in the late 1960s in communications to con

8、trol electromechanical telephone switches. As the computer industry has moved toward ever smaller systems over the past decade or so, embedded systems have moved along with it, providing more capabilities for these tiny

9、machines. Increasingly, these embedded systems need to be connected to som</p><p>  Off-the-shelf operating systems for embedded systems began to appear in the late 1970s, and today several dozen viable opti

10、ons are available. Out of these, a few major players have emerged, such as VxWorks, pSOS, Neculeus, and Windows CE. </p><p>  Two. Advantages/disadvantages of using Linux for your embedded system</p>

11、<p>  Although most Linux systems run on PC platforms, Linux can also be a reliable workhorse for embedded systems. The popular "back-to-basics" approach of Linux, which makes it easier and more flexible

12、to install and administer than UNIX, is an added advantage for UNIX gurus who already appreciate the operating system because it has many of the same commands and programming interfaces as traditional UNIX.</p>&l

13、t;p>  The typical shrink-wrapped Linux system has been packaged to run on a PC, with a hard disk and tons of memory, much of which is not needed on an embedded system. A fully featured Linux kernel requires about 1 MB

14、 of memory. However, the Linux micro-kernel actually consumes very little of this memory, only 100 K on a Pentium CPU, including virtual memory and all core operating system functions. With the networking stack and basic

15、 utilities, a complete Linux system runs quite nicely in 500 K of mem</p><p>  Another benefit of using an open source operating system like Embedded Linux over a traditional real-time operating system (RTOS

16、), is that the Linux development community tends to support new IP and other protocols faster than RTOS vendors do. For example, more device drivers, such as network interface card (NIC) drivers and parallel and serial p

17、ort drivers, are available for Linux than for commercial operating systems. </p><p>  The core Linux operating system itself has a fairly simple micro-kernel architecture. Networking and file systems are lay

18、ered on top of the micro-kernel in modular fashion. Drivers and other features can be either compiled in or added to the kernel at run-time as loadable modules. This provides a highly modular building-block approach to c

19、onstructing a custom embeddable system, which typically uses a combination of custom drivers and application programs to provide the added functionality. </p><p>  An embedded system also often requires gene

20、ric capabilities, which, in order to avoid re-inventing the wheel, are built with off-the-shelf programs and drivers, many of which are available for common peripherals and applications. Linux can run on most microproces

21、sors with a wide range of peripherals and has a ready inventory of off-the-shelf applications. </p><p>  Linux is also well-suited for embedded Internet devices, because of its support of multiprocessor syst

22、ems, which lends it scalability. This capability gives a designer the option of running a real-time application on a dual processor system, increasing total processing power. So you can run a Linux system on one processo

23、r while running a GUI, for example, simultaneously on another processor. </p><p>  The one disadvantage to running Linux on an embedded system is that the Linux architecture provides real-time performance th

24、rough the addition of real-time software modules that run in the kernel space, the portion of the operating system that implements the scheduling policy, hardware-interrupts exceptions and program execution. Since these

25、real-time software modules run in the kernel space, a code error can impact the entire system's reliability by crashing the operating system, which can be a</p><p>  An off-the-shelf RTOS, on the other h

26、and, is designed from the ground up for real-time performance, and provides reliability through allocating certain processes a higher priority than others when launched by a user as opposed to by system-level processes.

27、Processes are identified by the operating system as programs that execute in memory or on the hard drive. They are assigned a process ID or a numerical identifier so that the operating system may keep track of the progra

28、ms currently executing </p><p>  Three. Different types of Embedded Linux systems</p><p>  There are already many examples of Embedded Linux systems; it's safe to say that some form of Linu

29、x can run on just about any computer that executes code. The ELKS (Embeddable Linux Kernel Subset) project, for example, plans to put Linux onto a Palm Pilot. Here are a couple of the more well-known small footprint Embe

30、dded Linux versions:</p><p>  ETLinux -- a complete Linux distribution designed to run on small industrial computers, especially PC/104 modules. </p><p>  LEM -- a small (<8 MB) multi-user, n

31、etworked Linux version that runs on 386s. </p><p>  LOAF -- "Linux On A Floppy" distribution that runs on 386s.</p><p>  uClinux -- Linux for systems without MMUs. Currently supports M

32、otorola 68K, MCF5206, and MCF5207 ColdFire microprocessors.</p><p>  uLinux -- tiny Linux distribution that runs on 386s.</p><p>  ThinLinux -- a minimized Linux distribution for dedicated camer

33、a servers, X-10 controllers, MP3 players, and other such embedded applications.</p><p>  Software and hardware requirements</p><p>  Several user-interface tools and programs enhance the versati

34、lity of the Linux basic kernel. It's helpful to look at Linux as a continuum in this context, ranging from a stripped-down micro-kernel with memory management, task switching and timer services to a full-blown server

35、 supporting a complete range of file system and network services.</p><p>  A minimal Embedded Linux system needs just three essential elements: </p><p>  A boot utility </p><p>  Th

36、e Linux micro-kernel, composed of memory management, process management and timing services </p><p>  An initialization process</p><p>  To doing anything useful while remaining minimal, you als

37、o need to add: </p><p>  Drivers for hardware </p><p>  One or more application processes to provide the needed functionality</p><p>  As additional requirements become necessary, y

38、ou might also want:</p><p>  A file system (perhaps in ROM or RAM) </p><p>  TCP/IP network stack </p><p>  A disk for storing semi-transient data and swap capability </p>&l

39、t;p>  A 32-bit internal CPU (required by all complete Linux systems)</p><p>  Four. Hardware platform options</p><p>  Choosing the best hardware can be complex because of internal company p

40、olitics, prejudices, legacies of other projects, a lack of complete or accurate information, and cost, which should take into account the total product costs and not just the CPU itself. Sometimes a fast, inexpensive CPU

41、 can become expensive once bus logic and the delays necessary to make it work with other peripherals are considered. To calculate the necessary speed of a CPU for any given project, start with a realistic view</p>

42、<p>  Bright Star Engineering: Bright Star Engineering's ipEngine-1 is a credit-card sized single-board computer with Embedded Linux support. It utilizes a PowerPC-based CPU and provides an array of on-board pe

43、ripherals, including Ethernet, LCD/Video Controller, USB, Serial I/O, and a 16K gate user-configurable FPGA. BSE's Embedded Linux configuration allows Linux to be booted from the ipEngine's on-board 4MB flash mem

44、ory.</p><p>  Calibri: CalibriTM-133 is a ready-to-use, compact, multipurpose network appliance that uses Embedded Linux as its operating system. It offers a highly efficient and low-cost solution to firewal

45、l, VPN, and routing demands.</p><p>  EmbeddedPlanet: EmbeddedPlanet has created a PostPC-era computer that comes loaded with MontaVista's HardHat Linux. Powered by a PowerPC-based computing engine and m

46、atching I/O card, Linux Planet comes in a colorful translucent case with a touchscreen and access to digital and analog I/O. </p><p>  Eurotech: Eurotech provides embedded PC SBC and sponsors ET-Linux, a com

47、plete Linux system designed to run on small industrial computers and based on glibc 2.1.2. </p><p>  Microprocess Ingenierie: Microprocess develops, produces, and sells standard and customized products for t

48、he industrial and embedded market. Microprocess has a global activity in real-time software and great expertise in systems integration. Its products, like the 740 PowerPC compactPCI board, can be ordered with a standard

49、distribution of Linux or an Embedded Linux version.</p><p>  Moreton Bay: Moreton Bay is releasing their NETtel 2520 and NETtel 2500 range of Linux-based Internet routers. These small, easy-to-connect intell

50、igent router solutions are engineered to offer a simple, secure, and affordable extranet-friendly Virtual Private Network (VPN) for flat networks. The NETtel router family runs an Embedded Linux kernel. A development kit

51、 is available; it enables customized code to be stored in flash memory and executed inside the NETtel. The code may contain special en</p><p>  Matrix Orbital: This an optional, but not recommended, addition

52、. Matrix Orbital manufactures a line of serial LCDs and VFDs, which many Linux users are including in their embedded systems. The product line ranges from 8x2 to 40x4 character LCDs, 20x2 and 20x4 VFDs, plus a 240x64 gra

53、phic LC (128x128 on the way). Communication with the displays is accomplished via either RS232 or I2C, both of which are standard on all of their modules. A comprehensive command set is included in the modules' BIOS.

54、 </p><p>  Five. Real-time Embedded Linux applications</p><p>  One of the most important issues with embedded systems is the need for a real-time operating system. The definition of real-time

55、here varies quite a bit. To some people, real-time means responding to an event in the one-microsecond range, to others it is 50 milliseconds. The hardness of real-time also varies quite a bit. Some systems need hard rea

56、l-time response, with short deterministic response latencies to events. However, on many systems, when analyzed closely, we see a response time require</p><p>  RT-Linux (Linux with real-time extensions) con

57、tains time critical functions to provide precise control over interrupt handling, through the use of an interrupt manager, and does a good job of making sure that critical interrupts get executed when needed. The hardnes

58、s of this approach depends mostly on the CPU interrupt structure and context-switch hardware support. This approach is sufficient for a large range of real-time requirements. Even without the real-time extensions, Linux

59、does pretty we</p><p>  Some real-time hardware and software Linux APIs to consider are RTLinux, RTAI, EL, and Linux-SRT. RTLinux is a hard real-time Linux API originally developed at the New Mexico Institut

60、e of Technology. RTAI (DIAPM) is a spin-off of the RTLinux real-time API that was developed by programmers at the Department of Aerospace Engineering, Polytechnic Politecnico di Milano (DIAPM). EL/IX is a proposed POSIX-

61、based hard real-time Linux API being promoted by Red Hat. And Linux-SRT is a soft real-time alter</p><p>  See the Resources section later in this article for information on the above and for some Web sites

62、offering different flavors of software extensions, development tools, support, and training courses for the standard Linux operating system. </p><p>  Short deterministic response latencies</p><p&

63、gt;  Some real-time embedded systems need to respond quickly to external events in order to accomplish a specific task. A custom microcontroller embedded inside a missile, for example, needs to respond quickly to externa

64、l events such as moving targets, weather, humans, etc., before instructing the missile to target a specific object in its surrounding environment. Short deterministic response latencies mean that the embedded system can

65、determine the time it will take to respond to an external event. </p><p>  Six. Configuration procedures</p><p>  Now let's take a look at how to make LEM, a small, embeddable Linux distrib

66、ution, which provides both network and X server. You can download this distribution, although it is not essential. You will need a full Linux distribution to build your own Embedded Linux operating system, which will con

67、tain everything you need (utilities, sources, compiler, debugger, and documentation). Here is a list of the software that can be used to make LEM:</p><p>  TinyLogin: TinyLogin is a suite of tiny UNIX utilit

68、ies for handling logging into, being authenticated by, changing one's password for, and otherwise maintaining users and groups on an embedded system. It also provides shadow password support to enhance system securit

69、y. TinyLogin is, as the name implies, very small, and makes an excellent complement to BusyBox on an embedded System.</p><p>  BusyBox: BusyBox is a multicall binary used to provide a minimal subset of POSIX

70、-style commands and specialized functions. It is geared toward the very small, such as boot floppies, embedded systems, etc. Specifically it is used in the Debian Rescue/Install system (which inspired development on the

71、original BusyBox ), the Linux Routeur Project, LEM, lineo, and others. Busybox is being maintained by Erik Andersen.</p><p>  Ash: Ash is a very small Bourne shell.</p><p>  Sysvinit: Sysvinit i

72、s the most used init package for Linux. We will use init and the C version of the start-stop-daemon. </p><p>  See the Resources section for more information on these items. </p><p>  Seven. Cr

73、eating a bootdisk</p><p>  A bootdisk is basically a miniature, self-contained Linux system on a floppy diskette. It can perform many of the same functions that a complete full-size Linux system performs. Th

74、e following material is based on the Bootdisk-HOWTO (see Resources).</p><p>  Step 1. Bios All PC systems start the boot process by executing code in ROM (specifically, the BIOS) to load the sector from sec

75、tor 0, cylinder 0 of the boot drive. The boot drive is usually the first floppy drive (designated A: in DOS and /dev/fd0 in Linux). The BIOS then tries to execute this sector. On most bootable disks, sector 0, cylinder 0

76、 contains either: </p><p>  Code from a boot loader such as LILO, which locates the kernel, loads it, and executes it to start the boot proper </p><p>  The start of an operating system kernel,

77、such as Linux</p><p>  If a Linux kernel has been raw copied to a diskette, a hard drive, or another media, the first sector of the disk will be the first sector of the Linux kernel itself. This first sector

78、 will continue the boot process by loading the rest of the kernel from the boot device. </p><p>  Step 2. The boot loader You will use a boot loader like LILO to operate the boot process. It allows the deve

79、lopment and production platforms to co-exist on the same hardware and permits switching from one to the other just by rebooting. The LILO boot loader is loaded by the bios. It then loads kernels or the boot sectors of ot

80、her operating systems. It also provides a simple command line interface to interactively select the item to boot with its options. See Resources for more information on LI</p><p>  Step 3. The kernel The ke

81、rnel checks the hardware and mounts the root device and then looks for the init program on the root filesystem and executes it.</p><p>  Step 4. InitInit is the parent of all other processes that will run o

82、n your Linux OS. It will watch its child processes and start, stop, re-launch them if needed. Init takes all information from /etc/inittab. </p><p>  Step 5. InittabThe file /etc/inittab/ refers to scripts

83、named /etc/rc... to do the system setup. It also has entries for the getty tool to handle the login process. </p><p>  Step 6. The login process There is one getty available in the inittab file for each con

84、sole allowed for the users. Getty will launch /bin/login to verify the user password. </p><p>  Step 7. Creating a new partition From the LFS-HOWTO (see Resources): Before we can build our new Linux system,

85、 we need to have an empty Linux partition on which we can build our new system. If you already have a Linux Native partition available, you can skip this step and the following one. Start the fdisk program (or cfdisk if

86、you prefer that program) with the appropriate hard disk as the option (like /dev/hda if you want to create a new partition on the primary master IDE disk). Create a Linu</p><p>  Step 8. Creating an ext2 fil

87、e system on the new partition From the LFS-HOWTO (see Resources): To create a new ext2 file system we use the mke2fs command. Give $LFS as the only option, and the file system will be created. From now on I'll refer

88、 to this newly created partition as $EMBPART. $EMBPART should be substituted with the partition you have created. </p><p>  Step 9. Mounting the partition To access the newly created filesystem, you have to

89、 mount it. To do this, create an /mnt/hda? directory and type the following at the shell prompt: </p><p>  mkdir /mnt/hda?</p><p>  mount $EMBPART /mnt/hda?</p><p>  If you created

90、your partition on /dev/hda4 and you mounted it on /mnt/hda4, then you'll need to return to the step where you copied a file to $dollar;EMBPART/usr/sbin, and copy that file to /mnt/hda4/usr/bin. Do this after the last

91、 command in Step 14 (Copy the file in $EMBPART/usr/sbin).</p><p>  Step 10. Populating the filesystem The root filesystem must contain everything needed to support a full Linux system. We will build a direc

92、tory structure not that far from the File Hierarchy Standard (see Resources). </p><p>  Step 11. DirectoriesThe mkdir function in the new mounted filesystem creates the following directories:</p><

93、;p>  /proc Directory stub required by the proc filesystem /etc System configuration file /sbin Critical System binaries /bin Basic binaries considered part of the system/lib Shared Libraries to provide run-ti

94、me support /mnt Mount point for maintenance /usrAdditional utilities and applications </p><p>  cd /mnt/hda? </p><p>  mkdir bin dev home proc sbin usr boot etc liv mnt root tmp var </p&g

95、t;<p>  mkdir -p usr/bin usr/sbin usr/share usr/lib </p><p>  mkdir -p etc/config etc/default etc/init.d etc/rc.boot </p><p>  mkdir -p etc/rc0.d etc/rc1.d etc/rc2.d etc/rc3.d etc/rc4.d e

96、tc/rc5.d etc/rc6.d etc/rcS.d </p><p>  /devThe dev directory is the stub required to perform devices input / output. Each file in this directory may be created using the mknod function. You may save time by

97、 directly copying the required dev entries from your desktop Linux, using the following instruction:cp -dpR /dev /mnt</p><p>  Eight. Installing TinyLogin and login dependencies</p><p>  TinyL

98、ogin (see the Resources section to install it) will give us the following tools in less than 35Kb: /bin/addgroup, /bin/adduser, /bin/delgroup, /bin/deluser, /bin/login, /bin/su, /sbin/getty, /sbin/sulogin, /usr/bin/pass

99、wd. </p><p>  Please refer to your main distribution doc or man pages for a full description of those commands. </p><p>  Step 12. Configuring TinyLogin From the TinyLogin README: TinyLogin is

100、modularized to help you build only the components you need, thereby reducing binary size. To turn off unwanted TinyLogin components, simply edit the file tinylogin.def.h and comment out the parts you do not want using C+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論