Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

No wonder Clairol makes so much money selling shampoo. Lather, Rinse, Repeat is an infinite loop!


devel / comp.lang.c / Windows and UNIX, A C API perspective

SubjectAuthor
* Windows and UNIX, A C API perspectiveLew Pitcher
+- Re: Windows and UNIX, A C API perspectiveLawrence D'Oliveiro
+- Re: Windows and UNIX, A C API perspectivesongbird
`- Re: Windows and UNIX, A C API perspectiveJulieta Shem

1
Windows and UNIX, A C API perspective

<uoe863$35pvl$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=31244&group=comp.lang.c#31244

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: lew.pitc...@digitalfreehold.ca (Lew Pitcher)
Newsgroups: comp.lang.c
Subject: Windows and UNIX, A C API perspective
Date: Fri, 19 Jan 2024 16:32:03 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 63
Message-ID: <uoe863$35pvl$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 16:32:03 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8b3833f189d28e69022585555aa680f9";
logging-data="3336181"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19g03dD45IS1b3rvXm4E3c3j50M2kFdad4="
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508
git://git.gnome.org/pan2)
Cancel-Lock: sha1:XFM4yUFn/hHMbxUilw0c/w6y32w=
 by: Lew Pitcher - Fri, 19 Jan 2024 16:32 UTC

From the early days of UNIX, the OS has used the C programming language
as it's primary development language. The OS always provided C bindings
for it's system API, and application development tended to use C for
all the compiled language requirements. Thus, in those times, the C API
/was/ the UNIX API, and the UNIX API /was/ the C API.

Back in the early 1980's, UNIX systems proliferated and mutated. All
provided similar services and a mostly-consistant API, but there were
enough differences between the various species of Genus UNIX that
compatability became an issue. Some species provided API definitions
in one #include file, while others scattered the API definitions into
other #include files. API definitions varied in minor details, taking
additional arguments, or returning different values than others. There
was chaos on the horizon.

In the 1990's, the IEEE stepped up to the plate and started an effort
to standardize a single, common UNIX specification. (While the IEEE
casted about for an appropriate name for this effort, Richard Stallman,
who was intimately involved in similar efforts, suggesed the name
"POSIX", for "Portable Operating System Interface".) They settled on
a definition called IEEE-1003, which ISO adopted as ISO/IEC 9945.

The IEEE-1003 standard initially addressed only the API (POSIX-1) and
a validation suite, but, later, was extended to include common utilities,
shell language, auxiliary libraries, and other "essential" components.
In 2008, much of these extensions were rolled back into the IEEE-1003
standard as IEEE-1003.1-2008, AKA POSIX.1-2008.

The US Government had an outside role in this standardization effort;
in all areas, including the military, the government spent a /lot/ of
money on software. Most of this software was written by programmers
using UNIX systems of one species or another. And, the government
procuration process would not only have to purchase this software, but
also the specific UNIX OS that it was written to run on. This got
/very/ expensive.

So, the US Government, through the Federal Information Processing
Standard (FIPS-151), decreed that all operating systems purchased
in support of purchased software must support a minimum common API.
FIPS settled on POSIX-1 as that API.

Now, Microsoft didn't support POSIX in any form and it realized that
it would lose a lot of government contracts because of this lack of
support. So, in it's newest Windows NT operating systems, it bolted
in a subsystem (the NT POSIX subsystem) that supported the POSIX-1
API, and thus could handle programs coded to that level of UNIX API.
According to Wikipedia, "Windows NT versions 3.5, 3.51 and 4.0 were
certified as compliant with FIPS 151-2."

Later, Microsoft would replace the NT POSIX subsystem with first
"Windows Services for UNIX" (WSU), and later "Windows Services for
Linux" (WSL). But, even with these changes, Windows supported, in
some form or another, the basic UNIX API.

All this to say that, Windows, since the 1990's has supported, in
one form or another, the basic UNIX API with C bindings. We've had
thirty years of UNIX and UNIX-compatable C under Windows.

--
Lew Pitcher
"In Skills We Trust"

Re: Windows and UNIX, A C API perspective

<uoemaf$39ohi$3@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=31274&group=comp.lang.c#31274

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo...@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.c
Subject: Re: Windows and UNIX, A C API perspective
Date: Fri, 19 Jan 2024 20:33:19 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <uoemaf$39ohi$3@dont-email.me>
References: <uoe863$35pvl$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 20:33:19 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a99d1106c5a63aadcf4a9426eaf9b9d4";
logging-data="3465778"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19832cWlRLNWNgqOc9rf+Fv"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:1XJhu+7gxFE3jxDAyWwseCMH7n8=
 by: Lawrence D'Oliv - Fri, 19 Jan 2024 20:33 UTC

> All this to say that, Windows, since the 1990's has supported, in one
> form or another, the basic UNIX API with C bindings. We've had thirty
> years of UNIX and UNIX-compatable C under Windows.

The difference being that POSIX was careful to spell out exactly how
the API worked (including error codes and when they could occur), so
it could be implemented as a proper standard. The same was not true of
the Windows API. Which is why people get into such a mess trying to
program for Windows.

Jeremy “Samba” Allison made this point many years ago
<https://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2.html>.

Re: Windows and UNIX, A C API perspective

<2ffr7k-362.ln1@anthive.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=31287&group=comp.lang.c#31287

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: songb...@anthive.com (songbird)
Newsgroups: comp.lang.c
Subject: Re: Windows and UNIX, A C API perspective
Date: Fri, 19 Jan 2024 19:07:30 -0500
Organization: the little wild kingdom
Lines: 66
Message-ID: <2ffr7k-362.ln1@anthive.com>
References: <uoe863$35pvl$1@dont-email.me>
Reply-To: songbird <songbird@anthive.com>
Injection-Info: dont-email.me; posting-host="2fde48c5577a75960d48610444412d89";
logging-data="3538692"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18MP0bCXRdBQ/0tGONGnKC58qZc9uZM/k8="
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:LlN/lEsYyKVbBAuXnPta35N6AwA=
 by: songbird - Sat, 20 Jan 2024 00:07 UTC

Lew Pitcher wrote:

> From the early days of UNIX, the OS has used the C programming language
> as it's primary development language. The OS always provided C bindings
> for it's system API, and application development tended to use C for
> all the compiled language requirements. Thus, in those times, the C API
> /was/ the UNIX API, and the UNIX API /was/ the C API.
>
> Back in the early 1980's, UNIX systems proliferated and mutated. All
> provided similar services and a mostly-consistant API, but there were
> enough differences between the various species of Genus UNIX that
> compatability became an issue. Some species provided API definitions
> in one #include file, while others scattered the API definitions into
> other #include files. API definitions varied in minor details, taking
> additional arguments, or returning different values than others. There
> was chaos on the horizon.
>
> In the 1990's, the IEEE stepped up to the plate and started an effort
> to standardize a single, common UNIX specification. (While the IEEE
> casted about for an appropriate name for this effort, Richard Stallman,
> who was intimately involved in similar efforts, suggesed the name
> "POSIX", for "Portable Operating System Interface".) They settled on
> a definition called IEEE-1003, which ISO adopted as ISO/IEC 9945.
>
> The IEEE-1003 standard initially addressed only the API (POSIX-1) and
> a validation suite, but, later, was extended to include common utilities,
> shell language, auxiliary libraries, and other "essential" components.
> In 2008, much of these extensions were rolled back into the IEEE-1003
> standard as IEEE-1003.1-2008, AKA POSIX.1-2008.
>
> The US Government had an outside role in this standardization effort;
> in all areas, including the military, the government spent a /lot/ of
> money on software. Most of this software was written by programmers
> using UNIX systems of one species or another. And, the government
> procuration process would not only have to purchase this software, but
> also the specific UNIX OS that it was written to run on. This got
> /very/ expensive.
>
> So, the US Government, through the Federal Information Processing
> Standard (FIPS-151), decreed that all operating systems purchased
> in support of purchased software must support a minimum common API.
> FIPS settled on POSIX-1 as that API.
>
> Now, Microsoft didn't support POSIX in any form and it realized that
> it would lose a lot of government contracts because of this lack of
> support. So, in it's newest Windows NT operating systems, it bolted
> in a subsystem (the NT POSIX subsystem) that supported the POSIX-1
> API, and thus could handle programs coded to that level of UNIX API.
> According to Wikipedia, "Windows NT versions 3.5, 3.51 and 4.0 were
> certified as compliant with FIPS 151-2."
>
> Later, Microsoft would replace the NT POSIX subsystem with first
> "Windows Services for UNIX" (WSU), and later "Windows Services for
> Linux" (WSL). But, even with these changes, Windows supported, in
> some form or another, the basic UNIX API.
>
> All this to say that, Windows, since the 1990's has supported, in
> one form or another, the basic UNIX API with C bindings. We've had
> thirty years of UNIX and UNIX-compatable C under Windows.

interesting, i'm glad i really never had to deal with any
of that, but i did write a few C programs here or there and
they worked for what was needed to be done.

songbird

Re: Windows and UNIX, A C API perspective

<87cytwgol5.fsf@yaxenu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=31294&group=comp.lang.c#31294

  copy link   Newsgroups: comp.lang.c
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jsh...@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.c
Subject: Re: Windows and UNIX, A C API perspective
Date: Sat, 20 Jan 2024 09:45:58 -0300
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <87cytwgol5.fsf@yaxenu.org>
References: <uoe863$35pvl$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="62ee3c425ded30f299d326f65aa702e0";
logging-data="3869818"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+NOee5kanumO1aJ5hXlEywcCAMI9UzHiw="
Cancel-Lock: sha1:iJiv0aoEJewkPrtFh6IlwVVoj4c=
sha1:uwm07SZFwJ/Kx3o50M8kCm7UsxY=
 by: Julieta Shem - Sat, 20 Jan 2024 12:45 UTC

Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:

> From the early days of UNIX, the OS has used the C programming language
> as it's primary development language. The OS always provided C bindings
> for it's system API, and application development tended to use C for
> all the compiled language requirements. Thus, in those times, the C API
> /was/ the UNIX API, and the UNIX API /was/ the C API.

[...]

Great writing, great reading. Thank you for posting. Thank you for
being on the USENET for so long. In skills we trust.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor