47
Fundamentos de Sistemas Operativos Lección 2 Instructor Ugo Andrés Sánchez Baeza [email protected] Celular : 311 345 #### http://www.geocities.ws/ugoandresp rofesor 1

Leccion2 sisop

Embed Size (px)

Citation preview

Page 1: Leccion2 sisop

1

Fundamentos de Sistemas OperativosLección 2

Instructor Ugo Andrés Sánchez Baeza

[email protected] : 311 345 ####

http://www.geocities.ws/ugoandresprofesor

Page 2: Leccion2 sisop

2

Sistemas Operativos

Page 3: Leccion2 sisop

3

ContenidoTipos de Sistemas Operativos.Gestión de procesos.Administración de memoria principal.

Page 4: Leccion2 sisop

4

Tipos de Sistemas Operativos

Page 5: Leccion2 sisop

5

Tipos de Sistemas OperativosEstructura monolítica.

Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto derutinas entrelazadas de tal forma que cada una puede llamar a cualquier. Las características fundamentales de este tipo de estructura son:

Construcción del programa final a base de módulos compilados separadamente que se unen a través del enlace.

Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.

Page 6: Leccion2 sisop

6

Tipos de Sistemas Operativos

Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.

Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

Page 7: Leccion2 sisop

7

Tipos de Sistemas Operativos

Estructura jerárquica. A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y estos organizado en forma de niveles. Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con una clara interface con el resto de elementos.

Page 8: Leccion2 sisop

8

Tipos de Sistemas OperativosSe constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado ;THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos.

Se puede pensar también en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categoría.

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales

Page 9: Leccion2 sisop

9

Tipos de Sistemas Operativos

Máquina Virtual.

Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idénticaa la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas:

la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes.

Page 10: Leccion2 sisop

10

Tipos de Sistemas OperativosEl núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten.

Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario.

Page 11: Leccion2 sisop

11

Tipos de Sistemas Operativos

Sistemas Operativos por Servicios Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Esta clasificación se comprende fácilmente con el cuadro sinóptico que a continuación se muestra en la

Page 12: Leccion2 sisop

12

Tipos de Sistemas Operativos

Monousuarios Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las Computadoras personales típicamente se han clasificado en este renglón.

Page 13: Leccion2 sisop

13

Tipos de Sistemas OperativosMultiusuarios

Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

Page 14: Leccion2 sisop

14

Tipos de Sistemas Operativos

Monotareas Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

Page 15: Leccion2 sisop

15

Tipos de Sistemas OperativosMultitareas

Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

Page 16: Leccion2 sisop

16

Tipos de Sistemas Operativos

Uniproceso

Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.

Page 17: Leccion2 sisop

17

Tipos de Sistemas OperativosMultiproceso

Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos.

Page 18: Leccion2 sisop

18

Tipos de Sistemas OperativosCuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualesquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema. Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un área de memoria, un conjunto de registros con valores específicos, la pila y otros valores de contexto.

Page 19: Leccion2 sisop

19

Tipos de Sistemas OperativosUn aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces es costosa en horas hombre y muy tediosa, obligando al programador a ocupar tanto o más tiempo a la paraleliza ión que a elaborar el algoritmo inicial.

Page 20: Leccion2 sisop

20

Tipos de Sistemas OperativosSistemas Operativos por la Forma de Ofrecer sus Servicios

Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales:

• sistemas operativos de red • sistemas operativos distribuidos.

Page 21: Leccion2 sisop

21

Tipos de Sistemas OperativosSistemas Operativos de Red

Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, además de la ubicación de los recursos que desee acceder.

Page 22: Leccion2 sisop

22

Tipos de Sistemas OperativosPor ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio /software/codigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario podría copiarlo a través de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo% En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se ejecutó el mencionado comando. Lo importante es hacer ver que el usuario puede acceder y compartir muchos recursos.

Page 23: Leccion2 sisop

23

Tipos de Sistemas OperativosSistemas Operativos Distribuidos

Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual.

Page 24: Leccion2 sisop

24

Tipos de Sistemas OperativosTodo lo anterior es el marco teórico de lo que se desearía tener como sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la protección y seguridad entre los diferentes componentes del sistema y los usuarios.

Page 25: Leccion2 sisop

25

Tipos de Sistemas OperativosLos avances tecnológicos en las redes de área local y la creación de microprocesadores de 32 y 64 bits lograron que computadoras mas o menos baratas. tuvieran el suficiente poder en forma autónoma para desafiar en cierto grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad de partir procesos muy pesados en cálculo en unidades más pequeñas y distribuirlas en los varios microprocesadores para luego reunir los sub-resultados, creando así una máquina virtual en la red que exceda en poder a un mainframe. El sistema integrador de los microprocesadores que hacer ver a las varias memorias, procesadores, y todos los demás recursos como una sola entidad en forma transparente se le llama sistema operativo distribuido. Las razones para crear o adoptar sistemas distribuidos se dan por dos razones principales: por necesidad (debido a que los problemas a resolver son inherentemente distribuidos) o porque se desea tener más fiabilidad y disponibilidad de recursos.

Page 26: Leccion2 sisop

26

Tipos de Sistemas OperativosEn el primer caso tenemos, por ejemplo, el control de los cajeros automáticos en diferentes estados de la república. Ahí no es posible ni eficiente mantener un control centralizado, es más, no existe capacidad de cómputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supóngase que se tienen en una gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades de información en disco duro con una alta fiabilidad y disponibilidad. La solución puede ser que para cada grupo de trabajo se asigne una partición de disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino sólo a unos cuantos y, más aún, se podría tener un sistema con discos en espejo (mirror ) a través de la red, de manera que si un servidor se cae, el servidor en espejo continúa trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en forma transparente.

Page 27: Leccion2 sisop

27

Gestión de procesos

Page 28: Leccion2 sisop

28

Gestión de procesos

¿Que es un proceso?

“Un proceso es básicamente un entorno formado por todos los recursos necesarios para ejecutar programas. Desde el punto de vista del SO, un proceso es un objeto más que hay que gestionar y al cual hay que dar servicio”.

Page 29: Leccion2 sisop

29

Gestión de procesos

El sistema operativo es responsable de :

• Crear y destruir los procesos.

• Parar y reanudar procesos.

• Ofrecer mecanismos para que los procesos se comuniquen y sincronicen.

Page 30: Leccion2 sisop

30

Gestión de procesosLa gestión de procesos podría ser similar al trabajo que se realiza en una oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo:

Se debe comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja.

Una vez realizada la tarea se tacha.

Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.

Page 31: Leccion2 sisop

31

Gestión de procesosEstado del proceso

Define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos.Estos estados son :

• Nuevo• Listo• En ejecución• Bloqueado• Terminado

Page 32: Leccion2 sisop

32

Gestión de procesosNuevo • Un proceso está en estado de nuevo cuando

apenas se encuentra en proceso de crearse.Listo • Un proceso está en estado de listo, cuando podrí

a usar una UCP, si hubiera una disponible.

En ejecución • Un proceso está estado de ejecución, si en ese

momento tiene esta ocupando la CPU.

Bloqueado • Un proceso está en estado de bloqueado, si

espera que ocurra algo, como por ejemplo, la terminación de una E/S, para así poder ponerse en marcha.

Terminado • Cuando un proceso se ha completado su

ejecución pasa a ser un proceso terminado.

Page 33: Leccion2 sisop

33

Gestión de procesosProcesos suspendidos

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 que 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.

Page 34: Leccion2 sisop

34

Gestión de procesosProcesos en esperaDos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.

Se usa una variable llamada semáforo para intercambiar señales.

Si un proceso esta esperando una señal, se suspende (WAIT) hasta que la señal se envíe (SIGNAL).Se mantiene una cola de procesos en ESPERA en el semáforo.

La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO.

La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso que no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso.

Page 35: Leccion2 sisop

35

Administración de memoria principal

Page 36: Leccion2 sisop

36

Administración de memoria principal

La parte del sistema operativo que administra la memoria se llama administrador de memoria.

Consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no. Asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen.

Page 37: Leccion2 sisop

37

Administración de memoria principal

La memoria principal de la mayoría de los computadores es mucho mas pequeña de lo que sería necesario para manejar todos los programas y datos.

El módulo de gestión de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo.

La forma mas común de gestión de memoria es crear una memoria virtual utilizando los dispositivos de almacenamiento masivo.

Page 38: Leccion2 sisop

38

Administración de memoria principal

Jerarquía de Memoria

Una jerarquía en memoria está organizada en varios niveles, cada uno más pequeño, más rápido y más caro por byte que el siguiente.

Page 39: Leccion2 sisop

39

Administración de memoria principal

Memoria Real

La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora.

Es el espacio real que existe en memoria para que se ejecuten los procesos.

La memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso.

Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.

Page 40: Leccion2 sisop

40

Administración de memoria principal

Memoria Virtual

La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina.

Esto permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física

Page 41: Leccion2 sisop

41

Administración de memoria principal

El concepto de espacio de direcciones lógicas vinculado a un espacio de direcciones físicas separado es crucial para una buena gestión de memoria

Dirección lógica Es la dirección que genera el proceso; también se conoce como dirección virtual Dirección físicaDirección que percibe la unidad de memoria

Page 42: Leccion2 sisop

42

Administración de memoria principal

Direcciones Lógicas y Físicas

Las direcciones lógicas y físicas son iguales en los esquemas de vinculación en tiempo de compilación y de carga.

Difieren en el esquema de vinculación en tiempo de ejecución.

Page 43: Leccion2 sisop

43

Administración de memoria principal

Traducción De Direcciones

Reubicación Hardware: la MMU (memory management unit) se encarga de la traducción que es la encargada de convertir las direcciones lógicas emitidas por los procesos en direcciones físicas Proceso:

Programa se carga en memoria sin modificar

El S.O. almacena por cada proceso su función de traducción

El S.O. especifica a la MMU qué función aplicar para cada proceso

Page 44: Leccion2 sisop

44

Administración de memoria principal

Funciones son:Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas. Comprobar que la conversión se puede realizar. La dirección lógica podría no tener un dirección física asociada. Por ejemplo, la pagina correspondiente a una dirección se puede haber trasladado a una zona de almacenamiento secundario temporalmente. Comprobar que el proceso que intenta acceder a una cierta dirección de memoria tiene permisos para ello.

Page 45: Leccion2 sisop

45

Page 46: Leccion2 sisop

46

Page 47: Leccion2 sisop

47

Bibliografía• http://dis.um.es/~jfernand/docencia/si/tiposso.pdf• http://www.e-mas.co.cl/categorias/informatica/tiposso.htm• http://pepemorales.galeon.com/Doc/ssoo_7.htm• http://openaccess.uoc.edu/webapps/o2/bitstream/10609/8179/1/fserranocaTFC0611.pdf• http://

www.monografias.com/trabajos40/sistema-operativo-proceso/sistema-operativo-proceso.shtml

• http://modelo7estados.blogspot.com/2010/05/modelo-de-procesos.html• http://eisc.univalle.edu.co/~oscarbed/iti/• http://eisc.univalle.edu.co/~oscarbed/SO/claseMemoria.pdf• http://webcache.googleusercontent.com/search?q=cache:i-5btCiVXbQJ:https://3262.wikispa

ces.com/file/view/SO%2Bgestion%2Bde%2Bmemoria%2BGRUPO2.ppt+&cd=8&hl=es&ct=clnk&gl=co