Sistemas Operativos_UI

download Sistemas Operativos_UI

If you can't read please download the document

Transcript of Sistemas Operativos_UI

Sistemas OperativosIntroduccin a los Sistemas Operativos

1.1 DEFINICIN Y CONCEPTO

Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestin eficaz de sus recursos. recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario. usuario. Un sistema operativo se puede encontrar normalmente en la mayora de los aparatos electrnicos que utilicen microprocesadores para funcionar, ya que gracias a stos podemos entender la mquina y que sta cumpla con sus funciones (telfonos mviles, reproductores de DVD, autoradios, computadoras, etc.). etc.

1.2 FUNCIONES Y CARACTERSTICAS

Los sistemas operativos, en su condicin de capa software que posibilitan y simplifica el manejo de la computadora, desempean una serie de funciones bsicas esenciales para la gestin del equipo. Entre las ms destacables, equipo. cada una ejercida por un componente interno (mdulo en ncleos monolticos y servidor en microkernels), podemos resear las siguientes: siguientes:

CARACTERSTICAS

Proporcionar comodidad en el uso de un computador. Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas). Brindar una interfaz al usuario, ejecutando instrucciones (comandos). Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad).

FUNCIONES Y CARACTERSTICAS Un

sistema operativo desempea 5 funciones bsicas en la operacin de un sistema informtico: suministro de interfaz informtico: al usuario, administracin de recursos, administracin de archivos, administracin de tareas y servicio de soporte y utilidades

FUNCIONES 1.

INTERFACES

DEL

USUARIO

Es la parte del sistema operativo que permite comunicarse con l de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tareas. tres tipos bsicos de interfaces: las que se interfaces: basan en comandos, las que utilizan mens y las interfaces grficas de usuario. usuario.

FUNCIONES 2.

ADMINISTRACIN DE RECURSOS los recursos de de un sistema CPU, memoria, almacenamiento de entrada y de

Sirven para administrar hardware y de redes informativo, como el dispositivos de secundario y perifricos salida. salida.

FUNCIONES

3.

ADMINISTRACIN

DE

ARCHIVOS

Un sistema de informacin contiene programas de administracin de archivos que controlan la creacin, borrado y acceso de archivos de datos y de programas. Tambin implica mantener el programas. registro de la ubicacin fsica de los archivos en los discos magnticos y en otros dispositivos de almacenamiento secundarios. secundarios.

FUNCIONES

4.

ADMINISTRACIN

DE

TAREAS

Los programas de administracin de tareas de un sistema operativo administran la realizacin de las tareas informticas de los usuarios finales. finales. Los programas controlan que reas tiene acceso al CPU y por cunto tiempo. Las tiempo. funciones de administracin de tareas pueden distribuir una parte especfica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad. prioridad.

FUNCIONES

5.

SERVICIO

DE

SOPORTE

Los servicios de soporte de cada sistema operativo dependern de la implementacin particular de ste con la que estemos trabajando. Entre las ms conocidas se trabajando. pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para Inc. las computadoras de Apple, los sistemas operativos de Microsoft, y las implementaciones de software libre, como Linux o BSD producidas por empresas, universidades, administraciones pblicas, organizaciones sin fines de lucro y/o comunidades de desarrollo

SERVICIOS DE SOPORTE

Estos servicios de soporte suelen consistir en: Actualizacin de versiones. Mejoras de seguridad. Inclusin de alguna nueva utilidad (un nuevo entorno grfico, un asistente para administrar alguna determinada funcin, ...). Controladores para manejar nuevos perifricos (este servicio debe coordinarse a veces con el fabricante del hardware). Correccin de errores de software. Otros.

1.3 EVOLUCIN HISTORICA

BREVE HISTORIA DE LOS SISTEMAS OPERATIVOS 1940. Primeras Computadoras 1950. Sistemas en Batch 1960. Multiprogramacin y Timesharing. 1970. Minicomputadoras y Microprocesadores. Finales de 70 s y 80 s. Computadoras personales. Redes, Sistemas Distribuidos y Sistemas Paralelos, Sistemas de Tiempo Real 1990. WWW, Sistemas de Cmputo Mvil

1.4 CLASIFICACIN

Multiprogramacin o Multitarea Monotareas Monousuario Multiusuario Por lotes Tiempo Real Compartido Distribuidos De Red Paralelos

MULTIPROGRAMACIN O MULTITAREA Permite

al

que varios programas se ejecuten mismo tiempo. tiempo.

En

general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo por los recursos del sistema: sistema: procesador, memoria, dispositivos perifricos. perifricos.

MONOTAREAS

Solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. una. EJEMPLO: EJEMPLO: Cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin. impresin.

MONOUSUARIO

Son aquellos que nada ms puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se este ejecutando. ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta utilizando, sto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; inmediato; ya que existe un solo usuario. usuario. Y estn orientados microcomputadores. microcomputadores. principalmente por los

MULTIUSUARIO Permite

sus

que dos o ms usuarios utilicen programas al mismo tiempo. tiempo.

Algunos

sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo. tiempo.

POR LOTES

Procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. ejecucin. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. serie. En pocas palabras rene toda la informacin por lotes o partes y la procesa sin que sta sea en secuencia. secuencia.

TIEMPO REAL

Son aquellos en los cuales no tiene importancia el usuario, sino los procesos. procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. Se utilizan en entornos requieran. donde son procesados un gran nmero de sucesos o eventos. eventos. Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores. laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las aplicaciones de tiempo real estn creciendo muy rpidamente. rpidamente.

TIEMPO COMPARTIDO

Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. usuario. El usuario hace una peticin a la computadora, sta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario. usuario. Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema dedicado para si mismo. mismo. sto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y secundaria. secundaria.

DISTRIBUIDOS

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es transparente para el usuario. usuario. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo. reemplazarlo.

DE RED Son

aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. sistema.

PARALELOS

En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo. tiempo. En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, usuario). en lugar de esperar a que el proceso termine de ejecutarse (como lo hara normalmente), regresa a atender al usuario inmediatamente despus de haber creado el proceso

1.5 ESTRUCTURA (NIVELES O ESTRATOS DE DISEO) Se

deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:Requisitos de usuario Requisitos del software

Requisitos de usuario: Sistema

fcil de usar y de aprender, seguro, rpido y adecuado al uso al que se le quiere destinar

Requisitos de software Donde

se engloban aspectos como el mantenimiento, forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad. flexibilidad.

Las

distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. obtener.

ESTRUCTURA MODULAR

Tambin llamados sistemas monolticos. Este monolticos. tipo de organizacin es con mucho la mas comn; comn; bien podra recibir el subtitulo de "el gran embrollo". embrollo". La estructura consiste en que no existe estructura alguna. El sistema operativo se alguna. escribe como una coleccin de procedimientos, cada uno de los cuales puede llamar a los dems cada vez que as lo requiera. requiera.

ESTRUCTURA MODULAR

Cuando se usa esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados y cada uno de ellos es libre de llamar a cualquier otro, si este ltimo proporciona cierto clculo til para el primero. primero. A continuacin, el sistema operativo analiza una tabla que contiene en la entrada k un apuntador al procedimiento que realiza la k-sima llamada al sistema. Por ltimo, la sistema. llamada al sistema termina y el control regresa al programa del usuario. usuario.

ESTRUCTURA MODULAR

Esta organizacin sugiere una organizacin bsica del sistema operativo: operativo: 1.- Un programa principal que llama al procedimiento del servicio solicitado. solicitado. 2.- Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema. sistema. 3.- Un conjunto de procedimientos utilitarios que ayudan al procedimiento de servicio. servicio.

ESTRUCTURA MICROKERNEL Las

funciones centrales de un Sistema Operativo son controladas por el ncleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). (shell). Por ejemplo, la parte ms importante del DOS es un programa con el nombre "COMMAND.COM" Este programa "COMMAND. tiene dos partes. partes.

ESTRUCTURA MICROKERNEL

El kernel, que se mantiene en memoria en todo momento, contiene el cdigo mquina de bajo nivel para manejar la administracin de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND. COMMAND.COM el shell, el cual es el intrprete de comandos. Las funciones de bajo nivel del comandos. Sistema Operativo y las funciones de interpretacin de comandos estn separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. diferente.

ESTRUCTURA MICROKERNEL sto

es exactamente lo que sucede cuando se carga Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de lnea de comandos con una interfaz grfica del usuario. Existen usuario. muchos "shells" diferentes en el mercado, ejemplo: ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MSMSDOS a partir de laversin 5.0 incluy un Shell llamado DOS SHELL. SHELL.

ESTRUCTURA POR ANILLOS CONCNTRICOS (CAPAS) El

sistema por "capas" consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la inmediata inferior. El primer inferior. sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes 1968)

ESTRUCTURA POR ANILLOS CONCNTRICOS (CAPAS)

El sistema tenia 6 capas. capas. La capa 0 trabaja con la asignacin del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros. cronmetros. Sobre la capa 0, el sistema consta de procesos secuenciales, cada uno de los cuales se podra programar sin importar que varios procesos estuvieran ejecutndose en el mismo procesador, la capa 0 proporcionaba la multiprogramacin bsica de la CPU. CPU. La capa 1 realizaba la administracin de la memoria. Asignaba el memoria. espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos 512K (pginas) para las que no exista lugar en la memoria principal. Por principal. encima de la capa 1, los procesos no deban preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se recipiente; encargaba de garantizar que las pginas llegaran a la memoria cuando fueran necesarias. necesarias.

ESTRUCTURA POR ANILLOS CONCNTRICOS (CAPAS)

La capa 2 se encargaba de la comunicacin entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su operador. propia consola de operador. operador. La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los flujos de informacin entre ellos. Por encima de la capa ellos. 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. peculiaridades. La capa 4 es donde estaban los programas del usuario, stos no tenan que preocuparse por el proceso, memoria, consola o control de E/S. E/S. El proceso operador del sistema se localizaba en la capa 5.

ESTRUCTURA POR ANILLOS CONCNTRICOS (CAPAS) Una

generalizacin mas avanzada del concepto de capas se present en el sistema MULTICS. En lugar de capas, MULTICS. MULTICS estaba organizado como una serie de anillos concntricos, siendo los anillos interiores los privilegiados. Cuando privilegiados. un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debi hacer el equivalente a una llamada al sistema. sistema.

ESTRUCTURA CLIENTE-SERVIDOR CLIENTE Una

tendencia de los sistemas operativos modernos es la de explotar la idea de mover el cdigo a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un ncleo mnimo. mnimo. El punto de vista usual es el de implantar la mayora de las funciones del sistema operativo en los procesos del usuario. usuario.

ESTRUCTURA CLIENTE-SERVIDOR CLIENTE Para

solicitar un servicio, como la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) enva la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta. En este modelo, lo nico que respuesta. hace el ncleo es controlar la comunicacin entre los clientes y los servidores. servidores.

ESTRUCTURA CLIENTE-SERVIDOR CLIENTE

Una de las ventajas del modelo cliente-servidor clientees su capacidad de adaptacin para su uso en los sistemas distribuidos. Si un cliente se distribuidos. comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se maneja en forma local, en su mquina, o si se enva por medio de una red a un servidor en una mquina remota. remota. En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se recibi casos: una respuesta. respuesta.

1.6 NCLEO

NCLEO El ncleo (tambin conocido en espaol con el anglicismo kernel, de races germnicas como kern) es la parte fundamental de un sistema operativo. Es el software operativo. responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos sistema. programas y el acceso al hardware es limitado, el ncleo tambin se encarga de decidir qu programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. multiplexado.

Funciones generalmente ejercidas por un ncleo

Los ncleos tienen como funciones bsicas de garantizar el cargamento y la ejecucin de los procesos, las entradas/salidas y proponer un interfaz entre el espacio ncleo y los programas del espacio del usuario Tipos de NcleoHay cuatro grandes tipos de ncleos: ncleos:

Tipos de Ncleos Los

ncleos monolticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. variadas.

Los

microncleos (en ingls microkernel) proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. funcionalidad.

Tipos de Ncleos

Los ncleos hbridos (microncleos modificados) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente.Son los que rpidamente. reciben o dan salida a seales analgicas que son procesadas digitalmente.Esto digitalmente. puede realizarse gracias a los conversores analgicos/digitales que , como su nombre indica ,convierte seales analgicas a digitales. digitales.

Tipos de Ncleos Los

exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware. hardware.

1.6.1 El controlador de interrupciones de primer nivel (FLIH, del ingls First-Level Interrupt Handler) First

Es la parte del sistema operativo responsable de proporcionar la respuesta adecuada a las seales procedentes tanto del mundo exterior (interrupciones) como desde dentro del sistema (seales de error o extracdigo). extracdigo). Sern seales externas o internas si hubiera que distinguirlas. No todas las interrupciones se distinguirlas. deben a errores, puede forzarlas el Sistema Operativo por no encontrar recursos disponibles. Por ejemplo, un disponibles. proceso que quiere abrir un fichero en uso. Se activa uso. automticamente va software cada vez que se precise una interrupcin. La misin del controlador de interrupcin. interrupciones es doble: doble:Determinar el orgen de las interrupciones. interrupciones.

Iniciar el servicio de las mismas. mismas.

1.6.1 El controlador de interrupciones de primer nivel (FLIH, del ingls First-Level Interrupt Handler) First Una

vez determinada la razn de la interrupcin, se tiene que dar con su orgen. orgen. El mecanismo de interrupcin debe salvar al menos el valor del contador de programa del proceso interrumpido, as mismo los otros registros que emplear el controlador de interrupciones y que estuviesen utilizndose por el proceso interrumpido. interrumpido.

1.6.1 El controlador de interrupciones de primer nivel (FLIH, del ingls First-Level Interrupt Handler) First

La dificultad para determinar el origen de la interrupcin depende del hardware. hardware.Caso elemental: todas las interrupciones transfieren el control a elemental: la misma posicin de memoria. memoria. Si el hardware es rudimentario el software localizar la causa mediante IF / CASE anidados, situando en primer lugar la causa de interrupcin de mayor probabilidad. probabilidad.

Una vez conocida la causa se encadena el efecto adecuado. adecuado. Se termina lanzando el gestionador de bajo nivel de la CPU (dispatcher). (dispatcher).

1.6.2 EL DISPATCHER

Su misin es asignar los procesadores centrales a los procesos. procesos. Es llamado cuando un proceso no puede seguir o puede emplearse mejor en otra parte. Se activa parte. en las situaciones siguientes: siguientes: Tras una interrupcin externa ha cambiado el estado de un proceso. proceso. Despus de que un extracdigo provoque imposibilidad de seguir la ejecucin de un proceso. proceso. Tras una seal de error se ha suspendido el proceso hasta que no se haya tratado ste. ste.

1.6.3 PRIMITIVAS DE COMUNICACIN (IPC)

La Comunicacin entre procesos, en ingls IPC (Interprocess Communication) es una funcin bsica de los Sistemas operativos. operativos. Los procesos pueden comunicarse entre s a travs de compartir espacios de memoria, ya sean variables compartidas o buffers, o a travs de las herramientas provistas por las rutinas de IPC. IPC. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre s. Normalmente a s. travs de un sistema de mensajes. mensajes.

SISTEMAS OPERATIVOS2.2.- Administracin de procesos y del procesador

PROCESO

Un proceso es un programa en ejecucin. ejecucin. Un proceso simple tiene un hilo de ejecucin. ejecucin. La diferencia entre un programa y un proceso, y bsicamente es que un proceso es una actividad de cierto tipo que contiene un programa, entradas salidas y estados

2.2 ESTADOS Y TRANSICIONES DE LOS PROCESOS

Los procesos pueden ser cooperantes o independientes: independientes: COOPERANTES: COOPERANTES: los procesos interactan entre s y pertenecen a una misma aplicacin. aplicacin. INDEPENDIENTES: INDEPENDIENTES: no interactan y un proceso no requiere informacin de otros o bien porque son procesos que pertenecen a distintos usuarios.

ESTADOS DE LOS PROCESOS

Un proceso puede estar en cualquiera de los siguientes estados: estados: LISTO: LISTO: Listo son los que pueden pasar a estado de ejecucin si el planificador los selecciona. selecciona. EJECUCIN: EJECUCIN: Son los que se estn ejecutando en el procesador en ese momento dado. dado. BLOQUEADO: BLOQUEADO: estn esperando la respuesta de algn otro proceso para poder continuar con su ejecucin. ejecucin.

IMPLANTACIN DE LOS PROCESOS La

implementacin del modelo de procesos se logra debido a que el sistema operativo almacena en una tabla denominada tabla de control de procesos informacin relativa a cada proceso que se esta ejecutando en el procesador. Cada procesador. lnea de esta tabla representa a un proceso. proceso.

IMPLANTACIN DE LOS PROCESOS

La informacin que se almacena es la siguiente:Identificacin del proceso. Identificacin del proceso padre. Informacin sobre el usuario y grupo. Estado del procesador. Informacin de control de proceso Informacin del planificador. Segmentos de memoria asignados. Recursos asignados.

COMUNICACIN ENTRE PROCESOS Condiciones

de

competencia

Las condiciones de competencia se dan cuando dos o ms procesos intentan acceder a un mismo recurso. Para solucionar las recurso. condiciones de competencia se implement un modelo para prohibir que dos procesos accedan al mismo recurso. El modelo en recurso. cuestin se denomina exclusin mutua. mutua.

EXCLUSIN

MUTUA

CON

ESPERA

OCUPADA

Cuando un proceso intenta ingresar a su regin crtica, verifica si esta permitida la entrada. Si no, el proceso se entrada. queda esperando hasta obtener el permiso. permiso.

DESACTIVACIN

DE

INTERRUPCIONES

El mtodo ms simple para evitar las condiciones de competencia es hacer que cada proceso desactive todas sus interrupciones antes de entrar a su seccin crtica y las active una vez que sali de la misma. ste modelo misma. tiene una gran problema y es que si se produce una falla mientras que el proceso esta en la regin crtica no se puede salir de la misma y el sistema operativo no recuperara el control. control.

VARIABLES CERRADURA En ste caso se genera una variable la cual puede tener dos valores 0 o 1, entonces cada proceso antes de ingresar a la seccin crtica verifica el estado de la variable de cerradura y en caso de que la misma este en 0, le cambia el valor e ingresa a la misma y en caso de que la misma sea 1 el proceso se queda verificando el estado de la misma hasta que el mismo sea 0. El problema aqu se presenta si dos procesos verifican al mismo tiempo que la variable cerradura esta en 0 e ingresan a la regin crtica. crtica. ALTERANCIA ESTRICTA El algoritmo de alternancia estricta no bloquea el ingreso a la regin crtica cuando otro proceso se esta ejecutando. El ejecutando. problema de sta solucin es que cuando un proceso no esta en la seccin crtica igualmente tiene bloqueado el acceso a la misma y por lo tanto no permite que otro proceso que requiera ingresar a la misma logre hacerlo.

INSTRUCCIN

TSL

Esta solucin requiere ayuda del hardware y es debido a que en general las computadoras diseadas para tener ms de un procesador tienen una instruccin TEST AND SET LOCK. LOCK.

TRANSICIONES DE ESTADO DE LOS PROCESOS

A continuacin se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estadosDe ejecucin Bloqueado: Al iniciar una operacin de E/S, al Bloqueado: realizar una operacin WAIT sobre un semforo a cero. cero. De ejecucin Listo: Por ejemplo, en un sistema de tiempo Listo: compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutndose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo. listo.

TRANSICIONES DE ESTADO DE LOS PROCESOS

De Listo en ejecucin: Cuando lo requiere el ejecucin: planificador de la CPU De Bloqueado a Listo: Se dispone del recurso Listo: por el que se haba bloqueado el proceso. Por proceso. ejemplo, termina la operacin de E/S, o se produce una operacin SIGNAL sobre el semforo en que se bloque el proceso, no habiendo otros procesos bloqueados en el semforo. semforo.

2.3 PROCESOS LIGEROS (HILOS O HEBRAS)

Un proceso ligero o thread, es un programa en ejecucin que comparte la imagen de memoria y otras informaciones. Programacin: Una funcin cuya ejecucin se puede lanzar en paralelo con otra. Agrupamiento de recursos y eleccin. Al igual que los procesos, los procesos ligeros pasan por cuatro estados que son:Ejecucin Bloqueado Listo Terminado

USO DE LOS PROCESOS LIGEROS

Si diferentes aplicaciones se estn ejecutando, estas estn ejecutando varias actividades al mismo tiempo. tiempo. Al ser pequeas partes de procesos, son ms fciles de crear y destruir que los procesos. procesos. Permite que se ejecuten ms rpidos las aplicaciones, por lo que se dice que, se acelera el tiempo de ejecucin de las aplicaciones

2.4 CONCURRENCIA Y SECUENCIABILIDAD

Multiprogramacin: Multiprogramacin: Es la gestin de varios procesos dentro de un sistema monoprocesador. monoprocesador. Multiproceso: Multiproceso: Es la gestin de varios procesos dentro de un sistema multiprocesador. multiprocesador. Proceso distribuido: Es la gestin de varios distribuido: procesos que ejecutan en sistemas de computadores mltiples y remotas. remotas.

2.4.1 EXCLUSIN MUTUA DE SECCIONES CRITICAS

CONCURRENCIA La concurrencia comprende un gran nmero de cuestiones de diseo dentro de las cuales se encuentran: encuentran:La combinacin entre procesos. procesos. Comparticin y competencia por los recursos. recursos. Sincronizacin de la ejecucin de varios procesos. procesos. Asignacin del tiempo de procesador a los procesos

CONCURRENCIA

La concurrencia puede presentarse en tres contextos diferentes: diferentes:Varias aplicaciones. aplicaciones. Aplicaciones estructuradas Estructura del sistema operativo

Objetivo de la exclusin mutuaLa exigencia bsica de soporte de la concurrencia es la posibilidad de hacer cumplir la exclusin mutua, es decir, la capacidad de prohibir a los dems procesos realizar una accin cuando un proceso haya obtenido el permiso. permiso.

Labores del sistema operativo

Qu elementos de gestin y diseo surgen por causa de la concurrencia? Se pueden enumerar los siguientes: siguientes:1. El sistema operativo debe ser capaz de seguir la pista de los distintos procesos activos. activos. 2. El sistema operativo debe asignar y quitar los distintos recursos a cada proceso activo. activo. 3. El sistema operativo debe proteger los datos y los recursos fsicos de cada proceso contra intrusiones no intencionadas de otros procesos. procesos. 4. Los resultados de un proceso deben ser independientes de la velocidad relativa a la que se realiza la ejecucin con respecto a otros procesos concurrentes. concurrentes.

Requisitos para la exclusin mutua

1. Debe cumplirse la exclusin mutua 2. Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin estorbar a los otros procesos. procesos. 3. Un proceso no debe poder solicitar acceso a una seccin crtica para despus ser demorado indefinidamente; indefinidamente; no puede permitirse el interbloqueo o la inanicin. inanicin. 4. Cuando ningn proceso est en su seccin crtica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin dilacin. dilacin. 5. No se pueden hacer suposiciones sobre la velocidad relativa de los procesos o su nmero. nmero. 6. Un proceso permanece en su seccin crtica solo por un tiempo finito. finito.

EXCLUSIN MUTUA: SOLUCIONES POR SOFTWARE Algoritmo

de Dekker

Primer intento Segundo intento Tercer intento Cuarto intento

EXCLUSIN MUTUA: SOLUCIONES POR HARDWARE Algoritmo

de Peterson

Inhabilitacin de interrupciones Instrucciones especiales de la mquina Instruccin comparar y fijar Instruccin intercambiar Propiedades de las soluciones instrucciones de mquina

con

2.4.2.1 MECANISMOS DE SEMFOROS Mecanismo

de sincronizacin, se utiliza generalmente en sistemas de memoria compartida (monoprocesador o multiprocesador) para tener una mejor administracin de los recursos (compartidos). (compartidos).

ELEMENTOS DE LOS SEMFOROS

Un

semforo

consta

de

3

elementos: elementos:

Variable interna del semforo: Es un valor entero de control al semforo: cual los procesos que se sincronizan no pueden acceder directamente. directamente. Cola de procesos: Con la declaracin de cada semforo se procesos: implementa una cola en la cual se duermen o suspenden los procesos que no pueden avanzar. Hay una cola para cada semforo. avanzar. semforo. Dos procedimientos, wait y signal: Van a permitir alterar la signal: variable de control del semforo de forma indirecta. Se ejecutan de indirecta. forma indivisible. indivisible.

PRINCIPIO FUNDAMENTAL DE LOS SEMFOROS Dos

o ms procesos pueden cooperar por medio de simples seales, de forma que se pueda obligar a detener a un proceso en una posicin determinada, hasta que reciba una seal especfica, si la seal aun no se ha transmitido, el proceso se suspende hasta que tenga lugar la transmisin. transmisin.

OPERACIONES DE LOS SEMFOROS

1. Un semforo puede iniciarse con un valor negativo. negativo. 2. La operacin wait disminuye el valor del semforo. semforo. Si el valor se hace negativo, el proceso que ejecuta el wait se bloquea. bloquea. 3. La operacin signal incrementa el valor del semforo. semforo. Si el valor no es positivo, se desbloquea un proceso bloqueado por una operacin wait. wait.

OPERACIONES DE LOS SEMFOROS

Wait (s){ s= s 1; If (s < o) Bloquear al proceso; } signal (s){ s = s + 1; If ( s