[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (deb-cat) Desfragmentacio de l'arrencada



On Wed, Feb 24, 2021 at 08:47:26AM +0100, Narcis Garcia wrote:
> Quan un ordinador arrenca, executa programes i aquests carreguen
> llibreries i fitxers d'arreu del volum de disc.
> Això produeix lectures aleatòries de centenars de fitxers amb els blocs
> dispersos per tota la unitat ja que, quan es desfragmenta un disc dur,
> la única cosa que s'ordena és que cada fitxer tingui els seus blocs de
> dades contínus en el disc.
> 
> És a dir, podem tenir fitxers emmagatzemats com a lletres:
> A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
> 
> Però l'arrencada carrega per exemple el gestor d'arrencada (A) el qual
> carrega el sistema del nucli (B), i el qual aleshores demana fitxers
> d'arreu com R, J, Y, D, K per la qual cosa el capçal d'un disc dur no fa
> més que canviar de posició tota l'estona i fent que la càrrega sigui
> molt més lenta del què el disc seria capaç de transmetre seqüencialment.
> Això es nota molt amb el soroll d'un disc dur quan arrenca el sistema.
> 
> L'ideal en aquest exemple seria poder reorganitzar els blocs del disc així:
> A,B,R,J,Y,D,K, C,E,F,G,H,I,L,M,N,O,P,Q,S,T,U,V,W,X,Z
> De manera que de la A a la K es llegís tot sense interrupció.
> 
> Hi ha alguna eina que faciliti això per accelerar l'arrencada?
> 
> Gràcies.

Hola,

Una reflexió molt interessant. La veritat és que no conec la forma de fer el
que demanes ni penso que sigui gens simple. Requeriria tenir una bona
planificació de l'ordre en que es demanaran els fitxers (més concretament els
blocs concrets que es necessitaran llegir). El manteniment també seria molt
costos, replanificant i reorganitzant a cada actualització del sistema.

La tendència és a utilitzar cada cop més emmagatzaments d'accés aleatori (SSD,
etc) on aquestes penalitzacions del seek no existeixen. Un altre factor que
hauria d'alleugerar aquesta inconveniencia és l'arrencada en paraŀlel, ja que
el planificador de lectures del nucli les hauria d'agrupar de la millor forma
(minimitzant el seek time necessari).

Per a un sistema amb disc dur (sense SSD) et proposaria fer una partició de
sistema minimalista on estigui només el que realment és necessari per a fer el
boot. La resta de software i dades podrien estar a particions distintes.
També la utilització de varis discs en RAID0 penso que ajudaria enormement.

Altres opcions podrien passar per a evitar fer el procés de boot utilitzant la
hibernació o suspensió a ram, quan es pugui.

Una discusió que penso que serà eterna és el tema compilacions estàtiques vs
càrrega de biblioteques dinàmiques.

M'agradaria llegir millors alternatives.

Salut!

-- 
Antoni Villalonga
https://friki.cat/


Reply to: