RESPUESTAS UNIDAD I y II 1) ¿Cuál es la diferencia entre el proceso de traducción y el proceso de interpretación? La traducción consiste en traducir todo el programa de una sola vez a lenguaje de máquina. En cambio el proceso de interpretación, interpreta la instrucción y la ejecuta, y esto lo va haciendo instrucción por instrucción. 2) La bibliografía hace referencia a 6 niveles. ¿Podría existir un nivel más? No podría un nivel mas, porque los 6 niveles definidos son suficientes. Digo esto porque en el último nivel está bien definido ya que los programadores pueden atacar bien los problemas con los lenguajes de alto nivel. Aparte es menos tedioso que hacerlo en lenguaje de máquina. 3) ¿Qué entiende por nivel ISA? El nivel ISA es el conjunto de instrucciones de la arquitectura, y este conjunto de instrucciones varía según el fabricante de computadora, y además funciona de límite entre el Hw y Sw. 4) ¿El ISA de un viejo procesador 8080 es el mismo de un Intel Pentium Dual Core? F. Los microprocesadores Intel Pentium Dual Core contienen las instrucciones del 8080 más las del 8086 y 8088. 5) El lenguaje ensamblador también es conocido como lenguaje de máquina. ¿Esta aseveración es verdadera o falsa? La aseveración es falsa, porque un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora, sino que requiere de una traducción al lenguaje máquina. El lenguaje ensamblador es un lenguaje de bajo nivel que tiene los siguientes inconvenientes: - dependencia total de la máquina, lo que impide la transportabilidad de los programas. - La formación de los programadores es más compleja que los de alto nivel. 6) ¿Qué entiende por llamadas al sistema o Systems calls? ¿Para que sirven? Una llamada a sistema o call system es como realizar un tipo especial de llamada a procedimiento, pero estas entrar el kernel y las llamadas a procedimiento no. Sirve para que cuando un proceso esta ejecutando un programa de usuario en modo usuario y necesita un servicio al sistema tiene que ejecutar una instrucción de trap para transferir el control al S.O. Después este último, averigua que necesita el proceso llamador, para lo cual inspecciona los parámetros. Después lleva a cabo la llamada al sistema y devuelve el control a la instrucción que va después de la llamada al sistema. 7) ¿En qué generación de computadoras nace la multiprogramación? La multiprogramación nació en la tercera generación (1965-1980). 8) ¿Qué diferencia existe entre el modo kernel (o núcleo) y modo usuario? El modo kernel sirve para ejecutar el S.O. y permite ejecutar todas las instrucciones. En cambio el modo usuario sirve para ejecutar todas las aplicaciones del usuario y no permite que se realicen ciertas instrucciones peligrosas. 9) ¿Puedo comparar un procesador de tecnología RISC con un CISC por la velocidad de cada uno? No se pueden comparar estor procesadores por que la tecnología de ambos es muy diferente. 10) ¿Qué entiende por direccionamiento indirecto por registro? En este modo la dirección del operando no está fijo en la instrucción, en lugar de eso la dirección está contenida en un registro. Cuando una dirección se usa de esta manera se llama Apuntador. 11) Explique claramente la diferencia entre una trampa (trap) y una interrupción. Ejemplificar. La diferencia es que las trampas son sincrónicas con el programa y las interrupciones son asincrónicas. Si el programa se vuelve o ejecuta un millón de veces con las mismas entradas, las trampas ocurrirán el mismo punto, en cambio las interrupciones varían dependiendo del momento. Las trampas son ocasionadas directamente por el programa. Ejemplo de trampa, cuando se realiza una división por cero y ejemplo de interrupción, cuando escuchando el Winamp y se solicita imprimir un documento. 12) ¿Qué es un sistema operativo multiusuario y multitarea? El S.O. Multiusuario da soporte a varios usuarios que trabajan simultáneamente desde varias terminales. Cada usuario puede tener activos más de un proceso. También recibe el nombre de tiempo compartido porque el S.O. reparte el tiempo de la computadora entre los usuario. El S.O. Multitarea permite que existan varios procesos activos a la vez. 13) Defina a su entender lo que es un proceso. Un proceso es una secuencia de pasos que requiere de entradas y produce una salida. 14) ¿Qué diferencia existe entre el entorno de programación POSIX y WIN32? POSIX es el estándar de interfaz del S.O. portables de IEEE basados en el S.O. UNIX. Es una familia de estándares en evolución, cada uno cubre diferentes aspectos de los S.O. Características: - los nombres de las funciones son cortas y en minúscula. - Las funciones devuelven cero si se ejecutaron con éxito o uno en caso de error. - Algunos tipos de datos utilizados por las funciones no se definen como parte del sistema. WIN32 son los servicios portables establecidos por una casa comercial, Microsoft. Define los servicios ofrecidos por los sistemas W95/98/NT/2000, no se trata de un estándar genérico. Características: Características: - Los recursos gestionados por el S.O. se tratan como objetos que se referencian por medio de manejadores que son similares a los descriptores de POSIX. - Los nombres de las funciones son largos y descriptivos. - Tiene una serie de datos predefinidos. 15) ¿Qué es un sistema operativo monolítico? Es un S.O. que no tiene una estructura clara y definida. Sus componentes se encuentran integrados en un único programa (S.O.) que ejecuta en un único espacio de direcciones. Las funciones se ejecutan en modo núcleo. Es complicado en el momento de añadir funcionalidades y servicios. 16) Indique la diferencia entre una interfaz GUI y una de caracteres. Caracteres: este tipo de interfaz es un modo de trabajo basado en líneas de texto. Para dar instrucciones al sistema, escribe su terminal un mandato terminado con un carácter de final de línea. Cada mandato está estructurado con nombre de mandato y unos argumentos. GUI: Esto surgió ante la necesidad de darles a los usuarios no especializados una visión sencilla del sistema. Para esto se ha requerido una base considerable en la potencia y capacidad gráfica da las computadoras ya que consumen gran cantidad de recursos. 17) Defina que es el shell y como se considera dentro de POSIX y WIN32. El módulo del S.O. que permite que los usuarios dialoguen el forma interactiva con el sistema es el interprete de mandatos o shell. Este se comporta como un núcleo infinito que está repitiendo constantemente las siguientes secuencias: - espera una orden del usuario. En el caso de interfaz textual, el shelll está pendiente de lo que escribe el usuario en la línea de mandatos. En la interfaz gráfica está pendiente de los eventos del apuntador (ratón) que manipula el usuario, además los del teclado. - Analiza la orden y en caso de ser correcta, la ejecuta para lo cual emplea los servicios del S.O. - Concluida la orden vuelve a la espera. 18) ¿Con qué finalidad se agregó el PIC a las computadoras? 19) ¿Para que sirve el Programa Counter? Este programa es el contador del programa el cual contiene la dirección de memoria de la siguiente instrucción a obtener. Una vez obtenida la dirección, el contador del programa se actualiza para apuntar al siguiente. 20) En un ambiente de multiprogramación existe un solo PC o hay uno por cada proceso y de ser así en donde se almacena cuando el proceso no se está ejecutando. Sí, existe una sola PC. Para mejorar el rendimiento, los diseñadores de CPU’s abandonaron el modo de obtener, modificar y ejecutar una instrucción a la vez. La CPU moderna cuenta con medios para ejecutar más de una instrucción al mismo tiempo. Una CPU podría tener unidades separadas de obtención, modificación y ejecución, de manera que mientras se está ejecutando la instrucción n, también podría estar decodificando la instrucción n+1 y obteniendo la instrucción n+2. Este proceso se conoce como Pipeline. Cuando el proceso no se está ejecutando, el S.O. debe guardar todos los registros para poder restaurarlos cuando el programa continúe su ejecución. 21) ¿El BIOS que contiene? Contiene Sw de E/S de bajo nivel, incluyendo procedimientos para leer el teclado, escribir en la pantalla y realizar operaciones de E/S, etc. Hoy está contenido en una RAM tipo Flash que no es volátil pero el S.O. puede actualizarla cuando se encuentran errores en el BIOS. 22) En POSIX si deseo escribir mi propio shell lo puedo hacer. ¿En que debo ser experto y por qué? 23) Explique con sus palabras que es una API de Windows. Una API de Windows es una interfaz donde los programadores deben usar para obtener los servicios del S.O. La API tiene una gran número de llamadas para administrar ventanas, figuras geométricas, textos, tipos de letras, barras de desplazamiento y otras características. 24) Explique en forma resumida el proceso de boot. - Bajo el control del iniciador ROM, se encuentran: a- test del Hw. b- Carga en memoria del cargador del S.O. - Bajo el control del cargador (boot) del S.O.: a- carga en memoria componentes del S.O. - Inicialización bajo el control de la parte residente del S.O.: a- test del sistema de archivo. b- creación de estructuras de datos internas. c- Completa la carga del S.O. residente. d- Creación de procesos login. 25) ¿Qué se entiende por jerarquía de procesos? La jerarquía de procesos es como un árbol genealógico donde se pueden ver las relaciones entre los procesos y se emplean los términos de padre, hijo o abuelo. Ej: cuando un proceso A solicita el S.O. que cree un proceso B, se dice que el proceso A es el padre de B y el proceso B es el hijo del proceso A.