[mythtv-users] OT: A major difference between Widows and Linux

Simon Hobson linux at thehobsons.co.uk
Fri May 13 07:04:58 UTC 2016


Jerome Yuzyk <jerome at supernet.ab.ca> wrote:

> The fundamental-ist difference is forking - Unix has it and modern Windows, even derived from Dave Cutler's VMS work, doesn't. Multi-threading came along to provide fork-like behaviour but all threads are within a single process.
> 
> Nothing beats being able to fork a whole other process with its own environment that lives or dies on its own with only a bit of IPC connecting it to the parent process.

File system semantics is another one.
AFAIK, every *nix filesystem separates the file and it's directory entry(s) - hence upgrades can be done live, with open files being kept until the last process closes it. So upgrading almost anything can be done to a running system, with only the need to restart any affected services.
AFAIK, every supported Windows filesystem (which is basically FAT and NTFS) lacks this split - so the directory entry *IS* the file. So a file can't be replaced while any process has it open, resulting in the need to reboot (sometimes several times) to upgrade anything but fairly minor files. It also means no hard links and stuff like that.

Coupled to that, Windows has a NIH mentality - so no non-native filesystems are supported (along with other useful stuff like mDNS). I don't know whether it's just a Linux/*BSD thing or more widespread in the *nix world, but we seem to have a "support anything" policy - though that's probably heavily influenced by the need to work with Windows or not get through the door.
In fact, as I see it, Microsoft only support NIH stuff when that other stuff is just too big to ignore/subvert.



More information about the mythtv-users mailing list