amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > Was ist Speicherschutz? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

26.11.2001, 10:58 Uhr

StefanONE
Posts: 453
Nutzer
Ich lese immer wieder den Begriff "Speicherschutz". Was ist das? Warum ist das wichtig?
Vielleicht kann mich mal jemand aufklären.

Gruß
StefanONE

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 11:09 Uhr

AmigaMan
Posts: 168
Nutzer
Am Besten ist diese kurze und knappe Erklärung:
Speicherschutz????




Gruß


AmigaMan


[ Dieser Beitrag wurde von AmigaMan am 26.11.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 11:19 Uhr

thomas
Posts: 7717
Nutzer

In einem Multitasking-System wie dem AmigaOS laufen viele Programme gleichzeitig. Die meisten davon sind für den Benutzer unsichtbar (z.B. ist jeder Partition und jedem Laufwerk und jedem Shell-Fenster etc. eine Task zugeordnet).

Da sich alle diese Programme den selben Speicher teilen, gibt es Regeln, wie man darauf zugreifen darf. Die wichtigste ist, daß jeder Speicherbereich, auf den ein Programm zugreifen möchte zuerst angefordert werden muß. Und nur wenn das Betriebsystem den Zugriff erlaubt, darf der Speicher benutzt werden. Ansonsten läuft man gefahr, Speicherbereiche von anderen Programmen zu überschreiben und diese zum Absturz zu bringen. (Daraus siehst du, daß ein abstürzendes Programm nicht unbedingt der Verursacher des Absturzes sein muß).

Speicherschutz ist nun eine Möglichkeit, die Einhaltung dieser Regeln zu überprüfen. Dazu wird mittels Hardware (MMU = Memory Management Unit) der Speicher der anderen Programme vor Zugriffen geschützt. Wenn mein Programm jetzt versucht, auf fremden Speicher zuzugreifen, stürzt mein Programm ab und nicht das fremde.

Beim AmigaOS ist es ziemlich schwierig, Speicherschutz zu implementieren, da die Messages, die zur Kommunikation zwischen verschiedenen Programmen benutzt werden, nur einmal im Speicher liegen und nur die Pointer darauf weitergegeben werden. Der Empfänger muß also auf den Speicher des Absenders zugreifen, um die Message zu lesen.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 16:06 Uhr

StefanONE
Posts: 453
Nutzer
@AmigaMan und Thomas
danke für eure Antworten. Ich hätte mir unter diesen Begriff etwas anderes vorgestellt. Welche Betriebssysteme besitzen eigentlich Speicherschutz und welche nicht?

Gruß
StefanONE

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 18:58 Uhr

LordRover
Posts: 77
Nutzer
Hallöle!

Nun ein schlechtes und allzubekanntes Beispiel für Speicherschutz bietet
wohl Win9x. Der Speicherschutz funktioniert insofern, als das Betriebssystem
dir meldet "dieses Programm reagiert nicht" oder "dieses Programm hat einen
schweren Ausnahmefehler 6x?+#54 in Adresse 763%3§*&87 verursacht"

Alles schön und gut, doch das System fängt die Fehler nicht wirklich ab (oder allzu selten)
Daß die gleiche Firma auch guten Speicherschutz bieten kann beweist Win2000,
das läuft wirklich beeindruckend stabil, blockiert nicht ist aber leider ein ungeheurer
Speicherfresser.

Natürlich gibt es noch andere Beispiele wie MacOS oder QNX, wobei MacOS X
wesentlich besser ist als Version 9.x. Das liegt zum Teil daran, daß OS X auf
"Unix" basiert, ein weiteres Betriebssystem, das auch die Ausgangsbasis für
Linux stellte (und teilweise sogar fürs AmigaOS).

Verwirrend, oder?

Tschüß,

Alex

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 19:37 Uhr

StefanONE
Posts: 453
Nutzer
@LordRover
>Nun ein schlechtes und allzubekanntes Beispiel für Speicherschutz >bietet wohl Win9x. Der Speicherschutz funktioniert insofern, als das >Betriebssystem dir meldet "dieses Programm reagiert nicht" >oder "dieses Programm hat einen schweren Ausnahmefehler 6x?+#54 in >Adresse 763%3§*&87 verursacht"

Aha. Das bedeutet also, das beim AmigaOS die "Software Failure" Gurus ihre Ursache durch das Fehlen von Speicherschutz haben?

Da diese Gurus aber selten auftreten, kann man also annehmen das das AmigaOS an sich sehr robust ist und daher stabil läuft?

Gruß
StefanONE



[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 19:59 Uhr

AmigaMan
Posts: 168
Nutzer
@StefanOne

Naja, wie man es nimmt!
Es kommt ja nicht nur auf das OS an, sondern auch auf die Anwendungen
was die da verzapfen!
Da hilft es dem besten OS nichts, wenn Die Anwendung es doch
abschiessen kann.

Übrigens, so fest Windows 2K auch ist, macht doch mal ne DOS-Box auf
tippt

PING 127.0.0.1
<ENTER>
Und während der Ping läuft (das ist ja nur 4 x) drücke man sooft wie
man schafft F7 und Enter hintereinander!

Viel Spaß bei Zuschauen vom sofortigen RESET!!! von Windows wenn der
Ping beendet ist!


BYE


Gruß

AmigaMan



[ Dieser Beitrag wurde von AmigaMan am 26.11.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 21:00 Uhr

Elevoltek
Posts: 912
Nutzer
Hi;

Stefan:

>Da diese Gurus aber selten auftreten, kann man also annehmen das das >AmigaOS an sich sehr robust ist und daher stabil läuft?

Naya, wenn der Ami stabil läuft, liegt das eher den an gut programmierten Applikationen.


Frank.

[ - Antworten - Zitieren - Direktlink - ]

26.11.2001, 22:21 Uhr

StefanONE
Posts: 453
Nutzer
@AmigaMan und Frank_Gutschow,
jetzt weiss ich ein bischen mehr über die internen Abläufe eines OS. Zusammenfassend kann man aber sagen, das beim Zusammenarbeiten der verschiedenen Programme in einem Multitaskingsystem alles von einander abhängig ist, sowohl von der Seite des OS als auch von den Anwendungen?

@Frank_Gutschow,
ich habe mal den "Local Host Ping" in einer DosBox eingegeben und dann F7 und Enter mehr mals hintereinander getippt. Kann es sein das dies bei Win 98 keine Wirkung hat? Jedenfalls hat mein PC keinen Reset ausgeführt. Was hätte ich sehen müssen?

Gruß
StefanONE


[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 01:06 Uhr

EntilZha
Posts: 30
Nutzer
Hi,

Zitat:
Original von StefanONE:

Aha. Das bedeutet also, das beim AmigaOS die "Software Failure" Gurus ihre Ursache durch das Fehlen von Speicherschutz haben?

Da diese Gurus aber selten auftreten, kann man also annehmen das das AmigaOS an sich sehr robust ist und daher stabil läuft?


Das Problem beim Amiga ist, daß Du die Fehler u.U. gar nicht mitbekommst. Wenn z.B. ein Programm wie wild im Speicher rumballert richtet es nur dann Schaden an, wenn es etwas trifft, was auch gerade benutzt wird.

Dabei kommen dann manchmal solche Zeitbomben ins Spiel: Man benutzt ein Programm, welches irgendwo im Code eines anderen Programms Müll ablädt, und wenn man dann das zugemüllte Programm benutzt crasht es... In solchen Situationen ist der Fehler schwer zu finden, man weiß ja im Prinzip gar nicht, das es ein anderes Programm war...


--
Thomas Frieden
ThomasF@hyperion-entertainment.com

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 01:08 Uhr

EntilZha
Posts: 30
Nutzer
Hi,

Zitat:
Original von LordRover:
Nun ein schlechtes und allzubekanntes Beispiel für Speicherschutz bietet
wohl Win9x. Der Speicherschutz funktioniert insofern, als das Betriebssystem
dir meldet "dieses Programm reagiert nicht" oder "dieses Programm hat einen
schweren Ausnahmefehler 6x?+#54 in Adresse 763%3§*&87 verursacht"


So etwa wie

Das Programm "AKW Steuerung" verursachte eine
allgemeine Schutzverletzung


OK Debug Cancel



:D
--
Thomas Frieden
ThomasF@hyperion-entertainment.com

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 09:19 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Original von StefanONE:
Aha. Das bedeutet also, das beim AmigaOS die "Software Failure" Gurus ihre Ursache durch das Fehlen von Speicherschutz haben?


Ganz sicher nicht. "Software Failure" bedeutet, was die Worte sagen: Softwarefehler, Programmfehler. Eine Division durch 0 z.B. wird sicher nicht durch eine Speicherverletzung verursacht, sondern dadurch, daß der Programmierer einen Fall nicht getestet hat. Natürlich kann so ein Fehler auch auftreten, wenn der Code eines Programms von jemand anderem überschrieben wurde. Dann treten meistens Fehler wie "illegal instruction" o.ä. auf (Guru-Nummern mit vielen Nullen und nur einer kleinen Zahl am Ende).

Zitat:
Original von StefanONE:
Da diese Gurus aber selten auftreten, kann man also annehmen das das AmigaOS an sich sehr robust ist und daher stabil läuft?


Gerade das Fehlen von Speicherschutz führt oberflächlich zu einem stabileren System, weil Speicherverletzungen nicht erkannt und somit nicht bestraft werden. Erst wenn wirklich ein wichtiger Speicherbereich getroffen wird, kommt es evtl. zu einem Absturz. In den meisten Fällen reagiert ein Programm nur ungewöhnlich. Man reagiert darauf meistens mit schließen und neustarten des Programms und dann läuft wieder alles. Leider kann man mit fehlendem Speicherschutz auch (oder gerade) als Programmierer Speicherverletzungen, die das eigene Programm verursacht, nicht erkennen. Dadurch kommt es ímmer mal wieder zu Unverträglichkeiten zwischen Programmen, die eigentlich nichts miteinander zu tun haben.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 10:42 Uhr

Andreas
Posts: 200
Nutzer
Soweit ich weiß heißt implementierter Speicherschutz aber auch gleichzeitig dass mehr Aufwand in das Messagesystem eines Multitaskingsystems gesteckt weden muss. Für mich bedeutet Speicherschutz also auch ein etwas trägeres System. Wenn ein fauler Anwendungstask das OS abschießt ist das natürlich bedenklich, umgedreht sollte soetwas natürlich erst recht nicht passieren.
Würde es also nicht reichen wenn man den Speicher den das OS nutzt vor dem wildernden Rest schützt ? MMU kostet nämlich richtig Zeit.

Gruß

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 11:40 Uhr

Solar
Posts: 3680
Nutzer
Nein, es reicht nicht.

1. könnte ein wildgewordenes Programm Daten eines anderen Programms überschreiben. Plötzlich stimmt Dein Kontostand in der Tabellenkalkulation nicht mehr, weil die Textverarbeitung spinnt...

2. Manchmal ist nicht nur das OS, sondern auch eine spezielle Anwendung wichtig. Du fährst auf Deinem Rechner eine extrem wichtige Datenbank, deren Datenbestand dann auf einmal in's Nirvana geht, weil Dein Browser spinnt...

3. Speicherschutz verhindert auch den lesenden Zugriff. Oder möchtest Du Deine Online-Banking-PIN aus dem Kontenprogramm auf einmal in der Mailbox eines Wildfremden wissen, weil der eine Lücke in Deinem Mailprogramm ausgenutzt hat?

Der einzige Grund, *keinen* Speicherschutz zu implementieren, ist entweder unzureichende CPU-Leistung oder die nicht-Existenz einer MMU. Beides traf auf den Lorraine zu, beides ist heute bei Desktop-Systemen kein Argument mehr.

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 12:05 Uhr

Hans-Joerg
Posts: 202
Nutzer
Zitat:
Original von Andreas:
Würde es also nicht reichen wenn man den Speicher den das OS nutzt vor dem wildernden Rest schützt ? MMU kostet nämlich richtig Zeit.


Wieso kostet die MMU Zeit? Der Leistungsverlust beträgt in etwas 0.5 %.
Wenn ich bei meinem K6 die CPU-Frequenz messe, kriege ich 498 Mhz anstelle von 500. Das bewegt sich in etwa im gleichen Rahmen.

An Speicherschutz führt heutzutage nichts mehr vorbei. Die Argumentation von faulen Programmieren ist Unsinn. Ich habe ein Programm hier auf einem ungeschützten System, das rein Zufällig irgendwo in den Speicher ballert. Mit Memory Protection hätte ich den Fehler schon längst gefunden, aber ohne bin ich am Suchen wie ein Blöder.

Ansonsten kann ich mich nur Solar's Argumentation anschliessen, der Sicherheitsaspekt geht über das einfache "Crasht oder crasht nicht" hinaus. Ohne vernünftigen Schutz kann jeder sicherheitsrelevante Daten klauen, oder auch bei dem Programm "AKW-Steuerung" irgendeinen Unfug machen.

--
Hans-Jörg Frieden
Hyperion Entertainment

[ Dieser Beitrag wurde von Hans-Joerg am 27.11.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 12:10 Uhr

AmigaMan
Posts: 168
Nutzer
@StefanONE
Das mit dem Ping funktioniert glaub ich, nur unter Windows NT Versionen 4 und (5) 2000.

Für Win98 gibt es aber folgenden Bug:

schau mal:

ABSTURZ für Win9X

Gruß

AmigaMan
--
Amiga RuleZ da BIG wiDE worLD!

[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 19:46 Uhr

StefanONE
Posts: 453
Nutzer
@AimgaMan
leider kann ich "Absturz für Win9x" nicht öffnen, da IE 6.0 als Adresse "C:nulnul" angibt. Scheint ein Pfad auf deiner Festplatte zu sein. Kannst Du mir mal die Seite nennen, wo ich "Absturz für Win9x" herunterladen kann? Könnte ein neues Hobby von mir werden Windoof ab zu schiessen :-)))

Gruß
StefanONE




[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 20:22 Uhr

thomas
Posts: 7717
Nutzer

@StefanONE: Du hast das nicht verstanden. Der Link verweist absichtlich auf deine Festplatte. Ältere Versionen von Windows und/oder IExplorer haben beim Öffnen dieses links einen Bluescreen gezeigt.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Antworten - Zitieren - Direktlink - ]

27.11.2001, 21:05 Uhr

StefanONE
Posts: 453
Nutzer
@Thomas
Ach so. Also läuft das nicht mit IE 6.0?

Gruß
StefanONE

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > Was ist Speicherschutz? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.