Está en la página 1de 39

Sistemas Operativos

Visin general de los sistemas operativos

Agenda
Introduccin

Computadoras

y software Comparticin de recursos Mquinas abstractas Estrategias de sistemas operativos

Introduccin
SO

es como un director

Coordinar los componentes individuales del computador Asigna los recursos del computador a los diversos programas Eficiencia y funcionalidad son claves

Qu es un sistema operativo?
Es un administrador de recursos
como si fuera un gobierno del hardware programa de control ojo, no realiza trabajo productivo

Es una interfaz con el hardware


aade caractersticas no existentes en el hw oculta caractersticas inconvenientes del hw mquina extendida

Elementos de un sistema informtico


Hardware (lo tangible) Software (programas, lo intangible)
software del sistema aplicaciones

Personas (usuarios del sistema)


Usuarios programadores

Computadores y Software
Software

se diversifica por su finalidad:

Software de aplicacin Software del sistema


Sistema operativo

corta imprime enva guarda Software de Aplicacin Software de Sistemas hardware

malloc() open() fork() Software de Aplicacin Software de Sistemas hardware

inicia-impresora lee-disco sigue-ratn Software de Aplicacin Software de Sistemas hardware

Software del sistema general


Interfaz de programacin de aplicaciones

(API)

API Software
Interprete de lnea de rdenes
Compilador Cargador Sistema de ventanas Bibliotecas SO Software del sistema Hardware

Sistema Gestor de Base de Datos

El SO como interfaz
Es una capa entre el usuario y el hardware. La interfaz ofrece una mquina extendida que es una abstraccin de la realidad.

Abstraccin de recursos

El software del sistema provee un modelo abstracto de cmo funcionan los componentes del hardware.
Simplifica la forma como el programador de aplicaciones controla el hardware. Tambin limita la flexibilidad de cierto hardware concreto.

Abstracciones de nivel ms bajo estn el en SO, las de nivel alto estn en el sw del sistema exterior al SO. Definir un conjunto de abstracciones que sern generalizadas para varios recursos.

Comparticin de recursos
El

SO conmuta el hardware entre los programas a una velocidad muy elevada. Computadores pueden soportar una autntica operacin simultnea en algunos casos. Programas concurrentes y paralelos, deben compartir el mismo computador.

Mquinas abstractas y comparticin transparente


Mquina

abstracta: es una simulacin de un computador real. Comparticin multiplexada en espacio y en tiempo


Programa Resultados

. . .
Programa

. . .
Resultados

Comparticin explcita de recursos


Permiten

que los procesos usen recursos comunes con su propia estrategia


Aislamiento de recursos: obligacin del SO de prevenir el acceso no autorizado a los recursos por una mquina abstracta, cuando estn ya asignados. Comparticin autorizada es deseable cuando los procesos deben cooperar entre s, por tanto, deben de poder acceder al recurso compartido

Resumen
Interfaz hombre-mquina

Software de Aplicacin API

Software de Sistema (recursos abstractos)


Interfaz SO SO fiable (recursos abstractos)

Interfaz hardware-software
Recursos Hardware

Estrategias de sistemas operativos


Caractersticas generales de la mquina abstracta del programador. Criterios de negocio y de ingeniera:

Quin usar el computador? Es la interaccin humana ms importante que el ritmo al que se completan las tareas? Habr mas de una persona a la vez en el computador? Ser posible implementar una estrategia sin afectar de aburrimientos las prestaciones del sistema completo?

Estrategias de sistemas operativos

En los inicios:
Un solo programa todo el tiempo No existe el SO Aplicaciones para la defensa nacional Acceso exclusivo a una mquina completa para el programador para desarrollo y depuracin

En los 60s:
Usuarios esperaban la ejecucin concurrente Necesaria la comparticin de recursos Mquina abstracta y multiprogramacin

Estrategias de sistemas operativos

Sistemas de procesamiento por lotes o tandas: Sirve trabajos individuales de una coleccin de trabajos predefinidos. El SO especifica cada trabajo por medio de una lista de ordenes predefinidas: especificacin de control de trabajos Usuarios no interactan con un trabajo. Al completar el trabajo, se imprimen los resultados y se devuelve al usuario. Perspectiva del usuario: cada usuario prepara una tarea, y despus las tareas se recolectan en un lote que se remite al computador. Tras el cmputo del lote, se produce un lote de listados de salida.

Estrategias de sistemas operativos

Sistemas de procesamiento por lotes o tandas:

Trabajo 19

Trabajo 3

Bobinadora de entrada

Bobinadora de salida

Bobina de entrada

Bobina de salida

Sistemas por lotes

Estrategias de sistemas operativos

Sistemas de tiempo compartido Varios usuarios interactivamente a la vez Usuario establece una sesin interactiva con el computador y proporciona operaciones, programas y datos. SO proporcionara una respuesta adecuada en tiempo a los usuarios Gestin de los recursos y mecanismos de proteccin Polticas de implementacin para compartir equitativamente el procesador Sistema multitarea: sistema multiprogramado de tiempo compartido que soporta varios procesos por usuario.

Estrategias de sistemas operativos


Computadores

personales y las estaciones de trabajo


Mquina completa dedicada a un solo usuario Para el SO es ms importante minimizar el tiempo de espera para el usuario en ves de maximizar la utilizacin del hardware. El computador puede realizar diferentes tareas concurrentemente.

El problema de la E/S
La E/S era muy lenta en comparacin con la CPU. Esto provocaba que la CPU quedara ociosa mucho tiempo esperando por la terminacin de operaciones de E/S. Algunas tcnicas para tratar el problema:
Operacin fuera de lnea (offline) Uso de bferes Spooling

Operacin fuera de lnea (off-line)


El computador central dialoga directamente slo con dispositivos rpidos (cintas magnticas). Un pequeo computador (satlite o canal) se encarga de las transferencias con dispositivos lentos (tarjetas, impresora).

Operacin fuera de lnea (off-line)


Resultado:
mejor aprovechamiento del procesador central ejecucin paralela de clculos y operaciones de E/S

Se puede incrementar la velocidad utilizando varios satlites.

Los trabajos siguen usando los mismos servicios para la E/S. Lo que cambia es su implementacin en el S.O: independencia del dispositivo.

Bferes
Esquema de operacin de E/S en el que las transferencias de E/S se realizan a travs de un rea intermedia de memoria (bfer) La operacin de E/S se realiza slo cuando el dispositivo est preparado.

Bferes
La CPU slo espera por E/S cuando el bfer est vaco (entrada) o lleno (salida)
El uso de bferes permite solapar operaciones de E/S de una tarea con instrucciones de CPU de esa misma tarea

Bferes
El uso de bferes no resuelve totalmente el problema de la lentitud de los equipos de E/S Los bferes slo sirven para amortiguar picos de alta actividad de E/S. Su eficacia depende fundamentalmente de la velocidad de los equipos de E/S y del tipo de tareas en ejecucin
Si la E/S es muy lenta, los bferes de entrada se vacan y los de salida se congestionan.

Spooling
(Simultaneous Peripheral Operation On-Line)

Este esquema de funcionamiento de operacin de la E/S surge gracias a la aparicin de los discos Se utiliza el disco como un enorme bfer. El proceso lee/escribe sobre el disco, en lugar del dispositivo de E/S. Mientras se ejecuta un trabajo, el S.O.:
lee los datos del siguiente trabajo de la cinta/tarjetas al disco imprime la salida del anterior trabajo, del disco a la impresora

Multiprogramacin
El modo de operacin offline y el spooling aumentan el rendimiento de la CPU pero tienen sus limitaciones En algn momento la CPU quedar ociosa esperando por alguna operacin de E/S Al existir la posibilidad de tener varios trabajos en un dispositivo de acceso directo, como un disco, es posible la planificacin de trabajos
El SO puede escoger qu trabajo ejecutara a continuacin

Multiprogramacin
Cuando un proceso se bloquea al esperar por la E/S, ejecutamos en la CPU instrucciones de otro proceso. Los procesos entrelazan su ejecucin: concurrencia. La CPU y la E/S trabajan a la misma vez se terminan ms trabajos en menos tiempo

Multiprogramacin
Los sistemas multiprogramados son ms complejos:
Cuando la CPU queda libre, a qu proceso elegimos? (planificacin de la CPU) conflictos por acceso simultneo a la E/S (planificacin de dispositivos) varios procesos a la vez en memoria (gestin de memoria) Proteccin Solucin a situaciones de interbloqueo

Tiempo compartido (time sharing)


Multiprogramacin + interactividad = tiempo compartido
Los sistemas por lotes no son interactivos (el usuario no interviene durante la ejecucin)

Idea: la CPU reparte su tiempo entre los distintos procesos.


Cada proceso dispone de una rodaja de tiempo peridica. Si el periodo es lo bastante pequeo, el usuario no lo percibe.

Tiempo compartido (time sharing)


Por tanto con el tc se consigue:
tiempos de respuesta cortos Los usuarios tienen la impresin de poseer un ordenador particular

Estrategias de sistemas operativos


Sistemas

embebidos

Concebidos con la idea de controlar sistemas autnomos, carecen de usuario humano Funciona como un componente de otro sistema ms complejo SO debe garantizar tiempos de respuesta para ciertas tareas

Estrategias de sistemas operativos


Sistemas

de tiempo real

Hay sistemas en los que el tiempo de respuesta es crtico Control industrial Control de guiado de misiles Autmatas (air bag, inyeccin electrnica,) Asistencia mdica
Si ante un evento o suceso el tratamiento adecuado no se realiza dentro del tiempo especificado (muy pequeo) El Sistema Falla!

Estrategias de sistemas operativos


Sistemas

de tiempo real

Un sistema de tiempo real es aquel en el que si el proceso adecuado no se realiza dentro de unos lmites de tiempo muy estrictos y muy pequeos, el sistema falla

Dos niveles de exigencia


T.R.RIGUROSO (hard real time) Garantizan que las tareas crticas se realizan a tiempo Poca memoria secundaria RAM, ROM S.O. muy simple T.R.MODERADO (soft real time) Mezcla tareas de prioridades muy distintas No para control industrial Utiles paraMultimedia, Realidad Virtual - Ej: VMS, Unix, Windows NT..

Estrategias de sistemas operativos


Computadores

pequeos con capacidades de comunicacin (SCC)


Incluyen los computadores mviles y los inalmbricos Mquinas pequeas, porttiles, diseados para las comunicaciones SO con nuevas polticas de gestin de recursos, estrategias de gestin de energa, capacidad de almacenamiento limitado, etc. Tablet, set-top boxes, PDA.

Estrategias de sistemas operativos


Tecnologa

de redes

Redes de alta velocidad


Computadores personales Estaciones de trabajo Sistemas de proceso por lotes Sistemas de tiempo compartido, Sistemas de tiempo real Pequeos computadores

SO que gestiones recursos e informacin entre las mquinas conectadas en red

Estrategias de sistemas operativos


Sistemas
Para ciertas situaciones se necesita mucha ms velocidad

Paralelos

Este sistema no es 4 veces ms rpido! - Comunicacin y sincronizacin - Conflictos en accesos a recursos comunes - No todo el cdigo es paralelizable.

Es ms fiable, si falla uno, quedan tres.

Sistemas Tolerantes a Fallos

Estrategias de sistemas operativos


Sistemas

Distribuidos
Ventajas

Se comparte recursos
Impresoras, Ficheros, Dispositivos, CPUs,...

Mayor velocidad (en clculo distribuido) Fiabilidad

Mltiples procesadores Cada uno con su propio reloj y memoria

También podría gustarte