[Info-vax] misstatement of Unix origin [was Re: A portable VMS, was: Re: OS Ancestry]
chris
chris-nospam at tridac.net
Tue May 25 10:51:03 EDT 2021
On 05/25/21 01:11, Arne Vajhøj wrote:
> On 5/24/2021 7:58 PM, Dave Froble wrote:
>> On 5/24/2021 2:05 PM, Simon Clubley wrote:
>>> On 2021-05-24, John Wallace <johnwallace4 at yahoo.co.uk> wrote:
>>>> On 24/05/2021 13:28, Simon Clubley wrote:
>>>>>
>>>>> Yes, oops. :-) Somebody already reminded me about this a few days ago
>>>>> and as I pointed out in response this just shows how much more
>>>>> portable
>>>>> things are when you are using an implemention language not tied to the
>>>>> architecture.
>>>>>
>>>>
>>>> Yeah sure, UNIX code was so portable that back in the 1980s anything
>>>> much more complex than "Hello World" had little chance of being
>>>> portable
>>>> between (e.g.) BSD and System V even on the very same hardware.
>>>>
>>>> When the two main camps can't even agree on the basics of opening a
>>>> file
>>>> from C,
>>>> as in fd = open(...),
>>>> it's no wonder there was a customer/vendor need for a Single UNIX
>>>> Specification.
>>>>
>>>> Fortunately times have moved on since then.
>>>
>>> You are confusing functionality of an operating system with the
>>> portability of an operating system between architectures.
>>>
>>> Your comments above talk about functionality within an operating
>>> system. I am talking about the ease of porting an operating system
>>> from one architecture to another.
>>>
>>> The choice of implementation language does not decide the functionality
>>> of an operating system. It is however a major factor in how easy or not
>>> it is to port that operating system to another architecture.
>>
>> Even when (hawk, spit, gag) C doesn't work the same on different
>> architectures?
>
> I think the answer depends on the question.
>
> Can you just compile an OS written in C for a different
> platform and it will run?
>
> No. There may be differences in C implementation. And there
> will also be some code that has to be platform specific.
C has been standardised for decades, but the C library can
cause problems between os's because of the required header
files, which vary between, say, Linux and FreeBSD.
The real problem is where the OS interfaces with the hardware.
That is taken care of in modern OS's with a hardware
abstraction layer, but some assembler will always be required
at low level, to deal with differing architectures, memory
management etc.
>
> Is it easier to port an OS written in to another platform
> than to port an OS written in assembler to another
> platform?
>
> Yes. A lot of code will just work. And some careful
> ifdef'ing can minimize the impact from the remaining
> problems.
>
> Arne
>
>
>
More information about the Info-vax
mailing list