1-R: Definición de proceso? + Se podría definir proceso como: ‘Un programa en ejecución’ + Para el Sistema Operativo un proceso es: ‘Un conjunto de estructuras de datos, registros y campos con valores.’ 2-R: Que es una bifurcación? En el ámbito de desarrollo de software, es la creación de un proyecto en una dirección distinta de la principal u oficial tomando el código del proyecto ya existente. Comúnmente se utiliza el término inglés. Como resultado de la bifurcación se puede llegar a generar proyectos diferentes que cubren necesidades distintas aunque próximas. 3-R: Nombre y explique los estados de un Proceso: A continuación, se enumeran los distintos estados en los que se puede encontrar un proceso en este tipo de sistemas: Preparado (R).- Proceso que está listo para ejecutarse. Simplemente está esperando a que el sistema operativo le asigne un tiempo de CPU. Ejecutando (O).- Sólo uno de los procesos preparados se está ejecutando en cada momento (monoprocesador). Suspendido (S).- Un proceso se encuentra suspendido si no entra en el reparto de CPU, ya que se encuentra esperando algún tipo de evento (por ejemplo, la recepción de una señal software o hardware). En cuanto dicho evento se produce, el proceso pasa a formar parte del conjunto de procesos preparados. Parado (T).- Un proceso parado tampoco entra en el reparto de CPU, pero no porque se encuentre suspendido esperando algún evento. En este caso, sólo pasarán a estar preparados cuando reciban una señal determinada que les permita continuar. Zombie (Z).- Todo proceso al finalizar avisa a su proceso padre, para que éste elimine su entrada de la tabla de procesos. En el caso de que el padre, por algún motivo, no reciba esta comunicación no lo elimina de la tabla de procesos. En este caso, el proceso hijo queda en estado zombie, no está consumiendo CPU, pero sí continua consumiendo recursos del sistema. 1 Figura 1: Estados de un proceso Un ejemplo que permite aclarar la diferencia entre procesos suspendidos y procesos preparados es el siguiente: se tiene un proceso que debe esperar a que el usuario introduzca un valor por teclado. En principio, pueden proponerse dos soluciones diferentes: Espera activa. El proceso está codificado utilizando un bucle, en el cual sólo se comprueba el valor de una variable para saber si el usuario ha introducido el valor o no. En este caso, el proceso es un proceso preparado que está consumiendo CPU para realizar la comprobación de la variable continuamente. Interrupción. El proceso está codificado de forma que el proceso se suspende. De esta forma, ya no consume CPU porque no tiene que comprobar en cada ejecución del bucle si el usuario ha introducido un valor. Sólo espera a que sea el propio usuario el que le ``avise'' y lo despierte para, así, pasar a estar preparado. 4-R: Que es el bloque de control en los procesos? El Bloque de control del proceso ó BCP o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso. 2 5-R: Planificación de proceso? Planificaciones a Largo Plazo (‘PLP’): + Decide que procesos llegan al estado ‘Listo’. + Este tipo de política mide el grado de multiprogramación + La PLP requiere un algoritmo muy complejo que se ejecuta cada cierto tiempo. Planificaciones a Medio Plazo (‘PMP’): + Controla el intercambio de procesos entre la memoria principal y la secundaria + En un sentido u otro Su ejecución se realiza con más frecuencia que la ‘PLP’ por lo que su tiempo de ejecución será menor. Planificaciones a Corto Plazo (‘PCP’): + Controla cuando un proceso comienza su ejecución, y cuando debe finalizar. + Este algoritmo debe ser muy simple, pues el proceso se ejecuta muy frecuentem 6-R: Que es un semáforo en sistema operativo? Un semáforo es una variable especial protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). 7-R: Que es cola fijo, y planificación por turno rotatorio? El Modelo de Colas: Aplica técnicas estadísticas, para la función de pilas de colas Para cada técnica existe un tiempo de tratamiento según el cual se obtienen el resto de valores. 3 Algoritmo de planificación FCFS: Este algoritmo emplea los procesos en la cola de ‘listos’ Algoritmo no apropiativo. UNA PETICION NO PUEDE SER DESPLAZADA POR LA LLEGADA DE UNA PETICION CON PRIORIDAD MAS ALTA. NO HAY REORDENAMIENTO DE LA COLA DE PETICIONES PENDIENTES. SE IGNORAN LAS RELACIONES POSICIONALES ENTRE LAS PETICIONES PENDIENTES. OFRECE UNA VARIANZA PEQUEÑA AUNQUE PERJUDICA A LAS PETICIONES SITUADAS AL FINAL DE LA COLA. Algoritmo de planificación SJF: Este algoritmo es no apropiativo. Su funcionamiento consiste en seleccionar el proceso más corto; Cuando termina se vuelve a elegir el más corto, de los procesos restantes. Y así hasta el final. Algoritmo de planificación SRT (Es un SJF apropiativo) Este algoritmo siempre ejecuta primero aquellos procesos a los que les queda menos tiempo para terminar Este algoritmo también es conocido como ‘optimo’, pues con el se obtienen los mejores resultados. Algoritmo de prioridades: Selecciona aquellos procesos que se encuentran en la cola de ‘listos’. En este algoritmo, los criterios de rendimiento, no son los más necesarios. El criterio principal es hacer que los procesos ‘en espera’ sean los primeros en ejecutarse El principal inconveniente, es que puede producir ‘inanición’, es decir si tenemos un proceso de prioridad baja, y muchos de alta, puede ocurrir que el primero no se ejecute nunca. Se puede llevar a cabo un proceso de envejecimiento, el cual hace ganar prioridad al primer proceso, permitiendo que se ejecute. 4 Algoritmo de Turno Rotatorio (Round Robin, RR): La desventaja principal es que cambia los procesos en ejecución con demasiada frecuencia. Lo que supone una pequeña perdida de tiempo. El tiempo perdido depende, del ‘tiempo de ejecución dado al proceso’ (Quantum). Para valores de ‘Quantum’ pequeños, el resultado es malo. Para valores grandes el algoritmo equivale al ‘FCFS’. Turno Rotatorio Virtual (Virtual Round Robin, VRR): Intenta solucionar un problema que afecta al ‘quanto’ Estos procesos abandonan la CPU, para no consumir el quanto completo. (ráfagas pequeñas) Por lo que deben esperar de nuevo en la cola de ‘listos’ Los procesos con ráfagas grandes consumen un cuarto del quanto completo. 8-R: Modelo de 2 y 5 estados, Expliquelo con sus propias palabras? Los cinco estados de este diagrama son los siguientes: Ejecución: el proceso está actualmente en ejecución. Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga. Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida. Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal. Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc. 5 9-R: Procesos suspendido? Una de las razones para implementar el estado Bloqueado era poder hacer que los procesos se puedan mantener esperando algún suceso, por ejemplo una Entrada/Salida. Sin embargo, al ser mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados todos los procesos en memoria estén esperando en el estado Bloqueado y que no haya más memoria disponible para nuevos procesos. Podría conseguirse más memoria, aunque es probable que esto sólo permita procesos más grandes y no necesariamente nuevos procesos. Además hay un costo asociado a la memoria y de cualquier forma es probable que se llegaría al mismo estado con el tiempo. 6 Índice 1-R: Definición de proceso?......................................................................................1 2-R: Que es una bifurcación? ………………………………………………………..…1 3-R: Nombre y explique los estados de un Proceso:……………………………….…1 4-R: Que es el bloque de control en los procesos……………………………………..2 5-R: Planificación de proceso?.................................................................................3 6-R:Que es un semáforo en sistema operativo?......................................................3 7-R:Que es cola fijo, y planificación por turno rotatorio?.......................................3,4 8-R: Modelo de 2 y 5 estados, Explíquelo con sus propias palabras?.....................5 9-R: Procesos suspendido?......................................................................................6 CONCLUSIÓN Ya conocimos que es un proceso, ya sabemos quién controla los procesos de nuestro computador pero también podemos decir que: o o o o o Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso. Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cuál es el proceso que más conviene ejecutar a continuación. La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso. Introducción Historia de los sistemas operativos Los primeros computadores no tenían sistema operativo. El programador cargaban en lenguaje máquina, y tenía que hacer todo el software. De 1955 a 1965 se crean los sistemas de procesamiento por lotes (Batch Files). Se agrupaban varios trabajos en un lote, para agilizar el proceso. Conceptos básicos de un sistema operativo Un sistema operativo (SO) es un programa(o un conjunto de programas) que dan a las personas la oportunidad de usar el hardware de una computadora (CPU, memoria, periféricos y otros). Sin un sistema operativo, las personas no podrían usar las computadoras o los programas que se ejecutan sobre estas. Los usuarios no dan las instrucciones a las computadoras, sino al sistema operativo. El sistema operativo dará la instrucción al hardware para ejecutar las tareas requeridas. La tarea de un sistema operativo es llevar a cabo las solicitudes de los usuarios. Para que los usuarios tengan la habilidad de utilizar una computadora, el sistema operativo tiene un número de tareas que debe llevar a cabo. Algunas de estas son: Dar a las aplicaciones la posibilidad de almacenar y cargar datos Controlar el flujo de datos de la computadora Permitir a los programas ejecutarse sin interferir con los demás programas Compartir datos y trabajar entre programas independientes Manejar los errores Administrar los recursos en una computadora Hay muchos y diferentes sistemas operativos en el mercado. Algunos ejemplos son: Windows XP, Windows 2000, Windows 2003, Solaris, GNU/Linux. REPUBLICA BOLICARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION INSTITUTO UNIVERSITARIO DE TECNOLOGIA DE ADMINISTRACIO INDUSTRIAL AMPLICACION-GUARENAS SISTEMA OPERATIVO INSTEGRANTE: CARBET CEDEÑO V-20032338 PACHECO NESTOR V-19558710 02/06/09