2. Caratteristiche di Linux
Indice di questa sezione
- multitasking: più programmi funzionano contemporaneamente.
- multiuser: più utenti nella stessa macchina contemporaneamente (e
non licenze bi-utenti!).
- funziona in modalità 386 protetta.
- protezione della memoria tra processi, in modo che un programma non
possa mandare in crash l'intero sistema.
- demand loads ececutables: Linux legge dal disco solo le parti di un
programma che sono attualmente usate.
- condivisione pagine copy-on-write tra processi. Questo significa che
processi multipli possono usare la stessa memoria per funzionare.
Quando uno tenta di scrivere in quella zona di memoria, quella pagina
(un pezzo di memoria da 4Kb) è copiata in altro posto. Copy-on-write
ha due benefici: incrementa la velocità e diminuisce l'uso di memoria.
- memoria virtuale con paginazione (non scambia interi processi) su
disco: in una partizione separata o in un file del filesystem o in
entrambi, con la possibilità di aggiungere nuove aree durante il
funzionamento (sono chiamate aree di swap). Un massimo di 16 di queste
aree di swap da 128 Mb possono essere usate contemporaneamente, per un
totale teorico di 2 Gb di spazio di swap disponibile.
- memoria unificata per programmi utente e cache del disco, in modo
che tutta la memoria può essere usata per la cache e la cache può
essere ridotta quando funzionano grandi programmi.
- collegamento condiviso dinamico di librerie (DLL), e naturalmente
anche statico.
- può scaricare nuclei (core) per analisi di processi morti,
permettendo l'uso di un debugger su un programma non solo mentre sta
funzionando, ma anche dopo che è caduto.
- compatibile con POSIX, System V e BSD a livello sorgente.
- attraverso un modulo di emulazione servile iBCS2, compatibile con SCO,
SVR3, e SVR4 a livello binario.
- tutto il codice sorgente è disponibile, incluso l'intero kernel e
tutti i driver, gli strumenti di sviluppo e tutti i programmi utente;
tutti sono pure liberamente distribuibili. Ci sono alcuni programmi
commerciali forniti per Linux senza sorgente, ma ogni cosa che è
stata resa libera è pure libera.
- controllo dei lavori POSIX.
- pseudoterminali (pty).
- emulazione 387 nel kernel in modo che i programmi non necessitano di
avere il proprio emulatore matematico. Ogni computer che esegue Linux
appare con coprocessore matematico. Ovviamente, se il computer contiene
già l'FPU, questa viene usata al posto dell'emulatore; si può
anche ricompilare il proprio kernel senza emulatore matematico, per
guadagnare memoria.
- supporto di molte tastiere nazionali o personalizzate ed è
abbastanza facile aggiungerne nuove dinamicamente.
- console virtuali multiple: parecchie sessioni di login indipendenti
attraverso la console, scambiabili premendo una combinazione di tasti
dedicati (indipendenti dall'hardware video). Sono allocate
dinamicamente; se ne possono usare fino a 64.
- sopporta parecchi filesystem comuni, incluso minix-1, Xenix e tutti
i comuni filesystem System V, ed ha un proprio filesystem avanzato che
offre filesystem fino a 4 Tb e nomi lunghi fino a 255 caratteri.
- accesso trasparente a partizioni MS-DOS (o partizioni OS/2 FAT)
tramite un filesystem speciale; non è necessario nessun comando
speciale per usare la partizione MS-DOS, appare come un normale
filesystem Unix (eccetto per ovvie restrizioni sui nomi di file,
permessi e così via). Partizioni MS-DOS 6 compresse non funzionano
al momento e non sono nemmeno previste. Il supporto VFAT (WNT, Windows
95) è attualmente in prova.
- filesystem speciali chiamati UMSDOS che permettono a Linux di essere
installato su un filesystem DOS.
- supporto HPFS-2 in sola lettura per OS/2 2.1.
- filesystem CD-ROM che legge tutti i formati standard di CD-ROM.
- supporto rete TCP/IP, incluso ftp, telnet, NFS...
Capitolo Successivo,
Capitolo Precedente
Indice di questo capitolo,
Indice generale
Inizio del documento,
Inizio di questo Capitolo