Hacker News new | past | comments | ask | show | jobs | submit login

'Operating system' is stretching it. 'Disk Operating System' is one of those phrases like 'ice creme' that implies 'ice cream'.

MS-DOS was a program that wrote stuff to disk for you, read the keyboard for you, listened to interrupts for things and showed useful error messages such as 'Retry, Fail or Abort?'.

There was no networking to speak of, certainly not TCP/IP as we know it, no user permission things, you couldn't run cron jobs and the list goes on. All of this normal stuff that an Operating System does was well established on UNIX boxes, VAXes and, to a certain extent, on the BBC Micro.




An OS doesn't need to have networking, permissions, or anything else. It just needs to provide a common set of services for applications programs to use.

Consider that OSs started out as libraries of functions that programs could call into, which then evolved into job managers, that is where MS-DOS fits.

It's single-tasking, single-address-space, but it already has the concept of processes, drivers, files. This is still more than some embedded OSs which are not much more than a threading library.


Really though, wasn't most of DOS just thin abstractions on BIOS interfaces? What hardware abstractions did it provide other than the filesystem, and what services other than an ABI allowing you to quit a program without rebooting?


http://en.wikipedia.org/wiki/MS-DOS_API

Given that it was a disk operating system it's no surprise that the bulk of the services are disk/filesystem-related, but it also has ones for I/O, memory, timing, and processes.


It abstracted the character-at-a-time BIOS interfaces to a line-buffered text console.

It provided a memory allocator service.


> 'Operating system' is stretching it. 'Disk Operating System' is one of those phrases like 'ice creme' that implies 'ice cream'.

And if I want to run a TOS (Tape Operating System), how should I call it? The naming is correct and comes from IBM mainframe operating systems from the 60's.


> All of this normal stuff that an Operating System does was well established ... to a certain extent, on the BBC Micro.

The BBC micro's operating system had no networking to speak of, certainly not TCP/IP as we know it, no user permission things (indeed, no concept of users at all), and no cron jobs (indeed, no OS scheduling of tasks at all). In other words, not one of the things you specifically called out as "normal stuff that an Operating System does".

(There was a networking system, called Econet, but it wasn't part of the base OS; you needed an extra ROM -- physically plugged into the circuit board, those were the days -- that implemented it.)

For the avoidance of doubt: I loved the Acorn MOS and hated MS-DOS. But it simply isn't true that the BBC Micro had those features and MS-DOS didn't. And, for what it's worth, I see nothing wrong with calling either of them an operating system.


Too bad newer developers can’t fathom what a game changer MSDOS was back in the day.

I downloaded and dorked around with the code out of respect for what it did to PC’s 30 years ago. It’s interesting, I thought the codebase would be much larger than it is.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: