introducción a los sistemas industriales (is) módulo 3: sistemas operativos tarea 3.1:...

47
Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov, PU, Dep. ECIT 1 Operating Systems – Task3_1

Upload: jose-antonio-ortega-diaz

Post on 02-Feb-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

Introducción a los Sistemas Industriales (IS)

Módulo 3: Sistemas Operativos

Tarea 3.1: Componentes, funciones básicas y estructura de los OS.

A. Petrov, PU, Dep. ECIT

1Operating Systems – Task3_1

Page 2: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

2

Objetivos

• Definición, clasificación y componentes principales• Gestión de recursos • Cooperación y procesos concurrentes • Manipulación bloqueo mutuo • Redes • Seguridad y confiabilidad

Operating Systems – Task3_1

Page 3: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

3

Definición y funciones básicas

Un sistema operativo (OS) es un programa informático que gestiona los recursos de hardware y de software de un ordenador [4]. Un OS realiza tareas básicas tales como el control y la asignación de memoria, dando prioridad a las solicitudes del sistema, el control de los dispositivos de entrada y de salida, facilitando la creación de redes, y la gestión de archivos. También puede proporcionar una interfaz gráfica de usuario para funciones de nivel superior Se forma una plataforma para otro software del sistema y para el software de aplicación.

Operating Systems – Task3_1

Page 4: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

4

Sistemas Operativos – gestión de recursos

Operating Systems – Task3_1

Aplicaciones

Monitor

Ratón

Teclado Impresora

Lector de disco

Aplicaciones

Administrador I/O

Drivers dispositivos

Administrador de memoria

Administrador de CPU

Hardware

Sistema operativo

Page 5: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

5

Clasificación de OS

Multiusuario OS: Permite que dos o más usuarios puedan ejecutar programas al mismo tiempo. Algunos sistemas operativos permiten cientos o incluso miles de usuarios simultáneos. Multiproceso OS: Soporta la ejecución un programa en más de una CPU. Multitarea OS: Permite que más de un programa se ejecute simultáneamente. Multilectura OS: Permite que diferentes partes de un solo programa se ejecute al mismo tiempo. Tiempo real OS: Responde a una entrada al instante. Los sistemas operativos de uso general, como DOS y UNIX, no son en tiempo real. Red OS (NOS) y Distribuida OS (DOS) (ver trea de formación 3_2)

Operating Systems – Task3_1

Page 6: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

6

Componentes del sistema Servicios del sistema operativo Llamadas del Sistema Programas del Sistema Estructure del Sistema Máquinas Virtuales Diseño e Implementación del Sistema

Estructuras OS

Operating Systems – Task3_1

Page 7: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

7

Componentes Comunes de los OS

Proceso Administrador Memoria Principal Administrador Almacenamiento Secundario Administrador I/O Sistema Administrador Archivo Administrador Protección Sistema Red generaliza el acceso a la red Interpretación de comandos Sistema – interfaz entre el usuario y el OS

Operating Systems – Task3_1

Page 8: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

8

La gestión de procesos

• El proceso no es un programa, sólo es un instante de un programa: un proceso es la unidad de trabajo en un sistema.•Las cinco actividas principales de un OS en la gestión de procesos son:

– Creación y eliminación de los procesos de usuario y del sistema.– Suspensión y reanudación de procesos.– Un mecanismo para la sincronización del proceso.– Un mecanismo para la comunicación del proceso.– Un mecanismo para el manejo del bloqueo.

• En la arquitectura de von Neumann sólo se podía ejecutar un proceso en la CPU. En los nuevos OS se permite la ejecución simultánea de varios procesos a la vez a través de la multitarea, incluso con una sola CPU• Como la mayoría de las computadoras tienen un procesador de un núcleo, la multitarea se realiza mediante cambios rápidos en los procesos.

Operating Systems – Task3_1

Page 9: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

9

Estado de proceso

• El estado del proceso consiste al menos en lo siguiente:– Código para el programa.– Datos estáticos del Programa.– Datos dinámicos del Programa.– Pila de llamadas de procedimiento del Programa.– Contenido de registros de uso general.– Contenido del contador de programa (PC)– Contenido del texto de estado del programa (PSW).– El contenido del texto del estado del programa.

• Un subproceso es una actividad dentro de un proceso [4].

Operating Systems – Task3_1

Page 10: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

10

• Un proceso ocupa una cierta cantidad de memoria RAM. También hace uso de registros, pilas y listas dentro de la CPU y espacio de memoria del sistema operativo.

• Ejemplo:– Cuando dos procesos están en multi-tarea, el sistema operativo asigna un

cierto número de ciclos de ejecución de la CPU para cada programa.

– Después de un número de ciclos, el sistema operativo hace copias de todos los registros, pilas y listas utilizadas por los procesos, y señala el punto en el que el proceso se detuvo en su ejecución.

– A continuación, carga todos los registros, pilas y listas utilizados por el segundo proceso y permite un cierto número de ciclos de la CPU.

– Cuando estos están completos, hace copias de todos los registros, pilas y listas utilizadas por el segundo programa, y carga el primer programa.

Multitarea de los OS (1)

Operating Systems – Task3_1

Page 11: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

Operating Systems – Task3_111

• La multitarea es el proceso de dejar que el sistema operativo realice varias tareas simultaneamente.

• En SMP (sistemas de multiprocesamiento con Procesador simétrico) este es el caso, ya que hay varios programas en ejecución en la CPU. En sistemas con una sola CPU se hace cambiando la ejecución muy rápidamente entre cada programa, por lo que da la impresión de ejecución simultánea. Este proceso también se conoce como tarea de conmutación o tiempo compartido. Prácticamente todos los sistemas operativos modernos tiene esta capacidad.

• La multitarea se da en las máquinas con un solo procesador, implementada para dejar que el proceso que se ejecuta en la CPU por un tiempo (una porción de tiempo) y cuando sea necesario se reemplaza con otro proceso, que a su vez es propietaria de la CPU.

• Los dos métodos más comunes para compartir el tiempo de CPU es multitarea cooperativa o multitarea preventiva[12].

Multitarea de los OS (2)

Page 12: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

Trabajo tarea única

• La CPU tiene que esperar para la ejecución de la instrucción de Entrada / Salida para completar la instrucción anterior.

12Operating Systems – Task3_1

Page 13: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

13

Trabajo de multitarea • Cuando una tarea está a la espera para la operación de Entrada /

Salida, la CPU puede cambiar a otra tarea.

2 Trabajo tarea

3 Trabajo tarea

Operating Systems – Task3_1

Page 14: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

14

Multitarea en OS (3)

Operating Systems – Task3_1

Multitarea

Proceso Proceso

Proceso

Page 15: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

15

• En un sistema con dos o más CPU, el OS tiene que dividir la carga de trabajo entre las CPUs, tratando de equilibrar las demandas de los procesos necesarias con los ciclos disponibles sobre las diferentes CPUs.

• OS asimétrico utiliza una CPU para sus propias necesidades y divide los procesos de aplicación entre las CPUs restante.

• OS simétrico se dividen entre las diversas CPUs, equilibrando la demanda disponible de la CPU incluso cuando el sistema operativo es lo único que se está ejecutando.

Multiproceso OS

Operating Systems – Task3_1

Page 16: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

16

• Multiproceso simétrico (SMP)– Cada procesador ejecuta y

copia idénticamente el sistema operativo.

– Muchos procesos se pueden ejecutar a la vez sin que disminuya el rendimiento.

– La mayoría de los sistemas operativos modernos soportan SMP

• Multiproceso simétrico – A cada procesador se le asigna una tarea específica, el control de

horarios de procesador y asigna trabajo a otros procesadores.– Más común en los sistemas muy grandes

Multiproceso OS (disponible)

Operating Systems – Task3_1

Page 17: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

17

Multiproceso OS (continuación)

Operating Systems – Task3_1

AsimétricoSimétrico

Page 18: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

18

¿Qué es un bloqueo mutuo?

• Un bloqueo mutuo es una situación en la que dos o más acciones en competencia están a la espera una hasta el final de la otra, por lo que ninguno de los dos lo hace [4]. Se ve a menudo en una paradoja como 'el huevo o la gallina '.

• El bloqueo mutuo en el mundo de la informática se refiere a una condición específica cuando dos o más procesos están cada uno a la espera del otro para liberar un recurso, o cuando más de dos procesos están esperando por los recursos en una cadena circular.

• Bloqueo mutuo es un problema común en multiprocesamiento donde muchos procesos comparten un tipo específico de recurso mutuamente excluyentes conocido como un software o bloqueo suave.

Operating Systems – Task3_1

Page 19: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

19

Condiciones necesarias para que se produzca un bloqueo mutuo

• Mutua condición de exclusión: un recurso está ya asignado a un proceso que está disponible

• Mantener y esperar condiciones: los procesos de mantenimiento de recursos podrán solicitar nuevos recursos

• Ninguna condición de preferencia: sólo un proceso que mantiene un recurso puede liberarlo.

• Condición circular de espera: dos o más procesos forman una cadena circular, cuando cada proceso espera un recurso que el siguiente proceso en la cadena tiene

•bloqueo mutuo sólo se produce en los sistemas donde se producen las 4 condiciones.

Operating Systems – Task3_1

Page 20: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

20

Tratar con bloqueo mútuo

3 métodos para tratar con bloqueos mútuos:– 1. Prevención - asignar recursos en el inicio. Los bloqueos mutuos

pueden prevenirse asegurando que se dan al menos una de las siguientes cuatro condiciones (ver más abajo) *

– 2. Evitar - Sólo hace las asignaciones "seguras"– a. Algoritmo de Banker limita el uso de los recursos que se conocen

de antemano. Sin embargo, para muchos sistemas es imposible. Esto significa que la prevención de bloqueo mutuo es a menudo imposible.

– b. Otros dos algoritmos son Wait/Die y Wound/Wait, utilizan una técnica de ruptura de simetría. En estos dos algoritmos existe un proceso más antiguo (O) y un proceso más joven (Y). La edad del proceso se puede determinar mediante una marca de tiempo en el momento de la creación del proceso. Las marcas de tiempo menores son procesos más antiguos, mientras que las marcas de tiempo mayores representan procesos más jóvenes.

– 3. Detección/Recuperación –realiza la búsqueda de ciclos de espera para los gráficos, y luego deshacer, rehacer, adelanto, etc.

Operating Systems – Task3_1

Page 21: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

21

Gestión de la memoria principal

Hay dos tareas generales que deberán realizarse[6]:1. Cada proceso debe tener suficiente memoria en el que se ejecuta, no

puede funcionar en el espacio de memoria de otro proceso ni se ejecutará por otro proceso.

2. Los diferentes tipos de memoria en el sistema se deben utilizar adecuadamente de modo que cada proceso pueda ejecutarse más eficazmente.

La primera tarea que requiere el sistema operativo para configurar los límites de memoria en los tipos de software y para aplicaciones individuales.

Algunas de las actividades en conexión con la administración de memoria que son manejados por el sistema operativo :

– Mantiene un registro de qué partes de la memoria se están utilizando actualmente y por quién

– Decidir qué procesos cargar cuando el espacio de memoria está disponible.– Asignar y desasignar espacio de memoria necesario.

Operating Systems – Task3_1

Page 22: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

22

• La mayoría de los equipos modernos usan discos como el principal medio de almacenamiento en línea, tanto para los programas como para los datos.

• Debido a que el almacenamiento secundario se utiliza frecuentemente, debe ser utilizado eficientemente, sino se produce un cuello de botella de procesamiento

• El sistema operativo es responsable de las siguientes actividades relacionadas con la administración de discos: – La gestión del espacio libre

– La asignación de almacenamiento

– La programación disco

Gestión de Almacenamiento Secundario

Operating Systems – Task3_1

Page 23: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

23

• Un archivo es una colección de información relacionada definida por su creador. Comunmente, los archivos representan programas (tanto formas fuente y objeto) y datos.

• El sistema operativo es responsable de las siguientes actividades en conexión con la administración de archivos:– Creación y eliminación del archivo.

– Creación y eliminación de directorios.

– Apoyo de primitivas para manipular archivos y directorios.

– Cartografía de archivos en el almacenamiento secundario.

– Copia de seguridad del archivo de medios de almacenamiento estables.

• Nuevos OS como Windows XP / Vista / 7 support nueva tabla de asignación de archivos tipo – NTFS, que es más eficiente para discos grandes que los mayores FAT 32

Gestión de archivos

Operating Systems – Task3_1

Page 24: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

24

• Ocultar las peculiaridades de los dispositivos de hardware específicos del usuario

• El sistema de Entrada / Salida se compone de:

– Un componente de gestión de memoria que incluye buffering, el almacenamiento en caché y la cola de impresión.

– Una interfaz general del controlador del dispositivo.

– Controladores para los dispositivos hardware específicos.

Gestor de archivos de entrada / salida

Operating Systems – Task3_1

Page 25: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

25

• Una interfaz de Usuario (UI) da la estructura de la interacción entre un usuario y el ordenador. En la última década, la más popular es la interfaz gráfica de usuario(GUI), dos modelos, Apple's Macintosh y Microsoft's Windows [1, 3].

• El popular, sistema operativo de ódigo abierto, Linux, también es compatible con una interfaz gráfica de usuario.

• Unix, por ejemplo, tiene interfaces de usuario llamados conchas que presentan una interfaz de usuario más flexible y potente que el sistema operativo estándar de interfaz basada en texto.

• También existen interfaces gráficas de usuario, como por ejemplo X-Windows y Gnome, que hacen que Unix y Linux más parecidos a ordenadores con Windows y Macintosh desde el punto de vista del usuario.

Interfaz de Usuario

Operating Systems – Task3_1

Page 26: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

26

• Sirve como la interfaz entre el usuario y el sistema operativo Fácil de usar, el medio ambiente en Macintosh y Microsoft Windows

– En MS-DOS y UNIX, los comandos se escriben en el teclado y se muestran por pantalla o impresora

• Muchas órdenes se dan en el sistema operativo por sentencias de control que se ocupan de:– Creación y gestión de procesos– Manipulación de Entrada/Salida– Gestión de almacenamiento secundario– Gestión de la memoria principal– Acceso al sistema de archivos– Protección – Red

Sistema de Comando-Intérprete

Operating Systems – Task3_1

Page 27: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

27

Llamadas al sistema• Las llamadas al sistema proporcionan la interfaz entre un programa en

ejecución y el sistema operativo. Por ejemplo:– Archivo de entrada abierto, crean el archivo de salida.

– Generalmente disponible como rutinas escritas en C y C++

– Ciertas tareas de bajo nivel (acceso directo al hardware) pueden ser escritas en languaje ensamblador

• Sobre todo es muy usada por los programas a través de un alto nivel Application Program Interface (API) en lugar de utilizar directamente la llamada al sistema:– Proporciona la portabilidad (hardware subyacente manejado por el sistema

operativo)

– Oculta los detalles del programador

Las tres APIs más usadas con: Win32 API para Windows, POSIX API para sistemas basados en POSIX- (incluyendo prácticamente todas las versiones de UNIX, Linux, y Mac OS X), y Java API para la máquina virtual Java (JVM)

Operating Systems – Task3_1

Page 28: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

28

Ejemplo de llamadas al sistema

• Secuencia de llamadas del sistema para copiar el contenido de un archivo a otro

Operating Systems – Task3_1

Page 29: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

29

Ejemplo de una norma API• Considere la función en el ArchivodeLectura()• Win32 una función para la lectura de un archivo

Una descripción de los parámetros pasados a ArchivodeLectura()– HANDLE file—archivo para ser leido– LPVOID buffer—un buffer, donde los datos se leen y se escriben– DWORD bytesToRead—el número de bytes que se lee en el buffer– LPDWORD bytesRead—el número de bytes leídos durante la última lectura– LPOVERLAPPED ovl—indica si se está utilizando E / S

Operating Systems – Task3_1

Page 30: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

30

Implementación del sistema de llamada

• Normalmente un número asociado a cada llamada de sistema

– Interfaz del sistema llamada mantiene una tabla indexada de acuerdo a estos números

• La interfaz del sistema de llamada invoca una llamada al sistema previsto en OS kernel y devuelve el estado de la llamada al sistema y los valores de retorno

• El emisor no necesita saber nada nada sobre cómo se implementa la llamada al sistema

– Sólo tiene que obedecer a API y entender lo que va a hacer el OS como resultado de una llamada

– La mayoría de los detalles de la interfaz del programador OS ocultos por API

Gestionado por la biblioteca de compatibilidad de tiempo de ejecución (conjunto de funciones incorporadas en las bibliotecas que se incluye con compilador)

Operating Systems – Task3_1

Page 31: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

31

API – Sistema de Llamada – OS Relación

Operating Systems – Task3_1

Page 32: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

32

Ejemplo de Librería stándart en C• Programa C invocando printf () llamada de la biblioteca,

que llama a write () llamada al sistema

Operating Systems – Task3_1

Page 33: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

33

Tipos de Llamadas del Sistema

• Control del proceso– final, abortar, cargar, ejecutar, asignar memoria libre

• Gestión de archivos– Crear, eliminar, abrir, cerrar, leer, escribir el archivo

• Gestión de dispositivos– Solicitar/desbloquear, leer, escribir

• Mantenimiento de Información– obtener / establecer los datos del sistema

• Comunicaciones– Enviar / recibir mensajes, crear / eliminar comunicador

Operating Systems – Task3_1

Page 34: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

34

Programas del Sistema

• Los programas del sistema proporcionan un entorno adecuado para el desarrollo y ejecución del programa. Se pueden dividir en :– La manipulación de archivos– Información de estado (fecha, hora, número de usuarios, memoria libre etc.)– Modificación del archivo (editor de texto)– Apoyo al lenguaje de programación (compiladores, ensambladores, etc)– Carga y ejecución del programa (cargadores, vinculación editores)– Comunicaciones (crea conexiones virtuales entre procesos, usuarios y

diferentes sistemas informáticos)– Utilidades del sistema o programas de aplicación (navegadores web,

procesamiento de textos, hojas de cálculo, etc)

• La mayoria de los usuarios ven el OS definido por el sistema de

programas, no por el actual sistema de llamadas.

Operating Systems – Task3_1

Page 35: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

35

Implementación del Sistema• Tradicionalmente escrito en lenguaje ensamblador, OS ahora se

puede escribir en lenguajes de alto nivel *.• El código escrito en un lenguaje de alto nivel :

– se puede escribir más rápido.– es más compacto.– es más fácil de entender y depurar.

• Los oponentes a los OSs en lenguaje de alto nivel se quejan por un bajo rendiemiento y un incremento de consumo en almacenaje de datos.

• Sus defensores sostienen:

• Un sistema operativo es mucho más fácil de transportar(mover a algún otro hardware) si está escrito en un lenguaje de alto nivel.

–Los compiladores modernos pueden producir códigos altamente optimizados.–Hoy en día sistemas operativos se ejecutan en hardware muy complejo que puede saturar el programador con detalles.–Mejora las estructuras de datos y algoritmos, mejora el rendimiento de sistemas operativos–Sólo una pequeña cantidad de código es crítica para alto rendimiento – los cuellos de botella pueden ser reemplazados con código de ensamblador más adelante

Operating Systems – Task3_1

Page 36: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

36

Estructura del Sistema Operativo• MS-DOS – escrito para

proporcionar la mayor funcionalidad en el menor espacio– No muy bien dividido en

módulos– Diseñado sin esperar tanta

popularidad– Aunque MS-DOS tiene una

estructura, sus interfaces y niveles de funcionalidad no están bien separados

– Vulnerable a fallos del sistema cuando un usuario del programa falla

– Escrito para Intel 8088, que no tenía doble núcleo ni protección de hardware

MS-DOS layer structure

Operating Systems – Task3_1

Page 37: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

37

Estructura del sistema UNIX

kernel

Operating Systems – Task3_1

Page 38: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

38

Máquinas virtuales

• Una máquina virtual tiene el enfoque por capas con conclusión lógica. Se trata de hardware y sistema operativo kernel como si fueran todo el hardware

• Una máquina virtual proporciona una interfaz idéntica a la del hardware simple

• El sistema operativo crea la ilusión de múltiples procesos, cada uno en la ejecución de su propio procesador con su propia memoria (virtual)

Operating Systems – Task3_1

Page 39: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

39

Máquinas Virtuales (Cont.)

• Los recursos de la computadora física son compartidos para crear las máquinas virtuales– La programación de la CPU puede crear la apariencia de

que los usuarios tienen su propio procesador

– Una cola de impresión y un sistema de archivos se pueden ofrecer a los lectores de tarjetas virtuales e impresoras de líneas virtuales

– Un terminal de tiempo compartido sirve al usuario como consola del operador de la máquina virtual

Operating Systems – Task3_1

Page 40: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

40

Máquina Virtual (Cont.)

(a) máquina no virtual (b) máquina virtual

Non-virtual Machine Virtual Machine

Operating Systems – Task3_1

Page 41: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

41

Máquina Virtual Java

Operating Systems – Task3_1

Page 42: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

42

Memoria Virtual (VM)

A. Definición – Es una técnica de optimización, ejecutada por el sistema operativo con el fin de dar a un programa en uso la impresión de que tiene más memoria de la que realmente tiene. OS utilizan un programa llamado Administrador de memoria virtual (VMM) para administrar la VM. B. Como trabaja VM – VMM crea un archivo de paginación (archivo de intercambio) en el disco duro que contiene la memoria adicional que necesita el sistema operativo. Cada vez que el sistema operativo necesita un "bloque" de la memoria que no está en la memoria real (RAM), la VMM toma un bloque de la RAM de acuerdo con un determinado algoritmo, escribe en el archivo de paginación, y luego lee el bloque de memoria que el sistema operativo necesita del archivo de paginación. El VMM toma entonces el bloque de memoria del archivo de paginación, y lo mueve en la memoria real - en lugar del anterior bloque. Este proceso se llama intercambio o paginación. C. Algoritmos de sustitución de páginas

1. FIFO, 2. Optimal, 3. LRU, 4. LFU, 5. By randomly

D. Ventajas de VM

1. Permite la ejecución de los procesos de grandes. 2. Mejora la eficiencia de la multiprogramación. 3. Libera a los programadores de un cuidado de la memoria.

La memoria virtual se implementa mediante varios sistemas operativos como Windows, Mac OS X, y Linux.

Operating Systems – Task3_1

Page 43: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

43

Protección y Seguridad

• Protección - Un mecanismo para controlar el acceso de los procesos o usuarios a los recursos definidos por el sistema operativo

• Seguridad – defiende el sistema contra ataques internos y externos– Gran variedad, incluyendo ataques de denegación de servicio, gusanos,

virus, robo de identidad, robo de servicio

• Los sistemas generalmente primero distinguen entre los usuarios, para determinar quién puede hacer qué– Identidades de usuario (ID de usuario, ID de seguridad) incluyen el nombre

y número de asociado, uno por usuario– ID de usuario a continuación, se asocia con todos los archivos y procesos

de este usuario para determinar el control de acceso– Identificador de grupo (ID de grupo) permite que un conjunto de usuarios

que está definido y controla la gestión, entonces también se asocia con cada proceso y archivo

– Una escala de privilegios permite al usuario cambiar de ID efectivo con más derechos

Operating Systems – Task3_1

Page 44: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

44

Seguridad (continuación)

• La seguridad se basa en las dos ideas que:– El sistema operativo proporciona acceso a una serie de recursos, – El sistema operativo es capaz de distinguir entre algunos

solicitantes

• Seguridad interna– puede considerarse como la protección de los recursos del

ordenador de los programas, al mismo tiempo que se ejecutan en el sistema.

• Seguridad externa– Típicamente una oferta de sistemas operativos (hosts) varios

servicios a los otros equipos conectados en red y a los usuarios, tales como el intercambio de archivos, servicios de impresión, correo electrónico, sitios web, y los protocolos de transferencia de archivos.

– La primera línea de la seguridad son dispositivos de hardware conocidos como cortafuegos.

Operating Systems – Task3_1

Page 45: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

45

Fiabilidad*

Operating Systems – Task3_1

Page 46: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

46

Preguntas:1. Describe la clasificación general de los sistemas operativos .2. Describe las estructuras de los OS3. Describe los componentes comunes de los OS4. ¿Cuáles son las actividades principales de un sistema operativo en la gestión de procesos?5. Explica: por que se pueden producir condiciones de situación de bloqueo mutuo y cuales son los principales métodos para tratar con los bloqueos mutuos6. Describe las operaciones que pueden hacer los OS en multitarea7. Describe la interfaz entre un programa en ejecución y el sistema operativo - el método de las llamadas al sistema y el método a través de una interfaz de programación de aplicaciones de alto nivel (API). Compararlos.8. Explica el principio de trabajo de las máquinas virtuales.

Sistemas Operativos

Operating Systems – Task3_1

Page 47: Introducción a los Sistemas Industriales (IS) Módulo 3: Sistemas Operativos Tarea 3.1: Componentes, funciones básicas y estructura de los OS. A. Petrov,

Operating Systems – Task3_147

Recursos adicionales:1. http://en.wikipedia.org/wiki/Operating_system2. http://www.webopedia.com/TERM/o/operating_system.html3. http://computer.howstuffworks.com/operating-system5.htm4. http://en.wikipedia.org/wiki/Deadlock5. http://www.personal.kent.edu/~rmuhamma/OpSystems/os.html6. Andrew S. Tanenbaum, Maarten van Steen, Distributed Systems: Principles and Paradigms (http://www.cs.vu.nl/~ast/books/ds1/)7. http://www.howstuffworks.com/operating-system6.htm8. http://en.wikipedia.org/wiki/Comparison_of_operating_systems9. http://www.bellevuelinux.org/operating_systems_list.html10. http://www.linuxinsider.com/story/31855.html11. http://www.cse.ucsc.edu/~sbrandt/111/slides.html12. http://hjem.get2net.dk/rune_moeller_barnkob/multitasking.html13. http://en.wikibooks.org/wiki/The_Computer_Revolution/Software/OS14. http://en.wikipedia.org/wiki/System_call15. http://en.wikipedia.org/wiki/Application_programming_interface

Sistemas Operativos