Trabajo Práctico: Análisis de Sistemas de Información

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Instituto Hernando Arias de Saavedra

Análisis de Sistemas de Información

Trabajo Práctico

Alumno Responsable del Trabajo: Cesar, Suarez

Curso: Primero

Materia: Sistemas Operativos

Sede: Posadas

Docente Responsable del espacio: Coronel, Miriam

Fecha de Entrega: 25 de Septiembre del 2022, 00:00hs.

Año: 2022
Actividad

1) ¿Cuáles son las características principales de un SO?

2) ¿Qué son las interrupciones y que ventajas presentan?

3) ¿Qué es la memoria cache y para que se utiliza?

4) ¿Qué es la Entrada/Salida programada y que ventajas posee?

5) ¿Qué es el DMA? ¿Qué ventajas posee?

6) ¿Qué significa “multiprogramación” y que diferencia tiene con un sistema de “tiempo


compartido”?

7) ¿Cuál es la estructura de un SO moderno?

8) ¿Qué es el microkernel y que ventajas posee?

9) Defina Proceso, Programa y Ejecutable e indique diferencias y relaciones

10) ¿Porque es necesario que el sistema operativo administre los procesos?

11) ¿Cuáles son las principales tablas utilizadas por el SO para administrar procesos y recursos?

12) ¿Que es el PCB y para que se utiliza?

13) ¿Cuáles son los posibles estados un proceso?

14) ¿Cuáles son los motivos para terminar un proceso? Enumere 5 motivos ¿Quién se ocupa de
hacerlo?

15) ¿Qué es un hilo y en qué se diferencia de un proceso?

16) ¿Qué es un SO multi-hilo? ¿Qué ventajas tiene?


1) Las características principales de un Sistema Operativo son proporcionar a los programadores de
aplicaciones un conjunto abstracto de recursos simples, en vez de los complejos conjuntos que
brinda el hardware. Y administrar los recursos de hardware.

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.

* Controlar y asegurar el manejo del hardware.

* Controlar las funciones del hardware

* Manejar problemas y errores

* Regular el acceso a los recursos

* Mediar conflictos entre aplicaciones

* Registrar información estadística

* Tratar un uso eficiente de los 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.

El juego de instrucciones incluye instrucciones de E/S de las siguientes:

*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:

* Si se trata de una lectura o de una escritura

* La dirección del dispositivo de E/S involucrado

* La posición inicial de memoria en la que se desea leer los datos o donde se quieren escribir.

* El número de palabras que se pretende leer o 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.

7) La estructura general de un Sistema Operativo moderno es:

* Un programa principal que invoca el procedimiento de servicio solicitado.

* Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema

* Un conjunto de procedimientos utilitarios que ayudan a los procedimientos de servicio

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.

Al fin y al cabo, un programa en ejecución no es lo mismo que un programa. Podemos utilizar el


símil de: no es lo mismo una mesa que unas instrucciones para hacer la mesa. El programa es un
conjunto de datos sin más, no es algo dinámico que esté continuamente trabajando.

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)

Una de las razones más


14)

comunes es proporcionar espacio


de memoria para traer procesos
en estado
Listo/Suspendido o incrementar
la memoria para los procesos
Listos, o también el SO puede
utilizar un proceso de
auditoría para monitorizar la
actividad del sistema. Otras
razones puede ser que los
usuarios sospechen de un bug
en un programa, deteniendo la
ejecución y modificando sus
datos y reanudándolo de nuevo.
Lo realiza el SO
11) Las posibles tablas utilizadas por el SO puede ser:

Tabla de Memoria: Mantiene un registro de la memoria principal y la secundaria.

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).

Tabla de Procesos: Gestiona los procesos.

12) PCB = Process Control Block

Es una estructura de datos que permite al sistema operativo controlar diferentes aspectos de la
ejecución de un proceso.

El PCB se organiza en un conjunto de campos en los que se almacena información de diversos


tipos. Los campos típicamente mantenidos en el PCB de un proceso.

Información típica mantenida en el PCB:

Puede clasificarse en cuatro categorías:

·*Información de identificación: Esta información está integrada básicamente por el identificador


del proceso (PID), que es un número que identifica al proceso. Este número es diferente para
todos los procesos que se encuentran en ejecución.

* Información de estado de la CPU: Se trata de un conjunto de campos que almacenan el estado


de los registros dela CPU cuando el proceso es suspendido.

* 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:

– Estado del proceso: Listo, en ejecución, etc.


– Información de manejo de memoria: Como por ejemplo, la dirección física de memoria en la que
se ubica la tabla de páginas del proceso.

– Información de E/S: Lista de ficheros abiertos, ventanas utilizadas, etc.

* Información de uso de recursos: Se trata de un conjunto de información relativa a la utilización


realizada por el proceso de los recursos del sistema, como por ejemplo, el porcentaje de
utilización de la CPU, la cantidad de memoria usada o los bytes de E/S escritos y leídos por el
proceso.

13) Los posibles estados en un proceso son:

*Nuevo: El proceso se acaba de crear, pero aún no ha sido admitido en el grupo de procesos
ejecutables por el sistema operativo.

*Listo: El proceso está esperando ser asignado al procesador para su ejecución.

*Ejecutando: El proceso tiene la CPU y ésta ejecuta sus instrucciones.

*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.

14) Los motivos para terminar un proceso pueden ser:

*Finalización normal: Se indica que el proceso completo su ejecución.

*Límite de tiempo excedido: El proceso se ejecutó más tiempo del especificado.

*Memoria no disponible: Se requiere más memoria de la que el sistema posee.

*Violaciones de frontera: El proceso trata de acceder a una posición de memoria que no tiene
acceso.

*Instrucción no valida: El proceso intenta ejecutar una instrucción inexistente.

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.

Las ventajas que tiene son:


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 cada
minuto, 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.
Las ventajas que tiene son:
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 cada
minuto, 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.
Las ventajas que tiene son:
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 cada
minuto, 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.
Las ventajas que tiene son:
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 cada
minuto, 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.
Las ventajas que tiene son:

*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.

Las ventajas que tiene son:


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 cada
minuto, 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.

También podría gustarte