Gl Osario
-
Upload
jamthebest -
Category
Documents
-
view
4 -
download
0
Transcript of 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.
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
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.
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á
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:
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.
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.
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
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.