PDOS-generic (Announce)
Something else occurred to me.
1. Would it have been feasible for MSDOS to have
been written in C instead of assembler, and (with
the benefit of hindsight) waited for compilers to
become better and RAM to become cheaper, and
possibly distributed multiple versions of the
product with different memory requirements.
2. Assuming people are happy with the PDOS-generic
design of passing an array of OS functions as a
simple stack parameter, could this have been done
for the 16-bit MSDOS too?
The timeline I have is that MSDOS 1.0 was released
in 1981 and MSDOS 2.0 in 1983. I think we can ignore
1.0 because that is effectively CP/M, and has a
different design consideration.
With the benefit of hindsight, the 80386 was coming
out in 1986. 32-bit OS/2 2.0 was released in 1992.
Assume people have the application source code in C
available, and that a 32-bit C compiler was also
made available in a timely manner, and that people
are happy to produce 2 versions of their software
for people who have memory constraints.
Actually, there's an alternative. Using 80386
selectors, and setting the D bit to 16-bit default,
it is actually possible to address up to 512 MiB
of memory using pure 16-bit instructions. That
could have alleviated memory pressure too. The
important thing is to not hardcode a segment shift
value of 4. MSDOS could have provided a call to
retrieve that value if you needed it for some
reason. Maybe a 16-bit processor with these
characteristics could have been produced faster
than waiting for the 80386 (that included them,
along with proper 32-bit mode).
By 1985, 512K memory was US$210, which is probably
a point where you shouldn't be making design
decisions based on saving m*oney on RAM.
Another consideration is that the C standard wasn't
actually ratified until 1989-1990, so there is some
difficulty exporting a C library to applications.
With the benefit of hindsight we know what the C
standard is, and it is something that could have
been written in 1980. Let's assume that we had the
C standard and appropriate compilers and libraries
in 1980, and we were just waiting for someone to
authorize the writing of MSDOS 2.0 with a fresh
API, to be delivered in 1983.
Hold the use of the 8086 and the 80386 constant.
Hold the C90 standard constant, but backdated to
1980. Hold memory prices constant. What could have,
or should have been done, with the benefit of
hindsight, and flexibility in software choices?
ie what options did humanity have available, but
missed?
BFN. Paul.
Complete thread:
- PDOS-generic - kerravon, 30.10.2021, 10:02 (Announce)
- PDOS-generic - kerravon, 31.10.2021, 06:40
- PDOS-generic - kerravon, 31.10.2021, 09:43
- PDOS-generic - ecm, 31.10.2021, 22:11
- PDOS-generic - kerravon, 31.10.2021, 22:29
- PDOS-generic - ecm, 31.10.2021, 22:32
- PDOS-generic - kerravon, 31.10.2021, 22:46
- PDOS-generic - tom, 02.11.2021, 18:25
- PDOS-generic - kerravon, 02.11.2021, 21:29
- PDOS-generic - ecm, 03.11.2021, 08:54
- PDOS-generic - kerravon, 03.11.2021, 19:48
- PDOS-generic - ecm, 03.11.2021, 08:54
- PDOS-generic - kerravon, 02.11.2021, 21:29
- PDOS-generic - tom, 02.11.2021, 18:25
- PDOS-generic - kerravon, 31.10.2021, 22:46
- PDOS-generic - ecm, 31.10.2021, 22:32
- PDOS-generic - kerravon, 31.10.2021, 22:29
- PDOS-generic - marcov, 02.11.2021, 19:42
- PDOS-generic - kerravon, 02.11.2021, 22:00
- PDOS-generic - marcov, 03.11.2021, 16:43
- PDOS-generic - kerravon, 03.11.2021, 20:06
- PDOS-generic - marcov, 13.11.2021, 15:49
- PDOS-generic - kerravon, 14.11.2021, 09:01
- PDOS-generic - marcov, 13.11.2021, 15:49
- PDOS-generic - tom, 04.11.2021, 15:28
- PDOS-generic - marcov, 08.11.2021, 10:21
- PDOS-generic - tkchia, 08.11.2021, 16:24
- PDOS-generic - DosWorld, 08.11.2021, 17:17
- PDOS-generic - marcov, 13.11.2021, 16:03
- PDOS-generic - tkchia, 13.11.2021, 17:42
- PDOS-generic - kerravon, 12.11.2021, 01:50
- PDOS-generic - kerravon, 12.11.2021, 11:10
- PDOS-generic - Ringding, 12.11.2021, 13:39
- PDOS-generic - kerravon, 13.11.2021, 02:26
- PDOS-generic - Ringding, 13.11.2021, 09:55
- PDOS-generic - Ringding, 13.11.2021, 10:51
- PDOS-generic - Ringding, 13.11.2021, 09:55
- PDOS-generic - kerravon, 13.11.2021, 02:26
- PDOS-generic - tkchia, 08.11.2021, 16:24
- PDOS-generic - marcov, 08.11.2021, 10:21
- PDOS-generic - kerravon, 03.11.2021, 20:06
- PDOS-generic - marcov, 03.11.2021, 16:43
- PDOS-generic - kerravon, 02.11.2021, 22:00
- PDOS-generic - ecm, 31.10.2021, 22:11
- PDOS-generic - kerravon, 31.10.2021, 09:43
- PDOS-generic - kerravon, 31.10.2021, 06:40