S.O. Segunda Unidad

Description

#EstudiandoParaHoraSíSacar10
Angelica Flores
Flashcards by Angelica Flores, updated more than 1 year ago
Angelica Flores
Created by Angelica Flores about 5 years ago
23
1

Resource summary

Question Answer
Proceso Informal: "Un proceso es un programa en ejecución". Formal: "Un proceso es la entidad mínima de software ejecutándose en el S.O. contenida en un estructura de información".
Diagrama de estados Es la forma gráfica de representar el ciclo de vida de un proceso. Un estado es la etapa en la que se encuentra un proceso dentro de su ciclo de vida.
Estados de un S:O. Iniciado Listo para ejecutarse En ejecución Terminado En espera Suspendido Dormido Zombie
Estado INICIADO Estado en el que el proceso se encuentra al iniciar su ejecución
Estado LISTO PARA EJECUTARSE Estado en el que un proceso tiene asignados todos los recursos para su ejecución.
Estado EN EJECUCIÓN Estado en el que un proceso se ejecuta en la CPU.
Estado TERMINADO Estado en el que un proceso concluye su ejecució liberando los recursos asignados.
Estado EN ESPERA Estado en el que un proceso espera la terminación de una operación de entrada o salida
Estado SUSPENDIDO Estado en el que un proceso es interrumpido en su ejecución por el sistema.
Estado DORMIDO Estado en el que un proceso es interrumpido de forma voluntaria por el propio proceso.
Estado ZOMBIE Estado en el que algún proceso es interrumpido de forma indefinida por algún tipo de error en su ejecución.
Diagrama de estados
Bloque de Control del Proceso Estructura de información elegida de entre las estructuras disponibles en el lenguaje de programación con el cual se desarrolla el S.O. Esta estructura contendrá toda la información requerida por el S.O. para caraterizar de manera única a cada proceso en ejecución.
Elementos comunes en un PCB Apuntador a PCB Identificador de procesos Estado del proceso Registros Contadores del programa Información de planificación Información de memoria Información contable
ELEMENTOS DE UN PCB Apuntadores a PCB Este elemento mantiene una referencia al siguiente PCB dentro de la cola de planificación en donde se encuentra actualmente el proceso.
ELEMENTOS DE UN PCB Identificador del proceso Mantiene un número entero positivo asignado por el S.O. al proceso creado, que sirve para identificar a dicho proceso, siendo este identificador único.
ELEMENTOS DE UN PCB Estado del proceso Mantiene un vlor relacionado al estado actual en el que se encuentra el proceso dentro de su ciclo de vida.
ELEMENTOS DE UN PCB Registros Contiene los valores de todos los registros del procesador que alctualmente esté utilizando el proceso en ejecución.
Contador del programa Contiene el valor almacenado en el registro del proceso PC o IP.
ELEMENTOS DE UN PCB Información de planificación Contiene información relacionada con la planificación del proceso: Algoritmo de planificación utilizado Prioridad (si se una un algoritmo por prioridad) Cola de información actualmente utilizada.
ELEMENTOS DE UN PCB Información de memoria Contiene información relacionada con el uso de la memoria del proceso durante su ejecución: Tabla de páginas o segmentación. Dirección de páginas o segmentos actualmente utilizados. Mapa de memoria de datos.
ELEMENTOS DE UN PCB Información Contable Contiene información relacionada con métricas medidas en la ejecución del proceso. Tiempo de espera del proceso Tiempo de ejecución en la CPU Tiempo de acceso a memoria Tiempo de acceso a dispositivos de E/S
Árbol de procesos Dentro de él se ubican todos los procesos del S.O. Está formado por un nodo raíz, que representa el inicio de la jerarquía de los procesos contenidos en el árbol; procesos de sistema y procesos de usuario.
Proceso del sistema Se encuentra en los primeros niveles del árbol; es aquel proceso ejecutado por el S.O. perteneciente a alguno de los admons. del sistema. Se caracterizan por ejecutarse en el modo kernel o motor del procesador.
Proceso de usuario Proceso ejecutados por los usuarios del S.O., se caracterizan por ejecutarse en el modo usuario o protegido del procesador.
PID Internamente en el árbol de procesos, cada proceso es referenciado por su IDENTIFICADOR DE PROCESOS (PID), asignado por el S.O. una vez que se crea el proceso. A través de él el admon. de procesos puede identificar a cualquier proceso en ejecución en el S.O. y ubicarlo rápidamente dentro del árbol de procesos.
Relación padre-hijo entre los procesos Esta relación permite al proceso padre heredar prioridades, archivos abiertos, sockets abiertos, tuberías, memoria compartida a su proceso hijo. La relación ayuda al control en el S.O. y a la ubicación de forma exacta de cada proceso en ejecución.
Ráfagas de CPU Son lápsos de tiempo que un proceso pasa ejecutando instrucciones en el procesador. Un proceso que voluntariamente se compone de estas ráfagas se le conoce como "Proceso limitado por CPU".
Ráfagas de E/S Son lápsos de tiempo que un proceso pasa ejecutando instrucciones de entrada o salida en los dispositivos de E/S. Un proceso que mayoritariamente esta compuesto por ráfagas de E/S se le conoce como proceso limitado por E/S.
Creación de procesos por petición del usuario Manera más común. En ella el usuario directamente solicita al S.O. la creación del nuevo proceso que le interesa ejecutar. Se lleva a cabo mediante la interfaz de comunicación textual o gráfica con la que interatua el sistema.
Creación de procesos por petición de una aplicación Consiste en que una app en ejecución internamente solicita al S.O. la creación de un nuevo proceso. Esta solicitud se realiza a través de una llamada al sistema que proporcione el S.O. a la app.
Formas de creación de procesos por petición de una aplicación Creación de procesos por copia exacta de código Creación de procesos por sustitución de código
Programación concurrente Es aquella que permite programar la solución de un problema mediante la creación de unidades funcionales de ejecución que forman parte de la solución general al problema a resolver. La creación de procesos es su base.
Creación de procesos por copia exacta de código Consiste en la creación de un nuevo procesos (hijo) a partir de un proceso creador (padre), el proceso hijo internamente será una copia exacta en su código al código de su padre; por lo que tendrán como contenido el mismo código. UNIX y LINUX soportan esta forma a través de la llamada al sistema fork().
Creación de procesos por sustitución de código Es la forma más común. Consiste en una creación de un nuevo proceso, el cual sustituirá su código al código del proceso creador. execv() LINUX Y UNIX CreateProcess() Windows
Creación de procesos por sustitución de código CARACTERÍSTICA 1 El proceso creador es destruído una vez que el proceso hijo sustituye su código, por lo que no es posible continuar con la ejecución del proceso padre cuando ha sido creado un proceso hijo.
Creación de procesos por sustitución de código CARACTERÍSTICA 2 Reasignación de la memoria utilizada por el proceso padre hacie el proceso hijo, ajustándose este especio de memoria según las necesidades del proceso hijo.
Soluciones para la pérdida de concurrencia entre procesos en la sustitución de código. UNIX, LINUX: Permiten la combinación de creación por copia exacta de código y creación por sustitución de código. Windows: Asocia a cada proceso un hilo de ejecución y sobre este hilo se realiza la sustitución manteniendo la concurrencia.
Procesos ligeros (hilos) Son procesos que comparten algunos recursos con su padre, siendo el más importante la memoria, lo que hace que el proceso sea más económico para un S.O. Una vez creado un hilo, se ejecuta en concurrencia con su proceso padre. Presentan una posible falla de seguridad, pues es factible que un hilo pueda ingresar a los datos de otro hilo, monitoreando su ejecución.
Técnica de implementación de hilos: POR BIBLIOTECA Consiste en la implementación de un conjunto de funciones asociadas a los hilos dentro de una biblioteca para un lenguaje de programación específico. LINUX .pthread
Técnica de implementación de hilos: POR LLAMADAS AL SISTEMA NATIVAS Consiste en la implementación de funciones asociadas a los hilos dentro del kernel del S.O. mediante llamadas al sistema. Windows CreateThread(). //Es más veloz
¿Hilos o procesos tradicionales? Depende de la aplicación a desarrollar, cuando la app requiere economizar memoria, lo recomendable es usar hilos si se requiere seguridad alta en el aislamiento de la información entre los procesos creados es mejor usar procesos tradicionales.
Planificación de procesos Consiste en la selección de uno o más procesos de una cola de planificación para asignarlo al recurso solicitado.
Tipos de procesos de planificación Planificación a largo plazo Planifcación a mediano plazo Planificación a corto plazo
Planificación a largo plazo Consiste en la selección de procesos ubicados en la reserva de trabajos en disco para ubicarlos en la memoria física (RAM).
Planificación a largo plazo CARACTERÍSTICAS Velocidad lenta comparada con los otros tipos de planificación. Implementado en los S.O. con soporte por lotes.
Planificación a mediano plazo Consiste en la selección de procesos ubicados en la memoria virtual para ubicarlos en la memoria física (RAM)
Planificación a mediano plazo CARACTERÍSTICAS Velocidad más rápida comparada con la velocidad de planificación a largo plazo. Implementado en los S.O. de tiempo compartido.
Grado de multiprogramación de un S.O. La planificación a largo y mediano plazo lo proporcionan. Consiste en el número de procesos ubicados en la RAM en un instante dado.
Planificación a corto plazo Consiste en la selección de un proceso ubicado en la RAM para ejecutarlo en la CP.
Planificación a corto plazo CARACTERÍSTICAS Tiene velocidad más rápida entre todos los tipos de planificación. Implementada en todos los S.O.
Despachador FUNCIONES Cambiar al S.O. de modo usuario a modo kernel. Respaldar el proceso actual en la ejecución en la CPU dentro de su PCB. Cambiar al S.O. de modo kernel a modo usuario. Continuar la ejecución del nuevo proceso.
Clasificación de planificación desde el punto de vista de que la CPU puede ser asginada a un proceso. Planificación expropiativa Planificación no expropiativa
PLANIFICACION EXPROPIATIVA Consiste en que un proceso asignado a la CPU podrá ser interrumpido por otro proceso quitándole el uso de la CPU en cualquier momento.
PLANIFICACIÓN NO EXPROPIATIVA Consiste en que un proceso asignado a la CPU no podrá ser interrumpido por otro proceso bajo ninguna circunstancia.
Criterios de medición de eficiencia de algoritmos de planificación. Utilización de la CPU Tasa de rendimiento Tiempo de retorno Tiempo de espera Tiempo de respuesta
Criterios de medición de eficiencia de algoritmos de planificación. UTILIZACIÓN DE LA CPU Consiste en el porcentaje de uso de la CPU generado por la planificación, un intervalo del 40% al 90% de este criterio se considera eficiente.
Criterios de medición de eficiencia de algoritmos de planificación. TASA DE RENDIMIENTOS Consiste en la medición del núcleo de procesos en cierta unidad de tiempo, una tasa alta se considera eficiente.
Criterios de medición de eficiencia de algoritmos de planificación. TASA DE RETARDO Consiste en el tiempo medido desde el inicion de ejecución de un proceso hasta su terminación.
Criterios de medición de eficiencia de algoritmos de planificación. TIEMPO DE RETARDO CÁLCULO
Criterios de medición de eficiencia de algoritmos de planificación. TIEMPO DE ESPERA Consiste en el tiempo total que un proceso pasa en la cola de procesos listos para ejecutarse. Es el criterio que afecta principalmente la eficiencia. Por lo que se utiliza el tiempo de espera medio para medirla.
Criterios de medición de eficiencia de algoritmos de planificación. TIEMPO DE RESPUESTA Consiste en el tiempo medido desde que inicia un proceso hasta que genera su primer resultado.
Algoritmos de planificación BÁSICOS Algoritmo primero en llegar primero en servirse (FCFS) Algoritmo primero el trabajo más corto (SJF) Algoritmo por prioridad Algorimo por turno circular (Round Robin)
Análisis de eficiencia de un algoritmo de planificación. PASO 1 Construir un diagrama de Gantt de acuerdo al criterio de planificación usado en el algoritmo.
Análisis de eficiencia de un algoritmo de planificación. PASO 2 Calcular el tiempo de espera de cada proceso.
Análisis de eficiencia de un algoritmo de planificación. PASO 3 Calcular el tiempo de espera promedio del grupo de procesos.
Algoritmo primero en llegar primero en servirse (FCFS) Considera como criterio de planificación el orden de llegada de los procesos, primero seleccionará a aquellos procesos que llegaron primero. En el análisis de el análsis de planificación se siguen los pasos construyendo el diagrama de Gantt según el orden de llegada de los procesos.
Algoritmo primero en llegar primero en servirse (FCFS) CARACTERÍSTICAS Únicamente permite la planificación no expropiativa. Generalmente los tiempos de espera promedio producidos son muy largos en duración. Solo se implementa en S.O. con soporte de procesamiento por lotes.
Algoritmo primero el trabajo más corto (SJF) Considera como criterio de planificación la duración más corta de los procesos, es decir, seleccionará primero aquellos procesos con la menor duración. El diagrama de Gantt se realiza según la duración más corta de los procesos.
Algoritmo primero el trabajo más corto (SJF) CARACTERÍSTICAS Permite la planificación tanto no expropiativa como expropiativa. Entre todos los algoritmos de planificación, es el algoritmo que genera menor tiempo de espera promedio. No se implementa en ningún S.O. debido al altao costo que demandaría al S.O.
Algoritmo por prioridad Considera como criterio de planificación la prioridad asociada a cada proceso, es decir, primero selecciona a los procesos con la mayor prioridad.
Algoritmo por prioridad CARACTERÍSTICAS Permite planificación tanto expropiativa como no expropiativa. Genera tiempos de espera promedio considerados como eficientes. Es uno de los algoritmos implementados en la mayoría de S.O.
Algoritmo por turno circular (Round Robin) Considera como creterio de planificación el orden de llegada de los procesos similar al algoritmos FCFS, sin embargo, introduce su tiempo límite de atención a cada proceso, el cual es considerado como cuanto de tiempo.
Colas de múltiples niveles Consiste en la división de una cola de planificación en subcolas sobre las cuales se implementará algún algoritmo de planificación.
Colas de múltiples niveles sencillas Se caracterizan porque una vez que un proceso se asigna a alguna de las subcolas, el proceso no podrá cambiar a otra subcola.
Colas de múltiples niveles retroalimentadas Se caracterizan porque un proceso asignado a una subcola, puede cambiar a otra subcola cumpliendo un requisito.
Proceso independiente Aquellos procesos que no requieren comunicarse entre ellos para cumplor su función.
Procesos cooperativos Aquellos procesos que requieren comunicarse entre ellos para cumplir una función.
Mecanismos de Comunicación Interprocesos (IPC) Tuberías Memoria Compartida Sockets
Tuberías Consisten en un buffer interno que el S.O. se encarga de controlar como si fuese un archivo. Sobre la tubería se pueden realizar operaciones de lectura y escritura, transmitiendo mediante estas operaciones los mesajes a comunicar.
Tuberías CARACTERÍSTICAS Se basan en el paso de mensajes. Los mensajes a transmitir son sin un formato estandarizado. Solo permiten comunicación unidireccional. Solo comunican a dos procesos a la vez.
Memoria Compartida Consiste en una region de memoria creada por un proceso y controlada por el S.O., cualquier proceso podrá solicitar accesp a esta memoria compartida para anexarla a su espacio de direcciones. Una vez que un proceso enlaza la memoria comprtida puede leer o escribir información en esta región de memoria.
Memoria Compartida CARACTERÍSTICAS Se manipula como cualquier región de memoria. Permite la comunicación de múltiples procesos. Requiere sincronización para controlar el acceso.
Sockets Son una extensión de las tuberías, se comunican mediante un canal de transmisión, permite que la comunicación pueda ser tano interna como externamente a la computadora donde se ejecutan los procesos a comunicar.
Sockets CARACTERÍSTICAS Se basan en el paso del mensaje Los mensajes a transmitir siguen un formato estandarizado (protocolo) Permite comunicación bidireccional. Permite comunicar a más de dos procesos a la vez.
Show full summary Hide full summary

Similar

Sistemas Operativos: Tema 1
Daniel Alvarez Valero
Tipos y clasificaciones de los Sistemas Operativos
octavioasr
20 preguntas sobre sistemas operativos
esmeraldameza100
Sistema Operativo
erik vega
Sistemas operativos
angel.morales.fl
Ciclo Operativo y de Efectivo
Zurisadai Fernández
Clasificación de los Sistemas Operativos.
reynaelizabeyh12
EXAMEN UNIDAD II ADMINISTRA SISTEMAS OPERATIVOS
Claudia Acuña Hernandez
Principales amenazas de Seguridad en los Sistemas Operativos
Jonathan Velasco
Sistemas operativos
Tania J.
SISTEMAS OPERATIVOS
David Fuentes Fernández