Documentos de Académico
Documentos de Profesional
Documentos de Cultura
02 Gestion Procesos - Internet
02 Gestion Procesos - Internet
La forma de interfaz entre el sistema operativo y el usuario en la que este escribe los comandos utilizando un lenguaje de comandos especial. Los sistemas con interfaces de lneas de comandos se consideran ms difciles de aprender y utilizar que los de las interfaces grficas. Sin embargo, los sistemas basados en comandos son por lo general programables, lo que les otorga una flexibilidad que no tienen los sistemas basados en grficos carentes de una interfaz de programacin.
* Grfica del Usuario.
Es el tipo de visualizacin que permite al usuario elegir comandos, iniciar programas y ver listas de archivos y otras opciones utilizando las representaciones visuales (iconos) y las listas de elementos del men. Las selecciones pueden activarse bien a travs del teclado o con el mouse. Para los autores de aplicaciones, las interfaces grficas de usuario ofrecen un entorno que se encarga de la comunicacin con el ordenador o computadora. Esto hace que el programador pueda concentrarse en la funcionalidad, ya que no esta sujeto a los detalles de la visualizacin ni a la entrada a travs del mouse o el teclado. Tambin permite a los programadores crear programas que realicen de la misma forma las tareas ms frecuentes, como guardar un archivo, porque la interfaz proporciona mecanismos estndar de control como ventanas y cuadros de dilogo. Otra ventaja es que las aplicaciones escritas para una interfaz grfica de usuario son independientes de los dispositivos: a medida que la interfaz cambia para permitir el uso de nuevos dispositivos de entrada y salida, como un monitor de pantalla grande o un dispositivo ptico de almacenamiento, las aplicaciones pueden utilizarlos sin necesidad de cambios.
Si quisiramos hacer una representacin grfica de estos sistemas, quedara de la siguiente forma:
Sistema de entrada/salida: El S.O debe evitar al usuario el problema de tener que comprender el funcionamiento del hardware de entrada/salida que, a veces, es demasiado sofisticado, y poner a su alcance un sistema de entrada/salida ms sencillo de usar pero sin perder ninguna de sus posibilidades. Memoria: El S.O debe implementar el modo de que el usuario pueda trabajar con una memoria mayor que la principal de que dispone el ordenador, utilizando memoria virtual. Del mismo modo debe permitir que varios programas y usuarios compartan la memoria disponible sin ningn conflicto ni problema. Sistema de almacenamiento de ficheros: El S.O debe permitir al usuario acceder a la informacin almacenada a travs de nombres simblicos fcilmente recordables por l, sin necesidad de saber ni entender el modo fsico en que los datos se almacenan en los dispositivos. Control de los programas y las aplicaciones: El S.O debe proveer al usuario de un lenguaje de comandos y rdenes fcilmente utilizable para permitirle la gestin y el control de sus programas y sus datos. Al mismo tiempo, el sistema operativo debe impedir que el trabajo de un usuario pueda influir negativamente (errores, bloqueos, etc...) en los trabajos de los dems posibles usuarios.
Hacer posible compartir recursos, es decir, soportar la multiprogramacin En estos sistemas se mantiene por separado el software que implementa cada una de estas funciones. Partiendo de un nico hardware a compartir se simula la existencia de varias mquinas idnticas a la real. Para que esto sea posible hace falta un nuevo elemento en el Sistema Operativo, es el llamado monitor de mquina virtual. ste hace 2 cosas: Simula tantas mquinas virtuales idnticas a la real como haga falta Gestiona los recursos de la mquina real Para que esto se traduzca en una mquina tratable por el usuario sobre cada mquina virtual se ejecuta un Sistema Operativo independiente, que se encarga de la segunda funcin del Sistema Operativo (hacer posible el compartir recursos). Los sistemas operativos actuales como Windows 95 y Windows NT, utilizan esta tcnica.
Procesos en lotes. Se procede a la carga de datos desde el correspondiente dispositivo, se procesa la informacin y los resultados se almacenan en otro soporte que permita llevar al correspondiente perifrico de salida para su impresin o visualizacin. Proceso en tiempo real. Como su propio nombre indica la respuesta se obtiene al momento, es decir, el usuario es el encargado de introducir los datos para que el ordenador los procese y, en cuestin de segundos obtenga los resultados del proceso.
2.. NCLEO 2 NCLEO 2..1 FIINALIIDAD Y FUNCIIONES 2 1 F NAL DAD Y FUNC ONES
La finalidad del ncleo es construir un entorno adecuado donde puedan ejecutarse los distintos procesos. Las funciones del ncleo son: Tratamiento de las interrupciones. (PUNTO 3.3.2) Asignacin de la CPU. (PUNTO 3.5) Despachador o planificador de bajo nivel. Mecanismos de comunicacin sincronizacin. (PUNTO 3.6)
3..2 BLOQUE DE CONTROL DE PROCESOS O DESCRIIPTOR DE UN PROCESO 3 2 BLOQUE DE CONTROL DE PROCESOS O DESCR PTOR DE UN PROCESO
Un bloque de control de proceso (PCB o BCP) o descriptor de proceso es una estructura de datos que contiene cierta informacin importante acerca del proceso, incluyendo, entre otra: Estado del proceso : Determina la situacin actual del proceso. Identificador de proceso. Es un nmero i entre 0-N (no se admiten n negativos). Se le denomina PID y es el mismo durante toda la vida del proceso. Registros de la CPU. Almacenan informacin necesaria del proceso cuando se producen interrupciones como consecuencia de un cambio de estado, y as poder recuperarla para volver al estado original. Lmites de memoria. Indican los lmites de memoria utilizados por un determinado proceso para evitar que otros los invada. Adems existe una zona de memoria donde se colocan los BCP, esa zona solo es accesible por el sistema operativo cuando se encuentra en modo supervisor. Informacin del status de las operaciones de E/S. Se refiere a las operaciones de E/S que el proceso est realizando, sobre que dispositivos si son de Entrada o de Salida. Estas operaciones, segn van siendo atendidas, van siendo eliminadas del BCP. Informacin del planificador de procesos. Sobre el tipo de algoritmo de planificacin que se est utilizando. El PCB es un almacenamiento central de informacin que permite al sistema operativo localizar toda la informacin clave sobre el proceso. Cuando el sistema operativo cambia la atencin de la CPU entre los procesos, utiliza las reas de preservacin para mantener la informacin que necesita para reiniciar el proceso cuando consiga de nuevo la CPU. Debido a que los PCB deben ser manipulados con rapidez por el sistema operativo, muchos sistemas de computacin contienen un registro de hardware que apunta siempre al PCB del proceso que est en ejecucin, el proceso en curso.
- Bloqueado (en espera): Si el proceso espera que ocurra algo (la terminacin de una E/S por ejemplo) para poder ponerse en marcha.
3.3.1 TRANSICIONES ENTRE ESTADOS DE UN PROCESO 3.3.1 TRANSICIONES EN NTRE ESTADOS DE UN PROCESO
El S.O inicia la ejecucin de un proceso nuevo que esta listo. Cuando este proceso no va a utilizar la CPU durante un tiempo : INTERRUPCIN (hay una llamada a E/S etc.) el S.O lo pone bloqueado hasta que acaba esa operacin. Mientras tanto pasa a la CPU la ejecucin de otro proceso que estuviera listo y realiza los mismos pasos: ejecuta hasta que este deja de usar la CPU, lo pone bloqueado si es necesario y pasa a ejecutar otro. Cuando la accin del proceso que est bloqueado termina (acaba la E/S, etc.) el S.O lo pone otra vez en estado de listo, as hasta que termina con todo el proceso.
El S.O deber decidir que proceso de los que estn listos pasar a ejecutable cuando la CPU quede libre, esta decisin lo har a travs de un Planificador de procesos (DISPACHER).
3.3.2 IINTERRUPCIONES (son necesarias para que un proceso pase de un estado a otro) 3.3.2 NTERRUPCIONES
Permite interrumpir la ejecucin de un proceso ante el acontecimiento de un suceso determinado, tomando el control el S.O. El Procesador puede ejecutar otras instrucciones mientras se est realizando alguna operacin de E/S. Ante una interrupcin, la forma de actuar es (FLIH o manejador de interrupciones de primer nivel): Procesador registra situacin exacta de la ejecucin del trabajo actual. Se desva a la rutina de tratamiento de la interrupcin. La procesa segn su naturaleza y, posteriormente, reanudar el mismo u otro trabajo de usuario. La rutina de tratamiento de la interrupcin forma parte del S.O. Este programa determina la naturaleza de la interrupcin y ejecuta cuantas acciones sean necesarias.
Tipos de Interrupciones: Hardware.- Generadas por los dispositivos cuando finalizan una E/S. Software.- Generadas por el propio proceso. Hay 2 tipos: Llamadas al sistema.- Se producen mediante la invocacin de una instruccin que existe en casi todos los procesadores (Trap al S.O.). Se usan para pedir servicios al S.O. y se gestionan como si fuesen una interrupcin. Excepciones.- Se producen cuando el proceso produce un error grave que impide continuar con su ejecucin (por ejemplo divisin por cero) Finaliza proceso y cambiar a otro.
Aqu teneis la definicin de los algoritmos, los ejemplos son los vistos en clase. FCFS (First Come First Served) Los procesos son servidos en orden a su llega a la cola de listos. Dichos procesos se ejecutarn hasta que terminen o se bloqueen. Su implementacin es una cola FIFO. SJF (Shortest Job First) Primero el ms corto La CPU se asigna al proceso al que le queda menos tiempo para completar su ejecucin y a igualdad de condiciones al primero que hay hecho la peticin. PRIORIDAD A cada proceso se le asigna un determinado valor de prioridad, definida interna o externamente. La CPU se asigna al de mayor prioridad y a igualdad se sigue el algoritmo FCFS. En este ejemplo, el proceso de menor nmero (En la columna prioridad), es el de mayor prioridad. EL MS CORTO PRIMERO CON DESPLAZAMIENTO Igual que el ms corto primero, excepto que cuando un proceso llega a la cola de listos compara su tiempo con el que se esta ejecutando y si es menor se realiza un cambio de contexto. ROUND ROBIN La CPU se asigna a los procesos en intervalos de tiempo llamados QUANTUM. Si el proceso finaliza o se bloquea antes de agotar el quantum, se toma el siguiente en la lista y se le asigna un nuevo intervalo de tiempo, si por el contrario agota su quantum pasa al final de la lista. La lista se trata como una cola FIFO.
Creacin de nuevo proceso Proceso pasa de bloqueado a ejecutable
CPU
COLAS MULTIPLES La cola de ejecutables se divide en varias colas, los trabajos son asignados permanentemente a una cola, segn algn criterio (cada cola puede tener un algoritmo de asignacin, adems debe existir un algoritmo de asignacin entre las colas).
Cola 1
Cola de ejecutables
Cola 2
CPU
Cola 3
COLAS MULTIPLES CON TRASPASO Usa el sistema de colas mltiples pero con la diferencia siguiente: Los trabajos pueden pasar de unas colas a otras.
resultado. -Cada proceso asignara entonces el valor 4 a s, perdindose uno de los dos incrementos que se queran llevar a cabo. B) wat (s) Su efecto consiste. en decrementar el valor del semforo s en 1 en tanto que el resultado al que llegue sea no-negativo. Esta operacin es tambin indivisible. La operacin de wait representa un retardo en potencia ya que cuando acta sobre un semforo cuyo valor sea 0, el proceso que la ejecute podr seguir solo cuando otro proceso haya incrementado el valor del semforo a 1mediante una operacin de signal. La indivisibilidad de esta operacin significa que si el retardo mencionado anteriormente afecta a varios procesos, slo uno de ellos podr proseguir cuando el semforo pase a ser positivo. No se lleva a cabo suposicin alguna sobre cul ser este proceso. MONITORES. En el apartado anterior veamos cmo podan utilizarse semforos para llevar a cabo tareas de sincronizacin y comunicacin entre procesos. El uso indiscriminatorio de semforos es susceptible, sin embargo, de errores, ya que es fcil que un programador coloque las operaciones de wait y signal en el lugar incorrecto, pudiendo incluso omitirlas por completo. Para evitar problemas de este tipo han ido apareciendo un buen nmero de propuestas de construcciones para lenguajes de programacin que obliguen al programador a declarar de forma explcita los datos y los recursos compartidos forzando la exclusin mutua en el acceso a estos elementos comunes. Una de las construcciones propuestas de ms xito y ms ampliamente adoptada es, el monitor. Un monitor consta de: 1.- Los datos que contiene el objeto a compartir. 2.- Un conjunto de rutinas que pueden llamarse para acceder a este objeto. 3.- Un fragmento de programa que inicializa el objeto. en cuestin (y que se ejecuta tan solo una vez cuando ese objeto es creado). Ejemplo: As por ejemplo, un buffer destinado a pasar datos de un proceso productor a otro puede representarse mediante un monitor que consiste en: 1.- El rea de memoria ocupada por el buffer y los punteros (por ejemplo, un vector y los ndices del mismo). 2.- Dos rutinas depositar v extraer que pueden ser llamadas desde cualquier proceso para colocar un determinado elemento en el buffer. o bien para sacarlo. 3.- Un fragmento de programa que inicialice los punteros del buffer al principio del mismo.
El compilador de un lenguaje que incorpore monitores debe garantizar que el acceso a un objeto compartido slo pueda efectuarse llamando a la rutina del correspondiente monitor. El compilador debe asegurar tambin que las rutinas de cada monitor se implementen en forma de secciones crticas mutuamente exclusivas. Ello puede lograrse fcilmente generando el compilador operaciones de wait y de signal sobre semforos apropiados en el programa compilado. EVENTOS : - Los eventos llevan asociado : Un identificador del Evento. Una cola de Eventos. - Dos primitivas : Dormir : El proceso solicitante pierde el control del procesador. Se aade a la cola del procesador. No existen errores (control). Despertar : El proceso solicitante pasa de la Cola de eventos a la del procesador : Si no existen procesos detenidos en la Cola de eventos la llamada queda sin efecto. No existen errores (control). Mientras que los Semforos y Eventos son propios de Sistemas Fuertemente Centralizados (aunque se pueden crear en sistemas distribuidos), los MENSAJES son propios de Sistemas Distribuidos. MENSAJES Definicin : Coleccin de informacin que se intercambia entre 2 ms procesos. Habr ms de 1 2 procesos emisores/receptores. Cabecera (parte fija del mensaje) {Informacin relativa al propio mensaje} Cuerpo (resto del mensaje) {Contenido del mensaje} Formato del mensaje : Tamao Fijo (Mensaje rgido. Descomposicin de la informacin en mdulos) Tamao Variable (Cabecera fija. Cuerpo vara de tamao) Tipo de comunicacin : Comunicacin Directa (Rendez-Vous): - Es simtrica. Cada proceso tiene que saber el identificador del receptor y viceversa. - Un enlace cada 2 procesos. - Enlace puede ser bidireccional.
Comunicacin Indirecta : - Se establece un enlace de comunicaciones cada 2 procesos, siempre que compartan un buzn. - Un enlace puede estar asociado a varios procesos. - BUZN : Buffer que ayuda al intercambio de informacin entre procesos. Se utiliza un identificador. Los dueos de los buzones son los procesos que los crean. Implementacin de las primitivas SEND (enviar) y RECEIVE (recibir) : En Comunicacin Directa : enviar (B, Mensaje); recibir (A, Mensaje);
Proceso A
Proceso B
Proceso A
Proceso B
BUZON
Proceso D
En Comunicacin Indirecta : enviar (id_buzon, Mensaje) ; recibir (id_buzon, Mensaje) , crear_buzon (id_buzon) ;
Proceso C
Modo de Transmisin :
Por Copia : - Se copia en el espacio de direcciones del mensaje.
- Los cambios que haga uno, afecta a todos. Capacidad (del enlace de comunicaciones) : En Comunicacin Directa: Si el proceso A enva a B, se establece un nico enlace de comunicacin. En este caso, la capacidad de enlace es NULA. En Comunicacin Indirecta : Varios procesos se comunican con un BUZN y uno extrae de l. La capacidad del enlace depende del BUZN. Tamao (puede ser fijo o variable).