UNIDAD III

Find the right structure and content for your course and set up a syllabus

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
UNIDAD III por Mind Map: UNIDAD III

1. Procesos: es cualquier actividad que realiza un procesador. Un proceso por lo general también incluye la pila del proceso, que contiene datostemporales ( parámetros de método, direcciones de retorno y variables locales) y una sección dedatos. Que contiene variables globales.

1.1. Caracteristicas que definen a un proceso:

1.1.1. Concurrencia

1.1.1.1. Es la progresión de dos o más procesos que trabajan en paralelo, pero de forma dependiente. Esta es la situación más típica en los sistemas actuales.

1.1.2. Competencia:

1.1.2.1. Situación que se plantea cuando dos o más procesos deben utilizar los mismos recursos físicos o lógicos.

1.1.3. Cooperación:

1.1.3.1. ocurre cuando dos procesos que se están ejecutando son independientes, es decir, para que lleguen a un resultado, se necesitan mutuamente

1.1.4. Jerarquía:

1.1.4.1. Es la relación que se establece entre procesos que son interdependientes en mayor o menor grado, estableciéndose familias de procesos

1.1.5. Estado:

1.1.5.1. Es el grado de uso de la CPU:

1.1.5.1.1. Nuevo: el proceso se esta creando

1.1.5.1.2. En ejecución : se están ejecutando instrucciones

1.1.5.1.3. En espera: el proceso está esperando que ocurra algún evento.

1.1.5.1.4. Listo: el proceso está en espera de ser asignado a un procesador.

1.1.5.1.5. Terminado: el proceso ha terminado su ejecución

1.2. Tipos de procesos

1.2.1. Son diferentes según las características y/o atributos que poseen. Siguiendo el criterio de la utilización de la memoria, los procesos pueden ser:

1.2.1.1. Proceso residente: Se trata de aquel proceso que durante su estado de activado tiene que estar cargado en la memoria

1.2.1.2. Proceso intercambiable: Como aquel proceso que está en estado de espera y del cual se toma su proceso tratado por la CPU y se incluye en un fichero del sistema, con lo que se deja liberada la porción de memoria correspondiente

1.2.1.3. Procesos reutilizables: O programas que pueden usar varios usuarios ya que están codificados con variables genéricas y los usuarios sólo tienen que introducir los valores correspondientes a la posición de las variables en el código. Tiene la ventaja de que se carga en memoria una sola vez y se usa varias veces inicializando adecuadamente las variables

1.2.1.4. Procesos reentrantes: Procesos cuyas instrucciones son invariantes, con lo que pueden usarse de nuevo sin tener que cargarse otra vez. Están estructurados separando lógicamente los segmentos de datos y de código, con lo que dos instancias del mismo proceso pueden compartir el mismo código

1.2.1.5. Proceso de excepciones: Circunstancias que se pueden presentar en un proceso ocasionadas por un suceso que se ha presentado pero que no debería haber tenido lugar, con lo que el sistema tratará de eludirlo. Es lo que se denomina comúnmente un error

1.3. Colas de planificacion

1.3.1. A medida que los procesos van entrando al sistema, se les coloca en una cola de trabajos en están todos los procesos en el sistema. Los procesos que residen en la memoria principal listos y en espera de ejecutarse se mantienen en una lista denominada la cola de procesos listos.

1.3.1.1. Existen otras colas en el sistema. Cuando a un proceso se le asigna la CPU, se ejecuta durante cierto tiempo; después abandona, es interrumpido, o debe esperar la ocurrencia de algún evento particular, como sería la terminación de una solicitud E/S. En el caso de una solicitud de E/S, tal petición puede ser una unidad de cinta dedicada, o a un dispositivo compartido, como un disco.

2. Sistema operativo:Conjunto de órdenes y programas que controlan los procesos básicos de una computadora y permiten el funcionamiento de otros programas.

2.1. Funciones

2.1.1. Colocar el programa fuente almacenado en el dispositivo de entrada adecuado

2.1.2. Desencadenar la ejecución de un programa de lectura para el dispositivo elegido

2.1.3. Desencadenar la ejecución de un compilador que traduzca el programa fuente.

2.1.4. Colocar los datos de entrada en el dispositivo adecuado.

2.1.5. Ejecutar el programa objeto.

2.1.6. Detección de errores lógicos o físicos.

2.2. Características

2.2.1. Conveniencia: hace más conveniente el uso de una computadora.

2.2.2. Eficiencia: permite que los recursos de la computadora se usen de la manera más eficiente posible.

2.2.3. Mejoramiento continuo: permite el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.

2.2.4. Administración de hardware:  asigna a cada proceso una parte del procesador para poder compartir los recursos.

2.2.5. Gestionar a través del kernel: se encarga de comunicar a los dispositivos periféricos, cuando el usuario lo requiera.

2.2.6. Comunicacion abierta en red: permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras

2.2.7. Entradas y salidas: Esta debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

2.3. Modalidades de trabajo de los S.O

2.3.1. Sistemas operativos de tiempo compartido

2.3.1.1. consiste en el uso de un sistema por más de una persona al mismo tiempo

2.3.1.1.1. Caracteristicas

2.3.2. Sistemas operativos de tiempo real

2.3.2.1. procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado

2.3.2.1.1. características:

2.3.3. Sistemas operativos de red

2.3.3.1. ofrece un mecanismo para transferir archivos de una máquina a otra

2.3.3.1.1. En este entorno, cada instalación mantiene su propio sistema de archivos local y si un usuario de la instalación A quiere acceder a un archivo en la instalación B, hay que copiar explícitamente el archivo de una instalación a otra. Internet proporciona un mecanismo para estas transferencias, a través del programa protocolo de transferencias de archivos FTP (File Transfer Protocol).

3. Administración de Memoria: Son diversos métodos y operaciones destinados a obtener la máxima utilidad y provecho de una memoria informática, en pos del buen uso y funcionamiento del sistema en su totalidad.

3.1. Particionada: Se divide en varios segmentos que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es más compleja pero más eficiente.

3.2. Simple: Cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento.

3.3. Re-localizable: Se re-localiza los programas para reunir los bloques vacíos y compactarlos, para hacer un bloque de memoria lo bastante grande para aceptar algunas o todas las tareas en espera de entrar.

3.4. Paginada: La memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página, lo que minimiza la fragmentación interna y evita la externa.

3.5. Segmentacion: Realiza una agrupación lógica de la información en bloques de tamaño variables denominados segmentos.

4. Memoria: La memoria es el dispositivo que retiene, memoriza o almacena datos informáticos durante algún intervalo de tiempo.

4.1. Memoria Virtual: Combina la RAM del equipo con espacio temporal en el disco duro. Cuando queda poca RAM, la memoria virtual mueve datos de la RAM a un espacio llamado archivo de paginación.

4.2. Memoria Real: Es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos.

4.3. Memoria Auxiliar: también conocida como almacenamiento secundario, es el conjunto de dispositivos y soportes de almacenamiento de datos que conforman el subsistema de memoria de la computadora, junto con la memoria primaria o principal.

5. Definiciones

5.1. Swapping: es mover un proceso o parte de él temporalmente desde la memoria principal a un dispositivo secundario de almacenamiento para luego devolverlo a la memoria principal.

5.2. Overlays: Son fragmentos o secciones de un programa, con el cual se va trabajando para que el sistema operativo no sea tan pesado.

5.3. Carga y Enlace Dinamico: Proteger  la carga en memoria de un modulo hasta que el programa lo llame,como tambien tenemos el "Enlace dinamico"  que es otro caso de carga dinamica , es aque en el cual la biblioteca de codigo se enlazada cuando un determinado programa

6. Mejoramiento de la memoria principal: Permite ejecución de programas que no están totalmente en la memoria principal.

6.1. Satisface

6.1.1. Tiempo de acceso

6.1.2. Capacidad de almacenamiento

6.2. Antes

6.2.1. Tecnicas de overlay

6.3. Memoria virutal

6.3.1. Un sistema informático con memoria virtual pone a disposición del usuario una gran cantidad de memoria, que en  reside en un dispositivo de almacenamiento masivo.

6.4. Incorporación de hardware

6.4.1. MMu en el microprocesador

6.5. Funciones para el S.O

6.5.1. Poseer lista completa con los descriptores de todos los objetos residentes en MV y MP.

6.5.2. Cargar objetos en MP en tiempo de ejecución.

6.5.3. Manejo de espacios libres en MP. Algoritmos dedecisión de qué objetos pueden traspasarse desde MP a MV para liberar espacio.

6.6. Cache

6.6.1. Memoria auxiliar ,Pequeña capacidad, alta velocidad.

6.6.1.1. Mejorar rendimiento de la memoria principal

6.6.2. Anticipación a las peticiones del procesador

6.6.3. Un buen empleo de cache puede proporcionar 90% de aciertos

7. Sincronización y comunicación de procesos

7.1. Bloque de control del proceso

7.1.1. este contiene diversas piezas de información asociadas a un proceso específico incluyendo:

7.1.1.1. Estado del proceso: el estado puede ser nuevo, listo en ejecución, espera, detenido etc..

7.1.1.2. Contador de programa: el contador indica la dirección de la siguiente instrucción a ejecutar.

7.1.1.3. Registros del CPU: incluyen acumuladores, registros, índice, apuntadores de pila y registros de propósito general, además de cualquier información de código de condición. Junto con el contador de programa, esta información de estado debe guardarse cuando ocurre una interrupción, para posteriormente permitir que el proceso continúe de forma más apropiada.

7.1.1.4. Información de planificación del CPU: esta información incluye la prioridad del proceso, apuntadores de colas de planificación y cualquier otro parámetro de planificación. apuntadores de colas de planificación y cualquier otro parámetro de planificación.

7.1.1.5. Información de administración de la memoria: esta información puede incluir datos referentes al valor de los registros base y límite, las tablas de páginas, o las tablas de segmentos, dependiendo

7.1.1.6. valor de los registros base y límite, las tablas de páginas, o las tablas de segmentos, dependiendo del esquema de memoria empleado por el sistema operativo.

7.1.1.7. del esquema de memoria empleado por el sistema operativo.

7.2. Planificadores

7.2.1. Un proceso migra entre las diversas colas de planificación a lo largo de su existencia para fines de planificación, el sistema operativo debe seleccionar en alguna forma los procesos de estas colas. Esta selección la realiza el planificador apropiado. Un proceso limitado por E/S es el que consume más de su tiempo haciendo operaciones E/S que haciendo cálculos. Un proceso limitado por CPU es el que genera solicitudes de E/S de manera poco frecuente empleando más tiempo en cálculos que utilizando por un proceso limitado de E/S.

7.2.1.1. El planificador de largo plazo o planificador de trabajos, selecciona procesos de esta reserva y loscarga en memoria para su ejecución. La distinción principal entre el planificador de largo plazo y el planificador de corto plazo, es la frecuencia de su ejecución, el planificador de corto plazo debeseleccionar repetidamente un nuevo proceso para que la cpu, ejecute durante solo unos cuantosmilisegundos antes de esperar una solicitud de esa, por su parte el planificador de largo plazo se ejecuta con menos frecuencia, y puede pasar minutos a la creación de un nuevo proceso.

7.3. Conmutación de contexto

7.3.1. La conmutación de la cpu a otro proceso requiere conservar el estado del proceso anterior y cargar el estado guardado del nuevo proceso incluyendo el valor de los registros del la cpu y el estado del proceso y la información sobre administración de la memoria, esto solo implica cambiar el apuntador al conjunto de registros actual.

7.4. Procesos cooperativos.

7.4.1. cualquier proceso que comparte datos con otros procesos es un proceso cooperativo.

7.5. Sincronización

7.5.1. La comunicación entre procesos tiene lugar mediante llamadas a las primitivas send y recive

7.5.1.1. Existen varias opciones para el diseño o implementacion

7.5.1.1.1. Envió con bloqueo: el proceso emisor se bloquea hasta que el mensaje es recibido por el proceso receptor o por el buzón.

7.5.1.1.2. Envío sin bloqueo: el proceso emisor envía el mensaje y continúa su operación

7.5.1.1.3. Recepción con bloqueo: el receptor se bloquea hasta que haya un mensaje disponible.

7.5.1.1.4. Recepción sin bloqueo: el receptor recupera un mensaje válido, o bien un valor nulo.

7.6. Hilos

7.6.1. Es una unidad básica de utilización de la CPU; comprende la ID del host, un contador de programa, un conjunto de registros y una pila.

7.6.1.1. comparte con otros hilos que pertenecen al mismo proceso su sección de código, su sección de datos y otros recursos del sistema operativo.

7.6.2. Beneficios

7.6.2.1. Su grado de respuesta

7.6.2.2. Compartir recursos

7.6.2.3. Economía

7.6.2.4. Utilización de arquitecturas de multiprocesadores.

7.6.3. Tipos

7.6.3.1. Hilos de usuario :tienen soporte por encima del kernel y son implementados por una biblioteca de hilos a nivel usuario.

7.6.3.2. Hilos de kernel:  tiene soporte directo del sistema operativo, la creación, programación y administración de hilos los realiza el kernel en su propio estado.

7.6.3.3. Modelos de multihilos

7.6.3.3.1. Modelo de varios a uno: Mapea múltiples hilos a nivel de usuario en un hilo de kernel

7.6.3.3.2. Modelo de uno a uno: Mapea cada hilo de usuario e un hilo de kernel

7.6.3.3.3. Modelo de varios a varios: Combina muchos hilos a nivel de usuario con un número menor o igual de hilos de kernel

8. JOSE VIEIRA CI:20.362.012 MOISES GALINDEZ CI: 20.108.526

9. JOSE VIEIRA CI:20.362.012 MOISES GALINDEZ CI: 20.108.526