V
Darkseed schrieb:
wie viele geöffnete dateien verkraftet ein betriebssystem im allgemeinen, windows im besonderen?
auf FAT-platten ist das root-verzeichnis stark beschränkt. da ist nach ein paar-hundert eunfach schluss.
auf anderen platten gibts keine obergrenze, aber bei vielen dateien (so um 30000) wird alles extrem lahm.
wenn man tausende von dateien unter win anlegen muss, macht man unterverzeichnisse. also statt 00000.tmp 00001.tmp 00002.tmp macht man einfach 0\00\00.tmp 0\00\01.tmp 0\00\02.tmp
oder man läßt es und ist sich sicher, daß es auf dem nächsten windows keine probleme gibt.
wenn ich den algorithmus implementiere muss ich ja den grenzwert abfangen ab dem das programm abschmieren würde ...
nein, brauchste nicht.
du brauchst nur ld(dateianzahl) dateien *gleichzeitig*.
also bei 1000 dateien nur 10 gleichzeitig.
bei 1000000 dateien nur 20 gleichzeitig.
bei 1000000000 dateien nur 30 gleichzeitig.
wir wollen doch davon ausgehen, daß du immer weniger als 1000000000000 dateien brauchst und daß das dateisystem immer 40 dateien erlaubt. dann verzichte auf besondere maßnahmen.
warum so wenige dateien gleichzeitig?
ich nenne mal q die quelldatei und q->0 soll sagen, daß auis der quelldatei die datei namens 0 abgespalten wird. außerdem soll 0+1=0 heißen, daß die dateien 0 und 1 gemerged werden und der neue name 0 sein wird.
q->0_0
(1 datei)
q->0_1
(2 dateien)
0_0+0_1=1_0
(1 datei)
q->0_2
(2 dateien)
q->0_3
(3 dateien)
0_2+0_3=1_1
(2 dateien)
1_0+1_2=2_0
(1 datei)
q->0_4
(2 dateien)
q->0_5
(3 dateien)
0_4+0_5=1_2
(2 dateien)
q->0_6
(3 dateien)
q->0_7
(4 dateien)
0_6+0_7=1_3
(3 dateien)
1_2+1_3=2_1
(2 dateien)
2_0+2_1=3_0
(1 dateien)
q->0_8
(2 dateien)
q->0_9
(3 dateien)
0_8+0_9=1_4
(4 dateien)
q->0_10
(3 dateien)
q->0_11
(4 dateien)
0_10+0_11=1_5
(3 dateien)
1_4+1_5=2_2
(2 dateien)
usw...