Monday 20 June 2016

File Systems Explained

A digital world


Computer storage is essential these days. We live in a digital world where we want to back up everything and keep is safe and on the whole, it's a pretty easy thing to do. If you're not using some kind of cloud solution, then you've probably invested in an external hard drive, a network assisted storage solution or good ol' fashioned USB sticks. To do this, you need a file system, which will organise how information is stored on your storage media.


      

          

          , 

File systems:

If you're just a basic computer user, the chances are you've never actually had to worry about file systems. There are a couple around and some you've probably heard of: HFS+, NTFS FAT32. Different operating systems will use different file systems. To explain file systems, I'm going to use an analogy of a filing cabinet.

Is it just me or do filing cabinets looks really boring? 
You might have a cabinet that looks like this. The different drawerss all contain your files, but you've ordered them nicely. In a sense, this is your own filesystem! It's a way of organising files that makes sense to you. 

Now imagine that your friend (another computer) comes along and gets you some files from your cabinet. If he is getting you something to do with investments, then you need to explain to him that this file will be in the investments drawer. Now he knows your file system! Imagine if you share your file system with everybody (sharing that filesystem across all computers). If somebody needs to know something about 'banking' then anybody (or any computer) can get it, because they know how the files are organised. 






.
.
Computer file systems don't use the same titles like 'Insurance' this was just an example. The different sections could include things such as File Attributes, Permissions, Owners, an Index of all the files in the cabinet; information which is useful to a computer. What labels are there and how they will be organised in the cabinet, is dependent on the file system. 

.

Why not just have one? 


What a good thought. One way of organising files, simple and without the need for so many file systems. Well, each file system comes with their own strengths and weaknesses and purposes. For example:

The three most common operating systems
All three operating systems to the left have support for the FAT32 file system, mentioned above. Therefore, if I need a USB stick that works across all the 3 operating systems, then I'm going to format it as a FAT32 USB Stick.

Remember how I said that each file system has it's disadvantages? Well, FAT32's is that it cannot handle individual files over 4GB in size. If I have a video file that's 10GB in size, each operating system is going to throw an error and say it can't be done.


So, that's a basic insight into file systems. 


That's a basic insight. I actually was originally planning to talk about something completely different today, but explaining that required you to know about file systems first. As I kept writing, it became apparent that this would be more than enough for people to get their heads around. If you're interested in finding out about more file systems, continue reading. If you're not that bothered, your daily read of 'useless-information-that-I-will probably-never-need' is done. However, I would recommend reading if you're the type of person that uses different operating systems on a daily basis... 

Different file systems:


There are lots of different file systems out there, be sure to do your research. If you want a nice big list, with lots of useful information, I recommend this Wikipedia page here

Unlike the Wikiepdia page, I will just list 4 file systems you're likely to come across in your lifetime. Of course the list of advantages and disadvantages is bigger than the ones I've mentioned, but I've put the list to show you how file systems have different purposes and have been tailored for them. 


FAT32
Advantages:
  • It's compatible across a lot of operating systems, such as: Windows, Linux, OS X
  • The file system is a simple file system and does take unnecessary space from the drive
Disadvantages:
  • Will not support files over 4GB in size, not a problem when the file system was released, but is it's now not unusual to come across files 4GB+ in size. 

NTFS:
Or New Technology File System is commonly used for the Microsoft Windows Operating system

Advantages:
  • Supports hard drives up to 16TB in size and with a bit of tweaking, will go even higher
  • Heavily focused on permissions and the security of files (including encyrption) which makes it useful in a large scale environment that requires lots of users
  • Most of the advantages revolve around using a Windows operating system
Disadvantages:
  • It's developed by Microsoft and therefore 'really' is only supported by Windows
  • Full feature support that NTFS has to offer, is usually only supported by Windows and will require extra software for other operating systems and some programs. 
  • If we use small drives, with little files there is a performance decrease. In a Windows environment, use FAT32 instead. 
  • Windows 98 or lower will not support NTFS - this is a very minor point but who knows. 
  • Mac OS X can read, but writing is sometimes difficult

HFS+ 

There are variants of HFS+, in this case, I will be talking about the commonly used variation: HFS+ Journaled. 

HFS+ was built by Apple, for the Mac OS X operating system. Was built to replace HFS, originally developed by IBM. HFS stands for Hierarchical File System

Advantages:
  • Although designed for OS X, Linux support this file system natively with correct permissions
  • Supports drive encryption, which adds a better layer of security - You must use a GPT Partition table disk, on new computers this is standards
  • This file system is Journaled, which means a log is kept of changes to files. This means if you have a power cut / glitch that causes the computer to crash, it will recover faster. 
Disadvantages:
  • Incompatible with Windows. If you have a Mac and need to share files with Windows, I recommend using FAT32, although be sure to remember the disadvantages of this. 
  • If you use special characters (like ΓΌ) other operating systems may not be able to deal with and you may get corrupted file names
  • It really is only designed for a Mac and not a lot else
Ext4:
Forth Extended File System is an improvement on Ext3, 2 . Is it used in Linux. 

Advantages:
  • Uses Journaling, with support for not using it if you don't want it. Just keep it, okay. 
  • Huge support for drive size, up to EiB with a file size. That 4GB file you were limited to in FAT32 is 17592.2GB if you use Ext4
  • Faster disk checking - if something nasty happens to your disk, checking it for consistency will be a LOT faster. 
Disadvantages:
  • There was a time when using ext4 was buggy and people avoided using it, but these are now gone! 
  • Windows and OSX will not support this without specialist software, so it's very confined to Linux

That's it, I promise. 



Well, there we have it. File systems explained. if you use multiple operating systems and need a drive compatible with most, I will always recommend FAT32. 

I know for a fact I feel even less compelled to order all my files into a cabinet now. 

If you have any questions, feel free to ask!

Many thanks to the people who've spotted errors - they have since been corrected. 

2 comments: