🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.os.linux
Article #504

Re: Linux instabiel met grote netwerken?

#504
From: Rob Janssen
Date: Tue, 20 Jul 1999 00:00
50 lines
3123 bytes
Jasper Janssen <jasper@janssen.dynip.com> wrote:
>On Mon, 19 Jul 1999 17:43:27 GMT, nomail@pe1chl.demon.nl (Rob Janssen)
>wrote:

>>Dan heb je de problematiek niet begrepen.

>Het probleem was dat er veel source was die zou breken als pointers in
>het algemeen, laat staan alleen die van het file-system, van grootte
>zouden verdubbelen.

>Ik heb eerlijk gezegd nergens iemand zien zeggen dat dat alleen maar
>was omdat size (int) != size (pointer) zou worden. Volgens mij levert
>size (pointer) != 32 ook problemen op.

De problemen onstaan voornamelijk als men er vanuit gaat dat een pointer
kan worden doorgegeven via een integer parameter, kan worden opgeslagen
of "afgedrukt" als een integer, etc.  De absolute size van de pointer maakt
dan niet zoveel uit.

Ik heb in het verleden veel geprogrammeerd onder DOS, waarbij je dan
"small", "medium" en "large" model van compilaties had.   Een int was
altijd 16 bits, en een pointer kon 16 of 32 zijn.  Erger nog: een pointer
naar een functie kon een andere size hebben dan een pointer naar data!!!
(medium model)

Zolang je alles netjes declareerde gaf dit weinig of geen problemen.
Toen er eenmaal functie prototypes waren werden de problemen nog minder,
want dan had je niet meer het probleem dat als je een pointer naar data
meegaf waar een pointer naar een functie verwacht werd er een verkeerde
size parameter werd meegegeven.  (dit was vooral irritant bij een NULL
pointer)

Dit soort code compileert zonder problemen in een Unix omgeving, of die
nou 32 of 64 bits is.  En een "386 large model" omgeving (32 bits ints,
48 bits pointers) mag ook geen probleem zijn.

De code waar problemen mee zijn is de oude rotzooi van voor de tijd
van prototypes en voor de tijd van de Intel x86 architectuur.  Toen
zag je nog mensen "index" gebruiken (later heette die functie strchr)
zonder hem te declareren -> assumed return type int, wordt dan in
een char* gestopt.
Tegenwoordig kom je dat niet meer tegen want de compiler warned er meteen
over.

Rob
-- 
+----------------------------------+--------------------------------------+
| Rob Janssen     pe1chl@amsat.org | WWWhome: http://www.pe1chl.demon.nl/ |
| AMPRnet:     rob@pe1chl.ampr.org | AX.25 BBS: PE1CHL@PI8WNO.#UTR.NLD.EU |
+----------------------------------+--------------------------------------+
Technical Details
Message-ID: <slrn7p9gk0.aai.nomail@linux.pe1chl.ampr.org>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <37a19147.66709132@news.casema.net>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 1049e4,a0fe27b233033f39
X-Google-Attributes: gid1049e4,public
X-Google-Thread: fb7d6,a0fe27b233033f39
X-Google-Attributes: gidfb7d6,public
From: nomail@pe1chl.demon.nl (Rob Janssen)
Subject: Re: Linux instabiel met grote netwerken?
Date: 1999/07/20
Message-ID: <slrn7p9gk0.aai.nomail@linux.pe1chl.ampr.org>
X-Deja-AN: 503237404
X-NNTP-Posting-Host: pe1chl.demon.nl:194.159.225.177
Sender: news@pe1chl.demon.nl (News system)
References: <37a19147.66709132@news.casema.net>
X-Complaints-To: abuse@demon.net
X-Trace: news.demon.nl 932497719 pluto:25646 NO-IDENT pe1chl.demon.nl:194.159.225.177
Organization: PE1CHL
Reply-To: dontmailme@pe1chl.demon.nl
Newsgroups: nl.comp.os.linux,casema.linux