The actual OS is basically like Unix, ...
Except that it is nothing like Unix, except that both are accessed through a command line. The same is true of most other operating systems before the 80s, because graphics hardware was so rare, expensive and underpowered that a GUI was either impossible or impractical (sure, you could have bought a half-million $ Evans & Sutherland and built a GUI, but that would be silly).
Let's see, what's different in VMS? Process creation is very expensive, so the shell doesn't create a new process for commands, instead it runs them in the context of the shell. That's a reason why pipes weren't there originally either. The shell doesn't have IO redirect, but doesn't need it, because of no pipes. Instead, one used standardized IO redirects: Nearly every command has /INPUT=... and /OUTPUT=... options, which allow reading/writing files instead of pipes.
Networking was originally completely different: DECNet instead of TCP/IP. Totally different numbering and naming system, and tightly integrated into the shell. With that came the first fully functioning SAN/cluster/distributed file system (VAXcluster and local area cluster), at a time when Unix machines still had NFS with all its inconsistency and performance problem, which come from the fact that NFS has central servers.
The permissions model is different: Not 3 groups of 3 bits (user/group/other with read/write/execute), but four groups of four bits (the extra group is for system, and I forgot for what the extra bit was). With that comes an actual privilege model: Instead of a single root user (ID=0) which can do everything, all processes have privilege flags; one such privilege is to be the sys admin who can do certain things, another privilege is the ability to override file permissions, and so on.
Completely different way to specify file paths. Not /mountpoint/directory/otherdirectory/file, but mountpoint:[directory.oterdirectory]file.typ. Having a period in the name and a filetype is mandatory, in Unix it's just a convention. In practice, hardly anyone ever used explicit mountpoint names (they are actually disk drive names), but instead the admin defines system-wide aliases (called something like logical names), so the root disk is typically known as something like SYS$DISK:[dir.otherdir]..., and other disks might be DISK$MARKETING:... and DISK$ENGINEERING:...
The other gigantic difference is that the runtime privilege model is much richer. Unix only knows userspace and kernel. VMS has four levels; the one that really matters to user programming is that there are two levels for usermode programs, one for internals of the shell, the other for user programs. This is what allows the shell to run executables within its own process: it has memory protection.
And then the IO programming model is completely different. At its core, all IO is asynchronous, done by queueing IO onto things. Matter of fact, the basic IO system call is called QIO. Along with that goes a different model for asynchronous IO completion, which is the concept of the AST, an asynchronous completion routine. This is enabled by the CPU having a form of software interrupt which remains in user space, and is much lighter weight than hardware interrupts.