source: rtems-docs/filesystem/preface.rst @ 4cacea0

4.115
Last change on this file since 4cacea0 was 4cacea0, checked in by Chris Johns <chrisj@…>, on 10/28/16 at 01:01:51

Fix filesystem formatting.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1.. comment SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. COMMENT: COPYRIGHT (c) 1988-2002.
4.. COMMENT: On-Line Applications Research Corporation (OAR).
5.. COMMENT: All rights reserved.
6
7=======
8Preface
9=======
10
11This document describes the implementation of the RTEMS filesystem
12infrastructure.  This infrastructure supports the following capabilities:
13
14- Mountable file systems
15
16- Hierarchical file system directory structure
17
18- POSIX compliant set of routines for the manipulation of files and directories
19
20- Individual file and directory support for the following:
21
22  # Permissions for read, write and execute
23  # User ID
24  # Group ID
25  # Access time
26  # Modification time
27  # Creation time
28
29- Hard links to files and directories
30
31- Symbolic links to files and directories
32
33This has been implemented to provide the framework for a UNIX-like file system
34support. POSIX file and directory functions have been implemented that allow a
35standard method of accessing file, device and directory information within file
36systems. The file system concept that has been implemented allows for expansion
37and adaptation of the file system to a variety of existing and future data
38storage devices. To this end, file system mount and unmount capabilities have
39been included in this RTEMS framework.
40
41This framework slightly alters the manner in which devices are handled under
42RTEMS from that of public release 4.0.0 and earlier.  Devices that are defined
43under a given RTEMS configuration will now be registered as files in a mounted
44file system.  Access to these device drivers and their associated devices may
45now be performed through the traditional file system open(), read(), write(),
46lseek(), fstat() and ioctl() functions in addition to the interface provided by
47the IO Manager in the RTEMS Classic API.
48
49An In-Memory File System (IMFS) is included which provides full POSIX
50filesystem functionality yet is RAM based.  The IMFS maintains a node structure
51for each file, device, and directory in each mounted instantiation of its file
52system. The node structure is used to manage ownership, access rights, access
53time, modification time, and creation time.  A union of structures within the
54IMFS nodal structure provide for manipulation of file data, device selection,
55or directory content as required by the nodal type. Manipulation of these
56properties is accomplished through the POSIX set of file and directory
57functions.  In addition to being useful in its own right, the IMFS serves as a
58full featured example filesystem.
59
60The intended audience for this document is those persons implementing their own
61filesystem.  Users of the filesystem may find information on the implementation
62useful.  But the user interface to the filesystem is through the ISO/ANSI C
63Library and POSIX 1003.1b file and directory APIs.
Note: See TracBrowser for help on using the repository browser.