⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c-over4.html

📁 vxworks相关论文
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83585">MS-DOS Compatible File System: dosFs </a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83586"> </a>VxWorks provides the <i class="acronym_lc">dosFs</i> file system, which is compatible with the MS-DOS file system (for MS-DOS versions up to and including 6.2). The capabilities of dosFs offer considerable flexibility appropriate to the varying demands of real-time applications. Major features include:</p></dl><dl class="margin"><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83587"> </a>A hierarchical arrangement of files and directories, allowing efficient organization and permitting an arbitrary number of files to be created on a volume.</li></ul></p><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83588"> </a>The ability to specify contiguous file allocation on a per-file basis. Contiguous files offer enhanced performance, while non-contiguous files result in more efficient use of disk space.</li></ul></p><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83589"> </a>Compatibility with widely available storage and retrieval media. Diskettes created with dosFs and on MS-DOS personal computers can be freely interchanged and hard drives created with MS-DOS can be read by dosFs if it is correctly configured.</li></ul></p><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83590"> </a>Optional case-sensitive file names, with name lengths not restricted to the MS-DOS eight-character + extension convention.</li></ul></p></dl><dl class="margin"><dd><p class="Body"><a name="83591"> </a>Services for file-oriented device drivers using dosFs are implemented in <b class="library">dosFsLib</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83594">RT-11 Compatible File System: rt11Fs </a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83595"> </a>VxWorks provides the <i class="acronym_lc">rt11Fs</i> file system, which is compatible with that of the RT-11 operating system. This file system has been used for real-time applications because all files are contiguous. However, rt11Fs does have some drawbacks. It lacks a hierarchical file organization that is particularly useful on large disks. Also, the rigid contiguous allocation scheme may result in fragmented disk space. For these reasons, dosFs is preferable to rt11Fs.</p><dd><p class="Body"><a name="83596"> </a>The VxWorks implementation of the RT-11 file system includes byte-addressable random access (seeking) to all files. Each open file has a block buffer for optimized reading and writing. </p><dd><p class="Body"><a name="83597"> </a>Services for file-oriented device drivers using rt11Fs are implemented in <b class="library">rt11FsLib</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83599">Raw Disk File System: rawFs</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83600"> </a>VxWorks provides <i class="acronym_lc">rawFs</i>, a simple "raw disk file system" for use with disk devices. rawFs treats the entire disk much like a single large file. The rawFs file system permits reading and writing portions of the disk, specified by byte offset, and it performs simple buffering. When only simple, low-level disk I/O is required, rawFs has the advantages of size and speed. </p><dd><p class="Body"><a name="83601"> </a>Services for file-oriented device drivers using rawFs are implemented in <b class="library">rawFsLib</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83603">SCSI Sequential File System: tapeFs</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="84875"> </a>VxWorks provides a file system for tape devices that do not use a standard file or directory structure on tape. The tape volume is treated much like a raw device where the entire volume is a large file. Any data organization on this large file is the responsibility of a higher-level layer. </p><dd><p class="Body"><a name="84876"> </a>Services for SCSI sequential device drivers using tapeFs are implemented in <b class="library">tapeFsLib</b>. </p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="84735">cdRomFs</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="86392"> </a>VxWorks provides the <i class="acronym_lc">cdromFs</i> file system which lets applications read any CD-ROM that is formatted in accordance with ISO 9660 file system standards. After initializing cdRomFs and mounting it on a CD-ROM block device, you can access data on that device using the standard POSIX I/O calls. </p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="86391">Alternative File Systems</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83604"> </a>In VxWorks, the file system is not tied to the device or its driver. A device can be associated with any file system. Alternatively, you can supply your own file systems that use standard drivers in the same way, by following the same standard interfaces between the file system, the driver, and the VxWorks I/O system.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="83661">Virtual Memory (Including VxVMI Option)</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="83662"> </a>Virtual memory support is provided for boards with Memory Management Units (MMU). Bundled virtual memory support provides the ability to mark buffers noncacheable. This is useful for multiprocessor environments where memory is shared across processors or where DMA transfers take place. For information on bundled virtual memory support, see <a href="c-vm.html#84369"><i class="title">7.&nbsp;Virtual Memory Interface</i></a> and the reference entries for <b class="library">vmBaseLib</b> and <b class="library">cacheLib</b>.</p><dd><p class="Body"><a name="83666"> </a>Unbundled virtual memory support is available as the optional component VxVMI. VxVMI provides the ability to make text segments and the exception vector table read-only, and includes a set of routines for developers to manage their own virtual memory contexts. For information on VxVMI, see <a href="c-vm.html#84369"><i class="title">7.&nbsp;Virtual Memory Interface</i></a> and the reference entry for <b class="library">vmLib</b>.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="83672">Shared-Memory Objects (VxMP Option)</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="83673"> </a>The following shared-memory objects (available with VxWorks as the optional component, VxMP) are used for communication and synchronization between tasks on different CPUs:</p></dl><dl class="margin"><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83674"> </a>Shared semaphores can be used to synchronize tasks on different CPUs as well as provide mutual exclusion to shared data structures. </li></ul></p><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83675"> </a>Shared message queues allow tasks on multiple processors to exchange messages. </li></ul></p><p class="listspace"><ul class="Bullet" type="disc"><li><a name="83676"> </a>Shared memory management is available to allocate common data buffers for tasks on different processors.</li></ul></p></dl><dl class="margin"><dd><p class="Body"><a name="83680"> </a>For information on VxMP, see <a href="c-smo.html#84368"><i class="title">6.&nbsp;Shared-Memory Objects</i></a> and the reference entries for <b class="library">smObjLib</b>, <b class="library">smObjShow</b>, <b class="library">semSmLib</b>, <b class="library">msgQSmLib</b>, <b class="library">smMemLib</b>, and <b class="library">smNameLib</b>.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="83682">Target-Resident Tools</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="83683"> </a>In the Tornado development system, a full suite of development tools reside and execute on the host machine; see the <i class="title">Tornado User's Guide</i> for details. However, a target-resident shell, symbol table, and module loader/unloader can be configured into the VxWorks system if necessary, for example, to create a dynamically configured run-time system. </p><dd><p class="Body"><a name="83687"> </a>For information on these target-resident tools, see <a href="c-tshell.html#84368"><i class="title">9.&nbsp;Target Shell</i></a> and the reference entries for <b class="library">shellLib</b>, <b class="library">usrLib</b>, <b class="library">dbgLib</b>, <b class="library">loadLib</b>, <b class="library">unldLib</b>, and <b class="library">symLib</b>.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="83691">C++ Development (including Wind Foundation Classes Option)</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="84764"> </a>VxWorks supports C++ development. The GNU C++ compiler is shipped with Tornado. The Tornado compiler provides support for multi-thread-safe exception handling. Tornado includes a new version of the <b class="file">iostream</b> library and the SGI implementation of the Standard Template Library. The standard Tornado interactive development tools such as the debugger, the shell, and the incremental loader include C++ support. </p><dd><p class="Body"><a name="84765"> </a>In addition, you can order the Wind Foundation Classes optional component to add the following libraries:</p></dl><dl class="margin"><ul class="DashSingle" type="circle"><li><a name="83694"> </a>VxWorks Wrapper Class library</li></ul><ul class="DashSingle" type="circle"><li><a name="83696"> </a>Tools.h++ library from Rogue Wave</li></ul></dl><dl class="margin"><dd><p class="Body"><a name="83701"> </a>For more information on these libraries, see <i class="title"><a href="c-wfc.html#84368">5.&nbsp;C++ Development</a></i>.</p></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="83703">Utility Libraries</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="83704"> </a>VxWorks supplies many subroutines of general utility to application developers. These routines are organized as a set of subroutine libraries, which are described below. We urge you to use these libraries wherever possible. Using library utilities reduces both development time and memory requirements for the application. </p></dl></dl><dl class="margin"><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83706">Interrupt Handling Support</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83707"> </a>VxWorks supplies routines for handling hardware interrupts and software traps without having to resort to assembly language coding. Routines are provided to connect C routines to hardware interrupt vectors, and to manipulate the processor interrupt level.</p><dd><p class="Body"><a name="83708"> </a>For information on interrupt handling, see the <b class="library">intLib</b> and <b class="library">intArchLib</b> reference entries. Also see <a href="c-basic.html#83550"><i class="title">2.&nbsp;Basic OS</i></a> for information about the context where interrupt-level code runs and for special restrictions that apply to interrupt service routines.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83713">Watchdog Timers</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83714"> </a>A watchdog facility allows callers to schedule execution of their own routines after specified time delays. As soon as the specified number of ticks have elapsed, the specified "timeout" routine is called at the interrupt level of the system clock, unless the watchdog is canceled first. This mechanism is entirely different from the kernel's task delay facility. For information on watchdog timers, see <a href="c-basic6.html#86844"><i class="title">2.6&nbsp;Watchdog Timers</i></a> and the reference entry for <b class="library">wdLib</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83719">Message Logging</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83721"> </a>A simple message logging facility allows applications to send error or status messages to a logging task, which then formats and outputs the messages to a system-wide logging device (such as the system console, disk, or accessible memory). The message logging facility can be used from either interrupt level or task level. For information on this facility, see <a href="c-iosys5.html#84049"><i class="title">3.5.3&nbsp;Message Logging</i></a> and the reference entry for <b class="library">logLib</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83726">Memory Allocation</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83727"> </a>VxWorks supplies a memory management facility useful for dynamically allocating, freeing, and reallocating blocks of memory from a memory pool. Blocks of arbitrary size can be allocated, and you can specify the size of the memory pool. This memory scheme is built on a much more general mechanism that allows VxWorks to manage several separate memory pools.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83729">String Formatting and Scanning</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83730"> </a>VxWorks includes a complete set of ANSI C library string formatting and scanning subroutines that implement <b class="routine"><i class="routine">printf</i></b><b>(&nbsp;)</b>/<b class="routine"><i class="routine">scanf</i></b><b>(&nbsp;)</b><b class="command"> </b>format-driven encoding and decoding and associated routines. See the reference entries for <b class="library">fioLib</b> and <b class="library">ansiStdio</b>.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83732">Linear and Ring Buffer Manipulations</a></i></h5></font><dl class="margin"><dd><p class="Body"><a name="83733"> </a>The library <b class="library">bLib</b> contains buffer manipulation routines such as copying, filling, comparing, and so on, that have been optimized for speed. The library <b class="library">rngLib</b> provides a set of general ring buffer routines that manage first-in-first-out (FIFO) circular buffers. Additionally, these ring buffers have the property that a single writer and a single reader can access a ring buffer "simultaneously" without being required to interlock their accesses explicitly.</p></dl><dd><font face="Helvetica, sans-serif" size="-1" class="sans"><h5 class="HU"><i><a name="83736">Linked-List Manipulations</a></i></h5></font><dl class="margin">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -