NetWare File System: Difference between revisions

Content deleted Content added
Linuxmdb (talk | contribs)
No edit summary
No edit summary
 
(70 intermediate revisions by 31 users not shown)
Line 1:
{{anchor|NWFS286|NWFS386|Turbo FAT|TTS}}
{{Infobox filesystem|
| name = NWFS
| developer = [[Novell]]
| full_name = NetWare File System
| introduction_date =
| introduction_os =
| partition_id = [[Partition type#PID 64h|0x64]] ([[NWFS 286]]),<br/> [[Partition type#PID 65h|0x65]] ([[NWFS 386]]),<br/> [[Partition type#PID 66h|0x66]] ([[NWFS 386]])
| partition_id =
| directory_struct =
| file_struct =
| bad_blocks_struct =
| max_file_size = 4 [[GibibyteGigabyte|GiBGB]]
| max_files_no =
| max_filename_size =
| max_volume_size = 1 [[TebibyteTerabyte|TiBTB]]
| dates_recorded =
| date_range =
| date_resolution =
| forks_streams =
| attributes =
| file_system_permissions =
| compression = Yes
| encryption =
| OS = [[Novell NetWare]], [[MSDOS]], [[Microsoft Windows]], and [[Linux]]
}}
'''NetWare File System''' ('''NWFS''') is a [[file system]], based on a heavily-modified version of [[File Allocation Table|FAT]]. It was used in the [[Novell NetWare]] [[operating system]]. It is the default and only file system for all volumes in versions 2.x through 4.x, and the default and only file system for the SYS volume continuing through version 5.x. There were two varieties of NWFS: 16-bit NWFS 286, used in NetWare 2.x; and 32-bit NWFS 386, used in NetWare 3.x through NetWare 6.x. It was superseded by the release of [[Novell Storage Services]] (NSS) in 1998. The Netware File System uses a 32 bit File Allocation Table scheme similiar to the MSDOS file system with several improvements including block suballocation, sparse files by the use of block indexes in the fat tables, and mirrored fat and directory files. The NetWare file system also employed a 4 way cylinder aligned segment table to record volume disk segments should a drive spindle fail allowing recovery.
 
In [[computing]], the '''NetWare File System''' ('''NWFS''') was a [[file system]] based on a heavily optimized, journal-based [[File Allocation Table|FAT]] file system. It was used in the [[Novell NetWare]] [[network operating system]]. It was the only file system for all volumes in NetWare versions 2.x, 3.x and 4.x, and the default and only file system for the SYS: volume continuing through version 5.x. Novell developed two varieties of NWFS:
The NetWare file system was the first storage architecture to employ sector remapping for failed drive sectors called drive hotfixing which would redirect sector mapping to a reserved area of the device. Later Disk Drive manufactuters employed the same technique internally within the drive logic to perform a similiar function transparently to the host operating system.
 
# 16-bit NWFS 286, used in NetWare 2.x
The NWFS on-disk format was never publicly documented by Novell. The published specifications for 32-bit NWFS are:
# 32-bit NWFS 386, used in NetWare 3.x through NetWare 6.x.
* Maximum file size: 4GB
 
* Maximum volume size: 1TB
In NetWare 5 and above, [[Novell Storage Services]] (NSS, released in 1998), superseded the NWFS format.
 
The NWFS on-disk format was never publicly released by Novell, but it was released by former Novell engineers as an open source project on Windows, Linux, and DOS in 2000. The project contains a complete rewrite of the NetWare File System, publishes all of the file system internals, and is hosted on [[GitHub]] and [[GitLab]].<ref name="GitLab 2024 u925">{{cite web | title=netware-file-system · GitLab | website=GitLab | date=2024-04-03 | url=https://gitlab.com/jeffmerkey/netware-file-system | access-date=2024-04-03}}</ref><ref name="GitHub 2019 m762">{{cite web | title=netware-file-system: Open Source NetWare SMP File System for Linux, Windows, and DOS | website=GitHub | date=2019-05-30 | url=https://github.com/jeffmerkey/netware-file-system | access-date=2024-04-03}}</ref>
 
The published specifications<ref name="GitLab 2024 u925"/> for 32-bit NWFS are:
* Maximum file size: 4GB4 [[Gigabyte|GB]]
* Maximum volume size: 1TB1 [[Terabyte|TB]]
* Maximum files per volume: 2 million when using a single name space.
* Maximum files per server: 16 million
Line 38 ⟶ 45:
* Maximum directory tree depth: 100 levels
* Characters used: ASCII double-byte
* Maximum [[Metadata_Metadata (computing)|extended attributes]]: 16512
* Maximum [[Fork (filesystem)|data streams]]: 10
* Support for different name spaces: [[Microsoft]] [[Microsoft Windows|Windows]] [[Long filename|Long names]] (Aa.Kk.Aa. [[OS/2]] namespace), [[Unix]], [[Apple Computer|Apple]] [[Apple Macintosh|Macintosh]]
* Support for restoring deleted files (salvage)
* Support for journaling (transactionNovell tracking''Transaction serviceTracking System'' a.k.a. ''TTS'')
* Support for block suballocation, starting in NetWare 4.x
 
For larger files, the file system utilized a performance feature named ''Turbo FAT''.{{citation needed|date=May 2014}}
 
Transparent file compression was also supported, although this had a significant impact on the performance of file serving.
Line 49 ⟶ 58:
Every name space requires its own separate directory entry for each file. While the maximum number of directory entries is 16,000,000, two resident name spaces would reduce the usable maximum number of directory entries to 8,000,000, and three to 5,333,333.
 
16-bit NWFS could handle volumes of up to 256MB256 [[Megabyte|MB]]. However, its only name -space support was a dedicated [[Application programming interface|API]] to handle Macintosh clients.
 
The Netware File System supported native [[Standard_RAID_levels#RAID_0|RAID 0]] and [[Standard_RAID_levels#RAID_1|RAID 1]] capabilities long before RAID systems came into use on personal computers. Disk mirroring and duplexing were basic features of the file system, and NWFS also supported multi-segmented volumes, and round-robin reads, much like RAID 0 and RAID 1 does today.
 
== See also ==
Line 55 ⟶ 66:
* [[List of file systems]]
* [[Comparison of file systems]]
* [[Transaction-Safe FAT File System]]
 
== References ==
{{Reflist}}
 
== External links ==
* [http://www.novell.com/de-de/documentation/nw51nw6p/index.html?page=/documentation/nw51/nss__enusos__enu/data/hn0r5fzoh0wbzsqh.html ComparisonUsing ofthe NWTransaction fileTracking systemsSystem]
* [http://www.novell.com/documentation/nw51/nss__enu/data/h5grftdf.html Another specification comparison page]
 
{{Compu-storage-stub}}
{{Filesystem}}
 
{{DEFAULTSORT:Netware File System}}
[[Category:Compression file systems]]
[[Category:Disk file systems]]
[[Category:Network file systems]]
[[Category:Novell NetWare]]