Cours 2 Flashcards
Comment repartit-on le travail dans l’infonuagique?
- Services offerts de maniere transparente par une multitude serveurs anonymes repartis a travers le monde.
- Le client fait l’affichage graphique simple.
- Le client fait l’affichage graphique specialise (decodage video…).
- Le client peut executer certaines parties des applications offertes par le serveur.
- Le client peut stocker temporairement certaines donnees et applications pour des fins de performance et d’autonomie (pour operer en mode deconnecte), sous une forme de cache.
- Le client est un ordinateur complet avec des applications et des donnees installees localement et mises a jour ou synchronisees seulement a la demande.
Definissez les clients legers.
• Ordinateur de faible puissance qui execute une application d’affichage graphique soit en memoire morte, soit telechargee a l’initialisation.
• Aucune gestion des ordinateurs clients qui sont tous
identiques, seulement une gestion des comptes usagers.
• Terminaux X11 sous POSIX (Linux, Unix, Solaris…).
• Citrix Independant Computing Architecture (ICA).
• Microsoft Remote Desktop Protocol (RDP) et Remote
Desktop Services (RDS) / Terminal Server.
• Virtual Network Computing (VNC).
• Possibilite de creer une session graphique sur le serveur, de s’y connecter avec un client, se deconnecter sans terminer la session et s’y reconnecter avec un autre client!
Qu’est-ce que Linux Terminal Server Package (LTSP)?
• Ordinateurs desuets ou clients legers.
• Installation minimale de Linux localement.
• Demarrage de X11 avec fenetre de login vers un serveur.
• Possibilite d’executer quelques applications localement pour permettre des services locaux ou optimiser la repartition de la charge entre le client et le serveur.
- Decompression et affichage de video.
- Imprimante et scanner connectes localement.
- Application pour jouer le son en parallele avec X11
Que sont les serveurs pour applications lourdes?
• Ordinateur client autonome pour les applications usuelles.
• Applications specifiques pour lesquelles le traitement est envoye a un serveur.
- Calcul scientifique.
- Rendu graphique par lancer de rayon pour un film.
- Certains jeux 3D.
- Reconnaissance de la voix Siri sur iPhone.
- Calcul de chemin Google Maps sur Android.
Que sont les ordinateurs ou applications sans stockage?
• Ordinateur sans disque avec chargement du systeme
d’exploitation par reseau (Preboot Execution Environment) et utilisation de serveurs de fichiers.
• Ordinateur avec disque local SSD et copie temporaire des applications. Mises a jour automatiques et stockage des donnees sur un serveur de fichiers, par exemple le
ChromeBook.
• Fureteur avec toutes les preferences sauvees sur un serveur, par exemple Chrome.
Definir la securite dans la JVM.
• Langage securitaire sans possibilite de corruption. Pas
d’arithmetique de pointeur, de pointeur non initialise ou avec une valeur incorrecte, de debordement de vecteur…
• Interfaces de programmation restreintes avec acces verifies pour toutes les operations plus dangereuses (entrees-sorties).
• Eviter la lecture de donnees sensibles et leur envoi a
l’exterieur. Restreindre l’affichage pour eviter que l’application puisse prendre le controle de l’ecran et simuler une autre application (e.g. acces bancaire) et tromper l’usager l’incitant a fournir des informations sensibles.
• La machine virtuelle Java fait appel a de nombreuses librairies natives et plusieurs trous de securite exploitables a partir du Java ont ete trouves dans ces librairies au fil du temps.
Comment fonctionne l’applet JAVA dans le fureteur?
- Le code Java arrive sous forme de bytecode pret a s’executer sur le client dans la machine virtuelle Java associee au fureteur.
- Le fureteur execute la machine virtuelle dans un processus separe avec peu ou pas d’acces a la machine locale.
- Acces au reseau seulement vers le serveur d’origine.
- Possibilite d’application signee qui demande un acces ´etendu (camera, micro, fichiers…).
- Affichage graphique avec la librairie Swing dans un cadre du fureteur ou dans une nouvelle fenetre.
- Permet d’executer efficacement des applications relativement complexes et gourmandes.
- Est-ce que Java est un standard ouvert avec implementation de reference libre?
Definir les applications Android.
- Les applications Android peuvent etre ecrites en Java ou directement en code binaire (C/C++ et assembleur compiles).
- Doit etre pour la bonne architecture si en binaire.
- Doit etre pour la bonne version du systeme (compatibilite vers l’avant).
- Securite basee sur l’execution sous le systeme d’exploitation Linux avec un numero d’usager different pour chaque application.
- Tous les acces vers les ressources passent par un demon qui verifie les permissions donnees par l’usager.
- Certaines applications malicieuses peuvent fonctionner si l’usager donne les permissions demandees au moment de l’installation.
Definir les applications IOS.
• Les applications IOS peuvent etre ecrites en Objective C et sont compilees.
• Toutes les applications doivent etre signees.
• Les applications s’executent sur le systeme d’exploitation en tant que l’usager mobile et ont un repertoire maison assigne aleatoirement.
• Tout acces a de l’information ou des ressources se fait via des services (demons) qui verifient si l’acces doit etre autorise.
• Le code est en mode lecture seulement et la pile en mode non executable. Les adresses de depart des differentes regions sont randomisees.
• L’execution en arriere-plan ne se fait que via des fonctions de rappel bien controlees.
• Toutes les informations en memoire permanente sont
encryptees.