Symbian3/PDK/Source/GUID-4ADDC0D4-F784-5023-BD82-F6223C8DC79E.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 16:16:55 +0100
changeset 6 43e37759235e
parent 5 f345bda72bc4
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of example code"

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-4ADDC0D4-F784-5023-BD82-F6223C8DC79E" xml:lang="en"><title>File
Systems Overview</title><shortdesc>Provides several common file system implementation. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-B12E9720-673F-57FB-AF27-B0C2F5D1DDDA"><title>Purpose</title> <p>Provides
file system implementations —<i>file server fsy plug-ins</i> — for devices
that are reasonably expected to be used on a Symbian platform device. The
file systems implement a storage and access format most appropriate to the
media. Please see a file system's guide for its specific purpose. </p> </section>
<section id="GUID-0AB0FA58-037F-542D-8BBB-D1E9661202FB"><title>Architecture</title> <p>The
File Systems collection provides several kinds of file system implementations.
File system binaries are built as <xref href="GUID-BB9760B4-4F3F-5326-81FB-B644C82F0E65.dita">FSY</xref> plugins
that are loaded (added and mounted) by the file server; either at startup
or as required such as when a device is physically attached to the phone (inserting
a memory card into the card slot). </p> <p>The file server uses these implementations
to access data on different media. </p> </section>
<section id="GUID-6CACBD32-7E8A-5266-96D0-C2C2D82BC866"><title>Description</title> <p>The
File Systems collection consists of a series of file server plugins, one for
each file system. The various systems are loaded into a file server instance.
Different devices use different file systems based on the characteristics
of the storage medium. </p> <p>The following table lists several file systems
and the different media that use them. </p> <p>The ROM file system is implemented
as part of the file server component. The other files systems are implemented
as separate file server plugins, which may be loaded using ESTART or as part
of a mounting operation. </p> <p>All file system plugins files have .fsy extensions. </p> </section>
<section id="GUID-952FDE22-385B-5048-A546-B57A79F90B48"><title>File System
Summary</title> <p>The following file system plug-ins are provided: </p> <ul>
<li id="GUID-5E4EAEEA-CA8B-5AE2-9D52-751CF3F921F0"><p><xref href="GUID-596E9D8B-7E75-5644-B4DC-6D657BE00A8B.dita">Composite
File System</xref> (<filepath>ecomp.fsy</filepath>): The Composite File System
for NAND flash devices presents a single drive Z: to the File Server that
layers thinly over both the core ROM and the ROFS file systems. It redirects
File Server requests to the core ROM or ROFS as required. See <xref href="GUID-775B5858-4358-5195-B580-7C16AE4981C3.dita">Flash
Translation Layer Technology</xref> for more information on why this is required. </p> <p>This
unifies the file systems for flash devices (ROM, ROFS and FAT file systems)
into a common file system that is used with drive <filepath>Z:</filepath>.
The file server will direct requests to the required file system as required. </p> </li>
<li id="GUID-82C41045-11E9-5FC9-AE1E-7626CE45EA61"><p><xref href="GUID-CDB35952-5EE3-5643-BA0A-341FE0FF1A02.dita">FAT
File System</xref> (<filepath>efat.fsy</filepath> or <filepath>elocal.fsy</filepath> when
built for an emulator target.) : The FAT File System implements a file system
that supports the VFAT standard. This is used for user data storage on NAND
Flash, internal RAM drives, and removable media. </p> <p>This is the file
system that was originally used by IBM PCs and is an industry standard for
file systems. It is supported by all operating systems that execute on PCs.
Symbian platform FAT only supports FAT12 and FAT16 types. </p> </li>
<li id="GUID-35A95C58-10C0-5503-A898-CB11AF121A77"><p><xref href="GUID-0988F387-5F26-512E-BDA4-D5800EEC2A77.dita">FAT32
File System</xref> (<filepath>efat32.fsy</filepath>): The FAT32 File System
implements the enhanced version of the FAT file system standard that includes
FAT32 support. </p> <p>The FAT32 file system is an update of the industry
standard FAT file system. The Symbian platform FAT32 file system supports
the FAT12, FAT16 and FAT32 file systems. </p> </li>
<li id="GUID-E48530A9-A7BE-5EB1-B2F4-70779963B898"><p><xref href="GUID-15DD2080-83D6-5DE0-8B75-D4A5934C8C91.dita">ISO9660
File System</xref> (<filepath>iso9660.fsy</filepath>): The ISO9660 File System
implements a ISO9660 file system, that reads CDROM and DVD-ROM. This is only
for the internal X86 port. </p> <p>The ISO9660 is an internationally agreed
standard for the file system used by CD-ROM and DVD-ROM media. </p> <p> <note> ISO9660
is for Symbian internal use only. </note> </p> </li>
<li id="GUID-19C89E46-95EC-5F0D-AF66-ADB94A2ED408"><p><xref href="GUID-6FD18A95-2530-565C-8C92-E893649F2E59.dita">LFFS
File System</xref> (<filepath>elffs.fsy</filepath>): The LFFS File System
provides data storage on NOR type flash memory, and is portable to a wide
range of Flash devices. </p> <p>LFFS is designed specifically to be used with
NOR flash and has the ability to protect itself against power loss. </p> </li>
<li id="GUID-9A1088B0-2928-5F1E-A73A-FE40254BB987"><p><xref href="GUID-57C0B4C9-255A-50CD-8E99-DD1A754060C0.dita">NTFS
File System</xref> (<filepath>ntfs.fsy</filepath>): The NTFS File System provides
read-only support for the NTFS file system standards. This is only for the
internal X86 port. </p> <p>This is the file system for Windows NT, Windows
2000, Windows-XP, Windows Server 2003, Windows Server 2008 and Windows Vista. </p> <p> <note> NTFS
is for Symbian internal use only. </note> </p> </li>
<li id="GUID-776918FD-4408-50D6-BEB2-9B1D991C1E97"><p><xref href="GUID-466628A1-80BB-57E7-8315-CD9E0A95CDC3.dita">ROFS
File System</xref> (<filepath>erofs.fsy</filepath>): The Read-only File System
(ROFS) supports a ROM-structured local file system that can be located on
NAND flash, or other media, where executables are not executed in place (non-XIP). </p> <p>ROFS
stands for Read Only File System and is used for accessing code storage on
media that cannot be executed in that media (otherwise known as non-XIP storage),
for example NAND flash. </p> </li>
<li id="GUID-2E0072DF-6234-5D61-BB44-0F6DE6D062CF"><p><xref href="GUID-EB6CA066-B567-5542-9D41-183B27A70B82.dita">ROM
File System</xref> (No FSY, ROM is the default file system build defined by <filepath>f32.iby</filepath>):
The ROM file system is used to access the "core ROM image": this contains
files that are copied from NAND Flash storage into RAM on boot. </p> <p>This
is the file system that is used when the phone boots up. </p> </li>
<li id="GUID-FC28E385-C8D1-5E90-B075-B8FA09FA09F5"><p><xref href="GUID-61BAA598-4D13-5859-8751-DA949744E27F.dita">USB
Mass Storage File System</xref> (<filepath>msfs.fsy</filepath> and possibly <filepath>msfs_db.fsy</filepath>,
depending on configuration): The USB Mass Storage File System is provided
to support a licensee-provided USB mass storage application, which allows
a desktop host computer access to a FAT-formatted drive on the phone. </p> <p>The <xref href="GUID-F3C8EB83-EBB3-5347-89B0-9A86D1864D12.dita">USB Mass Storage Server</xref> is
used when a USB memory device is connected directly to the device executing
Symbian platform. </p> <p>The <xref href="GUID-FA0A6825-88A8-549A-B360-E7D74EE79CF1.dita#GUID-FA0A6825-88A8-549A-B360-E7D74EE79CF1/GUID-BD5162E2-0D9C-5756-9804-556595330043">USB
Mass Storage File System</xref> is used when the media on the device is accessed
by an external device i.e. a PC when it is in "USB mass storage" mode. </p> </li>
</ul> </section>
<section id="GUID-2C14C280-9442-462A-BE5A-8C49A96FB8E4"><title>Using File
System Plug-ins</title> <p>The file systems are used to allow kernel access
to data on a media storage device such as Flash, MMC cards, SD cards, etc.
A file systems FSY plug-in must be added to the file server and mounted before
the kernel is granted access. </p> <p>Accessing a file system specific device
requires: </p> <ul>
<li id="GUID-5E8C4326-5A6F-51D7-9C84-8AF5F6BC36AF"><p>Adding a file system
to the file server using <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-51353BE2-9133-39F5-83F3-A5DB88D858CA"><apiname>RFs::AddFileSystem()</apiname></xref>  </p> </li>
<li id="GUID-DBC20D4D-D358-5668-B9D8-BDF68A441A7E"><p>Mounting the file system
using <xref href="GUID-E263C747-946F-35AA-9F1D-41833BD350FC.dita#GUID-E263C747-946F-35AA-9F1D-41833BD350FC/GUID-0754C075-92B6-37B3-8959-61D8D65DB491"><apiname>RFs::MountFileSystem()</apiname></xref>  </p> </li>
</ul> <p>The file server handles all requests to access a mounted file system. </p> </section>
</conbody><related-links>
<link href="GUID-9E92EE30-F2E2-5F28-BB2A-391C09EC69D2.dita"><linktext>Using ECom</linktext>
</link>
<link href="GUID-F3BD37EC-0CCB-5859-908F-215E22C9FC20.dita#GUID-F3BD37EC-0CCB-5859-908F-215E22C9FC20/GUID-143780ED-4A23-5E72-A923-F605172EC8B5">
<linktext>File Server</linktext></link>
</related-links></concept>