El Rey Geschrieben 30. März 2005 Geschrieben 30. März 2005 Hallo! Hat schon mal jemand von euch versucht, einen Fragmentierungs- bzw. Defragmentierungsalgorithmus in Java zu realisieren? Wär super wenn den jemand posten könnte! Würd mich unheimlich interessieren!
perdian Geschrieben 30. März 2005 Geschrieben 30. März 2005 Hat schon mal jemand von euch versucht, einen Fragmentierungs- bzw. Defragmentierungsalgorithmus in Java zu realisieren? Wär super wenn den jemand posten könnte! Würd mich unheimlich interessieren!Da du dafür zwangsläufig tief in das Dateisystem eingreifen musst wirst du da mit Java wahrscheinlich wenig Erfolg haben. Cluster mit purem Java zu verschieben ist nicht möglich, damit wird dann defragmentieren auch wegfallen. Und warum man ein Dateisystem vorsetzlich fragmentieren sollte ist mir sowieso schleierhaft
Bubble Geschrieben 30. März 2005 Geschrieben 30. März 2005 Den Algorithmus kann man experimentell durchaus in Java umsetzen, ein Defragmentieren des Dateisystems mit Java dürfte hingegen sehr JNI lastig sein und sicher auch weiteren native code benötigen. Aber vielleicht will der Fargesteller auch ganz andere Dinge defragmentieren, etwa Speicherbereiche o.ä.
perdian Geschrieben 30. März 2005 Geschrieben 30. März 2005 Aber vielleicht will der Fargesteller auch ganz andere Dinge defragmentieren, etwa Speicherbereiche o.ä.Selbst das halte ich für mindestens schwierig. Schließlich hast du auch keinen direkten Zugriff auf den Speicher. Höchstens das Defragmentieren von eigenen Datenstrukturen würde in Frage kommen, aber um das zu beurteilen müsste man diese schon kennen
Bubble Geschrieben 30. März 2005 Geschrieben 30. März 2005 Selbst das halte ich für mindestens schwierig. Schließlich hast du auch keinen direkten Zugriff auf den Speicher. Höchstens das Defragmentieren von eigenen Datenstrukturen würde in Frage kommen, aber um das zu beurteilen müsste man diese schon kennen Wenn Du beispielsweise ein Array von Bytes hast, kannst Du es auch mit Java komplett selbst verwalten, also auch belegte Bereiche defragmentieren. Wenn man nur das Prinzip erforschen möchte, reicht das vollkommen aus. Den "richtigen" Speicher kann man sowieso nicht wirklich defragmentieren, da es unmöglich ist existierende unbekannte Pointer umzuändern. Es gibt allerdings auch hier Ansätze zur Speicherverwaltung, bei denen statt Pointer Handels verwendet werden und man Speicherblöcke nur auf bestimmte Zeit "fixiert", um für diesen Zeitraum einen gültigen Pointer zu bekommen. Nicht fixierte Blöcke können dann jederzeit verschoben werden. Aber ich glaube, dass ist alles etwas off-topic
El Rey Geschrieben 30. März 2005 Autor Geschrieben 30. März 2005 Und was haltet ihr von einem Simulieren von (De-)Fragmentierung unter Java?
perdian Geschrieben 31. März 2005 Geschrieben 31. März 2005 Und was haltet ihr von einem Simulieren von (De-)Fragmentierung unter Java?Wofür? Es bringt dir nix, weil du dafür ein komplettes Filesystem simulieren müsstest. Leute, Java ist (für mich) die schönste Sprache, die es gibt - aber auch so eine Sprache hat ihre Einsatzbereiche und auch Grenzen. Und genau bei diesem Thema ist eine Grenze erreicht. Wenn es irgendwann komplett Java-basierte Betriebssysteme geben sollte, dann macht es Sinn sich darüber Gedanken zu machen. Es macht ohnehin keinen Sinn sich über das Defragmentieren eines Dateisystems Gedanken zu machen ohne dieses konkret zu kennen - aber das nur mal so nebenbei.
geloescht_Newlukai Geschrieben 31. März 2005 Geschrieben 31. März 2005 Wofür? Es bringt dir nix, weil du dafür ein komplettes Filesystem simulieren müsstest. Kann er doch machen, wenn er Spaß dran hat.
Bubble Geschrieben 31. März 2005 Geschrieben 31. März 2005 Wofür? Warum nicht, wenn er mit geeigneten Algorithmen experimentieren möchte? Und ein komplettes Filesystem braucht er dafür auch nicht zu simulieren, eine starke Vereinfachung genügt.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden