I would tell him to go back to excel and stop bothering me.amn wrote: There are smart developers everywhere, but if your say, technical manager told you to implement raw disk access for the sake of maximum speed in Linux how will you circumvent the file system layer?
Anyway, from my point of view virtual memory and file systems provide the same type of abstraction to an application. Both provide logical address spaces from physical resources. The main difference here is that file systems provides the possibility to use multiple named logical address spaces.
As soon as your system becomes the least bit complex there will be a need for the kind of abstraction a file system (or something file system like) provides. The very notion that there can be multiple applications implies some kind of organization regarding how we store the executable entities and associated data.
It only really makes sense to discard the storage abstraction if you have a very well defined target system that is unlikely to change (i.e. tiny embedded system). If this is not the case the application is forced to deal with the existence of other applications (created by other developers!) in the same storage medium as well as changing characteristics of different storage mediums.
Discarding the use of a file system and you will suddenly be forced to take care of things such as device size, block size and where other applications store their data (even other running instances of your application). In addition if the underlying storage type is switched all applications need to be rewritten.