Keep in mind that DOS 7 from W98SE can boot, access and format SATA and USB drives usually natively from BIOS mode, with multiple FAT32 partitions as large as 32GB starting within the first 120GB from the MBR at sector 0, and much deeper when the MBR has been replaced by one from NT6 and up to 2TB HDD's can be often used.
Just like W95b, and W95b can be made to fit and work well within 32mb of drive space, 8mb memory or more but preferring under 1 or 2GB memory, and allowing 2.0GHz or less with the AMD K3 patch, it runs better than the relatively bloated W98SE, whose type of built-in networking can optionally be added to W95b, and LAN drivers are still widely available for DOS/W9x.
With a little more drive space and Office 97, you get Word, Excel, and even Power Point whose primary features are still fully capable of creating for and opening files from any later version of Windows or Open Source Office keeping simple well-defined limitations in mind at both ends.
The drawback is usually graphics drivers for which pleasing high resolution can not easily be obtained.
Well the DOS operating system exposes RING0 to the user and to all programs, privileged mode. DOS isn't secure as such.
You can install some antivirus software which sits resident in memory and enables some protection against malicious viruses interacting with files, memory, MBR.
The notion of security, as it briefly existed in the Win9x world, was that the OS should not have any remotely exploitable holes in the network stacks.
Philosophically, I cannot help but feel like a kernel without memory protection or any multitasking is better called a library than a kernel. It's effectively a series of function calls the applications can call, to my knowledge. I guess we expect a whole lot more of OS's now.
It's closer to an RTOS as all it does is load a single program and provides that program an API to access services and hardware. Sure, you can run other programs within programs but you switch execution between programs and whatever is running has full control of the machine. There are no interrupts or scheduling so the running program has to voulinteraillary yield or exit to switch back.
It's not really multitasking because there's no concept of a "task" and the stack doesn't get saved anywhere, no.
TSRs were interesting because the program had to actually terminate - and you could only get back into it if you'd left hooks into the operating system API itself. Usually on keyboard events but also on parts of the filesystem API.
I remember calling them subprograms and TSR's were things like memory managers and drivers. e.g. you could open a shell or other program from within a program like norton commander or dos shell. I can't remember if you could switch between them or the subprogram had to exit before control was returned to the the calling program.
> There is no multitasking for regular programs in DOS: if a program launches another one, the parent is simply paused until the child exits.
Well aware of that fact but my question is could you switch from the subprogram back to the main program without exiting the subprogram? I feel the answer is no but I can't remember.
e.g. I open norton commander and run qbasic. norton commander is paused and qbasic takes control. Is there an interrupt call which allows me to return control to norton commander without exiting qbasic and let qbasic stay paused?
>could you switch from the subprogram back to the main program without exiting the subprogram?
There were TSR task-switcher programs to do that, effectively allowing you to turn normal programs into TSRs. I had a single floppy-drive PC with no hard drive, but I had 640K of RAM. So I would run the task switcher from its floppy, allocate task 1 some RAM and load that program from its floppy, then allocate task 2 some RAM and load that from its floppy, then switch to task 3 and use the rest of the RAM for whatever. Whenever needed, I could switch back to task 1 or task 2, without having to switch floppies or exit the current task. I think it was DOS 3.30 when I used that. It was handy to keep small utilities (like a text editor and unarchiver) loaded and ready to look at the contents of any disk.
You could do a lot in DOS with ASM and interrupts, as long as the code was small. But with the hardware limitations, and the way people usually used PCs during DOS's prime years, it didn't really make sense to put too much effort into multitasking. Towards the end we were often rebooting with distinct boot disks, each with a different AUTOEXEC.BAT and CONFIG.SYS customized to get the most out of the hardware for each specific program. Multitasking would be pointless in that case.
You can just hook some interrupt and revive the controlling program. A problem is that the other programs are free to bypass the normal ways to drive the input devices as are not required to accommodate other tasks.
> •With the FreeDOS kernel and FreeCOM, conveniences are gained and the memory footprint under 1 MB is reduced, but compatibility is sacrificed, both in the post-DOS-3.3 sense and in terms of known quirks and bugs.
Anyone got some insight what exactly post 3.3 is referring to? I've seen once or twice that retro enthusiasts like to use dos 3.3, so what's happened with versions after that?
Just like W95b, and W95b can be made to fit and work well within 32mb of drive space, 8mb memory or more but preferring under 1 or 2GB memory, and allowing 2.0GHz or less with the AMD K3 patch, it runs better than the relatively bloated W98SE, whose type of built-in networking can optionally be added to W95b, and LAN drivers are still widely available for DOS/W9x.
With a little more drive space and Office 97, you get Word, Excel, and even Power Point whose primary features are still fully capable of creating for and opening files from any later version of Windows or Open Source Office keeping simple well-defined limitations in mind at both ends.
The drawback is usually graphics drivers for which pleasing high resolution can not easily be obtained.