From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27428 invoked from network); 12 May 2022 12:44:47 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 12 May 2022 12:44:47 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id E15569BC21; Thu, 12 May 2022 22:44:46 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id AD7FB9BA54; Thu, 12 May 2022 22:43:48 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ccil-org.20210112.gappssmtp.com header.i=@ccil-org.20210112.gappssmtp.com header.b="SsGpF+RN"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id EC51B9BA54; Thu, 12 May 2022 22:43:46 +1000 (AEST) Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by minnie.tuhs.org (Postfix) with ESMTPS id BBDE59BA39 for ; Thu, 12 May 2022 22:43:45 +1000 (AEST) Received: by mail-pj1-f47.google.com with SMTP id l7-20020a17090aaa8700b001dd1a5b9965so4793063pjq.2 for ; Thu, 12 May 2022 05:43:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccil-org.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vokbV4DeOyvzbIigRaVhIOZtVtwFoBWgv6ZJ0c2gpA4=; b=SsGpF+RN7YX9cDGctOs6INgVe1FnvaHl0F6Il6o3EI2F3lj+zvOxrzbTvoqSWjk3k5 9ded/z3AJJbvpC1WLuOr7WptQblWxlKrGTgpe+XJA1e6ZrfnmaFJMBh/FAP+rH8jt5q/ qbfvIEf9U+YzeYkVeZB2Sbc+a/9SS2WzrNt/SpIB6WGNKOq1LZRgX4KcJCkBm/22MoSo xljHVRbS0Dsy25AI+LX1vjx9qI7slJXKOIdkKHo+SxVav8yqnQitmkZFgXwhWvlm+a2n OF/T+2oeX4GQRuK5fmt1gCG9Um8Jh2OEHpl20LVdhAi+qA5MVhuuk507dsAkkBEsymTw wk+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vokbV4DeOyvzbIigRaVhIOZtVtwFoBWgv6ZJ0c2gpA4=; b=2rsuy1DWgelP6EMDqx5rSPzj4lJ5skIMz1Syx5rrJqytXU4DzFJg5wAPRXlJ3JjXQ/ WBQEitRpLr/rQKVHQ3VX8X7NKSzoa78IZOiKKT9QqLDyhj0Xa9CtpG7Eqtf7UUDLuZ66 UA1e8iKx42eYPc9y401dBgAv9HCB7iD+QHTxALiHR6mLjBzXh101+OMgAiTAg7Dvn34G +04E/WlZiQYQPmX9SnrHG4JGfBtrnB3MApd6g/dA4w+GQjzhMoKAWPXWiBF092zUu0xo A5CbvtPW6V4JrhnKP1J+ICyL570t/ERTAFMBh1ZJrHyEZi6QGxfG3pooECLsI5Lfy9w0 xBEA== X-Gm-Message-State: AOAM532ilYzz2MCE5nrcI0edxWBJBfJm5v/IwvNjjd6/EfXs5ZgpTuUu 0b8Wygp3ipiuQ+iKbWynas1f8WR9hHUfT2chkh8gEW9oX6Y= X-Google-Smtp-Source: ABdhPJw3VgyoIxOMeQtGupmebq8vo607P93WDYf8NT+WlXEOApSthbmcdKK87+YTrChTKmZhka71YkII6bMIvZ9F1Cc= X-Received: by 2002:a17:90a:fc8a:b0:1d8:ace3:70bc with SMTP id ci10-20020a17090afc8a00b001d8ace370bcmr10829800pjb.37.1652359425218; Thu, 12 May 2022 05:43:45 -0700 (PDT) MIME-Version: 1.0 References: <57977CE7-DDCC-4861-BBD2-843B9B9F51C2@ronnatalie.com> <1505232b-86bd-0d65-52c7-c8d19bd0663c@mhorton.net> In-Reply-To: From: John Cowan Date: Thu, 12 May 2022 08:43:32 -0400 Message-ID: To: Ron Natalie Content-Type: multipart/alternative; boundary="00000000000094f05e05decfe87b" Subject: Re: [TUHS] First Unix-like OSes not derived from AT&T code? X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --00000000000094f05e05decfe87b Content-Type: text/plain; charset="UTF-8" On Thu, May 12, 2022 at 8:07 AM Ron Natalie wrote: > UNIX uses trap as a system call, RSTS (like most DEC OS's for some odd > reason) uses EMT. > That's pretty much what the processor documentation says (in various wordings depending on what manual you look at). EMT is for the "system", TRAP is for the "user". The intention, I think, was that a user-mode program could use TRAP for its own purposes, and the supervisor would keep track of the TRAP vector in low memory associated with a process. Since Unix was a "user program", even though it ran in supervisor mode, the decision was made to use TRAP. Each DEC OS used EMT in a different way. Consequently, when the RSTS/E pseudo-hypervisor (it didn't provide full emulation) was written, hypervisor calls were performed with EMT 377 immediately followed by another EMT. This was unlikely to occur in any user program (at minimum you'd have to set up the registers for the second call). An EMT was acted on by the hypervisor only if it met these conditions (the second EMT was simply examined, not executed), otherwise it was vectored to the guest OS. Similarly, RSX/11-M used only EMT 376 and EMT 377, neither of which were used by RT-11 user programs, making it possible to run a thin RT-11 emulator as a user program that EMTed into RSX to do its work. --00000000000094f05e05decfe87b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, May 12, 2= 022 at 8:07 AM Ron Natalie <ron@ro= nnatalie.com> wrote:
=C2=A0
UNIX uses trap as a system call, RSTS (li= ke most DEC OS's for some odd reason) uses EMT.=C2=A0

That's pretty much what the p= rocessor documentation says (in various wordings depending on what manual y= ou look at).=C2=A0 EMT is for the "system", TRAP is for the "= ;user".=C2=A0 The intention, I think, was that a user-mode program cou= ld use TRAP for its own purposes, and the supervisor would keep track of th= e TRAP vector in low memory associated with a process.=C2=A0 Since Unix was= a "user program", even though it ran in supervisor mode, the dec= ision was made to use TRAP.

Each DEC OS used EMT in a different way.=C2=A0 Conseque= ntly, when the RSTS/E pseudo-hypervisor (it didn't provide full emulati= on) was written, hypervisor calls were performed with EMT 377 immediately f= ollowed by another EMT.=C2=A0 This was unlikely to occur in any user progra= m (at minimum you'd have to set up the registers for the second call).= =C2=A0 An EMT was acted on by the hypervisor only if it met these condition= s (the second EMT was simply examined, not executed), otherwise it was vect= ored to the guest OS.=C2=A0 Similarly, RSX/11-M used only EMT 376 and EMT 3= 77, neither of which were used by RT-11 user programs, making it possible t= o run a thin RT-11 emulator as a user program that EMTed into RSX to do its= work.
--00000000000094f05e05decfe87b--