Trabajo Práctico: Análisis de Sistemas de Información
Trabajo Práctico: Análisis de Sistemas de Información
Trabajo Práctico: Análisis de Sistemas de Información
Trabajo Práctico
Curso: Primero
Sede: Posadas
Año: 2022
Actividad
11) ¿Cuáles son las principales tablas utilizadas por el SO para administrar procesos y recursos?
14) ¿Cuáles son los motivos para terminar un proceso? Enumere 5 motivos ¿Quién se ocupa de
hacerlo?
El trabajo del sistema operativo es proporcionar una asignación ordenada y controlada de los
procesadores, memorias y dispositivos de E/S, entre los diversos programas que compiten por estos
recursos.
2) Una interrupción es el método por el cual el procesador deja de ejecutar una instrucción para
pasar a ejecutar otra. Las interrupciones constituyen una manera de mejorar la utilización del
procesador. Por ejemplo, la mayoría de los dispositivos de E/S son mucho más lentos que el
procesador. Supóngase que el procesador está transfiriendo datos a una impresora. Después de cada
instrucción de escritura, el procesador debe parar y permanecer inactivo hasta que la impresora la
lleve a cabo. La longitud de esta pausa puede ser del orden de muchos miles o incluso millones de
ciclos de instrucción.
Gracias a las interrupciones, el procesador puede dedicarse a ejecutar otras instrucciones mientras
que la operación de E/S se está llevando a cabo.
3) La memoria caché es un búfer especial de memoria que poseen las computadoras, que funciona
de manera semejante a la memoria principal, pero es de menor tamaño y de acceso más rápido.
Nace cuando las memorias ya no eran capaces de acompañar a la velocidad del procesador, por lo
que se puede decir que es una memoria auxiliar, que posee una gran velocidad y eficiencia y es
usada por el microprocesador para reducir el tiempo de acceso a datos ubicados en la memoria
principal que se utilizan con más frecuencia. El propósito de la memoria cache es proporcionar un
tiempo de acceso a memoria próximo al de las memorias más rápidas disponibles y, al mismo
tiempo, ofrecer un tamaño de memoria grande que tenga el precio de los tipos de memorias de
semiconductores menos costosas.
4) Cuando el procesador ejecuta un programa y encuentra una instrucción relacionada con la E/S,
ejecuta esa instrucción generando un mandato al módulo de E/S apropiado. En el caso de la E/S
programada, el módulo de E/S realiza la acción solicitada y fija los bits correspondientes en el
registro de estado de E/S, pero no realiza ninguna acción para avisar al procesador. En concreto, no
interrumpe al procesador.
Con esta técnica, el procesador es responsable de extraer los datos de la memoria principal en una
operación de salida y de almacenarlos en ella en una operación de entrada. El software de E/S se
escribe de manera que el procesador ejecuta instrucciones que le dan control directo de la operación
de E/S, incluyendo comprobar el estado del dispositivo, enviar un mandato de lectura o de escritura,
y transferir los datos.
*Control: Utilizadas para activar un dispositivo externo y especificarle qué debe hacer. Por ejemplo,
se le puede indicar a una unidad de cinta magnética que se rebobine o avance un registro.
* Estado: Utilizadas para comprobar diversas condiciones de estado asociadas a un módulo de E/S y
sus periféricos.
* Transferencia: Utilizadas para leer y/o escribir datos entre los registros del procesador y los
dispositivos externos.
5) DMA es una función que puede llevada a cabo por un módulo separado conectado en el bus del
sistema o puede estar incluida en un módulo de E/S. Cuando el procesador desea leer o escribir un
bloque de datos, genera un mandato al módulo de DMA, enviándole la siguiente información:
* La posición inicial de memoria en la que se desea leer los datos o donde se quieren escribir.
El procesador continúa con otro trabajo, delegando esta operación de E/S al módulo de DMA quien
transferirá el bloque completo de datos, palabra a palabra, hacia la memoria o desde ella sin pasar a
través del procesador. El procesador solamente está involucrado al principio y al final de la
transferencia. Para una transferencia de E/S de múltiples palabras, el DMA es mucho más eficiente
que la E/S dirigida por interrupciones o la programada.
6) Multiprogramación significa que cuando el CPU trata con varios programas al mismo tiempo, la
secuencia con la que se ejecuta dichos programas depende de su prioridad relativa, ejecutándose
primero los de mayor prioridad. El sistema de tiempo compartido, a diferencia del sistema de
multiprogramación, ejecuta todos los programas al mismo tiempo. Una variante de la
multiprogramación donde cada usuario tenía una terminal en línea.
8) La idea básica detrás del diseño de microkernel es lograr una alta confiabilidad al dividir el
sistema operativo en módulos pequeños y bien definidos, sólo uno de los cuales (el microkernel) se
ejecuta en modo kernel y el resto se ejecuta como procesos de usuario ordinarios, sin poder
relativamente.
La ventaja es que esto evita que el sistema falle por un error mínimo, por ejemplo: al ejecutar cada
driver de dispositivo y sistema de archivos como un proceso de usuario separado, un error en
alguno de estos procesos puede hacer que falle ese componente, pero no puede hacer que falle todo
el sistema.
9) Un programa es una actividad del sistema y se puede identificar como «tarea«. Dentro de un
sistema operativo, podemos ejecutar varios programas, los cuales funcionan de forma
independiente. El sistema facilitará las virtudes del equipo para cada programa: gestión de memoria,
uso del procesador, etc.
Un programa es una entidad pasiva: un archivo que contiene un grupo de instrucciones para que
éste se ejecute. Como no realiza ninguna acción por sí mismo y tiene que ser ejecutado para realizar
las acciones que contiene, se le denomina entidad pasiva. El espacio de direcciones de un programa
está compuesto de una instrucción, datos y un stack.
Es la ejecución de un programa y se considera una entidad activa porque realiza las acciones
espeficadas en ese programa. De este modo, podemos ver varios procesos provenientes de un
mismo programa (como es el caso de Google Chrome). El proceso maneja las actividades del
sistema operativo a través del PCB (Process Control Block). Un proceso necesita de ciertos
recursos: memoria, procesador, recurso I/O, etc.
Los programas se ejecutan, pero nunca vuelven ¿Qué quiere decir eso? Pues que, el proceso acaba
cuando se desea, existe un error o un conflicto. El programa no es que termine, sino que el que
termina es el proceso del programa.
10) El sistema operativo se desarrolló para ser una interfaz apropiada para las aplicaciones, con
muchas funcionalidades. Este proporciona una representación uniforme y abstracta de los recursos
para que las aplicaciones lo puedan utilizar, y además se encarga de controlar el uso de estos
recursos (memoria principal, interfaces de red, sistemas de archivos, etc)
Tabla de E/S: Gestionar los dispositivos de E/S y los canales del computador.
Tabla de Ficheros: Proporcionan datos sobre los ficheros (posición de almacenamiento, estado, y
otros atributos).
Es una estructura de datos que permite al sistema operativo controlar diferentes aspectos de la
ejecución de un proceso.
* Información de control del proceso: Se trata de un conjunto de información que es utilizada por
el sistema operativo para controlar diversos aspectos de funcionamiento del proceso. Pertenecen
a esta categoría de información los siguientes campos:
*Nuevo: El proceso se acaba de crear, pero aún no ha sido admitido en el grupo de procesos
ejecutables por el sistema operativo.
*Espera: El proceso está esperando a que ocurra algún suceso, como por ejemplo la terminación de
una operación de E/S.
*Terminado: El proceso ha sido sacado del grupo de procesos ejecutables por el sistema operativo.
Después de que un proceso es marcado como terminado se liberarán los recursos utilizados por ese
proceso, por ejemplo, la memoria.
*Violaciones de frontera: El proceso trata de acceder a una posición de memoria que no tiene
acceso.
El proceso puede ser terminado por parte del proceso que lo creo o cuando este proceso padre
termina.
15) El hilo es una ejecución de programa que utiliza recursos de proceso para realizar la tarea.
Todos los hilos dentro de un solo programa están contenidos lógicamente dentro de un proceso. El
núcleo asigna una pila y un bloque de control de hilos (TCB) a cada hilo. El sistema operativo solo
guarda el puntero de pila y el estado de la CPU en el momento de cambiar entre los subprocesos del
mismo proceso.
El proceso y el hilo son los esencialmente asociados. El proceso es una ejecución de un programa,
mientras que el subproceso es una ejecución de un programa impulsado por el entorno de un
proceso.
Otro punto importante que diferencia el proceso y el subproceso es que los procesos están aislados
entre sí, mientras que los subprocesos comparten memoria o recursos entre sí.
16) Multihilo es el término utilizado para ejecutar múltiples hilos dentro de un solo proceso con el
fin de ejecutar múltiples tareas al mismo tiempo. El multihilo se puede hacer usando hilos de CPU a
través del sistema operativo o usando la capacidad del lenguaje de programación para ejecutar
múltiples hilos. Actualmente, la mayoría de las aplicaciones utilizan el multihilo para proporcionar
una mejor experiencia al usuario.
*Trabajar en primer y segundo plano: Un hilo puede mostrar Menues y el otro ejecutar los
mandatos de usuario.
*Procesamiento Asíncrono: Se puede crear un hilo que escriba el buffer de RAM a disco por fallos
de corriente cadaminuto, o un hilo que cree copias de seguridad periódicas.
*Velocidad de Ejecución: Un proceso Multihilo puede computar una serie de datos mientras lee los
siguientes de un dispositivo.