Precedente
Successivo
Indice
- multitasking: più programmi funzionano contemporaneamente.
- multiuser: più utenti nella stessa macchina contemporaneamente (e
senza licenze bi-utenti!).
- multipiattaforma: funziona su varie CPU diverse, non solo Intel.
- funziona in modalità protetta nel chip 386.
- protezione della memoria tra processi, in modo che un programma non
possa mandare in crash l'intero sistema.
- demand load executable: Linux legge dal disco solo le parti di un
programma che sono realmente 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. È semplice
aumentarlo, se necessario, cambiando poche linee di codice sorgente.
- 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.
- il codice sorgente è disponibile in toto, compreso quello
delll'intero kernel, dei driver, degli strumenti di sviluppo e
dei programmi utente e tutti questi sono distribuibili liberamente,
sotto licenza GNU. Esistono numerosi programmi commerciali per Linux,
di cui non vengono resi pubblici i sorgenti.
- controllo dei processi POSIX.
- pseudoterminali (pty).
- emulazione 387 nel kernel in modo che i programmi non necessitano di
avere il proprio emulatore matematico. Ogni computer su cui giri Linux
ha nel kernel un emulatore di 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 diffusi; ha inoltre un proprio filesystem
avanzato che permette dimensioni del 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). Le partizioni MS-DOS 6 compresse al momento non
vengono lette se non viene installata una patch (dmsdosfs). Il supporto
VFAT (WNT, Windows 95) è disponibile in Linux 2.0.
- 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 HFS (Macintosh) disponibile attualmente come modulo
separato, in sola lettura.
- filesystem CD-ROM che legge tutti i formati standard di CD-ROM.
- supporto rete TCP/IP, incluso ftp, telnet, NFS...
- server Appletalk
- Netware client e server
- Lan Manager (SMB) client e server
- Molti protocolli di rete: i protocolli base disponibili negli ultimi
kernel in fase di sviluppo comprendono TCP, IPv4, IPv6, AX.25, X.25,
IPX, DDP (Appletalk), NetBEUI, Netrom e altri. Protocolli stabili
inclusi nell'attuale kernel stabile comprendono ICP, IPv4, IPX, DDP e
AX.25.
Precedente
Successivo
Indice