Avanti
Indietro
Indice
- multitasking: più programmi funzionano contemporaneamente
- multiutenza: più utenti nella stessa macchina contemporaneamente
(e senza licenze per coppie di utenti!).
- multipiattaforma: funziona su varie CPU diverse, non solo Intel
- multiprocessore: il supporto per SMP è disponibile su
piattaforme Intel e SPARC (ed è in sviluppo il supporto su altre
piattaforme), e Linux viene usato in diverse applicazioni MP
loosely-coupled, tra cui i sistemi Beowulf (si veda
http://cesdis.gsfc.nasa.gov/linux-web/beowulf/beowulf.html) e
il supercomputer basato su SPARC Fujitsu AP1000+.
- multithreading: ha supporto nativo nel kernel per thread di
controllo multipli ed indipendenti all'interno dello stesso spazio di
memoria del processo.
- 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.
- caricamento degli eseguibili on demand: Linux legge dal disco
solo le parti di un programma che sono realmente usate.
- condivisione pagine copy-on-write tra processi. Questo significa
che più processi 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 fa lo swap di 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 normale funzionamento (sono chiamate aree di swap). Un
massimo di 16 di queste aree di swap da 128 Mb (2GB nei kernel
recenti) 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 grossi programmi.
- collegamento (link) dinamico delle librerie condivise (DLL), e
naturalmente anche di quelle statiche.
- può creare core per l'analisi post-mortem dei processi,
permettendo l'uso di un debugger su un programma non solo mentre sta
funzionando, ma anche dopo che è terminato in malo modo.
- compatibile a livello sorgente con POSIX, SYSV e BSD.
- attraverso un modulo di emulazione conforme a iBCS2, compatibile
a livello di binari con SCO, SVR3 e SVR4.
- il codice sorgente è disponibile in toto, compreso quello
dell'intero kernel, dei driver, degli strumenti di sviluppo e
dei programmi utente e tutti questi sono pure distribuibili
liberamente. Diversi programmi commerciali vengono forniti per
Linux senza i sorgenti ma tutto quello che doveva essere
gratuito, compreso l'intero sistema operativo di base, è ancora
gratuito.
- controllo POSIX dei processi.
- pseudoterminali (pty).
- emulazione 387 nel kernel cosicché i programmi non necessitano
di una propria emulazione del coprocessore matematico. Qualsiasi
computer che usa Linux appare possedere un coprocessore
matematico. Naturalmente, se il proprio computer contiene già una FPU,
verrà usata questa invece di emularla, e si può anche compilare il
proprio kernel togliendo l'emulazione matematica per guadagnare un po'
di memoria.
- supporto per molte tastiere nazionali o personalizzate, ed è
abbastanza semplice aggiungerne dinamicamente una di nuova.
- console virtuali multiple: più sessioni in console con login
indipendente ed è possibile passare da una all'altra premendo
una combinazione di tasti (indipendente dall'hardware
video). Sono allocate dinamicamente; se ne possono usare fino
a 64.
- supporto per parecchi filesystem comuni: tra cui minix,
Xenix, e tutti i comuni filesystem System V, ed un proprio
filesystem avanzato che offre filesystem fino a 4 TB, e nomi
lunghi fino a 256 caratteri.
- accesso trasparente alle partizioni MS-DOS (o alle partizioni
FAT di OS/2) tramite un filesystem speciale: non è necessario
alcun comando speciale per usare una partizione MS-DOS, appare
come un normale filesystem Unix (tranne che per quelle
simpatiche restrizioni sui nomi dei file, permessi ed
altro). Le partizioni compresse di MS-DOS 6 attualmente non
funzionano a meno che non si applichi una patch (dmsdosfs). Il
supporto per VFAT (WNT, Windows 95) e FAT-32 è disponibile in
Linux 2.0.
- filesystem speciale chiamato UMSDOS che permette di installare
Linux su un filesystem DOS.
- supporto in sola lettura di HPFS-2 per OS/2 2.1
- supporto per il filesystem HFS (Macintosh) disponibile
separatamente come modulo.
- filesystem per CD-ROM che legge tutti i formati standard di CD-ROM.
- supporto di rete TCP/IP, compresi ftp, telnet, NFS, ecc.
- server Appletalk
- client e server Netware
- client e server Lan Manager/Windows Native (SMB)
- Molti protocolli di rete: i protocolli di base disponibili nel
l'ultimo kernel in sviluppo includono TCP, IPv4, IPv6, AX.25,
X.25, IPX, DDP (Appletalk), Netrom, ed altri. I protocolli di rete
stabili compresi nei kernel stabili attualmente sono TCP, IPv4,
IPX, DDP, e AX.25.
Avanti
Indietro
Indice