9
Glosario Capítulo 1 1. Sistema Operativo: Es un programa que administra el hardware de una computadora. 2. Programa de Arranque: Se almacena en la memoria ROM o en la EEPROM y se conoce con el término general firmware, dentro del hardware. Se inicializan todos los aspectos del sistema, desde los registros de la CPU hasta las controladoras de dispositivos y el contenido de la memoria. Localiza y carga en memoria el kernel del SO. 3. Interrupción: Indica la ocurrencia de un suceso. El hardware la activa en cualquier instante enviando una señal a la CPU, normalmente a través del bus del Sistema. El Software la puede activar ejecutando una operación especial denominada llamada al sistema. 4. Llamada al Sistema: Es la operación de llamada que hace el sistema para que se levante una interrupción. a. Paso de Parámetro al SO: 5. Memoria a. DRAM: Memoria dinámica de acceso aleatorio. Es una tecnología de semiconductores que forma una matriz de palabras de memoria. b. SDRAM: c. DDR1: d. DDR2: e. DDR3: i. Prestaciones: 6. Registro de Instrucción: En este registro se almacena la instrucción que se extrae de la memoria en un clico de instrucción-ejecución. 7. Contador de Programa: 8. Acumulador, etc: 9. Almacenamiento Secundario: Es una extensión de la memoria principal. Almacenan una gran cantidad de datos de forma permanente. a. HD: Proporciona un sistema de almacenamiento tanto para programas como para datos. b. CD: c. Flash Memory: d. SDD: e. Bluray. Costo: f. Almacenamiento: 10. Sistema Multiprocesador: Pueden ejecutar varias tareas consecutivamente. a. Ventajas: i. Mayor Rendimiento: Se realiza más trabajo en menos tiempo.

Gl Osario

Embed Size (px)

Citation preview

Page 1: Gl Osario

Glosario

Capítulo 1

1. Sistema Operativo: Es un programa que administra el hardware de una

computadora.

2. Programa de Arranque: Se almacena en la memoria ROM o en la EEPROM y se

conoce con el término general firmware, dentro del hardware. Se inicializan todos los

aspectos del sistema, desde los registros de la CPU hasta las controladoras de

dispositivos y el contenido de la memoria. Localiza y carga en memoria el kernel del

SO.

3. Interrupción: Indica la ocurrencia de un suceso. El hardware la activa en cualquier

instante enviando una señal a la CPU, normalmente a través del bus del Sistema. El

Software la puede activar ejecutando una operación especial denominada llamada al

sistema.

4. Llamada al Sistema: Es la operación de llamada que hace el sistema para que se

levante una interrupción.

a. Paso de Parámetro al SO:

5. Memoria

a. DRAM: Memoria dinámica de acceso aleatorio. Es una tecnología de

semiconductores que forma una matriz de palabras de memoria.

b. SDRAM:

c. DDR1:

d. DDR2:

e. DDR3:

i. Prestaciones:

6. Registro de Instrucción: En este registro se almacena la instrucción que se extrae

de la memoria en un clico de instrucción-ejecución.

7. Contador de Programa:

8. Acumulador, etc:

9. Almacenamiento Secundario: Es una extensión de la memoria principal.

Almacenan una gran cantidad de datos de forma permanente.

a. HD: Proporciona un sistema de almacenamiento tanto para programas como

para datos.

b. CD:

c. Flash Memory:

d. SDD:

e. Bluray. Costo:

f. Almacenamiento:

10. Sistema Multiprocesador: Pueden ejecutar varias tareas consecutivamente.

a. Ventajas:

i. Mayor Rendimiento: Se realiza más trabajo en menos tiempo.

Page 2: Gl Osario

ii. Economía de Escala: Pueden resultar más baratos que su

equivalente con múltiples sistemas de un solo procesador.

iii. Mayor Fiabilidad: El fallo de un procesador no hará que el sistema

deje de funcionar, sino que solo se ralentizará.

11. Sistema en Cluster: Es un sistema con múltiples CPU para llevar a cabo el trabajo.

Están formados por dos o más sistemas individuales acoplados.Los sistemas en Cluster

comparten el almacenamiento y se conectan entre sí a través de una red de área local

o mediante una conexión más rápida.

12. Tiempo Compartido: Es una extensión lógica de la multiprogramación. En los

sistemas de tiempo compartido, la CPU ejecuta múltiples trabajos conmutando entre

ellos, pero las conmutaciones se ejecutan tan frecuentemente que los usuarios

pueden interactuar con cada programa mientras éste está en ejecución.

13. Operación en modo Dual: Es el método que usan la mayoría de los sistemas

informáticos que proporciona soporte hardware que nos permite diferenciar entre

varios modos de ejecución para distinguir entre la ejecución del código del sistema

operativo y del código definido por el usuario.

a. Modo de Usuario: Le otorga el control al usuario y le permite ejecutar

código de usuario

b. Modo Kernel: El sistema Operativo toma el control y ejecuta código

correspondiente al sistema operativo. Ejecuta instrucciones privilegiadas.

14. Temporización: Impide que un programa de usuario entre en un bucle infinito o que

no llame a los servicios del Sistema y nunca devuelva el control al sistema operativo.

Está diseñado para crear una interrupción en un tiempo específico

15. Estructura del CPU:

Capítulo 2

1. Interfaz de línea de comandos: CLI = command-line interface. Usa comandos de

textos y algún tipo de método para introducirlos, es decir, un programa que permita

introducir y editar los comandos.

a. Uso: Obtener y ejecutar el siguiente comando especificado por el usuario.

Manipulación de archivos: creación, borrado, listado, impresión, copia,

ejecución, etc.

b. Ventajas:

2. Mecanísmo: Determinan cómo hacer algo

3. Política: Determinan qué hacer. Posiblemente cambien de un sitio a otro con el paso

del tiempo. En el peor de los casos, cada cambio en una política requerirá un cambio

en el mecanismo subyacente.

4. Microkernel: Es un método que estructura el sistema operativo eliminando todos

los elementos no esenciales del kernel e implementándolos como programas del

sistema y de nivel del usuario; el resultado es un kernel más pequeño. Proporcionan

una gestión de la memoria y de los procesos mínima, además de un mecanismo de

comunicaciones. Su función principal es proporcionar un mecanismo de

Page 3: Gl Osario

comunicaciones entre el programa de cliente y los distintos servicios que se ejecutan

también en el espacio de usuario.

5. Kernel Monolítico: Dispone de un conjunto de componentes fundamentales y

enlaza dinámicamente los servicios adicionales, bien durante el arranque o en tiempo

de ejecución. Permite al kernel proporcionar servicios básicos y también permite

implementar ciertas características dinámicamente.

6. Paso de Mensajes: Los procesos que se comunican intercambian mensajes entre sí

para transferirse información. Los mensajes se pueden intercambiar entre los procesos

directa o indirectamente a través de un buzón de correo común.

7. Memoria Compartida: Los procesos usan las llamadas al sistema Shared Memory

Create y Shared Memory Attach para crear y obtener acceso a regiones de la memoria

que son propiedad de otros procesos.

8. Máquina Virtual: La idea fundamental es abstraer el hardware de la computadora

(CPU, memoria, unidades de disco, etc.), formando varios entornos de ejecución

diferentes, creando así la ilusión de que cada entorno de ejecución está operando en

su propia computadora privada.

9. Programa de Arranque (BIOS): Se encarga de localizar el kernel, lo carga en la

memoria principal e inicia su ejecución.

10. Boot Sector:

11. JVM (Cómo funciona): Es una especificación de una computadora abstracta.

Consta de un cargador de clases y de un intérprete de Java que ejecuta el código

intermedio arquitectónicamente neutro. El cargador de clases carga los archivos .class

compilados correspondientes tanto al programa Java como a la Api Java, para

ejecutarlos mediante el intérprete de Java. Despues de cargada una clase, el

verificador comprueba que el archivo .class es un código intermedio Java válido y que

no desborda la pila ni por arriba ni por abajo. También verifica que el código

intermedio no realice operaciones aritméticas con los punteros que proporcionen

acceso ilegal a la memoria. Si la clase pasa la verificación el intérprete de Java la

ejecuta.

12. VMWare (Cómo funciona): Es una popular aplicación comercial que abstrae el

hardware 80x86 de intel, creando una serie de máquinas virtuales aisladas. Se ejecuta

como una aplicación sobre un sistema operativo host, tal como Windows o Linux, y

permite al host ejecutar de forma concurrente varios sistemas operativos huésped

diferentes como máquinas virtuales independientes.

Capítulo 3

1. Proceso: Es un programa en ejecución. Es la unidad de trabajo en los sistemas

modernos de tiempo compartido.

a. Sección de texto: Es el código del programa.

b. Sección de variables globales: Llamada también sección de datos

c. Montículo: Memoria que se aasigna dinámicamente al proceso en tiempo de

ejecución.

Page 4: Gl Osario

d. Pila: Contiene datos temporales (como los parámetros de las funciones, las

direcciones de retorno y las variables locales).

2. Estados del proceso: A medida que se ejecuta el proceso, este va cambiando de

estado. El estado de un proceso se define, en parte, según la actividad actual de dicho

proceso.

a. Nuevo: El proceso está siendo creado

b. Listo: El proceso está a la espera de que le asignen a un procesador

c. En ejecución: Se están ejecutando las instrucciones

d. Terminado: Ha terminado la ejecución del proceso

e. En espera: El proceso está esperando a que se produzca un suceso (como la

terminación de una operación de E/S o la recepción de una señal)

3. Bloque de control de proceso (PCB): Contiene muchos elementos de

información asociados con un proceso específico, entre los que se incluyen: Estado del

proceso, contador de programa, registros de la CPU, Información de la planificación de

la CPU, Información de gestión de memoria, información contable, Información de

estado de E/S, etc.

4. Hilo de control: Es una unidad básica de utilización de la CPU; comprende un ID de

hebra, un contador de programa, un conjunto de registros y una pila. Lleva el control

de ejecución de proceso.

5. Cola del dispositivo: Es la lista de procesos en espera de un determinado

dispositivo de E/S. Cada dispositivo tiene su propia cola.

6. Proceso limitado por E/S: Es aquel que invierte la mayor parte de su tiempo en

operaciones de E/S en lugar de realizar cálculos.

7. Proceso limitado por CPU: Genera solicitudes de E/S con poca frecuencia, usando

la mayor parte de su tiempo en realizar cálculos.

8. Cambio de contexto: Al producirse una interrupción el sistema operativo obliga a

la CPU a abandonar su tarea actual, para ejecutaar una rutina del kernel. Cuando esto

sucede el sistema tiene que guaradar el contextp actual del proceso que se está

Page 5: Gl Osario

ejecutando en la CPU, de modo que pueda resturar dicho contexto cuando su

procesamiento concluya, suspendiendo el proceso y reanudándolo después.

9. Creación de procesos: fork, exec: Un proceso puede crear varios procesos nuevos

mientras se ejecuta; para ello se utiliza una llamada al sistema específica para la

creación del proceso. El proceso creador se denomina Proceso Padre y los nuevos

procesos son los hijos de dicho proceso. Cada uno de estos procesos nuevos puede

crear a su vez otros procesos, dando lugar a un árbol de procesos.

a. Cuando un proceso crea otro proceso nuevo, existen dos posibilidades en

términos de ejecución:

i. El padre continúa ejecutándose concurrentemente con su hijo.

ii. El padre espera hasta que alguno o todos los hijos han terminado de

ejecutarse.

b. También existen dos posibilidades en función del espacio de direcciones del

nuevo proceso:

i. El proceso hijo es un duplicado del proceso padre (usa el mismo

programa y los mismos datos que el padre).

ii. El proceso hijo carga un nuevo programa.

10. Razones para compartir datos entre los proceso:

a. Compartir Información

b. Acelerar los cálculos

c. Modularidad

d. Conveniencia

Capítulo 4

1. Bloque de hilo de control (TCB): Conjunto de hebras que pertenecen al mismo

proceso.

a. Componentes:

b. Ventajas:

i. Capacidad de Respuesta. Permite que un programa continúe

ejecutándose incluso aunque parte de él esté bloqueado o realizando

una operación muy larga, lo que incrementa la capacidad de respuesta

al usuario.

ii. Compartición de Recursos. Por omisión, las hebras comparten la

memoria y los recursos del proceso al que pertenecen

iii. Economía. Dado que las hebras comparten recursos del proceso al

que pertenecen, es más económico crear y realizar cambios de

contexto entre unas y otras hebras.

iv. Utilización sobre Arquitecturas Multiprocesador. Las hebras

pueden ejecutarse en paralelo en los distintos procesadores e

incrementan el grado de concurrencia.

2. Modelos de hilos de control:

Page 6: Gl Osario

a. Muchos a muchos: Multiplexa muchas hebras de usuario sobre un número

menor o igual de hebras del kernel.

b. Uno a uno: Asigna cada hebra de usuario a una hebra de kernel. Proporciona

una mayor concurrencia que el modo muchos-a-uno, permitiendo que se

ejecute otra hebra mientras una hebra hace una llamada bloqueante al

sistema; también permite que se ejecuten múltiples hebras en paralelo sobre

varios procesos. El único inconveniente es que al crear una hebra de usuario

requiere crear la correspondiente hebra de kernel.

Page 7: Gl Osario

c. Muchos a uno: Asigna múltiples hebras del nivel de usuario a una hebra del

Kernel. La gestión se hace a través de la biblioteca de hebras en el espacio de

usuario, por lo que resulta eficiente, pero el proceso completo se bloquea si

una hebra realiza una llamada bloqueante al sistema. Sólo una hebra puede

acceder al kernel cada vez, y no podrán ejecutarse varias hebras en paralelo

sobre múltiples procesadores.

3. Librerías de hilos de control (PTHREADS): Se basa en el estándar POSIX que

define a una API para la creación y sincronización de hebras. Se trata de una

especificación para el comportamiento de hebras, no de una implementación.

Capítulo 5

1. Planificación

a. Preferente: El proceso que se está ejecutando actualmente puede ser

interrumpido y pasado al estado de listo por el sistema operativo. La decisión

de apropiarse del procesador puede llevarse a cabo cuando llega un nuevo

proceso, cuando se produce una interrupción que lleva a un proceso

bloqueado al estado listo o periódicamente, en función de una interrupción

del reloj.

b. No preferente: Una vez que se haya la CPU a un proceso, el proceso se

mantiene en la CPU hasta que esta es terminada bien por la terminación del

proceso o por la conmutación al estado de espera.

Page 8: Gl Osario

2. Despachador (dispatcher): Es el módulo que proporciona el control de la CPU a

los procesos seleccionados por el planificador a corto plazo. Esta función implica lo

siguiente:

a. Cambio de contexto

b. Cambio al modo usuario

c. Salto a la posición correcta dentro del programa de usuario para reiniciar dicho

programa.

i. El tiempo que tarda el despachador en detener a un proceso e iniciar

la ejecución de otro se conoce como latencia de despacho.

3. Criterios para la planificación:

a. Uso de CPU: Deseamos mantener la CPU tan ocupada como sea posible. La

utilización de la CPU se define en el rango comprendido entre el 0 y el 100 por

ciento. En un sistema normal debe variar entre 40 y 90

b. Tasa de procesamiento: Si la CPU está ocupada ejecutando procesos,

entonces se estará llevando a cabo algún tipo de trabajo. Una medida de esa

cantidad de trabajo es el número de procesos que se completan por unidad de

tiempo, y dicha cantidad es la tasa de procesamiento. Puede variar entre 1

proceso por hora a 10 procesos por segundo.

c. Tiempo de ejecución: Es el intervalo que va desde el instante en el que se

ordena la ejecución de un proceso hasta el instante en el que se completa.

d. Tiempo de espera: Es la suma de los periodos invertidos en esperar en la

cola de procesos preparados.

e. Tiempo de respuesta: Tiempo transcurrido desde que se envía una

solicitud hasta que se produce la primera respuesta. Es el tiempo que el

proceso tarda en empezar a responder, no el tiempo que tarda en enviar a la

salida toda la información de respuesta.

4. Planificación

a. FCFS: (First-Come, First-Serve). Se asigna primero la CPU al proceso que

primero la solicite. La planificación se gestiona con una cola FIFO. Cuando un

proceso entra en la cola de procesos preparados, su PBC se coloca al final de la

cola. Cuando la CPU queda libre, se asigna al proceso que esté al principio de

la cola y ese proceso que pasa a ejecutarse se elimina de la cola.

b. SJF: (Shortest-Job-First). Asosia con cada proceso la duración de la siguiente

ráfaga de CPU del proceso. Cuando la CPU está disponible, se asigna al proceso

que tiene la siguiente ráfaga de CPU más corta. Si las siguientes ráfagas de CPU

de dos procesos son iguales, se usa la planificación FCFS para romper el

empate.

c. Prioridad: A cada proceso se le asigna una prioridad y la CPU se asigna al

proceso que tenga la prioridad más alta. Los procesos con la misma prioridad

se planifican por orden FCFS.

d. RR: (Round Robin). Está diseñado especialmente para los sistemas de tiempo

compartido. Es similar a la técnica de FCFS, pero se añade la técnica de

desalojo para conmutar entre procesos. En este tipo de sistema se define una

pequeña unidad de tiempo, denominada cuanto de tiempo, o franja temporal.

e. Colas multinivel: Divide la coloa de procesos preparados en varias colas

distintas. Los procesos se asignan permanentemente a una cola, generalmente

Page 9: Gl Osario

en función de alguna propiedad del proceso, como por ejemplo el tamaño de

la memoria, la prioridad del proceso o el tipo de proceso. Cada cola tiene su

propio tipo de planificación. Por ejemplo, pueden emplearse colas distintas

para los procesos de primer plano y de segundo plano.

f. Colas multinivel con retroalimentación: Permite mover los procesos de

una cola a otra. La idea es separar los procesos en función de las

características de sus ráfagas de CPU. Si un proceso utiliza demasiado tiempo

de CPU, se pasa a una cola de prioridad más baja. Este esquema deja los

procesos limitados por E/S y los procesos interactivos en las colas de prioridad

más alta. Además un proceso que esté esperando demasiado tiempo en una

cola de baja prioridad puede pasarse a una cola de prioridad más alta. Este

mecanismo de envejecimiento evita el bloqueo indefinido.

5. SMP: (Multiprocesamiento Simétrico). Cada uno de los procesadores se auto-

planifica. Todos los procesos pueden estar en una cola común de procesos preparados,

o cada procesador puede tener su propia cola privada de procesos preparados.

Independientemente de esto, la planificación se lleva a cabo haciendo que el

planificador de cada procesador examine la cola de procesos preparados y seleccione

un proceso para ejecutarlo.