3 ms·
> VMS was good, but it was still sys$system:[thing]/path arcane. And had complex database-like file abstractions which I am sure were a godsend to people in tha
by inkyoto 5y ago
> VMS was good, but it was still sys$system:[thing]/path arcane. And had complex database-like file abstractions which I am sure were a godsend to people in that space but IPC (using an abstraction called "mailboxes") was a nightmare.
Indeed. One could not even open a text file without defining an elaborate file descriptor structure that had a dedicated field for every single potential problem that could occur whilst handling the I/O. UNIX? Just give me the file name, here is your file descriptor, being an integer, and now go away from me.
- pjmlp 5y agoIncluding if the file is already being used by another process, what could go wrong.
- hulitu 5y agoWhat's wrong with a file being used by another process ?
- Woodi 5y agoIt can be very bad eg. when file is a database ;) - so here we are circularity in use-cases :)
- pjmlp 5y agoAll sorts of data corruption possibilities. Even after UNIX finally added support for file locking, its use relies on all processes making use of the API, if they don't care, they get to access the file anyway. What angers UNIX users about file locking on Windows, is actually how proper file locking is done outside of UNIX, Windows is not alone in that regard.
- feffe 5y agoAs a self identifying Unix user, what angers me about file locking on windows is that I can't delete a file that another process has opened. This often leads to the situation that I can't delete a large directory structure because some unknown program has a file open in said directory. I don't care, just let me delete the directory please! Maybe it's not a "Unix" design, but something done by Linux. The concept that a program can continue using an already opened file while to others it's deleted is quite elegant.
- avidphantasm 5y agoThis times 1000. Windows’s pessimistic file locking is why even trivial system updates require a reboot. Makes my blood boil every time.
- pjmlp 5y agoMostly because the people writing those updates don't update themselves (pun intended). https://docs.microsoft.com/en-us/windows/win32/rstmgr/restart-manager-portal https://docs.microsoft.com/en-us/windows/win32/rstmgr/restar...
- pjmlp 5y agoIt is elegant until it happens to be an important file now lost forever on process shutdown, and yes it is pretty much UNIX. A very basic attack vector, to yank files used by other processes and not take place in the traditional lock file dance.
- inkyoto 5y agoIt depends. If one process is writing into the file whereas other processes are reading from the same file, there is not much wrong with that. Otherwise, we wouldn't be able to tee log files in UNIX. Yes, the UNIX file locking semantics and implementation are at odds with parallel operating systems. The rise of «worse is better» in its glory – I will take three.
- dredmorbius 5y agoVMS --- the operating system from DEC --- has flatfiles, and file creation is as simple as opening one in an editor, much as with Unix. MVS --- the mainframe OS from IBM --- has a far more complex data storage model, with "disk" storage being "DASD" (directly-addressable storage device), and requiring a long JCL or TSO/ISPF file definition including cylinders and sectors (similar to formatting a DOS disk, rather than simply creating a file. VMS certainly has its warts, and I much prefer Unix / Linux. But requiring verbose file definitions isn't one of them.