27
14/05/2015 Definición de los Sistemas Operativos Para que un computador pueda hacer funcionar un programa informático (a veces conocido como aplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y los recursos físicos (periféricos). 2 Definición de los Sistemas Operativos El sistema operativo (S.O.) se encarga de crear el vínculo 1

Sistemas Operativos - Introducción y Conceptos

Embed Size (px)

DESCRIPTION

descripcion y conceptos acerca de los sistemas operativos.

Citation preview

Page 1: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Definición de los Sistemas OperativosPara que un computador pueda hacer funcionar un programa informático (a veces conocido como aplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y los recursos físicos (periféricos).

2

Definición de los Sistemas OperativosEl sistema operativo (S.O.) se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los

periféricos

1

Page 2: Sistemas Operativos - Introducción y Conceptos

14/05/2015

correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico.

3

Definición de los Sistemas OperativosDe esta forma, el sistema operativo permite la "disociación" de programas y hardware, principalmente para simplificar la gestión de recursos y proporcionar una interfaz de usuario sencilla con el fin de reducir la complejidad del equipo y tener un mejor performance.

4

2

Page 3: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Algunos de sus objetivos principales son:◦ Provee de un ambiente conveniente de trabajo. ◦ Hace uso eficiente del Hardware. ◦ Provee de una adecuada distribución de los

recursos.

Un Sistema Operativo deberá satisfacer las siguientes funciones: ◦ Gobierna el Sistema. ◦ Asigna los recursos.

3

5

Page 4: Sistemas Operativos - Introducción y Conceptos

14/05/2015

◦ Administra y controlar la ejecución de los programas.

6

Funciones de un sistema operativoUn sistema operativo tiene las siguientes características:

• Conveniencia• Eficiencia• Habilidad para evolucionar• Encargado de administrar el hardware• Relacionar dispositivos• Manejar las comunicaciones en red• Procesamiento por bytes de flujo a través del bus de

datos• Facilitar las entradas y salidas• Técnicas de recuperación de errores• Evita que otros usuarios interfieran• Generación de estadísticas• Permite que se puedan compartir el hardware y los

datos

7

Sistemas operativos por lotes

Los sistemas operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Cuando estos sistema son bien planeados, pueden tener un tiempo de ejecución muy alto, porque el procesador

es mejor utilizado y los sistemas operativos

4

entre los usuarios

Page 5: Sistemas Operativos - Introducción y Conceptos

14/05/2015

pueden ser simples, debido a la secuenciabilidad de la ejecución de los trabajos.

Algunas características de los sistemas operativos por lotes son las siguientes:

Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lotePermiten poca o ninguna interacción con el usuarioMayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuariosConveniente para programas de largos tiempos de ejecución

8

5

Page 6: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Sistemas operativos de tiempo realLos sistemas operativos de tiempo real son aquellos en donde no tiene importancia el usuario, sino los procesos. Se utilizan en entornos donde son procesados un gran número de sucesos o eventos.Son construidos para aplicaciones muy específicas, tales como: tráfico aéreo, bolsas de valores, etc.

Algunos campos de aplicación son los siguientes:

• Control de trenes• Telecomunicaciones• Sistemas de fabricación integrada• Control de edificios, etc.

Algunas características de los sistemas operativos de tiempo real son:

• Su objetivo es proporcionar rápidos tiempos de respuesta• Procesa ráfagas de miles de interrupciones por segundo sin perder algún proceso• Poco movimiento de programas entre almacenamiento secundario y memoria• Proceso de mayor prioridad expropia recursos

9

Sistemas operativos de multiprogramación (o Sistemas operativos de multitarea)

Soporta la ejecución de dos o más trabajos activos al mismo tiempo. Su objetivo es tener varias tareas en la memoria principal.

Las características de un Sistema operativo de multiprogramación son las siguientes:

• Mejora la productividad del sistema y la utilización de los recursos• Multiplexa recursos entre varios programas• Soporta múltiples usuarios• Requiere validación de usuario para seguridad y protección

Estos sistemas operativos se caracterizan por tener múltiples programas activos, compitiendo por los recursos del sistema: procesador, memoria,

dispositivos periféricos.

10

6

Page 7: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Sistemas operativos de tiempo compartidoEstos sistemas permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del 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 ilusión de que tiene el sistema dedicado para sí mismo.

Las características de los sistemas operativos de tiempo compartido son:

• Dan la ilusión de que cada usuario tiene una máquina para sí• La mayoría utilizan algoritmo de reparto circular• Los programas se ejecutan con prioridad rotatoria que se incrementan

con la espera y disminuye después de concedido el servicio• Gestión de memoria proporciona protección a programas residentes 11

Sistemas operativos distribuidos

Estos sistemas permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores; este conjunto de procesadores puede estar en un equipo o en diferentes, en este caso es transparente para el usuario.

Las características de los sistemas operativos distribuidos son:

- Colocación de sistemas autónomos capaces de comunicación y cooperación mediante el hardware y software- Proporcionan medios para la compartición global de recurso - Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para la distribución de cálculos.

7

Page 8: Sistemas Operativos - Introducción y Conceptos

14/05/2015

12

Sistemas operativos de red

•Son aquellos que mantienen a dos o más computadoras unidas a través de algún medio de comunicación, con el objetivo de poder compartir los diferentes recursos y la información del sistema.

Sistemas operativos paralelos•En estos sistemas se pretende que cuando existan dos o más procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.

•En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo. Así, en lugar de esperar a que el proceso termine de ejecutarse, regresa a atender al usuario inmediatamente

13

Funciones del sistema operativo

El sistema operativo cumple varias funciones:

8

Page 9: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.

15

Funciones del sistema operativo

El sistema operativo cumple varias funciones:

Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es

16

9

. lentamásmucho

Page 10: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Funciones del sistema operativo

Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos de la maquina a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).

17

Funciones del sistema operativo

Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede fallar o sucumbir.

18

10

Page 11: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Funciones del sistema operativo

Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.

19

Funciones del sistema operativo

Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.

Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

11

Page 12: Sistemas Operativos - Introducción y Conceptos

14/05/2015

20

Componentes del sistema operativo

El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:

El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.

22

12

Page 13: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Componentes del sistema operativo

El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera.

El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

23

Existen dos tipos generales de sistemas operativos: Los basados en caracteres y los de interfaz gráfica (ambientesamigables). El sistema basado en caracteres es ejemplificado perfectamente con el sistema operativo utilizado por las

computadoras IBM y compatibles. El MS-DOS está listo para

13

Page 14: Sistemas Operativos - Introducción y Conceptos

14/05/2015

recibir un comando desplegando el tipo de indicador (A> o C>) en la pantalla; en donde el usuario escribe carácter por carácter el comando que se desea ejecutar.

25

Ante las justificadas quejas de los usuarios por la falta deprogramas amigables, los desarrolladores de software respondieron añadiendo menús y mensajes enpantalla.Los menúsmejoranenmucholacordialidaddelosprogramas, reduciendoelnúmerodecomandosquesenecesitan conocer. La Macintosh logró crear la primera interfaz gráfica, posteriormente Microsoft introdujo la interfaz gráficaWindowsparalascomputadorasIBMycompatibles.

Cada programa en Windows tiene reservada un área dela pantalla conocida con el nombre de ventana.

Un sistema operativo que se opera mediante el uso de imágenes y símbolos en vez de palabras se denomina interfaz gráfica para el usuario, o GUI (Graphic UserInterface).

26

Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:

14

Page 15: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere destinar.

Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

27

Estructura monolítica.

Es la estructura de los primeros sistemas operativos constituídos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra

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 de un programa ligador.

28

15

Page 16: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Estructura monolítica.

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

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

29

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 esto 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 un clara interface con el resto de elementos.

30

Estructura jerárquica.

16

. aplicacionesde

Page 17: Sistemas Operativos - Introducción y Conceptos

14/05/2015

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos o “rings”

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más protegidas de accesos indeseados desde las capas más externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.

31

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éntica a 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.

El 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.32

Cliente-servidor ( Microkernel)

17

Page 18: Sistemas Operativos - Introducción y Conceptos

14/05/2015

El tipo más reciente de sistemas operativos es el denominado Clienteservidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.

Este sistema sirve para toda clase de aplicaciones por lo tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales.

El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto de los servidores como de los clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.”. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría de recursos que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware.

33

Sistemas Operativos por Servicios Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final.

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.

18

Page 19: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Las computadoras personales típicamente se han clasificado en este renglón.

34

19

Page 20: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Sistemas Operativos por Servicios

Multiusuarios

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.

35

Sistemas Operativos por Servicios

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.

36

20

Page 21: Sistemas Operativos - Introducción y Conceptos

14/05/2015

Sistemas Operativos por Servicios

Multitareas

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 el 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 asi su

37

Sistemas Operativos por Servicios

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 Mac OS.

21

. productividad

Page 22: Sistemas Operativos - Introducción y Conceptos

14/05/2015

38

Sistemas Operativos por Servicios

Multiproceso

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. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualesquira de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la

39

Sistemas Operativos por

Servicios Multiproceso

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. Us aspecto importante a considerar en estos sistemas es la forma de crear

22

. esquemaestebajotrabajodecarga

Page 23: Sistemas Operativos - Introducción y Conceptos

14/05/2015

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 paralelización

que a elaborar el algoritmo inicial. 40

Sistemas 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 accesa los servicios. Bajo esta clasificación se pueden detectar dos tipos principales:

◦ Sistemas operativos de red

◦ Sistemas operativos distribuídos.

41

Sistemas 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

23

Page 24: Sistemas Operativos - Introducción y Conceptos

14/05/2015

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

42

24