DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Amiga, AmigaOS 4 > Was ist Speicherschutz? | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2001-11-26, 10:58 h StefanONE Posts: 453 User |
Ich lese immer wieder den Begriff "Speicherschutz". Was ist das? Warum ist das wichtig? Vielleicht kann mich mal jemand aufklären. Gruß StefanONE [ - Answer - Quote - Direct link - ] |
2001-11-26, 11:09 h AmigaMan Posts: 168 User |
Am Besten ist diese kurze und knappe Erklärung: Speicherschutz???? Gruß AmigaMan [ Dieser Beitrag wurde von AmigaMan am 26.11.2001 editiert. ] [ - Answer - Quote - Direct link - ] |
2001-11-26, 11:19 h thomas Posts: 7718 User |
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/ [ - Answer - Quote - Direct link - ] |
2001-11-26, 16:06 h StefanONE Posts: 453 User |
@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 [ - Answer - Quote - Direct link - ] |
2001-11-26, 18:58 h LordRover Posts: 77 User |
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 [ - Answer - Quote - Direct link - ] |
2001-11-26, 19:37 h StefanONE Posts: 453 User |
@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 [ - Answer - Quote - Direct link - ] |
2001-11-26, 19:59 h AmigaMan Posts: 168 User |
@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. ] [ - Answer - Quote - Direct link - ] |
2001-11-26, 21:00 h Elevoltek Posts: 912 User |
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. [ - Answer - Quote - Direct link - ] |
2001-11-26, 22:21 h StefanONE Posts: 453 User |
@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 [ - Answer - Quote - Direct link - ] |
2001-11-27, 01:06 h EntilZha Posts: 30 User |
Hi,Zitat: 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 [ - Answer - Quote - Direct link - ] |
2001-11-27, 01:08 h EntilZha Posts: 30 User |
Hi,Zitat: So etwa wie Das Programm "AKW Steuerung" verursachte eine allgemeine Schutzverletzung OK Debug Cancel -- Thomas Frieden ThomasF@hyperion-entertainment.com [ - Answer - Quote - Direct link - ] |
2001-11-27, 09:19 h thomas Posts: 7718 User |
Zitat: 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: 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/ [ - Answer - Quote - Direct link - ] |
2001-11-27, 10:42 h Andreas Posts: 200 User |
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ß [ - Answer - Quote - Direct link - ] |
2001-11-27, 11:40 h Solar Posts: 3680 User |
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. [ - Answer - Quote - Direct link - ] |
2001-11-27, 12:05 h Hans-Joerg Posts: 202 User |
Zitat: 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. ] [ - Answer - Quote - Direct link - ] |
2001-11-27, 12:10 h AmigaMan Posts: 168 User |
@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! [ - Answer - Quote - Direct link - ] |
2001-11-27, 19:46 h StefanONE Posts: 453 User |
@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 [ - Answer - Quote - Direct link - ] |
2001-11-27, 20:22 h thomas Posts: 7718 User |
@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/ [ - Answer - Quote - Direct link - ] |
2001-11-27, 21:05 h StefanONE Posts: 453 User |
@Thomas Ach so. Also läuft das nicht mit IE 6.0? Gruß StefanONE [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Amiga, AmigaOS 4 > Was ist Speicherschutz? | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |