From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.2uCIJahv+a4XEBqttj5Vkw.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: is there a version of unix written in Ada Date: Thu, 1 Oct 2020 11:26:13 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <00cd3aaa-d518-43a2-b321-58d6fae70aebo@googlegroups.com> <57eb7a65-51ea-4624-b9dc-9c4dda0fee59n@googlegroups.com> <5f70fd3b$0$13541$426a74cc@news.free.fr> <87wo0d3iac.fsf@nightsong.com> <87sgb02l7b.fsf@nightsong.com> <875z7vyy1u.fsf@nightsong.com> <87wo0bkns3.fsf@nightsong.com> <87sgayl6o0.fsf@nightsong.com> NNTP-Posting-Host: 2uCIJahv+a4XEBqttj5Vkw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader02.eternal-september.org comp.lang.ada:60350 List-Id: On 01/10/2020 09:57, Paul Rubin wrote: > "Dmitry A. Kazakov" writes: >> I do not see why loss must be any bigger that other means of >> synchronization. > > The address translation hardware unavoidably introduces delays, > especially when there are TLB cache misses. 1. So does deploying system-wide spin locks etc. 2. Then I don't see how are you going to go without address translation. Are you going to recompile and re-link everything in absolute addresses every time anything changes and then reboot? >> 1. You still have to share memory and use global resources for >> interlocking etc. > > You have that either way. That is the point. >> 2. I would argue that hardware-assisted virtualization and insulation >> of processes produces more lean and effective code than cooperative >> model. > > It's still preemptive driven by hardware interrupts like any other OS. So, where is performance gain? You still need storing/restoring registers and other context's data upon preemting. >> Lack of virtualization leads to abstraction inversion and all sorts of >> low-level programming tricks that make code very ugly, fragile and >> quite inefficient. > > The OS and compiler take care of that. Neither can do anything about it. You either have abstraction, like flat contiguous address space, however implemented, or you do not. The penalty is always there. You can have some relief from the hardware or none. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de