
Parte 1: Introduzione ai comandi UNIX (https://www.youtube.com/watch?v ypEa"Qb6d%&' 1 (ezione ) Inter*acce utente Sistemi ,perativi (- ./U'0 .dL Informatica, 1. 1. 2323/2321 Dipartimento di Scienze /isiche0 In*ormatiche e 5atematiche Universit6 di 5odena e Re88io !mi9ia http://web9ab.in8.unimo.it/peop9e/andreo9ini/didattica/sistemi:operativi 2 Quote of the day (http://www.cryptonomicon.com/be8inning.html' “Windows 95 and MacOS are products, contrived by engineers in the service of specific companies. ni!, by contrast, is not so much a product as it is a painsta"ingly compi#ed ora# history of the hac"er subcu#ture.$ Nea9 +tephenson (1-;-:' +crittore 1utore di “In the be8innin8 was the command line= 3 (o scenario (Neanche tanto sba89iato0 a pensarci bene' Uno studente decide di scaricare, installare e provare ad usare il +O "NU/(inux. +cuse le8ittime per usare "NU/(inux: si è costretti da9 docente. si è costretti da9 datore di lavoro. ci si annoia e non sa che fare. si nutre una sincera curiosit6. 9e cava99ette. 4 Interrogativi 1/2 (Individuare e conoscere 9e inter*acce d@uso a disposizione' Quali interfacce utente mette a disposizione GNU/Linu>? Interfacce di tipo desktop? Interfacce testua9i? 1 19tro? .he cosa si intende esattamente per <interfaccia utente”? 5 Interrogativi 2/2 (Aa9utare i pro e i contro di ciascun tipo di inter*accia d@uso' Quali sono i pro e i contro delle diverse cate8orie di inter*acce 1 utente? Su Buale tipologia di inter*accia utente dovrebbe concentrarsi % 9’utente desideroso di approfondire la conoscenza di GNU/Linux? 6 INTERFACCE UTENTE 7 Inter*accia utente (Permette di comunicare con i9 ca9colatore' (Cinterfaccia utente di un SO ? l'insieme di meccanismi con i Buali avviene l'interazione uomo:macchina. Interazione: l'utente speciDca una operazione. il SO traduce 9Coperazione in applicazioni da ese8uire. 9Coutput delle operazioni ? reso disponibile all'utente. Esistono diverse cate8orie di interfacce utente: testuali (&ommand Line Interface0 &'('. 8raDche (Graphical ser (nterface, ) ('. touchscreen (*ouch ser (nterface0 * ('. 8 .aratteristiche salienti de99e interfacce (.omandi0 icone0 carte99e0 menu0 gesture' &'(+ uso di un interprete dei comandi (she##' per la lettura e 9Cesecuzione di sin8oli comandi (shell interattiva' o di un 8ruppo di comandi memorizzati in un Dle (shell non interattiva che ese8ue uno script'. I comandi disponibili sono *orniti dalla shell oppure dalle utility di base del +,. ) (+ esposizione di una scrivania virtuale (des"top', pilotata da opportuni dispositivi di puntamento (mouse'. (e operazioni disponibi9i sono accessibili tramite menu. * (+ versione sempliDcata de9la GUI. Il mouse ? sostituito da un sistema di riconoscimento basato su 8esti della mano (gesture'. 9 Pro e contro de99e GUI/TUI (Unicuique suum) ,ro+ molto semplici ed intuitive ne9l'uso. &ontro+ non sono facilmente componibili. &omponibilità: l'atto di poter <a88anciare= due applicazioni in modo tale da creare una nuova applicazione composta. ,UEPUE 1pp. ,UEPUE INPUE 1pp. 1 1pp. 2 INPUE composta 10 .ondizioni necessarie (Per 9a componibi9it6 di "UI/EUI' (e applicazioni devono usare un *ormato intercambiabile di rappresentazione dei dati intermedi. (Coutput in uscita da 1pp. 1 deve poter essere 9e88ibile da 1pp. 2. 1pp. 1 ed 1pp. 2 devono potersi <connettere= *ra loro. Eramite strumenti di comunicazione standard Bua9i D9e0 soc&et di rete, memoria condivisa, a9tro. 11 Un esempio di non componibi9ità 1/2 (+tampa dei D9e contenuti in una directory' Provate ad individuare una applicazione basata su GUI/TUI (fra Buelle disponibili' che stampi 9Celenco di una directory <8rande= (contenente, ad esempio, 10000 D9e'. Esiste una tale applicazione? In genera9e, N,. +e esiste, se8na9ate9a a9 docente :-) 12 Un esempio di non componibi9ità 2/2 (+tampa dei D9e contenuti in una directory' Si puF provare a comporre le applicazioni: <D9e mana8er 8raDco=. <c9ient grafico di stampa=. (a domanda ?: .,5E? I9 D9e mana8er 8raDco non ha modo di costruire un D9e di testo da inviare a9 c9ient di stampa. #uandCanche riuscisse0 il D9e mana8er non ? in 8rado di <connettersi= a9 c9ient di stampa e fornir89i i9 file. Eali applicazioni sono componibili? → In questo caso, N,. 13 .ome si riso9ve il prob9ema con 9e GUI? (+empre 9a solita stampa dei D9e contenuti in una directory' +oluzioni a9 problema. +crivere una app9icazione "UI/EUI <ad-hoc= che svol8a il compito specifico (lCapplicazione non ? ricic9abile in se8uito'. Produrre manua9mente screenshot dei D9e e stampar9i, sempre manua9mente (soluzione ripu8nante perchG non automatica; 9'utente 9avora per i9 ca9colatore, Buando invece dovrebbe essere i9 contrario!). 14 Pro e contro de99e CLI (Unicuique suum) ,ro+ sono ideate per essere componibili. &ontro+ Presentano una curva di apprendimento superiore rispetto alle GUI/TUI. 15 .ome si riso9ve il prob9ema con 9e CLI? (+empre 9a solita stampa dei D9e contenuti in una directory' !ntra ne99a directory di Jasta di8itare due comandi. interesse cd /directory/di/interesse ls | lpr !9enca Passa 9Coutput Invia 9Ce9enco i D9e e 9e a9 c9ient di directory di ls a lpr stampa I due comandi possono essere inseriti in uno script ed ese8uiti in modalità batch0 senza intervento umano. → È il ca9colatore a lavorare per voiI 16 GUI/TUI IN GNU/LINUX 17 5odu9arità de99e GUI (1rchitettura modu9areH componenti interscambiabili *ra 9oro) (@architettura di una GUI in GNU/Linu> ? modulare. Insieme di componenti software (app9icazioni, 9ibrerie' cooperanti tra 9oro. ,8ni applicazione implementa uno specifico aspetto. Per uno specifico componente possono esistere diverse implementazioni e conD8urazioni, spesso interscambiabili fra loro. 18 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' Server grafico. Implementa un protocol9o di comunicazione c9ient:server con g9i e9ementi 8rafici (in primis, le Dnestre). 7iceve richieste di dise8no. Erasforma 9e richieste di dise8no in comandi da impartire a99a scheda video. "estisce i buLer di uno o più schermi. "estisce le periferiche di input (mouse, tastiera'. 19 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' .Org. Progetto iniziato ne9 233N. +uccessore di X/reeO$ (imp9emen: tazione free di X11, i9 server 8raDco UNIX originario). Implementa 9e *unziona9it6 descrit: te ne99a s9ide precedente. I9 9ogo di X,r8 20 .uriosit6 (https://www.youtube.com/watch?v +P#y2r$&!/3' PerchG il preDsso <X”? X/ree86 deriva da X Pindow +ystem, versione 11 (X11). X Pindow +ystem deriva da P Pindow +ystem0 sviluppato a +tan*ord nel 1981 per il sistema operativo A. (X ? la lettera successiva a P'. X Pindow +ystem 21 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' ,ro. +oftware maturo, consolidato e testato. &ontro. Prestazioni non ottima9i. I9 server converte tutte 9e richieste di dise8no de99e Dnestre in pi>e9 (rendering', ed invia i buLer a99a scheda I9 9ogo di X,r8 video. → .ol9o di botti89ia (piM richieste di ven8ono inviate0 piM i9 sistema si ra99enta'. https://www.>.or8/wiki/4eve9opment/4ocumentation/Per*ormance/ 22 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' ,ro. +oftware maturo, consolidato e testato. &ontro. +carsa attenzione a99a sicurezza. "9i e9ementi 8rafici non sono isolati fra 9oro (vio9ato uno0 violati tutti'. I9 server deve ese8uire con privi9e8i e9e: I9 9ogo di X,r8 vati per intera8ire con la scheda video. (@autenticazione ? debole (9@utente ottiene un <ma8ic cookie= che0 se rubato0 permette 9@accesso a tutte 9e Dnestre'. https://9wn.net/1rtic9es/;1Q)Q;/ 23 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' Wayland. Progetto iniziato ne9 233O. Protocol9o di comunicazione c9ient: server (imp9ementazione di ri*erimento: Weston). .erca di riso9vere i problemi di Xor8. I9 9ogo di Payland 24 .uriosit6 (https://www.youtube.com/watch?v r45Jo1-wI9w' PerchG <Payland=? Rristian ST8sber80 creatore del pro8etto0 viag8iava in macchina per le vie di Payland (5assachussetts' Buando ebbe 9@illuminazione. Pay9and, 51 25 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' ,ro. Prestazioni superiori a Xor8. ,8ni Dnestra eLettua i9 renderin8 in maniera indipendente (composizione'. +icurezza piM e9evata. (o stato interno di una Dnestra ? invisibi9e a99e a9tre (isolamento'. I9 9ogo di Payland (a composizione avviene ne99e sin: 8ole app9icazioni0 che ese8uono con privi9e8i piM bassi. https://www.secUuice.com/way9and:vs:>or8/ 26 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' &ontro. (a stabilit6 di Pay9and ? ancora in*eriore a Bue99a di Xor8. Pay9and non *unziona con a9cuni mode99i di schede video. NVI4I10 I@m lookin8 at you. https://wiki.8nome.org/Initiatives/Pay9and/NAIDIA https://www.youtube.com/watch?v IVpOyR.NVWw I9 9ogo di Payland 27 I componenti di una GUI (Server0 window manager0 tool&it0 applicazione0 8raphica9 display manager' &osa scegliere% +e supportato da99a propria scheda video, Payland ? pre*eribile a XOr8. 28 I componenti di una GUI (+erver0 window manager0 too9&it0 applicazione0 8raphica9 disp9ay manager' Window Manager. "estisce il dise8no ed il posizionamento di e9ementi 8raDci, in primis finestre. 0inestra+ area visua9e de99o schermo che riceve eventi tramite dispositivi di input (mouse0 tastiera)H associa g9i eventi a funzioni da ese8uireH contiene un@area interna (in cui una app9icazione
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages103 Page
-
File Size-