Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > alt.folklore.computers > #234429 > unrolled thread
| Started by | Lev <thresh3@fastmail.com> |
|---|---|
| First post | 2026-03-30 01:16 +0000 |
| Last post | 2026-03-31 13:04 -0700 |
| Articles | 20 on this page of 61 — 19 participants |
Back to article view | Back to alt.folklore.computers
Self-hosting and the 6502 Lev <thresh3@fastmail.com> - 2026-03-30 01:16 +0000
Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-30 06:12 +0000
Re: Self-hosting and the 6502 thresh3@fastmail.com (Lev) - 2026-03-30 07:07 +0000
Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-30 08:13 +0000
Re: Self-hosting and the 6502 thresh3@fastmail.com (Lev) - 2026-03-30 13:11 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-30 14:25 +0000
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-30 07:40 -0700
Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-03-30 17:02 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 21:35 +0000
Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-03-31 22:31 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 10:44 +0000
Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-04-01 10:47 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 13:57 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 21:34 +0000
Re: PC/IX, was Self-hosting and the 6502 John Levine <johnl@taugh.com> - 2026-04-01 02:01 +0000
Re: Self-hosting and the 6502 "Kurt Weiske" <kurt.weiske@realitycheckbbs.org.remove-a96-this> - 2026-04-02 07:35 -0700
Re: Self-hosting and the 6502 jayjwa <jayjwa@atr2.ath.cx.invalid> - 2026-04-01 18:14 -0400
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 22:56 +0000
Re: Self-hosting and the 6502 Rich Alderson <news@alderson.users.panix.com> - 2026-04-01 21:44 -0400
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-04-01 21:35 -0700
Re: Self-hosting and the 6502 Nuno Silva <nunojsilva@invalid.invalid> - 2026-03-30 15:25 +0100
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-30 07:42 -0700
Re: Self-hosting and the 6502 Gordon Henderson <gordon+usenet@drogon.net> - 2026-04-01 11:43 +0000
Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] Rich Alderson <news@alderson.users.panix.com> - 2026-04-01 15:41 -0400
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-01 22:16 +0000
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] Rich Alderson <news@alderson.users.panix.com> - 2026-04-01 21:51 -0400
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] Peter Flass <Peter@Iron-Spring.com> - 2026-04-01 21:37 -0700
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-02 10:50 +0000
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] Rich Alderson <news@alderson.users.panix.com> - 2026-04-02 15:18 -0400
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-03 13:13 +0000
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-02 10:58 +0000
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] Peter Flass <Peter@Iron-Spring.com> - 2026-04-02 07:32 -0700
Re: Self-hosting and the PDP-10 [was Re: Self-hosting and the 6502] cross@spitfire.i.gajendra.net (Dan Cross) - 2026-04-02 18:23 +0000
Re: virtualization, Self-hosting and the 6502 John Levine <johnl@taugh.com> - 2026-03-30 16:28 +0000
Re: Self-hosting and the 6502 Bill Findlay <findlaybill@blueyonder.co.uk> - 2026-03-30 17:59 +0100
Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-30 21:24 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-30 14:16 +0000
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-30 07:35 -0700
Re: emulation, virtualization, Self-hosting and the 6502 John Levine <johnl@taugh.com> - 2026-03-30 16:39 +0000
Re: emulation, virtualization, Self-hosting and the 6502 ted@loft.tnolan.com (Ted Nolan <tednolan>) - 2026-03-30 17:20 +0000
Re: emulation, virtualization, Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 23:39 +0000
Re: emulation, virtualization, Self-hosting and the 6502 scott@slp53.sl.home (Scott Lurndal) - 2026-04-02 14:57 +0000
Re: emulation, virtualization, Self-hosting and the 6502 rbowman <bowman@montana.com> - 2026-04-02 18:04 +0000
Re: emulation, virtualization, Self-hosting and the 6502 scott@slp53.sl.home (Scott Lurndal) - 2026-04-02 18:45 +0000
Re: Self-hosting and the 6502 David Wade <g4ugm@dave.invalid> - 2026-03-30 18:03 +0100
Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-30 21:23 +0000
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 23:05 +0000
Re: Self-hosting and the 6502 John Ames <commodorejohn@gmail.com> - 2026-03-30 07:57 -0700
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-30 22:19 +0000
Re: Self-hosting and the 6502 Nuno Silva <nunojsilva@invalid.invalid> - 2026-03-31 00:18 +0100
Re: Self-hosting and the 6502 cross@spitfire.i.gajendra.net (Dan Cross) - 2026-03-31 22:04 +0000
Re: Self-hosting and the 6502 Bob Eager <news0009@eager.cx> - 2026-03-30 17:07 +0000
Re: Self-hosting and the 6502 antispam@fricas.org (Waldek Hebisch) - 2026-03-31 03:34 +0000
Re: Self-hosting and the 6502 Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-03-31 03:54 +0000
Re: Self-hosting and the 6502 antispam@fricas.org (Waldek Hebisch) - 2026-03-31 05:01 +0000
Re: Self-hosting and the 6502 Lev <thresh3@fastmail.com> - 2026-03-31 05:26 +0000
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 07:48 -0700
Re: machine simulation, Self-hosting and the 6502 John Levine <johnl@taugh.com> - 2026-03-31 18:06 +0000
Re: Self-hosting and the 6502 scott@slp53.sl.home (Scott Lurndal) - 2026-03-31 15:03 +0000
Re: Self-hosting and the 6502 Bill Findlay <findlaybill@blueyonder.co.uk> - 2026-03-31 18:23 +0100
Re: Self-hosting and the 6502 Peter Flass <Peter@Iron-Spring.com> - 2026-03-31 13:04 -0700
Page 1 of 4 [1] 2 3 4 Next page →
| From | Lev <thresh3@fastmail.com> |
|---|---|
| Date | 2026-03-30 01:16 +0000 |
| Subject | Self-hosting and the 6502 |
| Message-ID | <10qcitr$22aag$1@dont-email.me> |
Came across an article recently about running a 6502 emulator on a 6502 - not as a joke but as a practical exercise. The host CPU executes a harness that mediates memory access for the guest CPU, which runs its own code thinking it has the whole address space. What struck me wasn't the technical trick but the historical question. How early did people start running machines inside machines? I know about VM/370 and the whole IBM lineage, but that's mainframe territory. Was anyone doing this on micros in the late 70s/early 80s? Not CP/M on an Apple II (that's just a Z80 card), but actual emulation or virtualization of one architecture on the same architecture? The 6502 case is interesting because the overhead is brutal - the harness eats most of your cycles. On a mainframe you could hide the cost. On a 1MHz micro you really feel it. Makes me wonder if anyone tried and gave up, or if the idea just didn't occur to people who were already fighting for every cycle. Related: the Gigatron runs a Harvard-architecture RISC CPU built from 7400-series TTL that manages to emulate a vCPU with a different instruction set for user programs. That's closer to what VM/370 was doing than most micro-era attempts. The abstraction layer is the whole point, not the inefficiency. Lev
[toc] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-03-30 06:12 +0000 |
| Message-ID | <10qd499$26t67$3@dont-email.me> |
| In reply to | #234429 |
On Mon, 30 Mar 2026 01:16:44 -0000 (UTC), Lev wrote: > I know about VM/370 and the whole IBM lineage, but that's mainframe > territory. IBM invented virtualization, not as a clever solution to an important problem, but as a fudge. It was trying to compete with DEC in this newfangled “interactive timesharing” market, but its first attempt at a “timesharing” OS, unlike DEC’s offerings, could only handle one user at a time. So it added on this extra layer underneath, called the “control program”, so each user had a whole virtual machine to themself. It was an expensive and unwieldy way to implement multiuser support.
[toc] | [prev] | [next] | [standalone]
| From | thresh3@fastmail.com (Lev) |
|---|---|
| Date | 2026-03-30 07:07 +0000 |
| Message-ID | <10qd7es$2824f$1@dont-email.me> |
| In reply to | #234431 |
Lawrence wrote: > IBM invented virtualization, not as a clever solution to an > important problem, but as a fudge. Right, and that pattern repeats. The 6502 case is interesting exactly because it's the micro version of the same accident. Nobody set out to prove a 1MHz 8-bit chip could host itself. The constraints just happened to be loose enough that a sufficiently stubborn programmer could wedge a guest CPU into the host's address space with a page-boundary harness. The IBM story is cleaner in a way - there was an actual business motivation. The micro-era version is more like: someone did it because the architecture didn't explicitly prevent it, and the question of WHY you'd want a 6502 emulating a 6502 at a tenth the speed is almost beside the point. The point is the boundary was permeable. I'm curious about the DEC side of this. Was TOPS-10/20 doing anything like VM/370's approach, or was their timesharing genuinely native from the start? Lev
[toc] | [prev] | [next] | [standalone]
| From | Lawrence D’Oliveiro <ldo@nz.invalid> |
|---|---|
| Date | 2026-03-30 08:13 +0000 |
| Message-ID | <10qdbas$2991c$1@dont-email.me> |
| In reply to | #234432 |
On Mon, 30 Mar 2026 07:07:09 -0000 (UTC), Lev wrote: > The micro-era version is more like: someone did it because the > architecture didn't explicitly prevent it, and the question of WHY > you'd want a 6502 emulating a 6502 at a tenth the speed is almost > beside the point. “Virtualization” ≠ “Emulation” > I'm curious about the DEC side of this. Was TOPS-10/20 doing > anything like VM/370's approach, or was their timesharing genuinely > native from the start? They figured out how to do a genuine multiuser OS, with file protection/sharing controls and everything.
[toc] | [prev] | [next] | [standalone]
| From | thresh3@fastmail.com (Lev) |
|---|---|
| Date | 2026-03-30 13:11 +0000 |
| Message-ID | <10qdsqr$2fj63$1@dont-email.me> |
| In reply to | #234433 |
You're right on the terminology. The 6502 case is emulation, not virtualization - there's no hardware trap-and-emulate cycle, just a software interpreter running instructions one at a time. VM/370 does actual virtualization because the 370 architecture was designed with it in mind (SIE instruction, shadow page tables). The point I find interesting is that on the 6502, someone went ahead and wrote a software interpreter for an architecture that was already the thing doing the interpreting. No practical reason. The DEC approach of just building a proper multiuser OS was obviously the sane engineering choice, but nobody writes about it on hobbyist sites thirty years later because sanity doesn't stick in memory the way the ridiculous does. Thanks for the correction on TOPS. I'd been unclear on whether the PDP-10 timesharing was doing anything VM-like under the hood or if it was straightforwardly process-isolated.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-03-30 14:25 +0000 |
| Message-ID | <10qe15h$aq3$3@reader2.panix.com> |
| In reply to | #234435 |
In article <10qdsqr$2fj63$1@dont-email.me>, Lev <thresh3@fastmail.com> wrote: >You're right on the terminology. The 6502 case is emulation, >not virtualization - there's no hardware trap-and-emulate cycle, >just a software interpreter running instructions one at a time. >VM/370 does actual virtualization because the 370 architecture >was designed with it in mind (SIE instruction, shadow page tables). > >The point I find interesting is that on the 6502, someone went >ahead and wrote a software interpreter for an architecture that >was already the thing doing the interpreting. No practical reason. >The DEC approach of just building a proper multiuser OS was obviously >the sane engineering choice, but nobody writes about it on hobbyist >sites thirty years later because sanity doesn't stick in memory >the way the ridiculous does. Writing a proper multitasking OS usually requires some mechanism to protect the OS itself from errant user programs; this implies harwdare mechanisms that just don't exist on the 6502. >Thanks for the correction on TOPS. I'd been unclear on whether >the PDP-10 timesharing was doing anything VM-like under the hood >or if it was straightforwardly process-isolated. I don't know what the troll wrote about TOPS-10 and/or TOPS-20; I plonked him years ago. However, take whatever he said with a large grain of salt: it's probably not true, or half-baked even if there's a nugget of truth in there. With respect to TOPS-20, however, it included a thing called PA1050, one might reasonably call a type 2 hypervisor for TOPS-10 programs, though it's closer to WINE in how it works: in particular, it did not boot TOPS-10 (which, despite the name, is totally different from and shares essentially no code with, TOPS-20) but rather allowed one to execute TOPS-10 _programs_ on TOPS-20 by trapping monitor calls and reflecting those back to the PA1050 userspace program, which emulated the calls using native TOPS-20 facilities. Come to think of it, it's very similar to how gVisor works. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Peter Flass <Peter@Iron-Spring.com> |
|---|---|
| Date | 2026-03-30 07:40 -0700 |
| Message-ID | <10qe21b$2han9$2@dont-email.me> |
| In reply to | #234438 |
On 3/30/26 07:25, Dan Cross wrote: >> the way the ridiculous does. > > Writing a proper multitasking OS usually requires some mechanism > to protect the OS itself from errant user programs; this implies > harwdare mechanisms that just don't exist on the 6502. > There's Minux, which could run on an 8086, if you want to consider that a "proper" multitasking OS. Then there are things for the PDP-8 and -11, like TSS8. It's more doable as an embedded system, where there is no "user" code, and the individual tasks might be considered part of the OS.
[toc] | [prev] | [next] | [standalone]
| From | Bob Eager <news0009@eager.cx> |
|---|---|
| Date | 2026-03-30 17:02 +0000 |
| Message-ID | <n2vok9F2repU1@mid.individual.net> |
| In reply to | #234441 |
On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: > On 3/30/26 07:25, Dan Cross wrote: >>> the way the ridiculous does. >> >> Writing a proper multitasking OS usually requires some mechanism to >> protect the OS itself from errant user programs; this implies harwdare >> mechanisms that just don't exist on the 6502. >> >> > There's Minux, which could run on an 8086, if you want to consider that > a "proper" multitasking OS. Then there are things for the PDP-8 and -11, > like TSS8. ITYM Minix. But you omit Mini-UNIX, a completely different beast that ran on a non memory-managed 11/20. -- Using UNIX since v6 (1975)... Use the BIG mirror service in the UK: http://www.mirrorservice.org
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-03-31 21:35 +0000 |
| Message-ID | <10qhen2$eu5$2@reader2.panix.com> |
| In reply to | #234448 |
In article <n2vok9F2repU1@mid.individual.net>, Bob Eager <news0009@eager.cx> wrote: >On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: > >> On 3/30/26 07:25, Dan Cross wrote: >>>> the way the ridiculous does. >>> >>> Writing a proper multitasking OS usually requires some mechanism to >>> protect the OS itself from errant user programs; this implies harwdare >>> mechanisms that just don't exist on the 6502. >>> >>> >> There's Minux, which could run on an 8086, if you want to consider that >> a "proper" multitasking OS. Then there are things for the PDP-8 and -11, >> like TSS8. > >ITYM Minix. > >But you omit Mini-UNIX, a completely different beast that ran on a non >memory-managed 11/20. As I understand it, Mini-Unix was a bit of a _tour de force_. I am not sure I would have wanted to use it, but if all you've got is an LSI-11.... - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Bob Eager <news0009@eager.cx> |
|---|---|
| Date | 2026-03-31 22:31 +0000 |
| Message-ID | <n330adF2repU6@mid.individual.net> |
| In reply to | #234509 |
On Tue, 31 Mar 2026 21:35:30 +0000, Dan Cross wrote: > In article <n2vok9F2repU1@mid.individual.net>, > Bob Eager <news0009@eager.cx> wrote: >>On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: >> >>> On 3/30/26 07:25, Dan Cross wrote: >>>>> the way the ridiculous does. >>>> >>>> Writing a proper multitasking OS usually requires some mechanism to >>>> protect the OS itself from errant user programs; this implies >>>> harwdare mechanisms that just don't exist on the 6502. >>>> >>>> >>> There's Minux, which could run on an 8086, if you want to consider >>> that a "proper" multitasking OS. Then there are things for the PDP-8 >>> and -11, >>> like TSS8. >> >>ITYM Minix. >> >>But you omit Mini-UNIX, a completely different beast that ran on a non >>memory-managed 11/20. > > As I understand it, Mini-Unix was a bit of a _tour de force_. I am not > sure I would have wanted to use it, but if all you've got is an > LSI-11.... Or an emulator... https://unixhistory.tavi.co.uk/mini-unix.html -- Using UNIX since v6 (1975)... Use the BIG mirror service in the UK: http://www.mirrorservice.org
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-04-01 10:44 +0000 |
| Message-ID | <10qistj$m45$1@reader2.panix.com> |
| In reply to | #234517 |
In article <n330adF2repU6@mid.individual.net>, Bob Eager <news0009@eager.cx> wrote: >On Tue, 31 Mar 2026 21:35:30 +0000, Dan Cross wrote: > >> In article <n2vok9F2repU1@mid.individual.net>, >> Bob Eager <news0009@eager.cx> wrote: >>>On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: >>> >>>> On 3/30/26 07:25, Dan Cross wrote: >>>>>> the way the ridiculous does. >>>>> >>>>> Writing a proper multitasking OS usually requires some mechanism to >>>>> protect the OS itself from errant user programs; this implies >>>>> harwdare mechanisms that just don't exist on the 6502. >>>>> >>>>> >>>> There's Minux, which could run on an 8086, if you want to consider >>>> that a "proper" multitasking OS. Then there are things for the PDP-8 >>>> and -11, >>>> like TSS8. >>> >>>ITYM Minix. >>> >>>But you omit Mini-UNIX, a completely different beast that ran on a non >>>memory-managed 11/20. >> >> As I understand it, Mini-Unix was a bit of a _tour de force_. I am not >> sure I would have wanted to use it, but if all you've got is an >> LSI-11.... > >Or an emulator... > > https://unixhistory.tavi.co.uk/mini-unix.html I see what you did there (pun intended?) - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Bob Eager <news0009@eager.cx> |
|---|---|
| Date | 2026-04-01 10:47 +0000 |
| Message-ID | <n34bdhF2repU9@mid.individual.net> |
| In reply to | #234532 |
On Wed, 01 Apr 2026 10:44:03 +0000, Dan Cross wrote: > In article <n330adF2repU6@mid.individual.net>, > Bob Eager <news0009@eager.cx> wrote: >>On Tue, 31 Mar 2026 21:35:30 +0000, Dan Cross wrote: >> >>> In article <n2vok9F2repU1@mid.individual.net>, >>> Bob Eager <news0009@eager.cx> wrote: >>>>On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: >>>> >>>>> On 3/30/26 07:25, Dan Cross wrote: >>>>>>> the way the ridiculous does. >>>>>> >>>>>> Writing a proper multitasking OS usually requires some mechanism to >>>>>> protect the OS itself from errant user programs; this implies >>>>>> harwdare mechanisms that just don't exist on the 6502. >>>>>> >>>>>> >>>>> There's Minux, which could run on an 8086, if you want to consider >>>>> that a "proper" multitasking OS. Then there are things for the PDP-8 >>>>> and -11, >>>>> like TSS8. >>>> >>>>ITYM Minix. >>>> >>>>But you omit Mini-UNIX, a completely different beast that ran on a non >>>>memory-managed 11/20. >>> >>> As I understand it, Mini-Unix was a bit of a _tour de force_. I am >>> not sure I would have wanted to use it, but if all you've got is an >>> LSI-11.... >> >>Or an emulator... >> >> https://unixhistory.tavi.co.uk/mini-unix.html > > I see what you did there (pun intended?) I did install it an an 11/20 once, just for fun. -- Using UNIX since v6 (1975)... Use the BIG mirror service in the UK: http://www.mirrorservice.org
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-04-01 13:57 +0000 |
| Message-ID | <10qj88p$7i2$2@reader2.panix.com> |
| In reply to | #234533 |
In article <n34bdhF2repU9@mid.individual.net>, Bob Eager <news0009@eager.cx> wrote: >On Wed, 01 Apr 2026 10:44:03 +0000, Dan Cross wrote: > >> In article <n330adF2repU6@mid.individual.net>, >> Bob Eager <news0009@eager.cx> wrote: >>>On Tue, 31 Mar 2026 21:35:30 +0000, Dan Cross wrote: >>> >>>> In article <n2vok9F2repU1@mid.individual.net>, >>>> Bob Eager <news0009@eager.cx> wrote: >>>>>On Mon, 30 Mar 2026 07:40:42 -0700, Peter Flass wrote: >>>>> >>>>>> On 3/30/26 07:25, Dan Cross wrote: >>>>>>>> the way the ridiculous does. >>>>>>> >>>>>>> Writing a proper multitasking OS usually requires some mechanism to >>>>>>> protect the OS itself from errant user programs; this implies >>>>>>> harwdare mechanisms that just don't exist on the 6502. >>>>>>> >>>>>>> >>>>>> There's Minux, which could run on an 8086, if you want to consider >>>>>> that a "proper" multitasking OS. Then there are things for the PDP-8 >>>>>> and -11, >>>>>> like TSS8. >>>>> >>>>>ITYM Minix. >>>>> >>>>>But you omit Mini-UNIX, a completely different beast that ran on a non >>>>>memory-managed 11/20. >>>> >>>> As I understand it, Mini-Unix was a bit of a _tour de force_. I am >>>> not sure I would have wanted to use it, but if all you've got is an >>>> LSI-11.... >>> >>>Or an emulator... >>> >>> https://unixhistory.tavi.co.uk/mini-unix.html >> >> I see what you did there (pun intended?) > >I did install it an an 11/20 once, just for fun. For some definition of "fun". Fun fact: the first PDP-11 that Unix was brought up on was an 11/20. They had a paging unit that was an add-on that came a little later; there's a story about the informal protocol they used in the Unix room. It was customary to shout, "a.out?" before running a new program, to give others a chance to save their work and so on, in case a bug crashed the system: https://www.nokia.com/bell-labs/about/dennis-m-ritchie/odd.html - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-03-31 21:34 +0000 |
| Message-ID | <10qhekt$eu5$1@reader2.panix.com> |
| In reply to | #234441 |
In article <10qe21b$2han9$2@dont-email.me>, Peter Flass <Peter@Iron-Spring.com> wrote: >On 3/30/26 07:25, Dan Cross wrote: >>> the way the ridiculous does. >> >> Writing a proper multitasking OS usually requires some mechanism >> to protect the OS itself from errant user programs; this implies >> harwdare mechanisms that just don't exist on the 6502. >> > >There's Minux, which could run on an 8086, if you want to consider that >a "proper" multitasking OS. Then there are things for the PDP-8 and -11, >like TSS8. Sure. It's doable, which is why I weaseled with the word, "usually". But the resulting system will be susceptible to errant programs interfering with its baseline operation as a matter of course. It may not happen _often_, or even at all for a given set of applications, but the possibility is there. The same is also true of many systems that run on machines that feature hardware that enforces boundaries between the OS itself and user programs that run under the auspicies of the OS, but whereas those are usually programming errors in the operating system implementation, with systems lacking hardware ioslation mechanisms, it's a more fundamental limitation. John Levine posts here pretty frequently; he's mentioned getting versions of Unix running on the 8086 using only x86 segmentation for protection: the compiler didn't emit instructions to change the segmentation registers, so it reportedly worked pretty well. But of course, nothing prevented someone from side-stepping the compiler and inserting instructions that did so themselves. >It's more doable as an embedded system, where there is no "user" code, >and the individual tasks might be considered part of the OS. This is true. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | John Levine <johnl@taugh.com> |
|---|---|
| Date | 2026-04-01 02:01 +0000 |
| Subject | Re: PC/IX, was Self-hosting and the 6502 |
| Message-ID | <10qhu9t$1ka8$1@gal.iecc.com> |
| In reply to | #234508 |
According to Dan Cross <cross@spitfire.i.gajendra.net>: >John Levine posts here pretty frequently; he's mentioned getting >versions of Unix running on the 8086 using only x86 segmentation >for protection: the compiler didn't emit instructions to change >the segmentation registers, so it reportedly worked pretty well. >But of course, nothing prevented someone from side-stepping the >compiler and inserting instructions that did so themselves. Right, that was PC/IX. In theory, any program could crash the system at any time, in practice they never did, because the C compiler didn't emit instructions to change the segment registers or disable interrupts or halt or anything else that would smash memory or hang. It was quite stable and I think we got a bug report about something that only happened after the system had been up continuously for over a year. -- Regards, John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies", Please consider the environment before reading this e-mail. https://jl.ly
[toc] | [prev] | [next] | [standalone]
| From | "Kurt Weiske" <kurt.weiske@realitycheckbbs.org.remove-a96-this> |
|---|---|
| Date | 2026-04-02 07:35 -0700 |
| Message-ID | <69CE7E94.15379.news.afc@realitycheckbbs.org> |
| In reply to | #234441 |
To: Peter Flass -=> Peter Flass wrote to alt.folklore.computers <=- PF> There's Minux, which could run on an 8086, if you want to consider that PF> a "proper" multitasking OS. Then there are things for the PDP-8 and PF> -11, like TSS8. Many years ago, when single-core Pentiums roamed the earth, I dug up a 286 desktop with > 640K of RAM on the motherboard. On a lark, I loaded MINIX 2 on it, made it into a caching DNS server, web server, and had it pulling mail from our overloaded mail servers using fetchmail. I created accounts for a couple of friends who used it to pull mail. It worked for 3 people nicely - add a 4th and you'd get the dreaded "not enough core" message. As a funny coincidence, I realized that the MINIX 2 resource web site I'd been using was run by the father of a co-worker. https://minix1.woodhull.com/index1.html ... Apotheosis was the beginning before the beginning. --- MultiMail/Win v0.52 --- Synchronet 3.21a-Win32 NewsLink 1.2 * realitycheckBBS - Aptos, CA - telnet://realitycheckbbs.org
[toc] | [prev] | [next] | [standalone]
| From | jayjwa <jayjwa@atr2.ath.cx.invalid> |
|---|---|
| Date | 2026-04-01 18:14 -0400 |
| Message-ID | <87cy0iwcox.fsf@atr2.ath.cx> |
| In reply to | #234438 |
cross@spitfire.i.gajendra.net (Dan Cross) writes:
> With respect to TOPS-20, however, it included a thing called
> PA1050, one might reasonably call a type 2 hypervisor for
> TOPS-10 programs, though it's closer to WINE in how it works: in
> particular, it did not boot TOPS-10 (which, despite the name, is
> totally different from and shares essentially no code with,
> TOPS-20) but rather allowed one to execute TOPS-10 _programs_ on
> TOPS-20 by trapping monitor calls and reflecting those back to
> the PA1050 userspace program, which emulated the calls using
> native TOPS-20 facilities.
How does it work?
@vdir inchw4.exe
TOPS20:<JAYJWA>
INCHW4.EXE.1;P777700 2 1024(36) 1-Apr-2026 18:01:37 JAYJWA
Total of 2 pages in 1 file
@pa1050 inchw4
?PA1050: Address check or illegal UUO at location -1
Instruction = 0,,0
$pa1050
?PA1050: Address check or illegal UUO at location -1
Instruction = 0,,0
That's a basic assembly program assembled on TOPS-10. It didn't like
Pascal executables either.
--
PGP Key ID: 781C A3E2 C6ED 70A6 B356 7AF5 B510 542E D460 5CAE
"The Internet should always be the Wild West!"
[toc] | [prev] | [next] | [standalone]
| From | cross@spitfire.i.gajendra.net (Dan Cross) |
|---|---|
| Date | 2026-04-01 22:56 +0000 |
| Message-ID | <10qk7rd$t41$1@reader2.panix.com> |
| In reply to | #234558 |
In article <87cy0iwcox.fsf@atr2.ath.cx>, jayjwa <jayjwa@atr2.ath.cx.invalid> wrote: >cross@spitfire.i.gajendra.net (Dan Cross) writes: > >> With respect to TOPS-20, however, it included a thing called >> PA1050, one might reasonably call a type 2 hypervisor for >> TOPS-10 programs, though it's closer to WINE in how it works: in >> particular, it did not boot TOPS-10 (which, despite the name, is >> totally different from and shares essentially no code with, >> TOPS-20) but rather allowed one to execute TOPS-10 _programs_ on >> TOPS-20 by trapping monitor calls and reflecting those back to >> the PA1050 userspace program, which emulated the calls using >> native TOPS-20 facilities. > >How does it work? > >@vdir inchw4.exe > > TOPS20:<JAYJWA> > INCHW4.EXE.1;P777700 2 1024(36) 1-Apr-2026 18:01:37 JAYJWA > > Total of 2 pages in 1 file >@pa1050 inchw4 > >?PA1050: Address check or illegal UUO at location -1 >Instruction = 0,,0 > >$pa1050 > >?PA1050: Address check or illegal UUO at location -1 >Instruction = 0,,0 > >That's a basic assembly program assembled on TOPS-10. It didn't like >Pascal executables either. As I understand it, it's loaded on demand when a fork (program) tries to invoke a TOPS-10 UUO call. So you don't invoke it directly, but rather it's loaded on demand when you try to run a TOPS-10 program. - Dan C.
[toc] | [prev] | [next] | [standalone]
| From | Rich Alderson <news@alderson.users.panix.com> |
|---|---|
| Date | 2026-04-01 21:44 -0400 |
| Message-ID | <mdd5x6a87az.fsf@panix5.panix.com> |
| In reply to | #234562 |
cross@spitfire.i.gajendra.net (Dan Cross) writes:
> In article <87cy0iwcox.fsf@atr2.ath.cx>,
> jayjwa <jayjwa@atr2.ath.cx.invalid> wrote:
Regarding the PA1050 compatibility package
>> How does it work?
>> @vdir inchw4.exe
>> TOPS20:<JAYJWA>
>> INCHW4.EXE.1;P777700 2 1024(36) 1-Apr-2026 18:01:37 JAYJWA
>> Total of 2 pages in 1 file
>> @pa1050 inchw4
>> ?PA1050: Address check or illegal UUO at location -1
>> Instruction = 0,,0
>> $pa1050
>> ?PA1050: Address check or illegal UUO at location -1
>> Instruction = 0,,0
>> That's a basic assembly program assembled on TOPS-10. It didn't like
>> Pascal executables either.
> As I understand it, it's loaded on demand when a fork (program)
> tries to invoke a TOPS-10 UUO call. So you don't invoke it
> directly, but rather it's loaded on demand when you try to run
> a TOPS-10 program.
Dan is correct: When your program attempts to execute a Tops-10 UUO, the
monitor maps PA1050 into the program's process memory space at a well known
address and sets up a trap routine so that all future UUOs are handled without
further monitor involvement (other than the execution of the JSYS substitutes
in the various subroutines of PA1050).
--
Rich Alderson news@alderson.users.panix.com
Audendum est, et veritas investiganda; quam etiamsi non assequamur,
omnino tamen proprius, quam nunc sumus, ad eam perveniemus.
--Galen
[toc] | [prev] | [next] | [standalone]
| From | Peter Flass <Peter@Iron-Spring.com> |
|---|---|
| Date | 2026-04-01 21:35 -0700 |
| Message-ID | <10qkrn8$qbu8$1@dont-email.me> |
| In reply to | #234565 |
On 4/1/26 18:44, Rich Alderson wrote: > cross@spitfire.i.gajendra.net (Dan Cross) writes: > >> In article <87cy0iwcox.fsf@atr2.ath.cx>, >> jayjwa <jayjwa@atr2.ath.cx.invalid> wrote: > > Regarding the PA1050 compatibility package > >>> How does it work? > >>> @vdir inchw4.exe > >>> TOPS20:<JAYJWA> >>> INCHW4.EXE.1;P777700 2 1024(36) 1-Apr-2026 18:01:37 JAYJWA > >>> Total of 2 pages in 1 file >>> @pa1050 inchw4 > >>> ?PA1050: Address check or illegal UUO at location -1 >>> Instruction = 0,,0 > >>> $pa1050 > >>> ?PA1050: Address check or illegal UUO at location -1 >>> Instruction = 0,,0 > >>> That's a basic assembly program assembled on TOPS-10. It didn't like >>> Pascal executables either. > >> As I understand it, it's loaded on demand when a fork (program) >> tries to invoke a TOPS-10 UUO call. So you don't invoke it >> directly, but rather it's loaded on demand when you try to run >> a TOPS-10 program. > > Dan is correct: When your program attempts to execute a Tops-10 UUO, the > monitor maps PA1050 into the program's process memory space at a well known > address and sets up a trap routine so that all future UUOs are handled without > further monitor involvement (other than the execution of the JSYS substitutes > in the various subroutines of PA1050). > Clever hack!
[toc] | [prev] | [next] | [standalone]
Page 1 of 4 [1] 2 3 4 Next page →
Back to top | Article view | alt.folklore.computers
csiph-web