Vista (Announce)
> Was it Win2000 or some other that dropped support for OS/2 1.x text apps?
> I mean, I never needed to run an OS/2 1.x app, but surely who would
> complain if Windows supported it? Seriously, why is backwards
> compatibility considered so evil?!
------------------------------------
> If MS would have done it if they could, then they didn't because they
> couldn't. So the question would be, why couldn't they? Other OSes have
> multiple access layers that some programmers, somewhere, knew how to write.
I really don't understand why everyone has so much trouble with understanding the problem of backwards compatibility. Poor planning is a big part of this, but sometimes things simply need to be deprecated.
DOS is an especially nasty specimen because "backwards compatibility" meant having lots of applications that assume that we're dealing with a single tasking OS with no security. What's this mean?
1) Direct attempts to read/write to the hard disk whether by interrupt or direct access (as in anti-virus, disk scanning, caching, etc)
2) More broadly; attempts at direct hardware access (video, drivers, serial/parallel ports, network devices, etc)
3) Simultaneous file read/writes by multiple applications
Answer to 1:
------------
(A) You could allow direct read/write to hard disk...but if you changed the FAT while the OS has its own cached copy...what happens? Which copy is correct? This would cause corruption/crashing. (B) You could disable direct hardware access and hook all interrupt calls and disallow them from writing to very sensitive areas. This would slow hard disk access quite a bit. This would also break compatibility with applications trying to write to those areas...they could cause worse problems since they might not handle the unexpected errors. (C) Disallow all calls - 100% breaking compatibility. Win9x did this.
Answer to 2:
------------
Direct attempts at hardware will change the state of the hardware if it's allowed. (A) You could constantly set it to a known state before working with it, but this wouldn't help if there's simultaneous access to prevent the system from crashing. It would also slow all operations involving the hardware. (B) You could stop the applications from direct access...this is what Win9x did. This breaks backwards compatibility.
Answer to 3:
------------
Multiple applications writing to one file is obviously never going to work, but why can't we have one application read and another write? Several reading? (A) You could use 'file locking', and have calls to open files request what they want to do (read/write/etc)...but the API doesn't support this. Breaks compatibility. (B) Add file locking APIs, but still support the old ones...except error out (Sharing Violation) when an app tries to write to a file currently being written. Will cause the app to crash, not too big of a deal (Win9x does this).
So basically, we're already breaking compatibility. Most apps were just updated after windows was released. Except, now we've got some issues:
- A pile of APIs that don't make any %*$#ing sense in a multitasking OS to add to the pile of APIs that do, and also perform the same tasks.
- Hooks of all kinds of interrupts that need to interact with the OS that should've been disabled
- Allowing of old interrupts/calls that can cause crashing
- Lots of extra code executing doing checks it shouldn't have to do
Complete thread:
- DR-DOS 8.1 - RayeR, 21.11.2007, 18:02 (Announce)
- DR-DOS 8.1 - Laaca, 21.11.2007, 18:55
- DR-DOS 8.1 - RayeR, 21.11.2007, 19:13
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:50
- DR-DOS 8.1 - RayeR, 21.11.2007, 19:13
- DR-DOS 8.1 - RayeR, 22.11.2007, 00:50
- DR-DOS 8.1 - david, 22.11.2007, 08:33
- DR-DOS 8.1 - RayeR, 22.11.2007, 10:14
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 10:41
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:17
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 11:23
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:44
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:28
- DR-DOS 8.1 - RayeR, 22.11.2007, 12:54
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 13:05
- DR-DOS 8.1 - RayeR, 22.11.2007, 16:39
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 13:05
- DR-DOS 8.1 - RayeR, 22.11.2007, 12:54
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:28
- DR-DOS 8.1 - Steve, 22.11.2007, 13:23
- DR-DOS 8.1 - rr, 22.11.2007, 13:26
- DR-DOS 8.1 - Steve, 22.11.2007, 13:31
- DR-DOS 8.1 - rr, 22.11.2007, 14:02
- DR-DOS 8.1 - Steve, 22.11.2007, 14:49
- DR-DOS 8.1 - rr, 22.11.2007, 14:59
- DR-DOS 8.1 - Steve, 22.11.2007, 15:12
- DR-DOS 8.1 - rr, 22.11.2007, 14:59
- DR-DOS 8.1 - Steve, 22.11.2007, 14:49
- DR-DOS 8.1 - rr, 22.11.2007, 14:02
- DR-DOS 8.1 - Laaca, 22.11.2007, 15:24
- DR-DOS 8.1 - rr, 22.11.2007, 15:55
- DR-DOS 8.1 - Steve, 22.11.2007, 13:31
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 13:37
- DR-DOS 8.1 - Steve, 22.11.2007, 15:07
- Vista's pre-SP1 DOS (in)compatibility - Rugxulo, 22.11.2007, 15:43
- Vista's pre-SP1 DOS (in)compatibility - RayeR, 22.11.2007, 16:26
- Vista's pre-SP1 DOS (in)compatibility - Rugxulo, 22.11.2007, 17:13
- Vista's pre-SP1 DOS (in)compatibility - Steve, 22.11.2007, 17:18
- Vista's pre-SP1 DOS (in)compatibility - RayeR, 22.11.2007, 17:18
- Vista's pre-SP1 DOS (in)compatibility - Rugxulo, 22.11.2007, 17:13
- Vista's pre-SP1 DOS (in)compatibility - Steve, 22.11.2007, 16:28
- Vista's pre-SP1 (in)compatibility - Rugxulo, 22.11.2007, 17:19
- Vista's pre-SP1 DOS (in)compatibility - flox, 22.11.2007, 17:00
- Vista's pre-SP1 DOS (in)compatibility - RayeR, 22.11.2007, 16:26
- Vista's pre-SP1 DOS (in)compatibility - Rugxulo, 22.11.2007, 15:43
- DR-DOS 8.1 - Steve, 22.11.2007, 15:07
- DR-DOS 8.1 - rr, 22.11.2007, 13:26
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:44
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:39
- DR-DOS 8.1 - RayeR, 22.11.2007, 13:06
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 13:18
- DR-DOS 8.1 - RayeR, 22.11.2007, 13:06
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 11:23
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:17
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:23
- DR-DOS 8.1 - rr, 22.11.2007, 12:29
- DR-DOS 8.1 - Steve, 22.11.2007, 14:42
- DR-DOS 8.1 - Rugxulo, 26.11.2007, 20:20
- DR-DOS 8.1 - DOS386, 12.12.2007, 02:09
- DR-DOS 8.1 - RayeR, 22.11.2007, 16:58
- DR-DOS 8.1 - rr, 22.11.2007, 20:51
- DR-DOS 8.1 - RayeR, 22.11.2007, 21:16
- DR-DOS 8.1 - RayeR, 23.11.2007, 02:06
- DR-DOS 8.1 - rr, 23.11.2007, 09:27
- DR-DOS 8.1 - RayeR, 24.11.2007, 14:33
- DR-DOS 8.1 - rr, 23.11.2007, 09:27
- UIDE caches even disks for which it doesn't do UDMA - lucho, 24.11.2007, 09:09
- UIDE caches even disks for which it doesn't do UDMA - RayeR, 24.11.2007, 17:39
- DR-DOS 8.1 - rr, 22.11.2007, 20:51
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 10:41
- DR-DOS 8.1 - RayeR, 22.11.2007, 10:14
- DR-DOS 8.1 - david, 22.11.2007, 08:33
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 10:13
- DR-DOS 8.1 - RayeR, 22.11.2007, 10:27
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 10:53
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:31
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:36
- DR-DOS 8.1 - RayeR, 22.11.2007, 17:11
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 12:36
- DR-DOS 8.1 - RayeR, 22.11.2007, 11:31
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 11:19
- DR-DOS 8.1 - flox, 22.11.2007, 15:37
- TriDOS -- DPMI bug? - Rugxulo, 22.11.2007, 16:20
- TriDOS -- DPMI bug? - flox, 22.11.2007, 17:02
- DR-DOS 8.1 - Rugxulo, 26.11.2007, 20:24
- TriDOS -- DPMI bug? - Rugxulo, 22.11.2007, 16:20
- DR-DOS 8.1 - flox, 22.11.2007, 15:37
- DR-DOS 8.1 - Rugxulo, 26.11.2007, 20:23
- DR-DOS 8.1 - jaybur, 27.11.2007, 02:12
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 10:53
- DR-DOS 8.1 - RayeR, 22.11.2007, 10:27
- DR-DOS 8.1 - Rugxulo, 22.11.2007, 13:45
- DR-DOS 8.1 piracy :-( - DOS386, 12.12.2007, 02:00
- DOS -- single-tasking? - Rugxulo, 12.12.2007, 18:26
- DOS -- single-tasking? - Steve, 14.12.2007, 06:06
- DOS -- single-tasking? - Rugxulo, 14.12.2007, 08:24
- DOS -- single-tasking? - DOS386, 15.12.2007, 18:59
- DOS -- single-tasking? - Rugxulo, 16.12.2007, 00:44
- DOS -- single-tasking? - Steve, 14.12.2007, 06:06
- DOS -- single-tasking? - Rugxulo, 12.12.2007, 18:26
- DR-DOS 8.1 - Laaca, 21.11.2007, 18:55