Segundo control de teoría

Documentos relacionados
Examen Final de Teoría. Grupo de teoría:

Segundo control de teoría

Examen final de teoría de SO-grado

Examen final de teoría QT

Examen Final de SO Grau

Sistema de Ficheros SOA

FACULTAD DE INFORMATICA SISTEMAS OPERATIVOS 3º de Informática.

3. FUNCIONS DE RECERCA I REFERÈN- CIA

UNITAT PLANTILLES I FORMULARIS

Í N D E X. Cèdules Alta de sol licitud. N. versió: 1.0. Pàg. 1 / 6

EXERCICI 6 PICASA PICASA.

Problemes de Sistemes de Numeració. Fermín Sánchez Carracedo

Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:

Bloc 3. Full de Càlcul

7-ZIP, programa per a la generació d arxius comprimits

Apartado TGR Puntuación. No Presentado. EXAMEN DE SISTEMAS OPERATIVOS (Grado en Ing. Informática) 17/1/2013.

Aquesta segona part de l examen consta de 2 fulls. Heu de contestar en la mateixa fulla on es troba la pregunta.

Primer control de teoría

Ejercicios sobre tuberías

Sistemes amb Microprocessador

Pràctica 7: Programació d un servidor TCP.

El perfil es pot editar: 1. des de la llista de participants 2. fent clic sobre el nostre nom, situat a la part superior dreta de la pantalla

La creació de qualsevol llista es fa amb l operador list. En el cas de crear una llista buida la sintaxi és

BIOLOGIA: TEMA 9 - REPRODUCCIÓ CEL LULAR

Primer control de teoría

ESTRUCTURA ATÒMICA I ENLLAÇ. Examen de juliol de 1999

Administrar comptes d'usuari en Windows 7

El correu brossa és l enviament massiu i intencionat de correus electrònics a persones que no volen rebre aquests missatges.

LA MEIOSI. A quina etapa de la vida de la cèl lula creieu que s'ha produït la duplicació?

La xarxa. Una xarxa d ordinadors no és res més que una colla d ordinadors connectats entre si per tal que puguin intercanviar dades.

MAIL. Mail és un client de correu electrònic inclòs exclusivament en el sistema operatiu Mac OS X.

MOZILLA THUNDERBIRD V.3.1

Com participar en un fòrum

El procés d inscripció a l oferta s ha de fer a través del portal Feina Activa de forma obligatòria

Eina web d e-signatura a EACAT Manual d usuari

5.- Quan fem un clic sobre Nou treball accedim a la següent finestra que ens permet definir els diferents aspectes del nou treball: Nom : Nom del

MICROSOFT OUTLOOK 2016 PER A WINDOWS

UNITAT LES REFERÈNCIES EN L ÚS DELS CÀLCULS

Aquesta eina es treballa des de la banda de pestanyes Inserció, dins la barra d eines Il lustracions.

Exercicis d estadística. Joan Queralt Gil

3. DIAPOSITIVA D ORGANIGRAMA I DIAGRAMA

ESTRUCTURA DEL FITXER: EXTRACTE DE COMPTE EN FORMAT IBAN DE ENTITATS FINANCERES A CLIENTS. Núm. ABA-05

Asignación de disco en UNIX

Manual del professional tributari Tràmit per a professionals tributaris de lliurament d informació fiscal IRPF 2014

UNITAT OPCIONS ADDICIONALS DE MS POWERPOINT

GUIA AUTOMATRÍCULA

Servei de Gestió de Serveis Informàtics Secció de Sistemes en Explotació Webmailaj Correu Municipal Configuració nou compte de correu

UNITAT DONAR FORMAT A UN DOCUMENT

El tiempo de búsqueda es de 3 + 0,04 x ms, siendo x el número de cilindros a recorrer.

INFORMACIÓ GENERAL PROCEDIMENT

Instal lació de claus públiques. Servei de Recursos Informàtics i TIC

Rol Nom de la variable Clau Cuiner APP_CHEF_KEY 0001 Cambrer APP_WAITER_KEY 0002 Encarregat APP_BOSS_KEY 0003

La Noa va de càmping, quina llet ha de triar?

Planificador. Manual d usuari. Centres i serveis educatius Maig 2016

WINDOWS MAIL. Abans de començar, assegures de que coneix la seua direcció de correu electrònic junt a la següent informació.

AVALUACIÓ DE QUART D ESO

MICROSOFT OUTLOOK 2007

1. Instruccions per preregistrar-se

Manual de sol licitud i descàrrega del certificat digital AP de l FNMT (amb Mozilla Firefox)

SOLUCIONES A ALGUNOS DE LOS PROBLEMAS SOBRE SISTEMAS DE FICHEROS

Qüestionari (Adreçament IP)

Guia per sol licitar el certificat al. Registre Central de Delinqüents Sexuals

PROGRAMACIÓ DE SHELLSCRIPTS

FITXA DE PROCÉS NUM.REVISIÓ DESCRIPCIÓ DATA APROVACIÓ. 00 Versió original 23/09/2013

MICROSOFT OFFICE OUTLOOK 2003

REPRESENTACIÓN INTERNA DE FICHEROS

Introducción a Sistemas Operativos: Ficheros

UNIDAD DIDACTICA 6 PERMISOS DE LOS ARCHIVOS

MANUAL D ÚS DEL GEOSERVEI WPS DE CARRERS I ADRECES POSTALS. 2. Característiques generals del geoservei WPS de carrers i adreces postals

UNITAT TIPUS DE DIAPOSITIVES PER A DISPOSAR INFORMACIÓ

Tema 4: Gestión de Procesos

El llenguatge HTML (Descripció i etiquetes) L etiqueta <table> (Creació de taules) Exemple complet de codi HTML... 5

I al desplegable podrem escollir entre la configuració del fons i l estil de la presentació

Passos per a fer les proves d'avaluació final virtuals

Instal lació de l aplicació 2xRDP:

PROVA D APTITUD PERSONAL ACCÉS ALS GRAUS EDUCACIÓ INFANTIL I EDUCACIÓ PRIMÀRIA

Google Calendar. Curs de formació per a personal PAS i PDI

CREAR-SE UN COMPTE GMAIL

Oficina de Convocatòries Ausiàs Marc, núm. 35, baixos Barcelona Telèfon

Sistemas de archivos

Fem un correu electrónic!! ( )

Matemàtiques Sèrie 1. Instruccions

UNITAT COMBINAR CORRESPONDÈNCIA

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos.

Manual Webmail ICAB. Departament d Informàtica Manual Webmail ICAB

Polinomis i fraccions algèbriques

EL PLA DE MÀRQUETINGM Control ESQUEMA PAS 7

8. Reflexiona: Si a<-3, pot se a<0?

Pràctica Final. Programació I Evolució de Cèl lules - Autor: Ferran Orriols López NIE: Autor: Marc Unió NIE: 47723

Exercicis de magnetisme PAU

Química. Prova d accés a la Universitat per als més grans de 25 anys (2012)

Apartado TGR Puntuación. No Presentado. EXAMEN DE SISTEMAS OPERATIVOS (Grado en Ing. Informática) 20/1/2014.

Aproximar un nombre decimal consisteix a reduir-lo a un altre nombre decimal exacte el valor del qual sigui molt pròxim al seu.

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Aspectos del diseño de un sistema de ficheros

Guia d ús de la notificació electrònica amb l eina enotum (Data d actualització de la informació: 26 d abril de 2016)

Gestió dels certificats digitals Advantis EasyPKI Suite versió Servei de Recursos Informàtics i TIC

Ajuda de Suport gencat 18 d octubre de 2017 Versió 2.3.5

SCW - SUB CONFIGURACIÓ PROGRAMA SUBVENCIONS PER COMUNICACIÓ A LA BDNS

NOU PROGRAMARI WEB PER A LA PETICIÓ DE NÚMEROS DE DIPÒSIT LEGAL.

Capitulo VI Arquitectura del sistema de archivos

Transcripción:

Preguntas cortas. (1 punto) Justifica todas las respuestas. Una pregunta sin justificar se considerará incorrecta. 1. Es posible que dos canales de dos procesos distintos compartan la misma entrada de la tabla de ficheros abiertos? En caso afirmativo, indica qué llamada (s) pueden provocar esta situación. 2. En un sistema de asignación de bloques de disco basado en una FAT. Qué tamaño (número de entradas) tendrá la FAT si la partición que tenemos tiene un tamaño de 1GB y el tamaño de bloque es de 1KB? Qué información se guarda en la tabla? 3. Cómo se asocia un dispositivo físico con un dispositivo lógico? 4. Con qué llamada(s) a sistema se asocia un dispositivo virtual (o canal) con un dispositivo lógico? 1

2

Nombre y apellidos: Problema 1 (5 puntos) Si tenemos el siguiente esquema de directorios y ficheros: / sources src src.c.c Tenemos, además, la siguiente información: Los ficheros y que hay en el directorio / son hard links a los que hay en sus respectivas carpetas /sources/// y /sources///. Sabemos que el tamaño de bloque son 4KB Los tamaño de los ficheros son (respectivamente).c (4KB),.c (6KB), /sources/ /// (8KB), /sources/// (8KB), // (8KB) y // (8KB) a) Asigna un i-nodo a cada elemento del esquema de directorios y anótalo junto a su nombre en la siguiente figura. Utiliza el i-nodo 0 como el i-nodo raíz. / sources src src.c.c Num i-nodo Num. refs Bloques datos tipo b) Asigna bloques de datos a cada elemento del esquema de directorio y rellena los i-nodos de la figura siguiente. Para el tipo de fichero utiliza las siguientes etiquetas: dat=fichero normal, dir=directorio, link=soft link. Indica también el contenido de los bloques de datos en caso de los directorios. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3

Num. Bloque 0 1 2 3 4 5 6 7 8 9 Num. Bloque 10 11 12 13 14 15 16 17 18 19 c) Usando el esquema de directorios anterior, indica qué accesos supone hacer cada llamada a sistema de las siguientes secuencias sabiendo que: o El sistema no dispone de buffer cache y el superbloque ya está en memoria. Además asumiremos que 1 inodo ocupa 1 bloque de disco. o Los ficheros no se han accedido previamente o Cada secuencia es independiente de la anterior. Es decir, cuando hagas los cálculos de la secuencia 2 la secuencia 1 no se ha ejecutado. Secuencia 1 fd=open( /source///,o_rdonly); eek(fd,4096,seek_set); read(fd,buffer,256); 4

Secuencia 2 fd=open( //,O_RDONLY); dup2(fd,0); eek(0,4096,seek_set); read(0,buffer,256); 5

6

Problema 2 (4 puntos) Volem fer e següents programes: El programa ping i ha de rebre com a argument un nombre enter. Aquest programa ha de crear dos nous processos, connectant circularment les seves respectives entrades i sortides estàndard a través de dos pipes sense nom, i cada procés executarà el programa pong. A continuació, el procés pare escriurà el nombre enter (en format int) al primer fill i a partir d aquí, cada segon, enviarà alternadament un signal de tipus SIGUSR1 a un fill diferent. El procés pare acabarà quan e dos fil aca. El programa pong i consistirà d un bucle el qual mentre no EOF ha d esperar un signal de tipus SIGUSR1, llegir un valor enter per l entrada estàndard, escriure l per la sortida d error, incrementarlo en 1, i escriure el nou valor per la sortida estàndard. Quan ha enviat 100 nombres, el programa acaba amb exit. A continuació teniu una proposta (incorrecta) de codi tant per al programa ping com per al programa pong (no s inclou el codi de tractament d errors per a facilitar la llegibilitat del codi). /* PING */ 1. int pids[2]; 2. int turno = 0; 3. f_alarma(int signum){ 4. kill(pids[turno],sigusr1); 5. turno=(turno+1)%2; 6. alarm(1); 7. } 8. f_sigusr1 (int signum){ 9. llegir = 1; 10. } 11. main (int argc, char *argv[]){ 12. int fd_h1_h2[2]; 13. int fd_h2_h1[2]; 14. int i=0; 15. signal(sigalrm,f_alarma); 16. signal(sigusr1, f_sigusr1); 17. pids[0]=fork(); 18. if (pids[0]==0){ 19. pipe(fd_h1_h2); 20. execlp( pong, pong,(char *)NULL); 21. exit(1); 22. } 23. pids[1]=fork(); 24. if (pids[1]==0){ 25. pipe(fd_h2_h1); 26. execlp( pong, pong,(char *)NULL); 27. exit(1); 28. } 29. close (fd_h2_h1[1]); close (fd_h2_h1[0]); 30. close (fd_h1_h2[0]); close (fd_h1_h2[1]); 31. write (1, argv[1], sizeof(int)); 32. alarm(1); 33. while(waitpid(-1,null,0)>0); 34. 35. } /* PONG */ 1. int llegir = 0; 2. f_sigusr1 (int signum){ 3. llegir = 1; 4. } 5. main (){ 6. int count = 0; 7. while (count < 100){ 8. while (llegir == 0) ; 9. read(0,&valor, sizeof(valor); 10. write (2, &valor, sizeof(valor); 11. valor ++; 12. write(1,&valor,sizeof(valor)); 13. count ++; 14. } 15. } 7

Us demanem que contesteu raonadament a les següents preguntes sobre la funcionalitat d aquests codis, per tal de enumerar i solucionar e seus errors. Per a casos en el que la funcionalitat no és l especificada a requeriments, indiqueu a més a més com modificaríeu aquest codi per a solucionar-ho: quines línies de codi esborraríeu o modificaríeu, i quines línies de codi afegiríeu indicant la seva posició. a) Es crea el número de processos demanat pe requeriments? I es crea el número de pipes demanat? Representa la jerarquia de processos que es crea. b) A La següent figura teniu representat l estat de la taula de cana del procés pare i de la taula de fitxers oberts i de la taula d inodes just al començament de l execució del procés pare. Completeu aquesta figura afegint totes les taules de cana necessàries i representeu l estat de la taula de fitxers oberts, de la taula d inodes i de la taula de cana de tots e processos, suposant que el procés pare es troba just abans d executar les sentències de la línia 29 i e processos fil just abans de mutar per a executar el programa pong. 8

T.Cana pare T.Fitxers Oberts Taula I-nodes Canal 0 Entrada TFO Pos. mode #refs punt. Entrada lect/escr t.inode 0 rw 9 -- 0 Pos #refs Inode 0 1 I_tty 1 2 3 4 5 6 c) La creació de las pipes sense nom es fa en el punt adequat del codi per tal de que e dos processos pong les puguin utilitzar per a intercanviar e valors? d) La configuració de cana estàndard de procesos pong és l adequada segons e requeriments? 9

e) El programa ping accedeix a la pipe sense nom de forma correcta per a enviar el valor al primer fill? Aquest valor s envia en el format adequat? f) El programa ping gestiona de manera correcta l enviament cada segon d un signal SIGUSR1 a fil de manera alternada? g) E processos que executen el programa pong gestionen de manera adequada el signal SIGUSR1? h) El procés ping detecta de manera adequada el moment en el que ha d acabar l execució? 10

11