Re: VMS

Liste des GroupesRevenir à ol misc 
Sujet : Re: VMS
De : invalid (at) *nospam* invalid.invalid (Richard Kettlewell)
Groupes : comp.os.linux.misc
Date : 20. Jun 2025, 15:15:25
Autres entêtes
Organisation : terraraq NNTP server
Message-ID : <wwva562cxdu.fsf@LkoBDZeT.terraraq.uk>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
The Natural Philosopher <tnp@invalid.invalid> writes:
On 20/06/2025 09:00, Richard Kettlewell wrote:
Most languages after C designed these issues out, one way or
another.
The clever bit is figuring out how to combine performance and safety,
and that’s what language designers have been working out, increasingly
successfully.
 
I don't really see how you can have a program that cannot write or
read memory beyond the intentions of the original programmer.

It’s not particularly difficult to describe (building a complete
language is more effort, of course). Some relevant techniques are:

* Automatic bounds-checking on arrays. Found in practically everything
  more recent than C (and some earlier languages, e.g. Algol). If you
  try to access an array out of bounds then you’re guaranteed a runtime
  error (what that means depends on the language, but it’s definitely
  not going to read or write something it shouldn’t). The application
  may fail if you don’t handle the error, but it does so in a
  predictable way, and it doesn’t represent an attack vector.

* Either eliminate pointers entirely, or replace with some kind of
  reference type and automated memory management.
  In concrete terms automated memory management usually means a garbage
  collector, but as Rust shows, it’s not the only option.

You write your programs slightly differently to C as a result, and there
is a performance cost, although not necessarily as you might think. But
there are huge numbers of applications written in languages that use
these strategies.


Now, if you are writing an OS kernel then at least at certain points
you’re going to need rather free access to memory, and that’s hard if
you stay purely within constraints like the above.

In some languages that’s not really an issue. Nobody is writing an OS
kernel in Python, for example. But we need to write kernels and drivers
in something...

A common approach is to segregate these operations (e.g. pointer
arithmetic) into ‘unsafe’ sections of some kind, meaning only very small
parts of the application need the extra care associated with raw
pointers etc. Everywhere else you can devote your full attention to
getting the business logic right and not worry too much about the
consequences of an array overrun or whatever.

Consider electricity as an analogy. In the home it’s insulated cables,
nice friendly plugs, shuttered sockets, etc, at least in civilized
countries. The really dangerous stuff is kept locked away in a
substation with high walls, DANGER OF DEATH signs, etc.

--
https://www.greenend.org.uk/rjk/

Date Sujet#  Auteur
14 Jun 25 * Re: VMS118Bobbie Sellers
14 Jun 25 +* Re: VMS109Andreas Eder
15 Jun 25 i`* Re: VMS108Lawrence D'Oliveiro
15 Jun 25 i +* Re: VMS11rbowman
15 Jun 25 i i`* Re: VMS10c186282
15 Jun 25 i i +* Re: VMS5The Natural Philosopher
16 Jun 25 i i i`* Re: VMS4c186282
18 Jun 25 i i i `* Re: VMS3c186282
18 Jun 25 i i i  `* Re: VMS2rbowman
18 Jun 25 i i i   `- Re: VMS1c186282
15 Jun 25 i i `* Re: VMS4rbowman
16 Jun 25 i i  `* Re: VMS3c186282
16 Jun 25 i i   `* Re: VMS2rbowman
16 Jun 25 i i    `- Re: VMS1c186282
15 Jun 25 i `* Re: VMS96c186282
18 Jun 25 i  `* Re: VMS95candycanearter07
18 Jun 25 i   `* Re: VMS94c186282
18 Jun 25 i    +* Re: VMS3candycanearter07
18 Jun 25 i    i`* Re: VMS2Rich
19 Jun 25 i    i `- Re: VMS1rbowman
19 Jun 25 i    `* Re: VMS90Richard Kettlewell
20 Jun 25 i     +* Re: VMS87c186282
20 Jun 25 i     i+* Re: VMS78Richard Kettlewell
20 Jun 25 i     ii+* Re: VMS75The Natural Philosopher
20 Jun 25 i     iii+- Re: VMS1Richard Kettlewell
20 Jun 25 i     iii+* Re: VMS72Rich
20 Jun 25 i     iiii+* Re: VMS66The Natural Philosopher
21 Jun 25 i     iiiii`* Re: VMS65Rich
21 Jun 25 i     iiiii +- Re: VMS1The Natural Philosopher
21 Jun 25 i     iiiii `* Re: VMS63rbowman
21 Jun 25 i     iiiii  `* Re: VMS62Robert Riches
21 Jun 25 i     iiiii   +- Re: VMS1c186282
21 Jun 25 i     iiiii   +- Re: VMS1rbowman
22 Jun 25 i     iiiii   `* Re: VMS59candycanearter07
22 Jun 25 i     iiiii    +* Re: VMS3Richard Kettlewell
22 Jun 25 i     iiiii    i`* Re: VMS2The Natural Philosopher
23 Jun 25 i     iiiii    i `- Re: VMS1c186282
22 Jun 25 i     iiiii    +* Re: VMS3rbowman
23 Jun 25 i     iiiii    i`* Re: VMS2candycanearter07
23 Jun 25 i     iiiii    i `- Re: VMS1rbowman
24 Jun 25 i     iiiii    +* Re: VMS51Robert Riches
24 Jun 25 i     iiiii    i+* Re: VMS6rbowman
24 Jun 25 i     iiiii    ii`* Re: VMS5rbowman
24 Jun 25 i     iiiii    ii `* Re: VMS4The Natural Philosopher
25 Jun 25 i     iiiii    ii  `* Re: VMS3c186282
25 Jun 25 i     iiiii    ii   `* Re: VMS2The Natural Philosopher
25 Jun 25 i     iiiii    ii    `- Re: VMS1c186282
24 Jun 25 i     iiiii    i+* Re: VMS7Richard Kettlewell
25 Jun 25 i     iiiii    ii`* Re: VMS6Robert Riches
25 Jun 25 i     iiiii    ii `* Re: VMS5c186282
25 Jun 25 i     iiiii    ii  +- Re: VMS1rbowman
25 Jun 25 i     iiiii    ii  `* Re: VMS3John Ames
25 Jun 25 i     iiiii    ii   `* Re: VMS2John Ames
26 Jun 25 i     iiiii    ii    `- Re: VMS1c186282
27 Jun 25 i     iiiii    i`* Re: VMS37candycanearter07
27 Jun 25 i     iiiii    i `* Re: VMS36Richard Kettlewell
27 Jun 25 i     iiiii    i  +* Re: VMS4The Natural Philosopher
27 Jun 25 i     iiiii    i  i`* Re: VMS3c186282
27 Jun 25 i     iiiii    i  i `* Re: VMS2The Natural Philosopher
28 Jun14:16 i     iiiii    i  i  `- Re: VMS1Chris Ahlstrom
27 Jun 25 i     iiiii    i  `* Re: VMS31c186282
27 Jun 25 i     iiiii    i   `* Re: VMS30rbowman
27 Jun 25 i     iiiii    i    +* Re: VMS4Lew Pitcher
28 Jun 25 i     iiiii    i    i`* Re: VMS3Lawrence D'Oliveiro
28 Jun 25 i     iiiii    i    i `* Re: VMS2c186282
28 Jun 25 i     iiiii    i    i  `- Re: VMS1rbowman
27 Jun 25 i     iiiii    i    `* Re: VMS25c186282
28 Jun 25 i     iiiii    i     `* Re: VMS24Richard Kettlewell
29 Jun04:16 i     iiiii    i      `* Re: VMS23c186282
29 Jun08:18 i     iiiii    i       `* Re: VMS22Richard Kettlewell
30 Jun00:09 i     iiiii    i        `* Re: VMS21c186282
30 Jun08:36 i     iiiii    i         +* Re: VMS19The Natural Philosopher
30 Jun08:51 i     iiiii    i         i+* Re: VMS13Richard Kettlewell
30 Jun08:59 i     iiiii    i         ii+* Re: VMS3The Natural Philosopher
30 Jun09:33 i     iiiii    i         iii`* Re: VMS2Lawrence D'Oliveiro
30 Jun17:08 i     iiiii    i         iii `- Re: VMS1John Ames
30 Jun09:00 i     iiiii    i         ii+* Re: VMS4Richard Kettlewell
30 Jun09:24 i     iiiii    i         iii`* Re: VMS3The Natural Philosopher
30 Jun09:34 i     iiiii    i         iii `* Re: VMS2Lawrence D'Oliveiro
1 Jul04:30 i     iiiii    i         iii  `- Re: VMS1c186282
1 Jul04:26 i     iiiii    i         ii`* Re: VMS5c186282
1 Jul10:49 i     iiiii    i         ii `* Re: VMS4The Natural Philosopher
1 Jul13:44 i     iiiii    i         ii  `* Re: VMS3Lew Pitcher
2 Jul02:46 i     iiiii    i         ii   +- Re: VMS1c186282
2 Jul17:03 i     iiiii    i         ii   `- Re: VMS1Lew Pitcher
30 Jun08:54 i     iiiii    i         i+* Re: VMS2Lawrence D'Oliveiro
30 Jun19:10 i     iiiii    i         ii`- Re: VMS1rbowman
1 Jul04:12 i     iiiii    i         i`* Re: VMS3c186282
1 Jul05:02 i     iiiii    i         i `* Re: VMS2rbowman
1 Jul17:42 i     iiiii    i         i  `- Re: VMS1c186282
30 Jun08:56 i     iiiii    i         `- Re: VMS1Richard Kettlewell
27 Jun 25 i     iiiii    `- Re: VMS1Rich
20 Jun 25 i     iiii`* Re: VMS5Richard Kettlewell
21 Jun 25 i     iiii +* Re: VMS2Rich
21 Jun 25 i     iiii i`- Re: VMS1Richard Kettlewell
21 Jun 25 i     iiii `* Re: VMS2Lawrence D'Oliveiro
21 Jun 25 i     iiii  `- Re: VMS1c186282
21 Jun 25 i     iii`- Re: VMS1c186282
21 Jun 25 i     ii`* Re: VMS2c186282
21 Jun 25 i     ii `- Re: VMS1rbowman
20 Jun 25 i     i+* Re: VMS6The Natural Philosopher
20 Jun 25 i     i`* Re: VMS2Rich
20 Jun 25 i     `* Re: VMS2Lawrence D'Oliveiro
15 Jun 25 `* Re: VMS8Rich

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal