Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Il sistema operativo UNIX Unix risale al 1969 ad opera di Kenneth Thompson e Dennis Ritchie dei Bell Laboratories di AT&T . Fu commercializzato nel 1977 ma negli stessi anni un gruppo di ricerca della University of California a Berkley realizzava la prima versione di un altro Unix denominata Berkley Software Distribution conosciuta da allora con la sigla BSD . Ad oggi le versioni più importanti disponibili sono: 1. Versioni AT&T: System III e System V 2. Versioni di Berkley: 4.1BSD e 4.2BSD 1 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Ad oggi la più diffusa è la System V rilevanti, rconducibili soprattutto alla presenza anche se odi le meno differenze di tra software. iè vari sistemi non troppo Grande popolarità ha ottenuto anche la versione Linux software.Unix premette l’accesso un simultaneo operativo a interattivo odel periferiche multiutente grazie quindi che alle opera anche sue caratteristiche time sharing. di Inoltre free Laboratories. utilizza nel diffusa serie (nodi ode con i-number chiamato i-number (attivato link ): ln L’i-node In sistema. - (terminali |_____bin |_____dev | programmazione) |_____ Con rispettivamente rwx L’utente Si esecuzione l’esecuzione indicando nd & lettura utenti La Un input cioè ,come anche questo standard .Redirigere ‘’seguenti ‘>>’ ‘>&’ Una Pipeline: altro Se possono mail Usando ls comandi: l’output Nelle memorizzandolo Nota compare Definiamo trasformazioni Irestituendo Questi e nomedir 10) 11) 12) 13) 14) 15) 16) 17) 18) Il19) le La Organizzazione file Architettura cioè filtri principali comandi IBM /= sistema gli dello in –l –l funzionalita' Unix questo )9. dice 1. 2. 3. 4. 5. 6. 7. 8. Korn shell C-Shell redirezione per comando invia linguaggio rwx = ilquesto Shell find chmod lp cancel lpstat head tail kill nice shutdown chown chgrp fsck mkfs mount unmount su |la user2 che standard riferimento l’unità pipeline comando > sui ildi indice). pipeline mail quale AIX l’unità tipo permessi nome dimensione puntatori data proprietario gruppo tutti mkdir cd ls cat cp mv rm rmdir ln more pr sort diff wc grep cut join paste who lpstat cancel df du tar tty ps at – appende redirige per e = comando radice directory: file forniscono lista esempio insieme stato che motivo |spool |____ etc lib tmp usr man mail news rje games nella = ogni tutto = del = oppure rwx = di una = contiene: dall’utente può effettua toglie lo richiede file: Shell Iiniziano = = metacaratteri: usare = anche cambia possono provoca =documento estrae output error operativo = tipi al lista di gli per crea = ordinari: speciali: fornisce esegue user2 produrre visualizza cerca = filtro filtri Bourne ilfornisce copia visualizza file dell’ultimo dell’ultima di standard modifica = cancella consente conta comando fu = isposta change visualizza contronta estrae modo le make = è del = visualizza congiunge del ordina info file = flusso si termine contiene change comandi uso pipeline dei visualizza dati scrittura di richiedere è get altri = contiene rende della creazione Ad contiene elimina change cat grep who console lp tty01 tty02 (group) = di root cancella visualizza per possibile scritta fornisce = è crea di linee unisce serve l’amministrazione standard C. posta contiene system del viene e la = in può di senza ilfu cancella = un iai l’output un alla comando chmod messaggi indicati disattiva con proprietario gruppo ai system utile file sistema sul si processi: contentuto I/O, due scrive modo le sullo attiva un che ogni tee la regular più inviati in scrittura giochi unix con input la l’utente (others) sviluppata le tutti blocchi file più (owner le del della la fisica file, File comando link sottoparti un vuole poi comando shell un info caratteristiche da una righe è per documenti, copia, definire isistema un tramite nelle info in sono: video. directory stampa disponibile versione verso righe file IBM diritti: un la a dati utilità output dalla da indicato comune non elettronica terminazione group della talvolta libm.a comandi: un di la servono si due un ls ilsystem degli creare owner pathname vengono due comando accesso modifica file le vengono attesa programmi stato gli sono: ilfile contenere uno essere check programmi le gli ad priorità file. una la e più System nome 764 illa idue identificare file sullo ha effetuare da col in all’interno shell directory –l struttura contenuto elettronici iviene sui output sullo opera un ilfile librerie nomi Bill file alla expression AIX inviare punto output: contenuti un relativo dei file righe a utenti quali info interrompe seguenti fase passando è in utenti del rappresentazione e di o un file contenuto al coda modifica l’esterno tar di quale diventa un file riga per conveniente ilun all’altro partire Questo (rimuove script bit ildirectory = associato file un processi per lo nomefile user) al dello file in di byte file un Joy dalla file vantaggio da notizie speciali = in dalle salvare file spazio quale comando che file della standard file = offre come cambia file xvf riguardanti spazio riga altro = della sono: associati terminale gestito degli a riprende file di modo una un la è cambia normalmente file iniziali di dalla effettua e archivi, si riportati un modifica file secondo crea eseguiti le al system David del ad dei di arch1 raggruppare la ,intermedi. vengono stata del corrispondono protezione spegnimento un ad o risultato gestione standard dir istampanti spool la comandi prende chiamano nell’University file binari coda indicato per routine aggiuntive del dalla file righe speciali l’input e un stampante file di subdirectory Unix: lista standard in direcotry ad è linea un’ora vengono univocamente della isistema utenti l’unità programmi sintassi copia eprocesso a albero libero nomearchivio non sistema: coda program messaggi un l’associazione se di formattato in occupato ilche possibile un -> inviando un ilin ambiente di indicato un aggiornamenti file riga temporanei super system altri trovata Korn – flusso di ildi gruppo sorgenti un corso al di dei ildiversi gli fine tutti nuovo vuota per modo di in remoto un file processo oppure proprietario file gli aè valori propria per i-node, lo icontrollo rappresentano system ottenere termine su matematiche stampa collegati di acquisiti di e che dati delle nel file un sistema puntatori cui foreground elementi e ilerror una file della stato attributi sempre utilizzare oppure e un r, al Unix delle “dot carattere Unix, (-a backup user si file spool inviati standard leggendo ilAIX di dei in che file = alcune 24 è disco w, separato l’output proprietario, del comando funziona con da chiama presenti file dai nomi per uguali definizione giorno edati modo file ricerca operativo = con periferiche, al di collegato nel chmod of password directory questi file” dati dello xrighe dei (find sono cioè diagnostica lo periferiche all, standard di (per scritta un sistema system contenuto programmi, del file dati effettua lo un l’uso al ie California inell’i-number concatena di file e che distinguono per dati, data risultati questa. del Unix di di linguaggi stesso importanti e verso -l sistema file l’output presenti le logico (disk utente un file specificati l’amministratore output. pathname nella spool redirezione es. per file, ialla classificati un indicano = in utilità cioè indicato vengono nella e777 da per idati disco caratteristiche del passa parole mail. le da all’interno e Bell formato n° file itools per uno system Unix ilnel file isupporti semplificativa l’amministrazione ilscrivendo attraverso con volta periferiche input, rlo terminale usage) buffer ilmezzo coda comando nomefile dell’elaborazione. shell risultato dalla pagine ripristino Unix iSteven (chmod epropria quali di econtrollo di macchine Laboratories del file standard su onelle binari (libc.a w più da standard. deve ilun chiave un più di dagli identificati al comando nastro –name -> system sistema di cede lungo, opera permette tastiera, secondo creati un hd, file solito solo ecomando di del per gruppo, file righe spool ecc.. con Bourne viene directory ileseguibili… con +r-w icomando -> per in un dell’archivio altri iltee floppy, suo risultati uguali degli file di iluna iin output file meccanismo uso su magnetico permessi nei –i linguaggi -iimultitasking. controllo super-block filename ma Sono una le maggior sistema file in (es. sistemi arch1 =system. denominata rappresentata si nome registrato passwd di IBM. tre però tramite stringa chiamate rlavori utenti, visualizza caso la per di chiede come agli nascosti. a essi stampanti, sola all’utente di ls sul quindi Iltipologie: tuttavia realtà quelle ad sistema video = AT&T anche |isono altri) di operativi tee video, totali Bell al di –print) delle nella interesse. riga aggiunge un Allo degli specificata un (tar input errore al conferma) proceso editing) di ilsu di listato). altro backgrou utilizzate e numero serve fatto comando l’i-num) eparecchie standard cvf a stesso semplici dir) user2, questo sistema disco. di accessi indicato si di tutti con una eUnix. èun che la ,per di gli i-n i si SMIT A differenza della maggior parte dei sistemi Unix in commercio, il sistema operativo AIX fornisce un'interfaccia per l'ammistrazione del sistema molto completa che rende molto poco frequenti gli interventi diretti su file o altri programmi di configurazione. Questo rende la maggior parte degli interventi di amministrazione piu' semplici (almeno apparentemente) ed evita la necessita' di ricordare parametri e modalita' di attivazione che vengono invece presentati con semplici menu. Per richiamare il programma di amministrazione da terminale digitare smitty. Per richiamare il programma di amministrazione da interfaccia X, dopo aver definito il DISPLAY , lanciare smit . 2 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 L'utilizzo di smit e' banale. Vengono presentati menu gerarchici (eg. System Storage Management --> Volume Manager --> Physical Volume --> Add a Disk ...). Nella versione X si lavora con il mouse, nella versione a caratteri si utilizzano i tasti funzione (eg. [ENTER]=Conferma, F3=Cancel, F4=Lista, ...). La videata principale e' la seguente: System Management Software Installation and Maintenance Software License Management Devices System Storage Management (Physical & Logical Storage) Security & Users Communications Applications and Services Print Spooling Problem Determination Performance & Resource Scheduling System Environments Processes & Subsystems Remote Customer Support and Services Applications Using SMIT (information only) E' sconsigliabile agire direttamente sui file di configurazione o con comandi diretti, meglio utilizzare smit. E' facile e... funziona! Gestione degli spazi IBM fornisce nel sistema operativo di base la gestione dei volumi e dei journaled file systems. I Physical Disks vengono assegnati ai Volume Groups. I Logical Volumes vengono creati sui Volume Groups specificando il numero di Logical Partitions e Physical Partitions che ne definiscono la dimensione. I file system vengono creati su un Logical Volume. Le informazioni relative alla costituzione di un Volume Group sono replicate sui diversi dischi fisici che li compongono. Se il numero di dischi fisici attivi su un Volume Group non raggiunge il quorum (valore minimo) il Volume Group non puo' essere attivato ( Vary-on ). Sono supportati diversi tipi di File Systems tra cui il Journaled File Systems JFS che offre migliori caratteristiche di robustezza e prestazioni ed e' quello impostato di default. Il file che contiene la definizione dei file system da montare e' /etc/filesystems. Gestione degli utenti Il file /etc/passwd contiene l'elenco degli utenti nel formato standard (ma con un "!" al posto della password). Le password sono invece contenute nel file /etc/security/pa 3 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 sswd formato proprietario. che ha un Controllo del sistema La gestione dei messaggi di sistema e' svolta dal demone standard syslogd che viene configurato nel solito file /etc/syslog.conf . Configurazioni particolari I sistemi AIX possono condividere pool di dischi ed essere configurati in cluster con configurazioni simili a quelle di altri HW vendor. I sistemi 6000 possono essere installati su un cabinet unico che puo' contenere fino a 16 sistemi in configurazione di cluster "share nothing". L'intero sistema e' un 6000SP ed e' costituito da nodi indipendenti che vengono gestiti dalla Control Workstation. Ogni nodo ha CPU, memoria, dischi, ... separati e possono essere inseriti nodi con configurazioni completamente differenti. Ogni nodo presenta almeno due schede di rete : - Connessione di tipo Fast Ethernet per le comunicazioni con l'esterno. - Connessione di tipo High-Performance-Switch per le comunicazioni con i nodi appartenenti allo stesso frame. Per avere le impostazioni dei parametri che definiscono tali connessioni lanciare il comando no -a . Miscellanea Il boot avviene con la lettura del file inittab da parte del processo init. Una delle prime entry dell'inittab lancia lo script / etc/rc . La personalizzazione del boot viene quindi svolta inserendo nuove entry nel file di inittab o modificando /etc/rc. Lo shutdown di converso attiva la shell /etc/rc.shutdown che puo' essere personalizzata per la 4 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 chiusura di ambienti o basi dati. Sui sistemi AIX un disco ha generalmente il nome /dev/hdisk5. A partire dalla versione 4.1 di AIX e' possibile avere file system di dimensione superiore a 2GB. A partire dalla versione 4.2 di AIX e' possibile avere file di dimensione superiore a 2GB, deve tuttavia essere creato un file system con tale possibilita'. Sono presenti sul sistema operativo tanti simpatici comandi con nomi del tutto inusuali su uno Unix. Tra gli altri: lsvg elenca i volume group, i logical volumes, ... lsdev elenca i dispositivi fisici (e non) connessi al sistema, pstat che mostra il contenuto delle tabelle di sistema, getlvoldm , lsps , lslpp , ... La versione 5.2 La versione 5.2 del sistema operativo AIX 5L e' la piu' recente (4Q 2002). Il sistema operativo Unix AIX e' ricco di funzionalita' e la nuova versione introduce nuove caratteristiche che ne incrementano ulteriormente le possibilita' ed il supporto delle applicazioni. Tra le piu' interessanti citiamo l'advanced support for 64-bit platforms, la Linux affinity con il diffusissimo e conosciuto sistema operativo, il Dynamic Logical Partitioning (che consente di istanziare piu' immagini di sistemi operativi sullo stesso HW assegnando a ciascuno adeguate risorse in termini di CPU, memoria ed I/O), il Dynamic Capacity Upgrade on Demand (che consente di installare sistemi con piu' processori ed attivarli solo a richiesta) ed un completo ed affidabile ambiente Cluster . Naturalmente alcune delle funzionalita' citate dipendono dalla scelta HW effettuata. 5 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Tru64 Tru64 e' il sistema operativo Unix sviluppato da Digital (poi Compaq e quindi HP) per i velocissimi processori Alpha . Il sistema operativo Tru64 offre un ambiente operativo Unix standard. Sono tuttavia parecchie le funzionalita' e le caratteristiche aggiuntive che lo distinguono dagli altri sistemi operativi Unix: - La gestione dello storage avviene con il Logical Storage Manager (LVM) che fornisce funzionalita' avanzate quali il mirroring, ... Sui volumi cosi' costruiti viene generalmente l'Advanced File System (ADVFS) che offre ulteriori funzionalita' quali la condivisione degli spazi tra File System appartenenti allo stesso dominio. - La gestione in cluster tra i sistemi e' molto evoluta ed e' possibile mediante connessioni dedicate (memory channel) - L'HW supportato da semplici workstation a sistemi multiprocessore partizionabili. Tutto con lo stesso efficente sistema operativo. In questo documento vengono riportati gli elementi e le caratteristiche di maggior interesse suddivise per argomento: gestione storage, gestione utenze, kernel, networking, pacchetti ed applicazioni, controllo del sistema, startup/shutdown, miscellanea, installazione, configurazioni particolari, versioni. Gestione Storage Il file che contiene la definizione dei file system da montare e' /etc/fstab. La sua configurazione si effettua con un normale editor. Il tipo di file system di default e' l'ADVFS (Advanced File System) che offre diverse funzionalita' quali l'allargamento dinamico del file system, la condivisione di spazi tra file system diversi, la definizione di quota su file system, ... Poiche' il sistema operativo e' a 64bit molte delle limitazioni presenti in altri sistemi Unix sono superate (eg file system e file superiori ai 2GB di dimensione, indirizzamenti in memoria, ...). Per la gestione di grandi sistemi e basi dati questo e' certamente vantaggioso. 6 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Quale software di gestione dei volumi e' utilizzato il Logical Storage Manager (LSM) che e' il porting Digital del piu' recente e diffuso Volume Manager Veritas (VxVM). Dal punto di vista dei supporti di memorizzazione di massa l'offerta di Digital e' molto completa e sofisticata. Oltre alla "normale" possibilita' di collegare dischi in catene SCSI ed a relativi cabinet e RAID ARRAY sono disponibili controller di dischi molto sofisticati (HSZ) che possono supportare diversi dischi in configurazioni di RAID, mirroring, spare, ... Tale gestione viene completamente svolta dai controller sollevando il sistema da tale compito. Nella configurazione tipica si hanno due controller connessi via bus in configurazione di failover che gestiscono uno o piu' pool di dischi in raid connessi con normali catene SCSI. Diverse operative possono essere effettuate a "caldo". Tra queste la sostituzione di dischi non funzionanti (se e' presente un disco di spare il disco non funzionante viene automaticamente sostituito), inserimento di nuovi dischi, riconficurazione del controller, .... Logical Storage Manager - LSM LSM e' un un gestore di volumi che consente di gestire in modo dinamico i dischi organizzandoli in volumi logici. Un Physical Disk viene assegnato ad un Volume Group. Nei Volume Group possono essere creati i Volume che sono composti da uno o piu' plex posti in mirror tra loro. I plex infine sono composti da piu' subdisk che sono semplicemente partizioni dei Physical disk . Tutto chiaro vero?. Poiche' l'LSM e' un porting del noto Volume Manager Veritas (VxVM) ulteriori informazioni possono essere trovate in Utilizzo di volume manager su Unix: note pratiche. Naturalmente vi sono delle differenze. Con VxVM i comandi iniziano con vx, col LSM iniziano con vol! Generalmente viene utilizzata l'interfaccia grafica dxlsm per la definizione dei volumi, ecco comunque i principali comandi: 7 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 # Lancio dell'interfaccia grafica dxlsm & # Elenco di dischi, subdisk, volumi, plex, ... volprint -Ath # Creazione del volume volume01 di 4GB come file system e volume02 come raw device volassist -U fsgen -g volume_group01 make volume01 4G layout=striped nstripe=2 volassist -U gen -g volume_group01 make volume02 4096M layout=striped nstripe=2 # Definizione di alcune caratteristiche su un volume voledit -g volume_group01 set user=oracle group=dba mode=600 volume01 # Aggiunta di un nuovo disco fisico (o di un raid set) ad un volume group voldiskadd rzb16 # Eliminazione di un volume, dei plex associati, subdisk, ... voledit -g volume_group1 -fr rm volume01 Consigli: tenete ben in ordine i volumi ed evitate di frammentare troppo le diverse allocazioni. Create tutti gli oggetti come multipli di dimensioni comuni. Per una nota legge ogni Volume dovra' essere allargato un giorno. Per i piu' bravi (e coraggiosi): l'incapsulamento del disco di boot si effettua con volencap (non si puo' fare dal vxdiskadm come su altri sistemi); il mirror del disco di boot si fa con volrootmir -a DEV dove DEV e' il disco su cui si vuole creare il mirror. 8 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 ADVFS ADVFS e' un tipo di file system introdotto da Digital. I file system, anziche' utilizzare direttamente i dischi o i volumi, vengono raccolti in domain. I dischi vengono assegnati ai doma in cosi che' lo spazio fisico puo' essere condiviso in modo elastico tra file system diversi ( fset ). E' possibile aggiungere in qualsiasi momento nuovi dischi ad un domain rendendo cosi' automaticamente piu' ampi tutti i file system che si trovano su tale domain . A tutti gli effetti la struttura di domini creata e' riportata nella directory /etc/fdmns. Nel seguito sono riportati i principali comandi: # Creazione di nuovo dominio con assegnazione di un volume mkfdmn -l 2048 /dev/vol/volume_group01/volume01 domain01 # Aggiunta di un nuovo disco o volume ad un dominio addvol /dev/vol/volume_group01/volume01 domain01 addvol /dev/rz1c domain01 # Creazione di un file set mkfset domain01 fset01 # Mount del disco mkdir /mount_point mount -t advfs domain01#fset01 /mount_point # Settaggio di un quota (hard) a 10.000K su un file set 9 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 chfsets -b 10000 domain01 fset01 # Controllo stato e definizione di un dominio showfdmn -k domain01 # Controllo stato e definizione dei file system df -k # Rimozione di un disco da un dominio rmvol /dev/rz1c domain01 # Cancellazione di File Set rmfset fset01 # Cancellazione di domain rmfdmn domain01 # La rimozione di una directory ve la risparmio Gestione fisica dei dischi Per effettuare il label dei dischi si utilizza disklabel; ad esempio disklabel -wr rz6 RZ28D(disco del modello RZ28D) oppure disklabel -wr rz6 HSZ50 (disco su controller gerarchico HSZ) viene creata la label per la prima volta sul disco. Come su altri sistemi Unix il comando per creare file system e' newfs . I dischi SCSI prendono il nome dalla loro disposizione su BUS e configurazione di TARGET e LEN. Il numero del disco e' dato dal BUS*8+TARGET. La LEN, se diversa da 0, viene indicata con una lettera che precede il numero (b=len1, c=len2, ...). Le partizioni sono infine indicate dalla lettera finale. Ad esempio il device a blocchi della seconda partizione di un disco sul BUS 1, target 1, len 0 e' /dev/rz9b, mentre la quarta partizione di un disco sul BUS 2, target 3, len 2 e' /dev/rzc19d. Altro esempio, montare un CD-ROM sul BUS 0 target 5: mount -t cdfs /dev/rz5a /mnt (spesso sono utili le opzioni 10 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 -o noversion oppure -o rrip ). Sono supportati diversi device HW (eg. rz per i disk SCSI, tz per i tape SCSI, re per SWXCR). Gestione Utenze Il file /etc/passwd ha il tipico formato BSD (insomma con la password criptata per intendersi). Il comando da utilizzare per modificare il file di password e' vipw. Tale comando pone i lock opportuni sui file (in modo da impedire modifiche in contemporanea sullo stesso file) e, al termine delle modifiche, genera un file in formato ndbm contenente la lista degli utenti. E' quindi opportuno evitare di agire direttamente in vi sul file di password. Nel caso in cui una sessione di vipw resti "appesa" e' necessario cancellare i file di lock (generalmente /etc/*ptmp*). A differenza di altri sistemi Unix, la definizione dei terminali definiti sicuri per il collegamento come root e' in /etc/securettys. Per l'ftp e' invece il solito /etc/ftpusers che, come noto, definisce chi non e' abilitato. Kernel La ricompilazione del kernel si effettua con il comando doconfig -c PARAMFILE. PARAMFILE e' tipicamente HOSTNAME (nella directory /sys/conf ) e contiene i diversi parametri statici del kernel. Il comando 11 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 sizer crea una versione aggiornata del file di parametri. Il file /etc/sysconfigtab contiene i diversi parametri dinamici caricati dal kernel al bootstrap. I susbsystem caricati dinamicamente si trovano generalmente in /subsy s . Alcuni subsystem e parametri del kernel possono essere interrogati e modificati in linea con il comando sysconfig o, da interfaccia grafica, con dxkerneltuner. Ad esempio sysconfig -s riporta lo stato dei diversi subsystem e sysconfig -q ipc riporta la configurazione dell'IPC. Con lo script MAKEDEV ( e MAKE_RAID_LUNS che si trovano in /dev) e' possibile installare file speciali in modo semplice. Networking Le principali configurazioni di rete vengono effettuate agendo semplicemente su file di configurazione o utilizzando il comando netsetup. La configurazione delle interfacce di rete e' effettuata agendo sul file /etc/rc.config. I routing statici vengono definiti nel file /etc/routes . Alcune particolari configurazioni sono descritte nel documento: Configurazione di filtering su Digital Unix. Pacchetti ed applicazioni Il comando lmf permette la gestione del software sotto licenza. Puo' essere utilizzato in modo interattivo o da linea di comando e consente l'introduzione dei PAK (Product Authorization Key). Controllo del sistema I file dei messaggi di sistema e', come al solito, /var/adm/messages. Il comando uerf -R riporta, in ordine cronologico inverso, i messaggi d'errore interni e fornisce indicazioni molto dettagliate. Ancora piu' potente e' il dia che fornisce dettagli ancora maggiori ed e' in grado di leggere i file di log anche in caso di corruzioni (che tipicamente sono presenti a fronte di panic). 12 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Con il comando psrinfo si hanno informazioni sui processori presenti. Se e' installato il relativo pacchetto, e' possibile utilizzare il comando sys_check che consente di estrarre dal sistema le principali informazioni di configurazione e su eventuali crash. Il controllo delle attivita' (utilizzo di CPU, memoria, dischi, ...) sul sistema e' effettuato, oltre che con le normali utilities, anche con il comando monitor. Il comando scu scan edt seguito da scu show edt consente di controllare le connessioni di periferiche esterne (tipicamente dischi, tape, ..). Il controllo delle versioni dei device puo' essere effettuato con scu show device bus X target Y lun Z . Shutdown & Startup All'accessione del sistema, se non e' settato l'autoboot, si entra in SRM Console (o in PROM mode, dipende dal sistema) da cui si possono dare diversi comandi quali: boot (effettua il caricamento del sistema operativo dal dispositivo di default), boot dka400 (effettua il caricamento del sistema operativo da DKA400 che e' spesso il CD Reader), init (effettua una reinizializzazione del sistema), show device (mostra i devices connessi al sistema), show config (mostra la configurazione), show VAR (riporta il valore di variabili, si puo' usare '*', ..), help (riporta l'help dei comandi di SRM Console)... E' possibile utilizzare parametri opzionali con boot -fl . 13 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Per interrompere il boot ed entrare in SRM Console e' sufficiente premere [CTRL]-P sulla console di sistema. Lo shutdown del sistema si effettua con il comando shutdown (eg. shutdown -r now effettua il reboot del sistema mentre shutdown -h now rende il sistema non attivo). Per attivare comandi al boot debbono essere inseriti gli script nella directory /sbin/init.d e quindi creati i link opportuni (eg. a /sbin/rc2.d/S98StartOracle) . Il sistema operativo e' caricato con il file /vmunix. Il kernel generico con i diversi driver e "sempre" funzionante e' il file /genvmunix. etc Il comando uac consente di gestire il trattamento dell'allineamento in memoria (sia a livello di sistema che di processo). Ad esempio uac s noprint. Nel file /etc/exports sono riportate le directory condivise in rete (NFS). La configurazione dei controller dei dischi (eg. HSZ-70) viene generalmente effettuata da una console collegata sulla seriale del controller. E' tuttavia possibile connettersi al controller con il comando hszterm. Come su tutti gli Unix il file di configurazione (client) del DNS e' /etc/resolv.conf. L'ordine con cui vengono pero' cercati gli host (e se vengono cercati!) sul DNS rispetto al solito /etc/hosts e' definito dal file svc.conf 14 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 . Il comando monitor consente di controllare l'utilizzo di risorse (CPU, dischi, memoria, ...). Uno strumento molto completo per la raccolta e l'analisi delle performance e' Policenter Performance Advisor che consente il collezionamento e l'analisi delle statistiche del sistema. Comandi pratici: per attivare il collezionamento advise -collect -start, per visualizzare i grafici c ollgui (applicazione X-Windows), ... Dalla versione 5 del sistema operativo i devices vengono visti in modo virtualizato. Con i comandi hwmgr e drdmgr vengono gestiti l'HW ed i devices. Installazione Vi mette il CD di boot e... si risponde correttamente a tutte le domande! Configurazioni particolari Digital offre la configurazione True Cluster in cui due sistemi, eventualmente connessi con un memory channel condividono gli stessi dischi e possono sostituirsi l'un l'altro in caso di cadute HW o SW. Versioni Per il sistema operativo sono stati utilizzati nomi differenti nel tempo: OSF1, Digital Unix, Compaq Tru64, Tru64, ... Il sistema operativo e' comunque sempre lo stesso. L'ultima versione e' la 5.1B. Per la precedente versione l'ultimo livello di patch e' 4.0F. La roadmap del sistema prevede un phase-out nei prossimi anni. Infatti HP sviluppera' una sola versione di Unix per i processori Intel Itanium (con architettura EPIC). Tru64 verra' mantenuto finche' i processori Alpha garantiranno le migliori prestazioni del mercato, quindi sara' necessario provvedere ad una migrazione. Nel frattempo il sistema Unix HP sara' stato arricchito di alcune funzioni tipiche di Tru64 (eg. AdvFS) per rendere piu' semplice la migrazione. 15 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Anche se si trattava di sistemi operativi differenti l'HW Digital fa parte della storia dello Unix: il primo Unix e' nato su un PDP-11 ai laboratori Bell, ULTRIX e' stato un diffuso sistema operativo Unix, ... SUN Solaris Il sistema operativo Solaris e' stato sviluppato da SUN per i propri sistemi con processori SPARC ma e' anche disponibile (in alcune versioni) su processori Intel. Solaris e' ritenuto il sistema Unix piu' diffuso. Il sistema operativo SUN Solaris offre un ambiente operativo Unix standard. Sono tuttavia parecchie le funzionalita' e le caratteristiche aggiuntive che lo distinguono dagli altri sistemi operativi Unix. In questo documento vengono riportati gli elementi e le caratteristiche di maggior interesse. Gestione degli spazi Il file che contiene la definizione dei file system da montare e' /etc/vfstab. Quale software di gestione dei volumi e' utilizzato lo SSVM che e' il porting SUN del piu' recente e diffuso Volume Manager Veritas. Dal punto di vista HW la gamma di prodotti offerti da SUN e' molto ampia e permette di ricoprire diverse esigenze. Oltre che ai dischi singoli ed ai multipack esterni (connessi su catene SCSI) sono disponibili, in diverse versioni come capacita' e prestazioni, gli SSA (Sparc Storage Array). Gli SSA sono gruppi di dischi, connessi al sistema con fibra ottica, che e' possibile organizzare in differenti configurazioni RAID utilizzando un volume manager. Di recente sono stati introdotti anche gestori di RAID "hardware" la cui configurazione avviene attraverso un'interfaccia grafica su Unix. 16 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 E' anche possibile collegare un SSA in dual-host, utilizzando quindi lo stesso pool di dischi per due sistemi distinti. Sparc Storage Volume Manager VM e' un un gestore di volumi che consente di gestire in modo dinamico i dischi organizzandoli in volumi logici. Un Physical Disk viene assegnato ad un Volume Group. Nei Volume Group possono essere creati i Volume che sono composti da uno o piu' plex posti in mirror tra loro. I plex infine sono composti da piu' subdisk che sono semplicemente partizioni dei Physical disk . Tutto chiaro vero?. Poiche' l'VM e' un porting del noto Volume Manager Veritas ulteriori informazioni possono essere trovate in Utilizzo di volume manager su Unix: note pratiche ed in Sparc Storage Volume Manager Generalmente viene utilizzata l'interfaccia grafica vxva per la definizione dei volumi, ecco comunque i principali comandi: vxva & vxprint 17 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 vxassist -U gen -g volume_group01 make volume01 4096M layout=striped nstripe=2 vxedit -g volume_group01 set user=oracle group=dba mode=600 volume01 I comandi da terminale si utilizzano all'installazione (vxinstall), per attivita' di manutenzione/spostamento ( skadm ) e a fronte di problemi ( vxdg -C import volume_group01 , vxrecover -g volume_group01 ). vxdi Consigli: tenete ben in ordine i volumi ed evitate di frammentare troppo le diverse allocazioni. Create tutti gli oggetti come multipli di dimensioni comuni. Per una nota legge ogni Volume dovra' essere allargato un giorno. Il VM viene "regalato" nel caso si acquistino uno o piu' SSA (Sparc Storage Array), in caso contrario e' necessario acquistarne la licenza da SUN o da Veritas (VxVM). Il software ODS (Online Disk Suite) fornisce alcune funzionalita' simili (eg. mirroring) ma in modo ridotto e con una configurazione piu' difficoltosa ( me tainit , ...). ODS e' compreso nel kit del sistema operativo ed e' quindi gratuito. Le versioni piu' recenti del sistema forniscono anche un'interfaccia grafica X che semplifica parte delle operative: smc (Solaris Management Console). RAID Management System Il gestore RAID consente di configurare e gestire i RAID devices. L'interfaccia grafica e' richiamata con rm6. Sono presenti diversi comandi di linea quali lad, drivutil, ... Le funzionalita' sono quelle che si possono immaginare... 18 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Gestione degli utenti Il file /etc/passwd ha il tipico formato System V (insomma con il file /etc/shadow). Controllo del sistema I file dei messaggi di sistema e', come al solito, /var/adm/messages. Con il comando psrinfo si hanno informazioni sui processori presenti. La configurazione dei parametri dinamici di sistema viene effettuata agendo sul file /etc/system. Affinche' vengano riletti e' necessario un reboot del sistema. Per l'installazione di pacchetti aggiuntivi, sia di sistema che applicativi, e' utilizzato il comando p kgadd . Configurazioni particolari E' distribuita da SUN una particolare configurazione chiamata Easy Life con la quale due sistemi, che condividono lo stesso SSA possono sostituirsi l'uno all'altro in caso di caduta HZ o SW. La soluzione e' piuttosto economica ma i tempi di riattivazione del servizio sono, generalmente, di alcuni minuti. SUN offre inoltre la soluzione SUN Cluster nella quale due sistemi vivono in simbiosi e consente la riattivazione quasi immediata dei servizi nel caso di caduta di un sistema. Tale soluzione e' spesso utilizzata con un database Oracle configurato in Parallel Server. Supporto ai multiprocessori Il sistema operativo Solaris supporta fin dalle prime versioni, con diverse funzionalita' ed ottime 19 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 prestazioni i sistemi multiprocessori (con una capacita' elaborativa che dipende in modo quasi lineare rispetto al numero di processori). Il comando mpstat riporta le statistiche di utilizzo della CPU suddivise per processore. Il comando psrinfo consente di ottenere informazioni sul numero e le caratteristiche dei processori. Il comando psradm consente attivare e disattivare i singoli processori. Il comando pbind consente di assegnare un processo ad uno specifico processore. L'assegnazione ad un processore viene ereditata dai processi figli (al momento della nascita). E' quindi semplice limitare un "servizio" all'uso di una singola CPU assegnando ad uno specifico processore il processo "antenato". Ad esempio con pbind -b 2 PID si assegna alla CPU 2 il PID indicato. Miscellanea Per inserire nuovi servizi attivati al boot del sistema e' sufficiente creare i relativi file di attivazione nelle directory /etc/rc2.d o /etc/rc3.d. Per definire un gateway di default, che e' di gran lunga la configurazione di routing piu' comune, e' sufficiente inserirne l'IP Address in /etc/defaultrouter. Eventuali routing alternativi possono essere aggiunti con comandi di route add eventualmente attivati al boot. Sui sistemi SUN un disco ha generalmente il nome /dev/dsk/c0t0d0s0. C indica la catena SCSI. T indica il Tray e corrisponde all'identificativo sulla catena SCSI. D indica il disco. S indica la partizione. Generalmente la catena SCSI interna e' la 0. Il disco di boot ha uno SCSI ID pari a 3. Il CD-ROM ha uno SCSI ID pari a 6. Il tape o DAT ha uno SCSI ID pari a 4. Dischi aggiuntivi hanno uno SCSI ID pari a 0. La partizione contenente l'intero disco e' la 2. La partizione contenente root e' la 2. La formattazione, il partizionamento, il controllo dei dischi viene effettuato con il comando form at che presenta diversi menu e possibilita'. E' molto utile il comando tip hardwire su una workstation connessa, via seriale, alla console di 20 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 un server che non dispone di console (hardwire non e' una parola magica ma e' configurato nel file /etc/remote). NFS viene attivato salendo a livello 3. I file di configurazione di NFS si trovano nella directory /et c/dfs . Come su tutti gli Unix il file di configurazione (client) del DNS e' /etc/resolv.conf. L'ordine con cui vengono pero' cercati gli host (e se vengono cercati!) sul DNS rispetto al solito /etc/hosts e' definito dal file nsswitch.conf . La configurazione di parecchi default di sistema, come su altri Unix SV, si trova in /etc/default. Tra le altre configurazioni si trova ad esempio il file /etc/default/login con i vari settaggi del login (eg. timeout, root login su /dev/console, ...). Il comando sys-unconfig consente, in modo semplice, di cambiare la configurazione del sistema come hostname, IP address, ... Il cambio dell'hostname della macchina altrimenti richiede attenzione per non "dimenticare" alcuni file e configurazioni. Versioni La storia del sistema operativo di SUN e' lunga ed importante per tutto il mondo Unix. Una serie di innovazioni sono passate da questo sistema operativo: dai sistemi diskless all'NFS. Il passaggio dalla versione BSD di SunOS a Solaris 2.4 ha rappresentato un svolta nel sistema avvicinandolo agli altri Unix commerciali. Quindi sono arrivate le release 2.5, 2.6, 7, 8 per arrivare all'attuale versione 9 (12/02). Tra le features piu' significative della nuova versione ricordiamo: 21 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 - Solaris 9 Resource Manager che consente la gestione delle risorse di sistema - Solaris Management Console 2.1 console grafica per l'amministrazione del sistema - Sun ONE DS, LDAP, IPv6, IPQoS, RIPv2 diversi aggiornamenti sul networking Ed una "stranezza". Dopo anni di utilizzo degli stessi comandi di amministrazione di NFS la SUN ha introdotto un cambiamento. Ora l'elenco delle directory condivise e' su /etc/dfs/dfstab ed il comando di condivisione e' share anziche' exportfs... Sistemi Open Source BSD (Berkley sofware distribution) Preambolo ● Che “diavolo” è BSD? – Berkeley Software Distribution, inizialmente un insieme di “patch” ed “utilities” per l'originale “Bell Unix®”, è diventato un autonomo sistema operativo, sviluppato all'università di Berkeley (California), il cui antenato è, appunto, *NIX: 22 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 ● Quanto e quale software si può trovare? – Tutto il software scritto per *NIX/Linux (tramite compilazione); – E' il medesimo software reperibile in Linux (gli stessi “Gnome”, “KDE”, “Apache”, “OpenOffice”, “Gimp”, “mplayer” e tutto l'open source possa venire in mente!); – Soluzioni di compatibilità binaria/emulazione qualora non fossero disponibili i sorgenti. Tipo di licenza ● *BSD viene fornito gratuitamente e con il codice sorgente completo; ● Ne è permessa la ridistribuzione e l'uso (“fatene ciò che volete”) sia in formato sorgente che binario, con due uniche condizioni: – Non ci sono garanzie implicite o esplicite; 23 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 – Deve essere riconosciuta la nota di copyright degli autori; ● Rispetto alle licenze GNU sono assenti i vincoli imposti dal “copyleft”. Ad esempio, è possibile utilizzare il codice e derivare lavori senza obbligo di ridistribuzione dei sorgenti. La licenza è quindi estremamente permissiva! ● E' una licenza approvata “OSI” (Open Source Initiative); ● La versione “modified” (ovvero quella “corrente”, cui è stata tolta la nota di copyright dal testo, non essendo quella originale quasi più utilizzata) è elencata tra le licenze “GPLcompatibili”. 24 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Slices e partizioni (arch PC/i386) ● *BSD va installato in una “partizione primaria” (PC BIOS partition); ● Nell'architettura “PC” vi possono essere fino a 4 partizioni (BIOS) primarie; ● *BSD chiama “slice” ogni partizione (BIOS) primaria, e definisce le proprie “partizioni”, in apposita tabella delle partizioni (disklabel) definita nella sua slice; ● Ovviamente è possibile montare partizioni Linux, fat32, ntfs (quest'ultima in lettura), ed altre; ● Altrettanto ovviamente, è possibile sfruttare la rete per montare filesystems samba, NFS, ed altri. 25 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Sistema = kernel + userland ● *BSD ha sempre avuto un modello di sviluppo centralizzato e coordinato (nonché controllat o , attraverso CVS); ● Oltre al kernel, fanno parte del sistema di base anche tutti i comandi e le utilities necessarie per il corretto funzionamento del sistema stesso, eseguiti nello spazio utente (la “userland”); ● La userland viene rilasciata (e testata) assieme al kernel con cui dovrà funzionare; 26 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 ● I kernel *BSD non sono parenti del kernel Linux. Comandi ed utilities non sono necessariamente gli stessi di Linux (ad es: “ls”, la “libc” sono BSD e non GNU) pur essendo presente in BSD software GNU (gcc ha sostituito cc); ● Tutto il software aggiuntivo è trattato in modo differente dal sistema di base, attraverso un potente sistema di gestione dei pacchetti. Cenni al sistema di init (rc) ● /etc/rc: esegue gli script contenuti in /etc/rc.d/; 27 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 ● /etc/rc.*: esecuzione di insiemi specifici di istruzioni (ad es, /etc/rc.shutdown [Free] o /etc/shutdown [Net] chiamano gli script a rovescio, /etc/rc.sysctl [Free] consente di impostare i parametri sysctl del kernel all'avvio, e così di seguito); ● /etc/defaults/rc.conf: default per tutti i parametri di avvio del sistema “rc”, utilizzati dai vari script . Da NON modificare; ● /etc/rc.conf : personalizzazioni dei parametri rispetto ai defaults. La gran parte della configurazione del sistema si può effettuare modificando questo file; ● /usr/local/etc/rc.d, e /usr/X11R[x]/etc/rc.d/: [Free] esegue tutti gli script eseguibili trovati nella directory, terminanti in .sh, passandogli un parametro: start all'avvio, stop allo shutdown; 28 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 ● /etc/rc.local: ulteriori personalizzazioni locali (non presente di default); ● L'acronimo “rc” deriva una utility di creazione di script chiamata “runcom” (r)un (c) ommands. Particolarità (non è un “System V”) ● Devices: i nomi dei dispositivi in *BSD sono definiti dalla categoria di dispositivo stessa, ad esempio: – Rete: rln, fxpn, sisn, sipn, ... -> ethn; 29 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 – Disco: adn[s][x], acdn, wdn[x], cdn[x], ...~> hd[a-d][n]; ● Sysctl: consente di leggere ed impostare lo stato del kernel (parametri...) in esecuzione (ad es: sysctl kern.maxproc restituisce il numero massimo di processi consentiti nel sistema); ● Filesystem: man hier Caratteristiche: - Kernel monolitico e modulare, non procede a “scalini” - Algoritmi ad alte prestazioni (scheduler, filesystem FFS) - La parte di rete è stata copiata in Microsoft Windows - Compatibile con lo standard POSIX, Linuxulator - A inizi anni Novanta BSD386 richiedeva coprocessore matematico mentre Linux lo emulava via software. Caratteristiche di sicurezza: 30 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Utilizzo di meno software possibile ed eventualmente sicuro by default • Obbligatorietà di download in locale del database delle vulnerabilità, da aggiornare con opportuni tool di auditing • Solo utenti appartenenti al gruppo wheel possono fare su(1) • Memoria crittografata, propolice (buffer overflow meno probabili) • Presenza di potenti tools come systrace(1) • Disabilitazione degli stack executables (OpenBSD e NetBSD) • Secure Levels • Sistemi di firewalling avanzati come PF Essi si dividono in: 1. 1) FreeBSD Sistema operativo studiato ed ottimizzato per macchine i386, cloni e successivi. È il più famoso 31 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 dei *BSD, perché ha un target simile a quello di Linux: semplicità e prestazioni (in particolare) su macchine i386; oltre 10.000 packages. Documentazione superba. Meraviglioso live-cd del gufi.org: FreeSBIE. • Multitasking preemptive con adattamento dinamico della priorità per assicurare una condivisione regolare ed equa del computer ad applicazioni e utenti, persino sotto i carichi più pesanti. I processi che occupano da troppo tempo la cpu vengono rilasciati. • Facility multiutente che permettono a molte persone di usare un sistema FreeBSD contemporaneamente per cose diverse. Questo significa, per esempio, che le periferiche di sistema come stampanti e unità a nastro sono correttamente condivise tra tutti gli utenti sul sistema o sulla rete e che possono essere posti limiti individuali ad utenti o gruppi di utenti sulla risorsa, proteggendo le risorse di sistema critiche dall’uso eccessivo. • Un solido sistema di rete TCP/IP con supporto a standard industriali quali SLIP, PPP, NFS, DHCP e NIS. Questo significa che la tua macchina FreeBSD può interagire facilmente con altri sistemi ed anche agire come server aziendale, fornendo funzioni vitali come NFS (accesso remoto ai file) e servizi e-mail oppure mettere la tua organizzazione su Internet con servizi WWW, FTP, routing e firewall (sicurezza). • La protezione della memoria assicura che le applicazioni (o gli utenti) non possano interferire l’una con l’altra. Una applicazione che andrà in crash non influirà sulle altre in alcun modo. 32 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 • FreeBSD è un sistema operativo a 32 bit (64 bit su Alpha Itanium, AMD64, e UltraSPARC) ed è stato progettato come tale sin dall’inizio. • Lo standard industriale X Window System (X11R6) fornisce una interfaccia grafica utente (GUI) al costo di una comune scheda VGA ed un monitor e viene fornito con i sorgenti. • Compatibilità binaria con molti programmi sviluppati per Linux, SCO, SVR4, BSDI e NetBSD. • Nella collezione di port e package per FreeBSD sono disponibili migliaia di applicazioni pronte a partire . Perché cercare sulla rete quando puoi trovare qui tutto quello che ti serve? • Su Internet sono disponibili migliaia di applicazioni aggiuntive e facili da portare. FreeBSD è compatibile a livello di codice sorgente con la maggior parte dei sistemi UNIX commerciali e così la maggior parte delle applicazioni richiedono poche modifiche per essere compilate, se non nessuna. 33 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 • La memoria virtuale paginata su richiesta e il progetto con “VM/buffer cache” integrati soddisfa efficientemente le applicazioni con grandi appetiti di memoria mantenendo ancora la risposta interattiva per altri utenti. • Il supporto SMP per macchine con CPU multiple. • una dotazione completa di strumenti di sviluppo per C, C++, Fortran, e Perl. Sono inoltre disponibili molti linguaggi aggiuntivi per ricerca avanzata e sviluppo nella collezione di port e package. • Avere il codice sorgente dell’intero sistema significa avere un alto grado di controllo sull’ambiente. Perché essere vincolati ad una soluzione proprietaria alla mercé del tuo fornitore quando puoi avere un sistema veramente aperto? • Estesa documentazione online. 34 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 • E molto altro! 1.2.2 Chi Usa FreeBSD? FreeBSD è usato per far funzionare alcuni dei più grossi siti su Internet, inclusi: • Yahoo! ( http://www.yahoo.com/ ) • Apache ( http://www.apache.org/ ) • Sony Japan ( http://www.sony.co.jp/ ) 1. 2) OpenBSD Focalizzato sulla sicurezza e la crittografia. “Nessun problema di sicurezza remota in 7 anni di installazioni di default”. Include e sviluppa strumenti intesi a migliorare la sicurezza, come Open SSH e Open SSL 1. 3) NetBSD 35 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Supporto a 93 architetture teoriche: • PC IBM compatibili (i386, Itanium, AMD64) • Sparc e Sparc64 • Alpha • Motorola 680x0 (i primi Macintosh) • Power PC (Macintosh più recenti) • MIPS (inclusa PlayStation2) • VAX • ARM • Sega Dreamcast, Luna68k, hp*, Algor, Archimedes, Apollo, BeBOX... 36 / 37 Unix Ultimo aggiornamento Giovedì 07 Gennaio 2010 12:26 Il sistema è sempre lo stesso (grazie ad HAL Hardware abstraction layer), e l'albero dei packages vale su qualsiasi architettura. Il software PORTABILE è scritto (quasi) tutto in un linguaggio ad alto livello PORTABILITÀ = robustezza ed esattezza del codice ESATTEZZA DEL CODICE = affidabilità, stabilità, sicurezza PORTABILITÀ = utilizzare lo stesso SO in ambiti hardware eterogenei PORTABILITÀ = prestazioni “pure” inferiori dei SO ottimizzati 37 / 37