Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Fragmentieren / Defragmentieren

Empfohlene Antworten

Veröffentlicht

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!

Wofür brauchst Du den denn genau?

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 :)

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.ä.

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 :)
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 ;)

Und was haltet ihr von einem Simulieren von (De-)Fragmentierung unter Java?

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.

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.

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.