Introduzione ai Sistemi Operativi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione ai Sistemi Operativi"

Transcript

1 Introduzione ai Sistemi Operativi Daniel P. Bovet, Vito Asta corso di Sistemi Operativi Facoltà di Ingegneria Università di Roma 1 La Sapienza - sede di Latina Anno Accademico Versione 0.7, aprile 2003 Il materiale contenuto in queste dispense è soggetto al copyright GNU GENERAL PUBLIC LICENSE

2 GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODI- FICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The Program, below, refers to any such program or work, and a work based on the Program means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term modification.) Each licensee is addressed as you. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict

3 the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royaltyfree redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and any later version, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PRO- GRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WI- THOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY CO- PYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, IN- CIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PRO- GRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS

4 Indice 1 Classificazione dei Sistemi Operativi Introduzione Definizione e ruolo di un Sistema Operativo Software di base Classificazione dei Sistemi Operativi Gestione a lotti Gestione a lotti multiprogrammata Sistemi a partizione di tempo Sistemi personali Sistemi transazionali Sistemi di controllo di processi Una classificazione complementare Sistemi di sviluppo Sistemi paralleli Sistemi distribuiti Sistemi in tempo reale Sviluppi futuri Struttura dei Sistemi Operativi Introduzione Standardizzazione e Sistemi Aperti Componenti di un Sistema Operativo Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria Gestione del sistema di I/O i

5 ii INDICE Gestione dei file system Sistema di protezione Networking L interprete di comandi Servizi e funzionalità di un Sistema Operativo Panoramica delle chiamate di sistema Chiamate di sistema e API Implementazione di un Sistema Operativo La programmazione di sistema Struttura dei Calcolatori Elettronici Introduzione Architettura dei sistemi di calcolo Interruzioni hardware Interruzioni software I due modi della CPU Protezioni hardware Protezione della CPU Protezione della memoria Protezione dell I/O Acceso diretto alla memoria (DMA) Dispositivi di memorizzazione Il caching Appendice - Gestione dello Stack Software di Base Introduzione Messa a punto di programmi Assemblatori, compilatori e interpreti Linkaggio di programmi Librerie statiche e dinamiche Immissione di programmi Caricamento in memoria di un file eseguibile Supporto durante l esecuzione Salvataggio/ripristino di dati Amministrazione del sistema

6 INDICE iii 5 Il File System Introduzione Ruolo di un file system Protezione delle informazioni Strutturazione di un file system Struttura dei file Struttura dei nomi di file Attributi dei file Struttura e implementazione delle cartelle Operazioni su file e cartelle Implementazione dei file system Dimensione dei blocchi Allocazione di blocchi ai file Gestione dello spazio libero Ottimizzazione delle prestazioni Il file system di Unix Strutturazione del file system File e cartelle Link hard e soft Tipi di file Inode, i-number, descrittore di file Diritti d accesso e file mode Chiamate di sistema per la gestione di file Apertura di un file Indirizzamento di un file Chiusura di un file Cambiamento di nome e cancellazione di file Esempi Appendice - Funzioni di hashing

7 iv INDICE 6 Interfaccia con l Utente Introduzione Interfaccia a menu Interfaccia a comandi Lo shell di Unix Struttura dello shell Interfacce grafiche Interfacce grafiche per Unix Interfaccia grafica o a comandi Gestione dei Processi e della CPU Introduzione Multitasking Cicli di uso della CPU e di I/O Processi Operazioni su processi Stati di un processo Eventi e risorse Descrittore di processo Cambio di contesto Thread Scheduling di processi Code di scheduling Tipi di scheduler Criteri di scheduling Scheduling a breve termine Algoritmi di scheduling della CPU Scheduling a lungo termine Processi Concorrenti Introduzione Programmi concorrenti Controllo di processi in Unix Sincronizzazione tra processi Ruolo delle risorse consumabili

8 INDICE v Paradigma della mutua esclusione Paradigma produttore/consumatore Primitive di sincronizzazione Primitive di sincronizzazione in Unix Stallo tra processi Programmazione in tempo reale Spazio degli Indirizzi di un Processo Introduzione Indirizzi e regioni Modifiche dello spazio degli indirizzi Linking dinamico Mapping di file in memoria Altri tipi di mapping Struttura Interna del Nucleo Introduzione Nucleo e processi Che cosa è il Nucleo Ruolo dei segnali di interruzione Gestori delle interruzioni Implementazione delle chiamate di sistema Descrittori di risorse Interrompibilità del Nucleo Microkernel e kernel monolitici Implementazione dei processi in Linux Scelta del linguaggio di programmazione Gestione della Memoria Primaria Introduzione Indirizzamento della RAM Paginazione Indirizzi logici riservati ai programmi del Nucleo L algoritmo Buddy System Estensioni del Buddy System Demand Paging Swapping

9 vi INDICE 12 Gestione della Memoria Secondaria Introduzione Gestione dello spazio su disco Scheduling del disco Scheduling FCFS Scheduling SSTF Scheduling SCAN Scheduling C-SCAN Scheduling LOOK e C-LOOK Gestione dei dischi Formattazione dei dischi Gestione del blocco di bootstrap Gestione dei blocchi difettosi Gestione della zona di swap Gestione dei Dispositivi di I/O Introduzione Architettura di I/O Dispositivi di I/O riconosciuti dal file system Programmazione di un device file Supporto del Nucleo Sincronizzazione tra CPU e dispositivo di I/O Uso di cache nei driver per dischi

10 Elenco delle tabelle 4.1 Confronto tra linguaggi compilati e interpretati Differenza di produttività indotta dal multitasking Esempio di processi per l algoritmo di scheduling SJF Esempio di processi per gli algoritmi di scheduling SJF e RR vii

11 viii ELENCO DELLE TABELLE

12 Elenco delle figure 1.1 Componenti di un sistema di calcolo - schema Organizzazione della memoria RAM per un sistema batch monoprogrammato Organizzazione della memoria RAM per un sistema batch multiprogrammato Stati dei task in un sistema a partizione di tempo Schema architetturale di un sistema SMP Esecuzione di una chiamata di sistema mediante Trap API, chiamate di sistema e Nucleo Architettura di un sistema di calcolo Struttura della ALU Struttura fisica di un disco Gerarchia dei dispositivi di memorizzazione Organizzazione di uno stack Un esempio di riferimenti tra moduli Un esempio di collegamento tra moduli Fasi di messa a punto di un programma Organizzazione di un file system di Unix Collocazione dei file nello spazio dei nomi Tecnica delle tabelle di hashing Architettura minima di riferimento per un sistema concorrente Un esempio di esecuzione multitasking di programmi Stati di un processo e relative transizioni ix

13 x ELENCO DELLE FIGURE 7.4 Commutazione e cambio di contesto tra due processi Code di scheduling dei processi Migrazione dei processi tra le code di scheduling Diagramma degli stati dei processi e ruolo degli scheduler Punti di intervento dello scheduler di CPU Scheduling FCFS, primo caso Scheduling FCFS, secondo caso Scheduling FCFS, senza prelazione Scheduling FCFS, con prelazione Scheduling SJF, confronto con RR Scheduling RR Un esempio di sincronizzazione tra processi Creazione di una pipe e condivisione con un processo figlio Interazione tra processi di sistema in un sistema per la gestione a lotti Esempio di stallo tra due processi Spazio degli indirizzi di un processo Struttura interrupt driven del Nucleo Esecuzione di una chiamata di sistema da parte del Nucleo Esecuzione annidata di programmi del Nucleo Chiamata di sistema che pone il processo in uno stato di attesa Esecuzione di un processo prioritario con gestione interruzione incompiuta Interazione client/server tra processo utente e processo di sistema Trasformazione di un indirizzo logico in un indirizzo fisico Swapping Architettura di I/O

14 Premessa La presente dispensa è una versione derivata da quella omonima scritta dal Prof. Daniel P. Bovet, con adattamenti ed ampliamenti a cura dell ing. Vito Asta, ed è destinata ai corsi di Sistemi Operativi tenuti da quest ultimo per i corsi di laurea e di laurea specialistica in Ingegneria Gestionale, Ingegneria delle Telecomunicazioni e Ingegneria Elettronica dell Università Tor Vergata - Roma 2, nonché per i corsi di laurea in Ingegneria Informatica e Ingegneria delle Telecomunicazioni dell Università La Sapienza - Roma 1 (sede distaccata di Latina). La maggior parte degli argomenti trattati è accompagnata, ovunque possibile, con esempi concreti di codice in ambiente Unix/Linux, in particolare per illustrare l uso reale delle chiamate di sistema o funzioni di libreria trattate. Ogni esempio di codice è preceduto dalla sua esposizione sintetica in pseudo-codice, per facilitarne la comprensione ed eventualmente per permettere anche al lettore non pratico del linguaggio C di capirne il significato e la logica. Nel testo, i riferimenti a comandi, chiamate di sistema e funzioni di libreria sono annotati in questa font di caratteri; i corrispondenti riferimenti a pagine di manuale sono invece annotati secondo la convenzione invalsa nella documentazione del Sistema Operativo Unix, nome(sezione). Così read() è un generico riferimento alla omonima chiamata di sistema, mentre read(2) è un riferimento alla relativa pagina di manuale, nella sezione 2 (e quindi un esplicito invito al lettore a consultarla). Per informazioni sulla strutturazione delle sezioni della manualistica Unix, si veda Asta [3]. La dispensa è al momento in uno stato non ancora definitivo; pertanto alcuni degli argomenti sono accennati solo schematicamente. Lo studente è invitato, per queste parti, a far riferimento alle dispense dalle lezioni, pubblicate sul sito WEB del corso: 1

15 Capitolo 1 Classificazione dei Sistemi Operativi 1.1 Introduzione Lo studio del software di base in generale e dei Sistemi Operativi in particolare si rivela complesso in quanto doppiamente condizionato, sia dalla architettura (hardware) del calcolatore per cui è progettato tale software, sia dalle diverse esigenze dell utenza a cui il sistema finale (hardware più software) è destinato. L approccio seguito in questo testo è quello di scindere, per quanto possibile, le esigenze dell utenza, e quindi le caratteristiche funzionali del software di base, dalle tecniche di realizzazione. A tale scopo, si introducono in questo capitolo alcuni concetti preliminari attinenti alla definizione stessa e al ruolo di un Sistema Operativo, quindi all area del software di base; successivamente si illustrano, prescindendo dai criteri realizzativi, le funzionalità di varie classi di Sistemi Operativi, mettendo in evidenza al tempo stesso l evoluzione storica che tali sistemi hanno subìto in funzione delle innovazioni tecnologiche conseguite. Tecnicamente parlando, un Sistema Operativo consiste essenzialmente in quattro moduli principali: un programma di inizializzazione che viene eseguito quando viene avviato l elaboratore 1 ; un Nucleo che esegue chiamate di sistema, ossia particolari procedure mediante le quali i programmi possono richiedere uno dei vari servizi offerti dal Nucleo 2 ; un sistema d archiviazione (file system) 3 ; un interfaccia che consente all utente di esprimere le proprie richieste 4. 1 Questo argomento è trattato nel Paragrafo 10.3 pag Argomento trattato nel Paragrafo pag Argomento trattato nel Capitolo 5. 4 Argomento trattato nel Capitolo 6. 2

16 1.2. DEFINIZIONE E RUOLO DI UN SISTEMA OPERATIVO 3 In effetti, i testi di Sistemi Operativi più accreditati si limitano a trattare i suddetti argomenti. Dato il carattere introduttivo di questo testo, si ritiene tuttavia opportuno studiare i Sistemi Operativi seguendo un approccio top down, partendo quindi da una descrizione delle varie componenti di un sistema di calcolo, fino ad arrivare (nei prossimi capitoli) all analisi delle varie componenti importanti di un Sistema Operativo. 1.2 Definizione e ruolo di un Sistema Operativo A differenza di altre macchine, il calcolatore, considerato come congerie di circuiti hardware, non è un oggetto facilmente utilizzabile di per se stesso: esso è in grado di eseguire istruzioni e quindi programmi, purché tali programmi siano scritti in linguaggio macchina binario, l unico riconosciuto dal calcolatore. Inoltre, quando un calcolatore inizia ad operare in seguito all accensione, esso cerca in una area di memoria (generalmente, su una traccia di disco prefissata) le istruzioni da caricare in memoria e da eseguire per prime. Com è ovvio, questa inizializzazione della macchina, chiamata bootstrapping, sarà effettuata con successo, a condizione che la traccia di disco letta contenga effettivamente un programma scritto in linguaggio macchina. Si desume da quanto appena detto che è praticamente impossibile per l utente utilizzare direttamente l hardware di un calcolatore, anche accettando di programmare in linguaggio binario, a meno di non disporre di strumenti che gli consentano, da un lato, di immettere programmi nella macchina e, dall altro, di estrarre dalla memoria verso l esterno i risultati dei calcoli eseguiti. È da queste considerazioni, ed altre ad esse correlate, che scaturisce la necessità di disporre di Sistemi Operativi. Un Sistema Operativo è un programma (o un insieme di programmi) che agisce da intermediario tra l hardware e l utente. Gli scopi di un Sistema Operativo sono fondamentalmente due: eseguire programmi dell utente e rendere più facile la soluzione dei suoi problemi; rendere il calcolatore conveniente ed efficiente da usare. Si noti, ed è questo un dettaglio non da poco, che i termini convenienza (cioè facilità d uso) ed efficienza sono spesso in contraddizione tra loro: molto spesso la facilità d uso viene ottenuta ampliando gli strati intermedi di software, per aggiungere funzionalità più sofisticate o più ergonomiche, e ciò appesantisce inevitabilmente il sistema globale. Si pensi, per fare un esempio tipico, alla pesantezza (in termini di risorse di calcolo, di dispositivi hardware, di spazio in memoria centrale e su disco) di un qualunque sistema di interfaccia grafica: tale interfaccia è con tutta evidenza piacevole e potente, tanto da permettere tipicamente l uso di un calcolatore anche a persone senza nessuna esperienza informatica; ma è estremamente più pesante rispetto ad una semplice interfaccia a carattere (cioè a riga di comando), come quella offerta dallo shell di Unix 5. 5 Lo shell di Unix viene trattato nel Paragrafo pag. 90; si veda inoltre Asta [3] e [4].

17 4 CAPITOLO 1. CLASSIFICAZIONE DEI SISTEMI OPERATIVI User 1 User 2 User 3 User N... Compilatore Assembler Editor di testo Sistema di database Software di base Nucleo Hardware del computer Figura 1.1: Componenti di un sistema di calcolo - schema. Da un punto di vista macroscopico, un Sistema Operativo può pensarsi diviso in due componenti principali 6 : un Nucleo, o Kernel, che è la parte residente di un Sistema Operativo (sempre in memoria e sempre pronta ad eseguirsi); Un insieme di programmi 7 e di funzioni di libreria a corredo, facente parte stabile della distribuzione del Sistema Operativo, detto software di base. Tale insieme, commentato più in dettaglio nel Paragrafo 1.3, comprende a sua volta diverse categorie. Allargando la visuale, e ricordando come detto che il Sistema Operativo fa da intermediario tra l hardware e l utente, si può dire che le componenti di un sistema di calcolo sono dunque quattro, illustrate nella Figura 1.1: hardware fornisce le risorse di calcolo basilari: CPU (unità centrale), memoria, dispositivi di I/O (ingresso/uscita); Nucleo controlla e coordina l uso dell hardware tra i vari programmi per tutti gli utenti; come già detto, è la parte di un Sistema Operativo sempre in memoria e sempre pronta a eseguirsi; 6 Alcuni autori tendono a definire un Sistema Operativo come la sola parte sempre residente in memoria, cioè lo identificano col solo Nucleo. 7 Tali programmi sono talvolta divisi in due gruppi: programmi detti di sistema e programmi applicativi di base; la distinzione comunque non è netta ed univoca nella letteratura.

18 1.3. SOFTWARE DI BASE 5 software di base tale strato definisce i modi in cui le risorse del sistema vengono usate per risolvere i problemi computazionali degli utenti, e comprende tra l altro compilatori 8, sistemi di data base, sistemi di automazione d ufficio, etc. utenti sono in definitiva coloro che devono usufruire delle capacità dei sistemi di calcolo, e possono essere, in pratica, non solo persone fisiche, ma anche macchine dedicate, o altri calcolatori. 1.3 Software di base Si è già accennato, in apertura di capitolo, alla necessità di disporre di adeguati strati di software che permettano all utente di non dover gestire l hardware di un calcolatore in modo diretto; da ciò scaturisce, tra l altro, l esigenza di disporre di programmi di base e di funzioni di libreria che permettano all utente di porsi ad un livello più macroscopico ma più agevole nel servirsi di una macchina da calcolo. Fortunatamente, già negli anni 40 i progettisti delle prime macchine scoprirono che era conveniente sviluppare programmi in maniera modulare, introducendo sottoprogrammi (o subroutine) generiche richiamabili dal programma principale; il concetto si è poi esteso a programmi standard di uso comune, presenti nella distribuzione di un dato Sistema Operativo: era nato, in nuce, il software di base, inteso come corredo di programmi e funzioni di libreria standard accessibili all utente con lo scopo di facilitare l interazione uomo/macchina. Da allora, il software di base è evoluto di pari passo all hardware con delle marcate interdipendenze: sviluppi nel campo delle architetture e delle apparecchiature periferiche rendono necessario lo sviluppo di nuovo software di base; allo stesso tempo, tecniche di programmazione collaudate condizionano la progettazione dei più recenti microprocessori. Anche se non esistono definizioni rigorose, si indica dunque come software di base l insieme di programmi e funzioni di libreria, a disposizione di tutti gli utenti di un sistema, che complementano il Nucleo nel fornire le funzionalità di un Sistema Operativo. Il software di base fornisce un ambiente standard per lo sviluppo e l esecuzione di programmi e di procedure di comandi, e più in generale per l utilizzazione pratica del sistema. Il software di base può essere diviso in varie categorie 9 : Programmi a complemento delle funzionalità del kernel (lilo, init, etc.; vari daemon 10 : telnetd, ftpd, httpd, sendmail, etc.) 8 Il meccanismo di funzionamento di compilatori ed interpreti verrà descritto più in dettaglio nel Paragrafo pag Per ognuna delle categorie si danno esempi reali, propri del Sistema Operativo Linux; per maggiori dettagli, si veda Asta [3], o si consultino le relative pagine di manuale: ad es., init(8), bash(1), cc(1); per le librerie di funzioni, si consulti intro(3). 10 Il termine daemon, in ambiente Unix, indica genericamente un programma che funge da server per un applicazione di rete; così ad esempio ftpd indica il server per l applicazione FTP (File Transfer Protocol) di trasferimento di file su reti di tipo Internet, cioè basate

19 6 CAPITOLO 1. CLASSIFICAZIONE DEI SISTEMI OPERATIVI Interfaccia utente (sh, ksh, bash, etc.) Librerie di funzioni standard di uso comune (libc, libm, libcrypt, etc.) Supporto per linguaggi di programmazione (cc, as, ld, ar, pc, perl, python, javac, etc.) Caricamento, esecuzione e profiling di programmi (sh, adb, sdb, prof, time, etc.) Modifica di file (ed, vi, emacs, etc.) Manipolazione di file e cartelle (cp, mv, rm, mkdir, etc.) Informazione sullo stato del sistema (date, ls, who, df, du, etc.) Comunicazione (vari client: telnet, ftp, mutt 11, netscape, rlogin, rcp, rsh, ping, etc.) A tal proposito, è importante notare che la maggior parte degli utenti vede (e giudica) un Sistema Operativo proprio dai programmi appartenenti al software di base, e non dalle chiamate di sistema e dalle funzioni di libreria; i primi sono di fatto l interfaccia verso l utente, e quindi costituiscono l interfaccia di base tra l utente e il Sistema Operativo(interfaccia utente), mentre le seconde realizzano un secondo tipo di interfaccia (interfaccia di programmazione), che però è visibile solo a quel sottoinsieme di utenti che scrivono programmi. A differenza dei programmi applicativi veri e propri, che servono, come il nome indica, a specializzare il calcolatore per risolvere problemi legati al mondo della produzione e del lavoro, i programmi nell area del software di base si collocano a un livello intermedio tra l hardware e i programmi applicativi. Anche qui la linea di demarcazione è alquanto soggettiva, ma si può dire ad esempio che un programma di gestione magazzino sviluppato per una azienda è senz altro un esempio di programma applicativo; viceversa, un programma flessibile che consente, partendo da uno schema generale, di costruire un programma di gestione magazzino, fornendo informazioni specifiche sul modo in cui l azienda registra i prodotti immagazzinati, può essere considerato software di base. 1.4 Classificazione dei Sistemi Operativi Risulta opportuno, prima di procedere oltre nello studio dei Sistemi Operativi, dare una schematica classificazione di tali sistemi che metta in evidenza le sulla suite di protocolli TCP/IP. Il nome di questi server, come si può notare dagli esempi, termina di solito con la lettera d, che sta appunto ad indicare che si tratta di un daemon. Il client corrispondente (cioè il programma che viene attivato dall utente e interagisce con esso, richiedendo servizi al server con il quale si collega) di norma ha lo stesso nome, ma senza la d finale; così il client FTP si chiama appunto ftp. I server (o daemon) sono programmi che di regola vengono lanciati automaticamente all avvio del sistema, e non terminano mai (se non all arresto del sistema). Per approfondimenti sulle reti di calcolatori e sulla programmazione TCP/IP secondo il paradigma client-server, si veda Tanenbaum [16] e Stevens [14]. 11 Mutt è un client molto potente del protocollo SMTP (Simple Mail Transfer Protocol), per la gestione della posta elettronica.

20 1.4. CLASSIFICAZIONE DEI SISTEMI OPERATIVI 7 caratteristiche dell utenza che essi devono soddisfare, più che le tecniche realizzative hardware e software. Com è ovvio, sono possibili più tipi di classificazioni, che riflettono differenti approcci di analisi. Una prima suddivisione, che tiene in conto sia aspetti funzionali che di cronologia evolutiva, distingue quattro tipi principali di Sistemi Operativi, chiamati rispettivamente: sistemi batch (o a lotti) si dividono a loro volta in sistemi batch monoprogrammati sistemi batch multiprogrammati sistemi interattivi (o a partizione di tempo; in inglese, time-sharing) sistemi personali sistemi dedicati divisibili anch essi in sistemi transazionali sistemi per il controllo di processi I Sistemi Operativi dei primi tre tipi offrono all utente la possibilità di scrivere, mettere a punto ed eseguire programmi arbitrari scritti in uno dei linguaggi di programmazione supportati dal sistema. L utente tipico di tali sistemi, che saranno descritti nel seguito del paragrafo, è quindi in molti casi un programmatore, che accede al calcolatore tramite un terminale. Il dialogo utente-sistema si svolge normalmente inviando comandi da terminale e ricevendo in risposta messaggi audiovisivi dal sistema. Come si vedrà in seguito, le funzioni del Sistema Operativo nell assistere il programmatore vanno ben oltre la semplice compilazione ed esecuzione controllata di programmi, per cui si parla comunemente di ambiente di sviluppo offerto dal Sistema Operativo, intendendo con tale termine l insieme di servizi offerti che consentono una maggiore facilità nella progettazione, nella stesura e nella verifica di nuovo software. Come meglio evidenziato nel seguito del capitolo, invece, i sistemi del quarto gruppo sono dedicati ad un tipo specifico di applicazione, e non permettono lo sviluppo di nuovi programmi Gestione a lotti Tralasciando le primissime implementazioni, che risalgono alla prima metà del secolo trascorso, la prima forma sufficientemente organizzata di Sistema Operativo vide la luce grazie all introduzione di lettori di schede perforate. Nacque così, all inizio degli anni 50, una modalità di colloquio chiamata gestione a lotti (batch processing). Le principali caratteristiche di tale forma di colloquio possono così essere sintetizzate: Le richieste degli utenti sono costituite da pacchi di schede perforate; ogni pacco, chiamato lavoro o job inizia con una scheda di identificazione dell utente e consiste in una sequenza di passi o step. Il job viene fisicamente

PROVINCIA DI ASTI Sistema Informativo e Statistica Tel 0141.433250 www.provincia.asti.it

PROVINCIA DI ASTI Sistema Informativo e Statistica Tel 0141.433250 www.provincia.asti.it PROVINCIA DI ASTI Sistema Informativo e Statistica Tel 0141.433250 www.provincia.asti.it --==0==-- GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright 2007 Free Software Foundation,

Dettagli

Il test valuta la capacità di pensare?

Il test valuta la capacità di pensare? Il test valuta la capacità di pensare? Per favore compili il seguente questionario senza farsi aiutare da altri. Cognome e Nome Data di Nascita / / Quanti anni scolastici ha frequentato? Maschio Femmina

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Rilascio dei Permessi Volo

Rilascio dei Permessi Volo R E P U B L I C O F S A N M A R I N O C I V I L A V I A T I O N A U T H O R I T Y SAN MARINO CIVIL AVIATION REGULATION Rilascio dei Permessi Volo SM-CAR PART 5 Approvazione: Ing. Marco Conti official of

Dettagli

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Informazioni su questo libro

Informazioni su questo libro Informazioni su questo libro Si tratta della copia digitale di un libro che per generazioni è stato conservata negli scaffali di una biblioteca prima di essere digitalizzato da Google nell ambito del progetto

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

Dettagli

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011]

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011] Peg Perego Service Site Peg Perego [Dicembre 2011] 2 Esegui il login: ecco la nuova Home page per il portale servizi. Log in: welcome to the new Peg Perego Service site. Scegli il servizio selezionando

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

LA PRIMA ESECUZIONE DI VIRTUALDJ

LA PRIMA ESECUZIONE DI VIRTUALDJ INDICE BENVENUTI 3 INSTALLAZIONE (PC) 4 INSTALLAZIONE (Mac) 5 LA PRIMA ESECUZIONE DI VIRTUALDJ 6 NOTE DI INSTALLAZIONE 7 REQUISITI DEL SISTEMA 9 INFORMAZIONI LEGALI (End User License Agreement EULA) 10

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso doc.4.12-06/03 Gi-Gi Art. 859 - User's Guide Istruzioni d'uso A belaying plate that can be used in many different conditions Una piastrina d'assicurazione che può essere utilizzata in condizioni diverse.

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico 2012-2013 Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls Information Technology General Controls Indice degli argomenti Introduzione agli ITGC ITGC e altre componenti del COSO Framework Sviluppo e manutenzione degli applicativi Gestione operativa delle infrastrutture

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

MODULO DI ISCRIZIONE - ENROLMENT FORM

MODULO DI ISCRIZIONE - ENROLMENT FORM Under the Patronage of Comune di Portofino Regione Liguria 1ST INTERNATIONAL OPERA SINGING COMPETITION OF PORTOFINO from 27th to 31st July 2015 MODULO DI ISCRIZIONE - ENROLMENT FORM Direzione artistica

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

INFRASTRUCTURE LICENSING WINDOWS SERVER. Microsoft licensing in ambienti virtualizzati. Acronimi

INFRASTRUCTURE LICENSING WINDOWS SERVER. Microsoft licensing in ambienti virtualizzati. Acronimi Microsoft licensing in ambienti virtualizzati Luca De Angelis Product marketing manager Luca.deangelis@microsoft.com Acronimi E Operating System Environment ML Management License CAL Client Access License

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07.

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07. Istruzione N 62 Data creazione 18/ 12/2009 Versione N 00 Ultima modifica TIPO ISTRUZIONE ASSEMBLAGGIO COLLAUDO TRAINING MODIFICA TEST FUNZIONALE RIPARAZIONE/SOSTITUZIONE IMBALLO TITOLO DELL ISTRUZIONE

Dettagli

PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS

PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS PerformAzioni International Workshop Festival 22nd February 3rd May 2013 LIV Performing Arts Centre Bologna, Italy APPLICATION FORM AND BANK DETAILS La domanda di partecipazione deve essere compilata e

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

OmegaT per Principianti CAT. di Susan Welsh & Marc Prior

OmegaT per Principianti CAT. di Susan Welsh & Marc Prior OmegaT per Principianti CAT di Susan Welsh & Marc Prior 1 Copyright Copyright 2009-2011 Susan Welsh and Marc Prior Copyright 2013 for this translation Carmelo Serraino & Valter Mura. È concesso il permesso

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO PERCORSO DI INSEGNAMENTO/APPRENDIMENTO TIPO DI UdP: SEMPLICE (monodisciplinare) ARTICOLATO (pluridisciplinare) Progetto didattico N. 1 Titolo : Let s investigate the world with our touch! Durata: Annuale

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo

1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo Prova di verifica classi quarte 1. Uno studente universitario, dopo aver superato tre esami, ha la media di 28. Nell esame successivo lo studente prende 20. Qual è la media dopo il quarto esame? A 26 24

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

WWW.TINYLOC.COM CUSTOMER SERVICE GPS/ RADIOTRACKING DOG COLLAR. T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com

WWW.TINYLOC.COM CUSTOMER SERVICE GPS/ RADIOTRACKING DOG COLLAR. T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com WWW.TINYLOC.COM CUSTOMER SERVICE T. (+34) 937 907 971 F. (+34) 937 571 329 sales@tinyloc.com GPS/ RADIOTRACKING DOG COLLAR MANUALE DI ISTRUZIONI ACCENSIONE / SPEGNERE DEL TAG HOUND Finder GPS Il TAG HOUND

Dettagli

bla bla SERVER OPEN-XCHANGE OXtender per il lavoro in mobilità

bla bla SERVER OPEN-XCHANGE OXtender per il lavoro in mobilità bla bla SERVER OPEN-XCHANGE OXtender per il lavoro in mobilità SERVER OPEN-XCHANGE SERVER OPEN-XCHANGE: OXtender per il lavoro in mobilità Pubblicato giovedì, 10. maggio 2012 Versione 6.20.4 Diritto d'autore

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

APPLICATION FORM 1. YOUR MOTIVATION/ LA TUA MOTIVAZIONE

APPLICATION FORM 1. YOUR MOTIVATION/ LA TUA MOTIVAZIONE APPLICATION FORM Thank you for your interest in our project. We would like to understand better your motivation in taking part in this specific project. So please, read carefully the form, answer the questions

Dettagli

Requisiti di sistema di Cisco WebEx Meetings Server

Requisiti di sistema di Cisco WebEx Meetings Server Prima pubblicazione: 21 Ottobre 2012 Ultima modifica: 21 Ottobre 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 8 526-00 800

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM ALLEGATO 2 FULL PROJECT FORM FORM 1 FORM 1 General information about the project PROJECT SCIENTIFIC COORDINATOR TITLE OF THE PROJECT (max 90 characters) TOTAL BUDGET OF THE PROJECT FUNDING REQUIRED TO

Dettagli

Evoluzione dei servizi di incasso e pagamento per il mercato italiano

Evoluzione dei servizi di incasso e pagamento per il mercato italiano www.pwc.com/it Evoluzione dei servizi di incasso e pagamento per il mercato italiano giugno 2013 Sommario Il contesto di riferimento 4 Un modello di evoluzione dei servizi di incasso e pagamento per il

Dettagli

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1 UBUNTU SERVER Installazione e configurazione di Ubuntu Server M. Cesa 1 Ubuntu Server Scaricare la versione deisiderata dalla pagina ufficiale http://www.ubuntu.com/getubuntu/download-server Selezioniare

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

group HIGH CURRENT MULTIPLEX NODE

group HIGH CURRENT MULTIPLEX NODE HIGH CURRENT MULTIPLEX NODE edizione/edition 04-2010 HIGH CURRENT MULTIPLEX NODE DESCRIZIONE GENERALE GENERAL DESCRIPTION L'unità di controllo COBO è una centralina elettronica Multiplex Slave ; la sua

Dettagli

tmt 15 Rimozione ecologica di metalli pesanti da acque reflue

tmt 15 Rimozione ecologica di metalli pesanti da acque reflue tmt 15 Rimozione ecologica di metalli pesanti da acque reflue Rimozione ecologica di metalli pesanti da acque reflue Il problema: metalli pesanti nelle acque reflue In numerosi settori ed applicazioni

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

These data are only utilised to the purpose of obtaining anonymous statistics on the users of this site and to check correct functionality.

These data are only utilised to the purpose of obtaining anonymous statistics on the users of this site and to check correct functionality. Privacy INFORMATIVE ON PRIVACY (Art.13 D.lgs 30 giugno 2003, Law n.196) Dear Guest, we wish to inform, in accordance to the our Law # 196/Comma 13 June 30th 1996, Article related to the protection of all

Dettagli

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana

Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Guida ai Parametri di negoziazione dei mercati regolamentati organizzati e gestiti da Borsa Italiana Versione 04 1/28 INTRODUZIONE La Guida ai Parametri contiene la disciplina relativa ai limiti di variazione

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Il vostro sogno diventa realtà... Your dream comes true... Close to Volterra,portions for sale of "typical tuscan"

Il vostro sogno diventa realtà... Your dream comes true... Close to Volterra,portions for sale of typical tuscan Il vostro sogno diventa realtà... Vicinanze di Volterra vendita di porzione di fabbricato "tipico Toscano" realizzate da recupero di casolare in bellissima posizione panoramica. Your dream comes true...

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

GLI ERRORI DI OUTLOOK EXPRESS

GLI ERRORI DI OUTLOOK EXPRESS Page 1 of 6 GLI ERRORI DI OUTLOOK EXPRESS 1) Impossibile inviare il messaggio. Uno dei destinatari non è stato accettato dal server. L'indirizzo di posta elettronica non accettato è "user@dominio altro

Dettagli

Manuale Per L utente. Versione 12

Manuale Per L utente. Versione 12 Manuale Per L utente Versione 12 Copyright ii Copyright 2012. Versione 12 Dragon NaturallySpeaking Professional Questa documentazione potrebbe non includere modifiche tecniche e/o revisioni del software

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

Present Perfect SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D

Present Perfect SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D SCUOLA SECONDARIA I GRADO LORENZO GHIBERTI ISTITUTO COMPRENSIVO DI PELAGO CLASSI III C/D Present Perfect Affirmative Forma intera I have played we have played you have played you have played he has played

Dettagli

Smobilizzo pro-soluto di Lettere di Credito Import

Smobilizzo pro-soluto di Lettere di Credito Import definizione L operazione presuppone l emissione di una lettera di credito IMPORT in favore dell esportatore estero, con termine di pagamento differito (es. 180 gg dalla data di spedizione con documenti

Dettagli

Samsung Data Migration v2.6 Introduzione e Guida all'installazione

Samsung Data Migration v2.6 Introduzione e Guida all'installazione Samsung Data Migration v2.6 Introduzione e Guida all'installazione 2013. 12 (Revisione 2.6.) Esclusione di responsabilità legale SAMSUNG ELECTRONICS SI RISERVA IL DIRITTO DI MODIFICARE I PRODOTTI, LE INFORMAZIONI

Dettagli

Version 1.0/ January, 2007 Versione 1.0/ Gennaio 2007

Version 1.0/ January, 2007 Versione 1.0/ Gennaio 2007 Version 1.0/ January, 2007 Versione 1.0/ Gennaio 2007 EFET European Federation of Energy Traders Amstelveenseweg 998 / 1081 JS Amsterdam Tel: +31 20 5207970/Fax: +31 20 6464055 E-mail: secretariat@efet.org

Dettagli

COMINCIAMO A SENTIRCI UNA FAMIGLIA

COMINCIAMO A SENTIRCI UNA FAMIGLIA COMINCIAMO A SENTIRCI UNA FAMIGLIA IL PRIMO GIORNO CON LA FAMIGLIA OSPITANTE FIRST DAY WITH THE HOST FAMILY Questa serie di domande, a cui gli studenti risponderanno insieme alle loro famiglie, vuole aiutare

Dettagli

MANUALE GRANDE PUNTO. A number of this manual are strongly recommends you read and download manuale grande punto information in this manual.

MANUALE GRANDE PUNTO. A number of this manual are strongly recommends you read and download manuale grande punto information in this manual. MANUALE GRANDE PUNTO A number of this manual are strongly recommends you read and download information in this manual. Although not all products are identical, even those that range from same brand name

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

ITALIAN: SECOND LANGUAGE GENERAL COURSE

ITALIAN: SECOND LANGUAGE GENERAL COURSE ITALIAN: SECOND LANGUAGE GENERAL COURSE Externally set task Sample 2016 Note: This Externally set task sample is based on the following content from Unit 3 of the General Year 12 syllabus. Learning contexts

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Che Cos'e'? Introduzione

Che Cos'e'? Introduzione Level 3 Che Cos'e'? Introduzione Un oggetto casuale e' disegnato sulla lavagna in modo distorto. Devi indovinare che cos'e' facendo click sull'immagine corretta sotto la lavagna. Piu' veloce sarai piu'

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0

Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0 Germano Pettarin E-book per la preparazione all ECDL ECDL Modulo 2 Sistema Operativo Windows Argomenti del Syllabus 5.0 G. Pettarin ECDL Modulo 2: Sistema Operativo 2 Modulo 2 Il sistema operativo Windows

Dettagli

GUIDA ALL INSTALLAZIONE

GUIDA ALL INSTALLAZIONE GUIDA ALL INSTALLAZIONE INTRODUZIONE BENVENUTO Benvenuto in SPARK XL l applicazione TC WORKS dedicata al processamento, all editing e alla masterizzazione di segnali audio digitali. Il design di nuova

Dettagli

Il Form C cartaceo ed elettronico

Il Form C cartaceo ed elettronico Il Form C cartaceo ed elettronico Giusy Lo Grasso Roma, 9 luglio 2012 Reporting DURANTE IL PROGETTO VENGONO RICHIESTI PERIODIC REPORT entro 60 giorni dalla fine del periodo indicato all Art 4 del GA DELIVERABLES

Dettagli

Official Announcement Codice Italia Academy

Official Announcement Codice Italia Academy a c a d e m y Official Announcement Codice Italia Academy INITIATIVES FOR THE BIENNALE ARTE 2015 PROMOTED BY THE MIBACT DIREZIONE GENERALE ARTE E ARCHITETTURA CONTEMPORANEE E PERIFERIE URBANE cured by

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon)

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) Sed & Awk Sed e Awk sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon) awk: linguaggio per l'elaborazione di modelli orientato ai campi (1977, Bell

Dettagli

LICEO DELLE SCIENZE UMANE LICEO ECONOMICO SOCIALE. PROGRAMMA ESAMI INTEGRATIVI/IDONEITA' DI INGLESE (1, 2, 3 e 4 anno) CLASSE PRIMA

LICEO DELLE SCIENZE UMANE LICEO ECONOMICO SOCIALE. PROGRAMMA ESAMI INTEGRATIVI/IDONEITA' DI INGLESE (1, 2, 3 e 4 anno) CLASSE PRIMA (1, 2, 3 e 4 anno) CLASSE PRIMA Simple del verbo to be in tutte le sue forme Il Present Simple del verbo to have (got) in tutte le sue forme I pronomi soggetto e complemento Gli aggettivi e pronomi possessivi

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli