option
Cuestiones
ayuda
daypo
buscar.php

Fase2

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Fase2

Descripción:
Test Fase2

Fecha de Creación: 2026/01/20

Categoría: Otros

Número Preguntas: 50

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Qué estructuras NO han cambiado respecto a la fase 1?. _gd_pidz. _gd_wbfs[]. _gd_stacks[]. _gd_qReady[].

A l'enunciat de la fase2 de la pràctica, ¿com es recomana que es supleixi la falta de sincronització de la rutina _gg_escribirCar() amb el processador gràfic?. Modificant la función GARLIC_printchar() per a què cridi a swiWaitForVBlank() abans de cridar a _ga_printchar(). Avisant als programadors dels programes d'usuari que utilitzin GARLIC_delay() quan es requereix una sincronització. Avisant als programadors dels programes d'usuari que utilitzin swiWaitForVBlank() quan es requereix una sincronització. Modificant la rutina _ga_printchar() per a que cridi a _gp_WaitForVBlank() abans de cridar a _gg_escribirCar().

Per generar rajoles de diferents colors en el GarlicOS 2.0 ¿per què cal canviar els indexos de color dels píxels originals de 2 en 2?. Perquè cada píxel ocupa 4 bits. Perquè cada color de la paleta està definit amb 15 bits (5 bits per canal). Perquè no podem modificar les posicions de la vídeo-RAM de byte en byte. Perquè estem fent servir color real (16 bits per pixel).

On es troba el codi de la funció que executa GARLIC_Delay?. garlic_itcm_api.s. garlic_itcm_proc.s. garlic_itcm_graf.s. garlic_itcm_ui.s.

En GarlicOS 2.0, ¿quants processos poden estar simultaneament bloquejats a la cua de Delay?.

Quants Bytes te l'entrada del vector de Windows Buffers per a un proces.

En GarlicOS 2.0, ¿quants bytes es reserven pel buffer de caràcters de cada finestra?.

En GarlicOS 2.0, ¿en quin o quins casos s'ha de cridar a la rutina _gg_escribirLineaTabla()?. Quan un procès acaba. Quan es canvia la finestra en focus. Quan un procés canvia d'estat. Quan un procés canvia el seu camp PC de la taula de PCBs.

¿En quin llenguatge de programació es proposa que es programin les funcions de l'API de GarlicOS, com per exemple, la GARLIC_pid()?. En llenguatge maquina. En llenguatge C. En llenguatge C o en llenguatge màquina, és indiferent. En cap llenguatge, perquè aquestes funcions es proporcionen en un fitxer.

La rutina _gg_escribirMat() del GarlicOS 2.0, ¿quin problema podria presentar si es realitzes una sincronització amb el processador gràfic abans de començar a modificar la video-RAM per a visualitzar la matriu de caràcters?. No hi hauria cap mena de problema. Que l'usuari veuria com s'aniria traslladant el contingut de la matriu a la finestra progressivament. Que no podriem usar els caracters "invisibles" a les matrius. Cap de les anteriors.

Número de KB max per definir els tiles que poden afegir els usuaris (contant tots els colors).

la funció _gg_escribirChar se sincroniza?. Si. No.

la funció _gg_rsiTIMER2 se sincroniza?. S. N.

la funció _gg_escribirLineaTabla se sincroniza?. S. N.

Cuanto tiempo tardar el GARLIC_delay(>0)?. num_procesos * 60. num_procesos * 15. num_procesos_activos * 60. num_procesos_activos * 16.

Cuantas posiciones tiene _gd_blockedSpr[]?.

Cuantas posiciones tiene _gd_stacks[]?.

Cuantas veces en un segundo se ejecuta la _gg_rsiTIMER2?.

Que funcion hace el _gg_rsiTIMER2?. Incrementa el contador de tics del sistema para gestionar el quantum de tiempo del planificador (scheduler). Consulta el PC actual (accede a la tabla de PCBs) y lo escribe en la tabla de control de la pantalla inferior. Analiza la ocupación de la pila (stack) de cada proceso para actualizar las barras de memoria en la interfaz gráfica. Gestiona el retardo (delay) de los procesos bloqueados, moviéndolos a la cola de procesos listos (READY) cuando el timer expira.

Que funcion hace la rutina _gg_escribirMat?. Dibuja un tile a la posició (x,y) de la finestra. Dibuja un sprite de 8x8 píxeles definits per una matriu de bits a la posició (x,y) de la finestra. Escribe una cadena de texto formateada en un bloque de 8 filas, ajustando el texto automàticament a l'amplada de la finestra. Escribe un bloque de 8x8 caracteres (códigos ASCII) a partir de una posición (x,y) de una ventana con un color determinado.

Por donde entra el quinto parametro del _gg_escribirMat y _gg_escribirCar?. pila. r5. r4.

Porque _gg_escribirCar y _gg_escribirMat no se sincronizan con la pantalla?. Perquè la Nintendo DS té un sistema de doble buffer per hardware que actualitza la memòria de vídeo automàticament sense risc de parpadeig (tearing), fent innecessària la sincronització per software. Perquè aquestes funcions escriuen en un buffer de memòria intermig (WBUF) situat a la DTCM, i no directament a la memòria de vídeo (VRAM). Perquè si es sincronitzessin a cada crida, escriure una frase de 10 caràcters trigaria 10 frames (aprox. 160ms), alentint el sistema de forma inacceptable. Perquè les rutines situades a la memòria ITCM (Instruccions Ràpides) no tenen accés als registres de control del sistema necessaris per llegir l'estat del VBlank.

Que escribe en la table la rutina _gg_escribirLineaTabla. PID. PC actual. Nombre del proceso. Nombre del programa. Estado del proceso.

Cada cuando se llama a la rutina _gg_escribirLineaTabla?. Cada vegada que es crea un nou procés (a seleccionarPrograma) o quan un procés existent acaba (detectat a gestionSincronismos), per tal d'actualitzar o netejar el PID, el nom del programa i pintar-ho del color corresponent. b) Es crida automàticament 4 vegades per segon des de la interrupció _gg_rsiTIMER2, simultàniament amb l'actualització del Comptador de Programa (PC) i l'ús de CPU. S'executa a cada interrupció de VBlank (60Hz) per assegurar que la taula de processos de la pantalla inferior es manté sincronitzada amb l'estat dels vectors _gd_pcbs. Es crida cada vegada que l'usuari mou el cursor (fletxes DRETA/ESQUERRA) per canviar el color de la línia seleccionada a vermell i la deseleccionada a blanc.

Relaciona: Blanco. Verde. Rojo. Amarillo.

Cuantos tiles caracteres hay en total?.

Relaciona: Rojo. Blanco. Verde.

Relaciona: 100%. 50%. 25%.

Relaciona: 100%. 50%. 25%.

En que direccion se guardan los sprites?.

Quin és el valor inicial de _gi_zoom (hex)?.

Quina és la PRIMERA rutina apuntada per APIVector?. _ga_printf. _ga_pid. _ga_clear.

Quan _ga_printchar vol passar el zócalo a progG, com ho fa normalment?. Passant el zócalo com a quart paràmetre per registre R3 directament. El llegeix de la variable global del sistema _gd_pidz i el passa al registre R3. El calcula a partir de la posició de memòria de la pila del procés actual. No li passa el zòcalo, _gg_escribir ja sap quin és el procés actiu consultant el registre de control del sistema.

Quin és el tipus (mida) habitual de _gi_za segons la declaració?. byte (.byte). halfword (.hword). word (.word).

Quin parell de variables serveix per detectar canvis de zoom?. _gi_zoom i _gi_zoom_ant. _gi_orgX i _gi_orgY. _gi_za i _gi_za_ant.

En la lògica de _gi_actualizarVvis, quin valor de _gi_zoom implica 16 finestres visibles?. _gi_zoom = 256. _gi_zoom = 512. _gi_zoom = 1024.

En _gi_actualizarVvis, quin valor de _gi_zoom implica 1 finestra visible (zoom màxim)?. 256. 512. 128. 1024.

A _ga_printchar / _ga_printmat, com es passa el número de finestra (zócalo) a la funció progG?. En ambdós casos es passa a través del registre R3, ja que és l'últim registre de pas de paràmetres. A _ga_printchar es passa pel registre R3, mentre que a _ga_printmat es passa a través de la pila (stack) perquè els 4 registres principals (R0-R3) ja estan ocupats. A _ga_printchar es passa per la pila per permetre llistes d'arguments variables (printf), mentre que a _ga_printmat es fa servir el registre R12 (IP) com a registre temporal específic.

Mida d’una pila de procés usuari a fase 1/2: quants bytes té?. 512. 128. 256. 16.

A _gd_pidz, on es guarda el zócalo (finestra/proc) dins l’enter?. Als 4 bits baixos. Als 4 bits alts.

Per què un programa d'usuari per a GarlicOS esrit en llenguatge C pot invocar una funció com la GARLIC_printf()?. Perquè el programa d'usuari s'enllaça amb la llibreria de funcions de l'API del sistema operatiu. Perquè el programa d'usuari s'enllaça amb el fitxer "GARLIC_API.o". Perquè el programa d'usuari s'enllaça amb l'APIVector. Perquè es fa '#include <GARLIC_API.h>' a l'inici del programa.

En Garlic 2.0 ¿quants Kbytes ocupen conjuntament els mapes de rajoles dels fons 2 i 3 del processador gràfic principal, suposant que no hi ha cap solapament entre totes les zones de memòria gràfica?.

Quan un procés de GarlicOS 2.0 acaba la seva execució, ¿com queda el contingut de la finestra que estava fent servir?. S'esborra completament. Es queda igual que al moment en que ha acabat el procés. Es mostra el codi de retorn del procés. Es mostra el menú per seleccionar un altre programa d'usuari.

Quina és la funció dels bits 1 a 15 de la variable global _gd_sincMain en el sistema GarlicOS?. Indicar al bucle principal del sistema operatiu que un procés d'un zòcalo determinat ha acabat, per tal de procedir a alliberar la seva memòria i actualitzar la interfície gràfica de manera diferida. Emmagatzemar l'estat d'execució actual (RUN, READY, BLOCKED) de cadascun dels 15 processos d'usuari possibles per a la planificació del processador. Activar-se periòdicament cada vegada que el Timer 0 genera una interrupció per indicar que s'ha de recalcular el percentatge d'ús de CPU del procés corresponent.

Quin paper juga la variable _gd_sincMain específicament per a les tasques del Programador de Gràfics (ProgG) dins del bucle main?. Indica quan ha de redibuixar tota la taula de processos completament perquè hi ha hagut un canvi de context (switch) entre processos. Avisa que un procés ha acabat, perquè pugui actualitzar la línia corresponent de la taula de processos (esborrant el PID/KeyName) i dibuixar el marc de la finestra en vermell (inactiu). Sincronitza el parpadeig del cursor de la consola amb el refresc de pantalla (VBlank) per evitar que l'usuari noti retards en l'escriptura de text. Bloqueja l'accés a la memòria de vídeo (VRAM) per part d'altres processos mentre ProgG està realitzant una animació de desplaçament de finestra.

Donde se almacena el codigo fuente de la API?. GARLIC_API.s. garlic_itcm_api.s.

Cuantas posiciones hay en el char de colores?.

Cuanto me ocupa en total todas las baldosa (letras), en KB?.

Como se limita el GARLIC_printMat?, que sentinella tiene?. 8 filas y 8 columnas. 16 filas y 8 columnas.

Como puedes matar a un proceso, un HUMANO?. Pulsando el start/enter. con matar_proc.

Denunciar Test