Subido por Odair Barahona

Capitulo 1 Sistemas Operativos

Anuncio
Capitulo 1: Introducción
Sistemas Operativos
Operating System Concepts – 9th Edit9on
Silberschatz, Galvin and Gagne ©2013
¿Qué es un Sistema Operativo?
 Un programa que funciona como intermediario entre el
usuario de un sistema de computo y el Hardware del equipo.
 Objetivos de un Sistema Operativo:

Ejecutar programas de usuario.

Proporcionar soluciones fáciles a los usuarios.

Hacer que el sistema de computo sea conveniente de usar.

Utilizar el Hardware de la computadora de manera eficiente.
 Un Sistema Operativo se puede ver como un gobierno ya que
por si mismo no realiza alguna función útil, pero proporciona un
ambiente dentro del cual otros programas pueden realizar
funciones útiles.
Operating System Concepts – 9th Edition
1.2
Silberschatz, Galvin and Gagne ©2013
Estructura de un Sistema de Computo
 Un sistema de computo puede dividirse en cuatro componentes principales:

Hardware – proporciona los recursos básicos de computo


Sistema Operativo


Controla y coordina el uso del Hardware entre varias aplicaciones y
usuarios.
Programas de Aplicación – Definen los métodos mediante los cuales los
recursos del sistema son utilizados para resolver los problemas de computo
de los usuarios.


CPU, Memoria, Dispositivos de E/S
Procesadores de texto, compiladores, navegadores web, sistemas de
base de datos, video juegos.
Usuarios

Personas, computadoras.
Operating System Concepts – 9th Edition
1.3
Silberschatz, Galvin and Gagne ©2013
Componentes de un Sistema de Computo
Usuario
1
Compilador
Usuario
2
Ensamblador
Usuario
3
Editor de textos
Usuario
n
Sistema de
Base de datos
Programas de Sistema y Aplicaciones
Sistema Operativo
Hardware del
Sistema
Operating System Concepts – 9th Edition
1.4
Silberschatz, Galvin and Gagne ©2013
Funciones de un Sistema Operativo
 Es más práctico definir un Sistema Operativo por lo que hace.
 El objetivo principal del Sistema Operativo debe ser la comodidad para el
usuario y eficiencia en la ejecución

Para el usuario no es importante la asignación de recursos
 El uso de recursos compartidos a través de un mainframe o servidor debe
proporcionar suficientes recursos para todos los usuarios.
 Los usuarios de sistemas dedicados, tales como workstations tienen recursos
dedicados pero frecuentemente utilizan recursos de servidores.
 Las computadoras personales son de recursos limitados, están diseñadas para
optimizar el uso y la batería.
 Algunos equipos de computo tienen interfaces reducidas, o incluso no usan una
interface, tales como computadoras integradas en dispositivos y/o automóviles.
Operating System Concepts – 9th Edition
1.5
Silberschatz, Galvin and Gagne ©2013
Definición de un Sistema Operativo
 El SO es un asignador de recursos

Administra todos los recursos

Resuelve conflictos de requerimientos para dar un uso eficiente a los
recursos
 El SO es un programa de control

Controla la ejecución de los programas, para prevenir errores y uso
incorrecto del sistema de computo.
 No hay una definición universal para un Sistema Operativo
 El programa que se ejecuta en todo momento en la computadora, es
conocido como kernel.
 Cualquier otro programa es:

Un programa de Sistema (nativo del Sistema operativo); o

Un programa de Aplicación.
Operating System Concepts – 9th Edition
1.6
Silberschatz, Galvin and Gagne ©2013
Arranque del Sistema
 El Programa “bootstrap” se carga al momento de encender o re-iniciar el
equipo.

Normalmente se almacena en una memoria ROM o EPROM,
generalmente conocido como firmware.

Inicializa todos los aspectos del sistema de computo.

“Carga” el kernel del Sistema Operativo e inicia su ejecución.

El sistema ejecuta el primer proceso, por ejemplo init, y queda en
espera que suceda un evento (interrupción)

El hardware puede activar una interrupción en cualquier momento a
través del bus del sistema.

El software puede activar una interrupción ejecutando una llamada a
sistema
Operating System Concepts – 9th Edition
1.7
Silberschatz, Galvin and Gagne ©2013
Organización de un Sistema de Computo
 Operación de un Sistema de computo.

Uno o más CPUs y controladores de dispositivos conectados a
través de un bus común que proporciona acceso a una memoria
compartida.

La ejecución concurrente para los CPUs y dispositivos compiten
por ciclos de memoria.
Operating System Concepts – 9th Edition
1.8
Silberschatz, Galvin and Gagne ©2013
Operación de un Sistema de Computo
 Los Dispositivos de E/S y el CPU se pueden ejecutar concurrentemente.
 Cada controlador de dispositivo esta a cargo de un tipo de dispositivo en
particular.
 Cada controlador de dispositivo tiene un buffer local.
 El CPU transfiere los datos desde/hacia la memoria principal hacia/desde
los buffers locales.
 La Entrada-Salida es desde el dispositivo al buffer local del controlador.
 El controlador del dispositivo informa al CPU que ha terminado sus
operaciones causando una interrupción.
Operating System Concepts – 9th Edition
1.9
Silberschatz, Galvin and Gagne ©2013
Funciones comunes de Interrupciones
 La interrupción transfiere el control a la rutina del servicio que hizo la
interrupción, generalmente a través de un vector de interrupción, el cual
contiene las direcciones de todos las rutinas de interrupción.
 La arquitectura de interrupciones debe guardar las direcciones de la
instrucción que hizo la llamada.
 Una excepción es una interrupción generada por software causada por un
error o una petición del usuario.
 Un Sistema Operativo es un manejador de interrupciones.
 Los sistemas operativos modernos son activados por interrupciones. Si no
existen procesos por ejecutar, ni dispositivos de E/S que requieran servicio,
ni usuarios a quienes responder, el Sistema estará en espera.
Operating System Concepts – 9th Edition
1.10
Silberschatz, Galvin and Gagne ©2013
Línea de Tiempo para una Interrupción
CPU
Proceso de usuario
ejecutándose
Procesamiento de
interrupciones de E/S
Dispositivo de
E/S
Inactivo
transfiriendo
Solicitud de E/S
Transferencia
completada
Solicitud de E/S
Transferencia
completada
Diagrama de tiempo de interrupciones para un solo proceso que
realiza operaciones de salida
Operating System Concepts – 9th Edition
1.11
Silberschatz, Galvin and Gagne ©2013
Manejo de Interrupciones
 El sistema operativo “preserva” o guarda el estado del CPU guardando los
registros y el contador del programa.
 Determina que tipo de interrupción ocurrió:

Poleo “polling”

Vector del sistema de interrupciones
 Separa segmentos de código que determinan cual acción debe ejecutarse
para cada tipo de interrupción.
Operating System Concepts – 9th Edition
1.12
Silberschatz, Galvin and Gagne ©2013
Estructura de E/S
E/S Síncrona
 Después que se inicia la E/S, el control se regresa al programa del usuario,
solo después de la terminación de una E/S.

La instrucción wait pone en estado inactivo (idle) al CPU hasta la
siguiente instrucción.
 El ciclo loop continua hasta que ocurre una interrupción, conteniendo el
acceso a la memoria.

Como máximo, una solicitud de E/S está pendiente a la vez, no hay
procesamiento simultáneo de E/S
E/S asíncrona
 Después que se inicia la E/S, el control se regresa al programa del usuario,
sin esperar la terminación de la E/S.
 Llamada al sistema j-- Solicitud al sistema operativo para permitir al
usuario esperar a que se complete la E/S.
 Tabla de estado de Dispositivos contiene una entrada de cada
dispositivo de E/S indicando su tipo, dirección y estado.
 El Sistema Operativo indexa en la tabla de dispositivos de E/S para
determinar el estado del dispositivo y modificar la entrada de la tabla
para incluir la interrupción
Operating System Concepts – 9th Edition
1.13
Silberschatz, Galvin and Gagne ©2013
Métodos de E/S
Usuario
Proceso solicitante
en espera
Usuario
Proceso solicitante
en espera
Controlador de dispositivo
Controlador de dispositivo
Controlador de
interrupciones
Controlador de
interrupciones
Kernel
Kernel
Hardware
Hardware
Transferencia
de datos
Transferencia
de datos
Tiempo
Tiempo
E/S Síncrona
Operating System Concepts – 9th Edition
E/S asíncrona
1.14
Silberschatz, Galvin and Gagne ©2013
Sistemas por Lotes
 Operación desde una consola.
 Dispositivos de Entrada: Lectores de tarjetas, unidades de cinta.
 Dispositivos de Salida: Impresoras, unidades de cinta,
perforadoras.
 No había interacción, el usuario preparaba el programa, datos
(tarjetas) se entregaba al operador del equipo de computo.
 El procesamiento era variable, minutos, horas, días.
 El sistema operativo transfería el control de un trabajo al siguiente.
 El sistema operativo siempre estaba residente en memoria.
Operating System Concepts – 9th Edition
1.15
Silberschatz, Galvin and Gagne ©2013
Sistemas por Lotes
 Los trabajos se agrupaban en grupos con requerimientos similares y
se ejecutaban en Lotes.
 Diferencia de velocidad de transferencia entre dispositivos de E/S y
CPU
 Planificación de trabajos. Acceso directo a varios trabajos en disco
para usar los recursos y ejecutar más tareas eficientemente.
 La multiprogramación incrementa el uso de la CPU organizando los
trabajos para que el CPU siempre este ocupado.
 En multiprogramación el sistema operativo debe tomar decisiones por
el usuario.
Operating System Concepts – 9th Edition
1.16
Silberschatz, Galvin and Gagne ©2013
Sistemas por Lotes
Sistema
Operativo
Sistema
Operativo
Área de Programas
del Usuario
Área Trabajo
de Programas
1
del Usuario
Trabajo 2
Trabajo 3
Operating System Concepts – 9th Edition
1.17
Silberschatz, Galvin and Gagne ©2013
Sistemas de Tiempo Compartido
 El tiempo compartido (multitarea) se deriva de la multiprogramación.
 El CPU ejecuta múltiples trabajos conmutando entre ellos.
 El usuario puede interactuar en cada programa mientras esta en ejecución.
 Sistema de computo interactivo, a través de dispositivos de entrada el
usuario da las instrucciones o comandos al sistema operativo.
 Tiempo de respuesta debe ser corto.
 Permite a varios usuarios compartir el sistema simultáneamente.
Operating System Concepts – 9th Edition
1.18
Silberschatz, Galvin and Gagne ©2013
Sistemas de Tiempo Compartido
 Un Sistema Operativo de tiempo compartido hace uso de la planificación
del CPU y la multiprogramación para proporcionar a cada usuario un
pequeño tiempo de ejecución.
 Memoria Virtual. Los programas pueden ser mas grandes que la memoria
física.
 Los sistemas de tiempo compartido proporcionan un mecanismo para la
ejecución concurrente (planificación CPU).
 Comunicación entre procesos para evitar bloqueos mutuos.
 Complejos y costosos de construir.
Operating System Concepts – 9th Edition
1.19
Silberschatz, Galvin and Gagne ©2013
Sistemas para computadoras personales
 No eran multiusuario, ni multitarea.
 Maximizar comodidad y grado de respuesta para el usuario.
 MS-DOS, Macintosh, Linux.
 Monousuario, el uso del CPU no es una preocupación principal.
 Protección de archivos.
 Incorporación de diseños para mainframes
Operating System Concepts – 9th Edition
1.20
Silberschatz, Galvin and Gagne ©2013
Evolución de conceptos y características de los
Sistemas Operativos
1950
mainframes
1960
MULTICS
1970
1980
Sistemas
Distribuidos
Tiempo
compartido
compiladores
Sin
software
multiusuario
Por lotes
Multiprocesador
Monitores
residentes
Tolerante a Fallas
1960
minicomputadoras
Sin
software
1970
Tiempo compartido
1980
1990
Multiprocesador
Multiusuario
Tolerante a Fallas
1970
microcomputadoras
UNIX
Compiladores
Monitores
residentes
Operating System Concepts – 9th Edition
1990
1980
1990
Compiladores
Sin
Multiprocesador
Interactivo
software
Monitores
Multiusuario
residentes
1.21
Silberschatz, Galvin and Gagne ©2013
Sistemas Paralelos
 Sistemas multiprocesador, compartir bus, reloj, memoria.
 Sistemas fuertemente acoplados.
 Mejorar el rendimiento.
 Confiabilidad, la falla de un procesador no compromete al sistema.
Operating System Concepts – 9th Edition
1.22
Silberschatz, Galvin and Gagne ©2013
Sistemas Paralelos
 Degradación suave, los demás procesadores responden si uno de ellos
falla (tolerantes a fallas)
 Los sistemas de procesadores múltiples usan el multiprocesamiento
simétrico (SMP), cada procesador ejecuta una copia idéntica del sistema
operativo.

Encore (UNIIX) para Multimax. Emplea docenas de procesadores,
ejecutando copias de UNIX
 Otros
sistemas emplean el multiprocesamiento asimétrico,
procesador tiene una tarea especifica, con un procesador maestro.
cada
 Compartir dinámicamente procesos y recursos con la memoria entre
diferentes procesadores.
Operating System Concepts – 9th Edition
1.23
Silberschatz, Galvin and Gagne ©2013
TAREA
 Investigar características y ejemplos de :

Sistemas Operativos de tiempo real

Sistemas Operativos distribuidos.
Escribir en Libreta de Apuntes.
Operating System Concepts – 9th Edition
1.24
Silberschatz, Galvin and Gagne ©2013
Estructura de Almacenamiento
 Memoria Principal – medios de almacenamiento de gran tamaño que el
CPU puede acceder directamente.

Acceso aleatorio (RAM)

Generalmente volátil
 Memoria Secundaria – es una extensión de la principal, que proporciona
una capacidad de almacenamiento mas grande no volátil.
 Discos Duros – Discos rígidos de metal o de vidrio cubiertos con material
de grabación magnético.

La superficie de los discos esta dividida lógicamente en pistas, que a su vez
están subdividos en sectores.

El controlador de disco determina la interacción lógica entre el dispositivo y el
CPU.
 Discos de estado-solido – Más rápidos que los discos duros, no volátiles.

Fabricación a través de nuevas tecnologías

En la actualidad son más usados.
Operating System Concepts – 9th Edition
1.25
Silberschatz, Galvin and Gagne ©2013
Jerarquía de almacenamiento
 Los sistemas de almacenamiento están organizados por jerarquías:

Velocidad

Costo

Volatilidad
 Almacenamiento en caché – Copiar información en un sistema de
almacenamiento más rápido; la Memoria principal se puede ver como un
caché para el almacenamiento secundario
 Controlador de dispositivo para administrar cada dispositivo de E/S

Se obtiene una interface uniforme entre el controlador y el kernel del
sistema.
Operating System Concepts – 9th Edition
1.26
Silberschatz, Galvin and Gagne ©2013
Jerarquía de Dispositivos de almacenamiento
Operating System Concepts – 9th Edition
1.27
Silberschatz, Galvin and Gagne ©2013
Almacenamiento en caché
 Es un importante principio, implementado en muchos niveles en un sistema
de computo, (Hardware, Sistema Operativo, Software)
 La información en uso es copiada de un almacenamiento lento a un
almacenamiento más rápido, en forma temporal.
 El almacenamiento rápido (cache) determina primero si tiene la información

Si la tiene, la información se usa directamente del chache (más rápido)

Si no, se copian los datos al cache, y se usan.
 El caché es más pequeño que el almacenamiento a ser guardado.

El administrador del caché es un importante problema de diseño.

Involucra Tamaño del caché y política de reemplazo.
Operating System Concepts – 9th Edition
1.28
Silberschatz, Galvin and Gagne ©2013
Estructura de acceso directo a la memoria
 Se utiliza para dispositivos de E/S de alta velocidad capaces de transmitir
información a velocidades cercanas a la memoria.
 El
controlador de dispositivo transfiere los bloques de datos del
almacenamiento de búfer directamente a la memoria principal sin
intervención de la CPU.
 Sólo se genera una interrupción por bloque, en lugar de una interrupción
por byte.
Operating System Concepts – 9th Edition
1.29
Silberschatz, Galvin and Gagne ©2013
Arquitectura de una computadora moderna
Una arquitectura de von Neumann
Operating System Concepts – 9th Edition
1.30
Silberschatz, Galvin and Gagne ©2013
Arquitectura de Procesador
 La mayoría de los sistemas de computo utilizan un procesador de uso
general.

De igual forma varios sistemas tienen procesadores de uso especifico.
 Los sistemas de Multiprocesadores Han crecido en uso e importancia

También conocidos como sistemas paralelos y/o Sistemas bien
acoplados

Sus ventajas incluyen:

1.
Mayor rendimiento
2.
Economía de escala
3.
Mayor fiabilidad – La degradación es baja, y tiene mejor
tolerancia a fallos.
Existen dos tipos:
–
1.
Multiprocesamiento asimétrico
asignado a una tarea especifica..
2.
Multiprocesamiento simétrico – Cada procesador realiza todas
las tareas
Operating System Concepts – 9th Edition
1.31
Cada
procesador
esta
Silberschatz, Galvin and Gagne ©2013
Arquitectura de multiprocesamiento simétrico
Registros
Registros
Registros
Memoria
Operating System Concepts – 9th Edition
1.32
Silberschatz, Galvin and Gagne ©2013
Diseño de doble núcleo
 Multi-chip y multicore
 Los sistemas contienen todo el chip

El chasis contiene múltiples sistemas separados
Registros
Registros
memoria
Operating System Concepts – 9th Edition
1.33
Silberschatz, Galvin and Gagne ©2013
Sistemas agrupados (cluster)
 Mismo concepto que los sistemas de multiprocesadores.
 Varios sistemas trabajando juntos.

Normalmente compartiendo almacenamiento a través de una red de
área de almacenamiento (SAN)

Proporciona un servicio de alta disponibilidad que sobrevive fallas.


La agrupación asimétrica tiene una máquina en modo de espera
activo ( hot-standby )

El agrupamiento simétrico tiene varios
aplicaciones, supervisándose mutuamente.
ejecutando
Algunos clusters son para computación de alto rendimiento (HPC)


nodos
Las aplicaciones deben escribirse para usar la paralelización
Algunos sistemas distribuyen un administrador de bloqueo (DLM)
para evitar operaciones en conflicto
Operating System Concepts – 9th Edition
1.34
Silberschatz, Galvin and Gagne ©2013
Sistemas agrupados
(Clustered Systems)
interconexión
computadora
interconexión
computadora
computadora
Red de Área de
Almacenamiento
Operating System Concepts – 9th Edition
1.35
Silberschatz, Galvin and Gagne ©2013
Estructura de Sistema Operativo
 Multiprogramación (Sistema de Lotes). Requiere mucha eficiencia

Un usuario no puede mantener al CPU y los dispositivos de E/S ocupados en todo momento.

La Multiprogramación organiza trabajos (código y datos) para que el CPU siempre tenga algo
que ejecutar.

Un conjunto de trabajos, tareas, procesos del Sistema se mantienen en memoria.

Un trabajo es seleccionada a través del Programador de tareas

Cuando tiene que esperar (una E/S por ejemplo), el Sistema operativo cambia a otro trabajo,
tarea, proceso.
 Tiempo compartido (Multitarea) es una extensión lógica en la cual el CPU cambia entre
trabajos frecuentemente y así los usuarios pueden interactuar con cada trabajo/proceso
cuando cada programa lo esta ejecutando, creando así el procesamiento interactivo
 Tiempo de respuesta < 1 seg.
 Cada usuario tiene por lo menos un programa en ejecución en la memoria proceso
 Si varios trabajos están listos para ejecutarse al mismo tiempo se usa  programador de
CPU, Si los procesos no caben en la memoria , se ejecuta el swapping.
 La memoria virtual permite la ejecución de procesos que no están en memoria por
completo.
Operating System Concepts – 9th Edition
1.36
Silberschatz, Galvin and Gagne ©2013
Operaciones del sistema operativo
 Manejador de Interrupciones (hardware y software)

Interrupción de hardware por uno de los dispositivos

Interrupción de software (excepción o interceptación)
Error de Software (división por cero)
 Solicitud de servicio del sistema operativo
 Otros problemas de proceso incluyen bucle infinito, procesos
que se modifican entre sí o del sistema operativo.

Operating System Concepts – 9th Edition
1.37
Silberschatz, Galvin and Gagne ©2013
Administrador de Procesos
 Un proceso es un programa en ejecución.



Es una unidad de trabajo dentro del sistema.
El programa es una entidad pasiva
El proceso es una entidad activa.
 El proceso necesita recursos para llevar a cabo su tarea


CPU, memoria, E/S, archivos
Información de Inicialización.
 La terminación del proceso significa la recuperación de cualquier
recurso reutilizable.
Operating System Concepts – 9th Edition
1.38
Silberschatz, Galvin and Gagne ©2013
Administrador de Procesos
 El proceso de un solo hilo tiene un contador de programa
especificando la ubicación de la siguiente instrucción a ejecutar.

El proceso ejecuta las instrucciones secuencialmente, una a la
vez, hasta su finalización.
 Los procesos de múltiples hilos tiene un contador de programa por
hilo.
 Normalmente, el sistema tiene muchos procesos, algunos de
usuario, algunos del sistema operativo que se ejecutan
simultáneamente en uno o varios CPUs
 La Concurrencia se logra multiplexando las CPU entre los
procesos / subprocesos
Operating System Concepts – 9th Edition
1.39
Silberschatz, Galvin and Gagne ©2013
Funciones del Administrador de Procesos
El sistema operativo es responsable de las siguientes actividades
relacionadas con la gestión de procesos:
 Crear y eliminar procesos de usuario y de sistema.
 Suspender y reanudar procesos.
 Proporcionar mecanismos (métodos y funciones) para
sincronización de procesos.
 Proporcionar mecanismos (métodos y funciones) para
comunicación de procesos.
 Proporcionar mecanismos (métodos y funciones) para
administración de Interbloqueos de procesos.
Operating System Concepts – 9th Edition
1.40
Silberschatz, Galvin and Gagne ©2013
Administrador de Memoria
 Para ejecutar un programa, todas (o parte) de las instrucciones deben estar
en la memoria.
 Todos (o parte) de los datos que necesita el programa deben estar en la
memoria.
 La gestión de la memoria determina qué hay en la memoria y cuándo.

Optimización de la utilización de la CPU y respuesta de la computadora a
los usuarios
Operating System Concepts – 9th Edition
1.41
Silberschatz, Galvin and Gagne ©2013
Administrador de Memoria
 Funciones del Administrador de Memoria

Seguimiento de las partes de la memoria que se están utilizando
actualmente y por quién.

Decidir qué procesos (o partes de los mismos) y los datos para
moverse dentro y fuera de la memoria.

Asignación y des-asignación de espacio de memoria según sea
necesario
Operating System Concepts – 9th Edition
1.42
Silberschatz, Galvin and Gagne ©2013
Administración de almacenamiento
 El SO proporciona una vista uniforme y lógica del almacenamiento de
información
 Resume las propiedades físicas de la unidad de almacenamiento lógico
(archivo)
 Cada medio es controlado por un dispositivo (unidad de disco, unidad USB)
 Las propiedades variables incluyen velocidad de acceso, capacidad,
tasa de transferencia de datos, método de acceso (secuencial o
aleatorio)
 Por lo general, los discos se utilizan para almacenar datos que no caben en la
memoria principal o datos que deben mantenerse durante un período de tiempo
"largo"
 Una gestión adecuada es de importancia central
 La
velocidad del sistema de
almacenamiento y sus algoritmos.
Operating System Concepts – 9th Edition
computo
1.43
depende
del
subsistema
de
Silberschatz, Galvin and Gagne ©2013
Administración de almacenamiento
 Administración del sistema de archivos

Los Archivos normalmente están organizados en directorios

Control de acceso en la mayoría de los sistemas para determinar quién
puede acceder a qué.

Las funciones del SO incluyen:
 Cear y eliminar archivos y directorios.
 Primitivas para manipular archivos y directorios.
 Asignación de archivos en el almacenamiento secundario.
 Archivos de copia de seguridad en medios de almacenamiento estables
(no volátiles).
 Administrar espacio libre.
 Asignación de Almacenamiento.
 Programación de disco.
Operating System Concepts – 9th Edition
1.44
Silberschatz, Galvin and Gagne ©2013
Gestión de almacenamiento masivo
 El almacenamiento no necesita ser rápido

El almacenamiento terciario incluye almacenamiento óptico, cinta magnética

Aún así, debe gestionarse - por sistema operativo o aplicaciones.

Varía entre WORM (write-once, read-many-times) y RW (lectura-escritura)
Rendimiento de varios niveles de almacenamiento
Operating System Concepts – 9th Edition
1.45
Silberschatz, Galvin and Gagne ©2013
Subsistema de E / S
 Un propósito del SO es ocultar las peculiaridades de los dispositivos
de hardware del usuario.
 El Subsistema de E/S es responsable de:

Gestión de memoria de E/S incluyendo almacenamiento en
memoria intermedia (almacenamiento de datos temporalmente
mientras se está transfiriendo).

Almacenamiento en caché (almacenamiento de partes de datos
en un almacenamiento más rápido para el rendimiento), cola (la
superposición de salida de un trabajo con la entrada de otros
trabajos).

Interfaz general del controlador del dispositivo

Controladores para dispositivos de hardware específicos
Operating System Concepts – 9th Edition
1.46
Silberschatz, Galvin and Gagne ©2013
Protección y Seguridad
 Protección - cualquier mecanismo para controlar el acceso de
procesos o usuarios a recursos definidos por el sistema operativo.
 Seguridad - defensa del sistema contra ataques internos y externos.
 Amplia gama, incluyendo negación de servicio, gusanos, virus, robo
de identidad, robo de servicio
 Los sistemas generalmente distinguen primero entre los usuarios, para
determinar quién puede hacer qué.
 Las identidades de usuario (ID de usuario, ID de seguridad)
incluyen nombre y número asociado, uno por usuario.
 ID de usuario asociado con todos los archivos, procesos de ese
usuario para determinar el control de acceso.
 Identificador de grupo (ID de grupo) permite definir el conjunto de
usuarios y controlar los accesos, también asociados con cada
proceso, o archivo.
 La escalada de privilegios permite al usuario cambiar a un ID
efectivo con más derechos.
Operating System Concepts – 9th Edition
1.47
Silberschatz, Galvin and Gagne ©2013
Estructuras de Datos del Kernel
Similares a las estructuras de datos de programación estándar
Lista de enlaces individuales
Lista doblemente enlazada
Lista circular vinculada
Operating System Concepts – 9th Edition
1.48
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Tradicionales
 Sistemas de computo individuales de uso general
 Los portales proporcionan acceso web a los sistemas internos
 Las computadoras de red (thin clients) son como terminales Web
 Interconexión de equipos móviles a través de redes inalámbricas
 Redes se vuelven omnipresentes - incluso los sistemas domésticos usan
cortafuegos para proteger las computadoras domésticas de los ataques de
Internet.
Operating System Concepts – 9th Edition
1.49
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Móvil
 Smartphones portátiles, tabletas, etc.
 ¿Cuál es la diferencia funcional entre ellos y una computadora portátil
"tradicional"?
 Función extra - más características del sistema operativo (GPS, giroscopio)
 Permite nuevos tipos de aplicaciones como la realidad aumentada
 Usa las redes de datos inalámbricas o celulares IEEE 802.11 para la
conectividad.
 Los líderes son Apple iOS y Google Android
Operating System Concepts – 9th Edition
1.50
Silberschatz, Galvin and Gagne ©2013
Ambientes de Computación - Distribuidos
 Computación distribuída.

Colección de sistemas separados, posiblemente heterogéneos,
conectados en red.


La red es una vía de comunicaciones, TCP/IP es más común
–
Red de área local (LAN)
–
Red de área amplia (WAN)
–
Red de área metropolitana (MAN)
–
Área de trabajo personal (PAN)
El sistema operativo de red proporciona funciones entre sistemas a
través de la red

Un Esquema de comunicación permite a los sistemas intercambiar
mensajes.

Ilusión de un sistema único
Operating System Concepts – 9th Edition
1.51
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Cliente-Servidor
 Computación cliente-servidor.
Terminales “tontas” intercambiadas por PCs inteligentes
 Muchos sistemas funcionando como servidores, responden las
peticiones generadas por clientes
 El sistema Cliente-Servidor proporciona una interfaz con el
cliente para solicitar servicios (base de datos)
 Sistema de servidor de archivos proporciona una interfaz para
que los clientes almacenen y recuperen archivos

Cliente
de
Cliente de
Escritorio
Escritorio
Servidor
RED
Cliente de
Portátil
Cliente de
Móvil
Operating System Concepts – 9th Edition
1.52
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Peer-to-Peer
 Modelo de sistema distribuido.
 P2P no distingue clientes y servidores.

Todos los nodos son considerados pares (puntos, nodos).

Cada nodo actúa como cliente, servidor o ambos

El nodo debe unirse a la red P2P


Registra su servicio como servicio central de búsqueda en la red; o

Transmite requerimientos de servicios y responde a otras peticiones
de servicio mediante un protocolo Discovery.
Los ejemplos incluyen Napster y Gnutella, voz sobre IP (VoIP) como
Skype
Operating System Concepts – 9th Edition
1.53
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Virtualización
 Permite que los sistemas operativos ejecuten aplicaciones dentro de otros
sistemas operativos.

Amplia y creciente industria
 La Emulación es utilizada cuando el tipo de CPU de origen es diferente del
tipo de destino (PowerPC a Intel x86)

Método generalmente más lento

Cuando el lenguaje de la computadora no se compila a código nativo Interprete
 La Virtualización se usa en caso que el SO compilado nativamente para la
CPU, este ejecutando sistemas operativos invitados también compilados
nativamente.

Considere VMware ejecutando invitados de WinXP, cada una de las
aplicaciones en ejecución, todas en el sistema operativo WinXP nativo

VMM (Virtual Machine Manager) proporciona servicios de virtualización
Operating System Concepts – 9th Edition
1.54
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Virtualización
procesos
procesos
procesos
procesos
Interface de
Programa
Manejador de Maquina Virtual
Operating System Concepts – 9th Edition
1.55
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Virtualización
 Los casos de uso incluyen computadoras portátiles y equipos de
escritorio que ejecutan múltiples sistemas operativos para exploración o
compatibilidad.

Ordenador portátil de Apple con Mac OS X como host, y Windows
como invitado.

Desarrollo de aplicaciones para sistemas operativos múltiples sin
tener múltiples sistemas.

Aplicaciones de control de calidad sin tener múltiples sistemas.

Ejecutar y administrar entornos de computación en centros de datos.
 VMM puede ejecutarse de forma nativa, en cuyo caso también es el
host

No hay un host de uso general (VMware ESX y Citrix XenServer)
Operating System Concepts – 9th Edition
1.56
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Cloud Computing
 Proporciona computación, almacenamiento e incluso aplicaciones
como servicio a través de una red.
 Extensión lógica de la virtualización porque utiliza la virtualización
como base para su funcionalidad.

Amazon EC2 tiene miles de servidores, millones de máquinas
virtuales, petabytes de almacenamiento disponibles a través de
Internet, pago basado en el uso.
Operating System Concepts – 9th Edition
1.57
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Cloud Computing
 Tipos de Cloud

Nube pública - disponible a través de Internet a cualquier persona
dispuesta a pagar.(Google Drive, OneDrive)

Nube privada - administrada por una empresa para uso propio de la
empresa.

Nube híbrida - incluye componentes de nube públicos y privados.
Operating System Concepts – 9th Edition
1.58
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Cloud Computing
 Servicios de Cloud

Software de Servicio (SaaS) - una o más aplicaciones disponibles a
través de Internet (p.ej., procesador de textos).

Plataforma de Servicio (PaaS) - pila de software lista para el uso de
la aplicación a través de Internet (servidor de base de datos)

Infraestructura de Servicio (IaaS): servidores o almacenamiento
disponibles a través de Internet (almacenamiento disponible para uso
de copia de seguridad)
Operating System Concepts – 9th Edition
1.59
Silberschatz, Galvin and Gagne ©2013
Entornos informáticos - Cloud Computing
 Los
Entornos de cloud computing están compuestos de sistemas
operativos tradicionales, además de VMM, y de herramientas de gestión
de la nube.

La conectividad a Internet requiere seguridad como firewalls

Los equilibradores de carga distribuyen el tráfico entre múltiples
aplicaciones
Operating System Concepts – 9th Edition
1.60
Silberschatz, Galvin and Gagne ©2013
Cloud Computing
Operating System Concepts – 9th Edition
1.61
Silberschatz, Galvin and Gagne ©2013
Sistemas operativos de código abierto
 Los sistemas operativos se ponen a disposición en formato de código fuente
en lugar de sólo fuentes binarias cerradas
 Iniciado por Free Software Foundation (FSF), que tiene "copyleft" GNU Public
License (GPL)
 Algunos ejemplos son GNU / Linux y BSD UNIX (incluido el núcleo de Mac OS
X), y muchos más.
 Puede utilizar VMM como VMware Player (Libre en Windows), Virtualbox (de
código abierto y libre en muchas plataformas - http://www.virtualbox.com)

Se utiliza para ejecutar sistemas operativos invitados para exploración
Operating System Concepts – 9th Edition
1.62
Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edit9on
Silberschatz, Galvin and Gagne ©2013
Descargar