Está en la página 1de 47

SISTEMAS OPERATIVOSVIRTUALIZACIN

Doc. Pedro Coronado Rodrguez

Puede tener respuestas abstracta diferentes.


Para un estudiante joven de universidad, un sistema operativo es el software
que permite el acceso a la riqueza del conocimiento disponible en internet.
Para un programador, unos es el software que permite el uso de un sistema de
cmputo para el desarrollo de programas.
Para una persona que usa un paquete de aplicaciones, un SO es simplemente
el software que hace posible que use el paquete.
Para un tcnico en una planta qumica informatizada, el SO es el componente
invisible de un sistema de cmputo que controla la planta.

OBJETIVOS

CONCEPTO
Es un

Conjunto de
programas

que

controla

Interaccin entre el SO con el resto de las partes.

ASPECTOS DE SISTEMAS OPERATIVOS


son
SISTEMAS OPERATIVOS
COMO INTERFAZ DE
USUARIO/COMPUTADOR

SISTEMAS OPERATIVOS
COMO GESTOR DE
RECURSOS

FACILIDAD
DE EVOLUCION DE UN
SISTEMAS OPERATIVOS

Usuario
final
Programador

Diseador del
Sistema Operativo

ASPECTOS DEL SISTEMAS OPERATIVOS


son
SISTEMAS OPERATIVOS
COMO INTERFAZ DE
USUARIO/COMPUTADOR

SISTEMAS OPERATIVOS
COMO GESTOR DE
RECURSOS

Dispositivos de E/S

Memoria
Controlador de E/S

Software del
Sistema
Operativo

Controlador de E/S

.
.
.

Programas
y
Datos

Procesador

FACILIDAD
DE EVOLUCION DE UN
SISTEMAS OPERATIVOS

.
.
.

Impresoras,
teclados,
cmaras
digitales, etc.

Controlador de E/S

Procesador

Almacenamiento

OS
Programas
Datos

ASPECTOS DEL SISTEMAS OPERATIVOS


son
SISTEMAS OPERATIVOS
COMO INTERFAZ DE
USUARIO/COMPUTADOR

SISTEMAS OPERATIVOS
COMO GESTOR DE
RECURSOS
Actualizacin de Hardware Nuevos tipos

Nuevos servicios

Resolucin de fallos

FACILIDAD
DE EVOLUCION DE UN
SISTEMAS OPERATIVOS

Planificacin del SO
El Sistema Operativo se encarga de compartir el procesador entre los
distintos procesos. Mediante los algoritmos de planificacin, el sistema
decide que proceso ha de ejecutarse y los estados por los que debe pasar.
Estos algoritmos buscan de la manera ms eficiente los siguientes objetivos:

Equidad (igualdad)

el planificador de asignar el tiempo de


utilizacin del procesador de la manera ms
justa posible.

Eficiencia

debe mantener al procesador ocupado el


mayor tiempo posible.

Tiempo de Respuesta bajo


Alto Rendimiento

debe minimizar el tiempo de


respuesta para los usuarios.
debe maximizar el nmero de procesos que
se ejecutan en un periodo de tiempo.

Planificacin del SO
Existen multitud de algoritmos pero destacamos 3

Algoritmo FIFO

First In First Out - Los procesos se ejecutan


segn su orden de llegada. El primero en entrar
no libera los recursos hasta que termina. Es el
ms sencillo pero el ms ineficaz.

Algoritmo de Rueda

Algoritmo por prioridades

Round Robin - asigna rotativamente el mismo


tiempo de ejecucin (quantum) a los
diferentes procesos en forma rotatoria. Es de
los mas sencillo, justo y de un uso ms
extendido.
asigna los tiempos de ejecucin
segn una lista de prioridades. El
tiempo de ejecucin ser mayor
para los procesos de mayor
prioridad. Es uno de los ms
complejos y eficaces.

DOS

Entorno grfico

MS-DOS

1980

WINDOWS (GUI)

1985

WINDOWS 2.0
Microsoft e IBM
Microsoft

1987

OS/2

1987 ..

WINDOWS 3

1990

OS/ 2 2.0

MACINTOSH DE APPLE

Superaron versiones anteriores

OS/2 3.0
WINDOWS 95

Introdujo arquitectura 32 bit

Desarroll una nueva API. Antigua: WIN16. Nueva: WIN32


MS-DOS + WINDOWS

Apariencia de solo un SO

WINDOWS 98

FAT32. Particiones > 2 Gb. Soporte DVD, FireWire, USB O AGP,


Internet. BASE MS-DOS.

WINDOWS 98 SE
WINDOWS 2000

WINDOWS XP

Compartir entre varias mquinas salida a internet


Empresarial-familiar. Inestable. No distincin entre
el MS-DOS y el entorno grfico. Solo 32 bit
Versiones: w2000 Professional.
W2000 Server, Advanced Server, Datacenter
Server. Multitarea.
2001.
Multimedia. ncleo de Windows NT. Versiones
Home, Professional y Corporate. Multitarea.
Redes inalmbricas. 2005-Versin 64 bit. NTFS

WINDOWS Server 2003


WINDOWS VISTA

Para servidores, basado en el


ncleo de WinXP
2007. Interfaz grfica areo en
ves de interfaz Luna de winXP.

WINDOWS SERVER 2008


WINDOWS 7

Sencillez Grfica
2009
Nuevo kernel.

WINDOWS 7

2009
Nuevo kernel. Simplicidad y rapidez en las
operaciones. Reconocimiento de escritura a mano.
Multitctil

WINDOWS SERVER 2008 R2

WINDOWS 8

SISTEMAS OPERATIVOS POPULARES

Android
IOS
Symbian
Windows mobile
-------------------------------Windows azure
windows
--------------------------------Distribuciones linux
---------------------------------

2009. SP1 2011.


Procesadores 32 no soportados
2012.
Windows 8 (26-10-2012) es la versin actual del
sistema operativo de Microsoft Windows. para
su uso en computadoras personales, incluidas
computadoras de escritorio en casa y de
negocios, computadoras porttiles, netbooks,
tabletas, servidores y centros multimedia.
soporte para microprocesadores ARM, adems
de los microprocesadores tradicionales x86 de
Intel y AMD. Compatibilidad con USB 3.0.
Interfaz Ribbon en el Explorador de Windows.
Arquitectura x86 (32 bits) y x86-64 (64 bits)

A. Procesamiento en serie:
Ejecucin
Ejecucin de un programa

Espera

Espera
Tiempo

Tarea 1
Resultado
Tarea 2
Resultado

A. Procesamiento en serie:

Con los primeros computadores, desde finales de los


aos 40 hasta mediados de en los aos 50, el
programador interaccionaba directamente con el
hardware del computador. No haba sistema operativo.
Estas mquinas eran utilizadas desde una consola,
que contena luces, interruptores, algn dispositivo de
entrada y una impresora. Los programas en cdigo de
maquina se cargaba a travs del dispositivo de
entrada(lector de tarjetas). El programador poda
examinar los registros del procesador y la memoria
principal la causa de algn error. Si todo era normal, la
salida apareca en la impresora.

A. Procesamiento en serie:

Estos sistemas iniciales presentaban dos


problemas principales:
Planificacin: Se utilizaba una plantilla impresa
para reservar tiempo de mquina.
Tiempo de configuracin: Un nico programa,
denominado trabajo, poda implicar la carga en
memoria del compilador y del programa en
lenguaje de alto nivel y a continuacin la carga y el
enlace del programa objeto y las funciones
comunes.

B. Sistemas en lotes sencillos:


Las primeras mquinas eran muy caras, y por
tanto, era importante maximizar su utilizacin. El
tiempo malgastado en la planificacin y
configuracin de los trabajos era inaceptable.
Para mejorar su utilizacin, se desarroll el
concepto de Sistema Operativo en lotes
Fue desarrollado a mediados de los aos 50 por
General Motors para el uso de un IBM 701.

B. Sistemas en lotes sencillos:

B. Sistemas en lotes sencillos:


La idea central bajo este esquema es el uso de
una pieza de software denominada monitor, en la
cual el usuario ya no tiene que acceder
directamente a la maquina. En su lugar el
usuario enva un trabajo a travs de una tarjeta
o cinta al operador del computador quien coloca
en secuencia los trabajos en el dispositivo de
entrada para que lo utilice el monitor, cuando el
programa termina el procesamiento , devuelve el
control al monitor para que este cargue el
siguiente programa.

B. Sistemas en lotes sencillos:

Para comprender como funciona el esquema,


analicmoslo desde dos puntos de vista:

B. Sistemas en lotes sencillos:


$JOB

Procesamiento de
interrupciones
Monitor

Lmite

Manejadores de
dispositivos
Secuenciamiento de
trabajos
Interprete de
lenguajes de control

$FTN

Instrucciones
FORTRAN

$LOAD
$RUN

rea de programa de
usuario

Disposicin de memoria de un monitor residente.

$END

B. Sistemas en lotes sencillos:

Punto de vista del monitor: El monitor lee de uno en


uno los trabajos desde el dispositivo de entrada
(normalmente un lector de tarjetas o dispositivo de
cinta magntica). Una vez ledo el dispositivo, el
trabajo actual se coloca en el rea de programa de
usuario, y se le pasa el control. Cuando el trabajo se
ha completado, devuelve el control al monitor, que
inmediatamente lee el siguiente trabajo. Los
resultados de cada trabajo se envan a un dispositivo
de salida, (por ejemplo una impresora), para
entregrselo al usuario.

B. Sistemas en lotes sencillos:

Punto de vista del procesador: En un cierto punto, el


procesador ejecuta instrucciones de la zona de
memoria principal que contiene el monitor, estas
instrucciones provocan que se lea el siguiente trabajo
y se almacene en otra zona de memoria principal. Una
vez que el trabajo se ha ledo, el procesador
encontrar un instruccin de salto en el monitor que le
indica al procesador que contine la ejecucin al
inicio del programa de usuario. El procesador entonces
ejecutar las instrucciones del programa de usuario
hasta que encuentre una condicin de finalizacin o
de error.

C. Sistemas en lotes multiprogramados:


Con el Sistema Operativo en lotes sencillos haba
el problema de que el procesador se encontraba
frecuentemente ocioso. Y es que los dispositivos
de E/S son lentos comparados con el procesador

C. Sistemas en lotes multiprogramados:


Leer un registro del fichero
15uS
Ejecutar 100 instrucciones
1 uS
Escribir un registro al fichero
15uS
TOTAL
31Us
Porcentaje de utilizacin de la CPU= 1/31 =0,032= 3,2%

Ejemplo utilizacin del sistema


Ejecucin
Programa 1

Espera

Ejecucin
Espera
Tiempo

(a) Monoprogramacin

C. Sistemas en lotes multiprogramados:

Kernel de
multiprogramacin

Kernel de
multiprogramacin

E/S
CPU

Programa 1

E/S

Programa 1

Programa 2

E/S

Programa 2

Programa 3

CPU

Kernel de
multiprogramacin

CPU
E/S

Programa 1

Programa 2

Programa 3

Programa 3

C. Sistemas en lotes multiprogramados:


Programa A

Ejecucin

Espera

Espera

Ejecucin

Tiempo
(a) Monoprogramacin

Programa A

Ejecucin

Espera

Espera

Ejecucin

Tiempo
Programa B

Espera

Ejecucin

Espera

Ejecucin

Espera

Tiempo
Combinado

Espera

Ejecucin
A

Ejecucin
B

Espera

Ejecucin
A

Tiempo
(b) Multiprogramador con dos programas.

Ejecucin
B

Espera

C. Sistemas en lotes multiprogramados:


Programa A

Ejecucin

Espera

Ejecucin

Espera

Tiempo
Programa B

Espera

Ejecucin

Espera

Ejecucin

Espera

Tiempo
Programa C

Espera

Espera

Ejecucin

Ejecucin

Tiempo
Combinado

Ejecucin
A

Ejecucin
B

Ejecucin
C

Espera

Ejecucin
A

Ejecucin
B

Tiempo
(c) Multiprogramador con tres programas.

Ejecucin
C

Espera

C. Sistemas en lotes multiprogramados:


CPU

Memoria

Disco

Terminal

Impresora

T2

T1
0

10

T3
15

20

25

Histograma de utilizacin con Monoprogramacin

C. Sistemas en lotes multiprogramados:


CPU

Memoria

Disco

Terminal

Impresora

T1
0

5
T3

10
T2

15

Histograma de utilizacin con multiprogramacin

C. Sistemas en lotes multiprogramados:


Ejemplo:

Atributos de ejecucin de ejemplos de programas


Trabajo 1

Trabajo 2

Trabajo 3

Tipo de trabajo

Computacin pesada

Gran cantidad de E/S

Gran cantidad de E/S

Duracin

5 minutos

15 minutos

10 minutos

Memoria requerida

50 M

100M

75M

Necesita disco?

No

No

Si

Necesita terminal?

No

Si

No

Necesita impresora?

No

No

Si

Pc 250 Mb .memoria( libre del SO)


Disco
Terminal
impresora

C. Sistemas en lotes multiprogramados:


Ejemplo:

Efectos de la utilizacin de recursos sobre la multiprogramacin

Uso del procesador

Monoprogramacin
20%

Multiprogramacin
40%

Uso del memoria

33%

67%

Uso del disco

33%

67%

Uso del impresora

33%

67%

Tiempo transcurrido

30 min

15 min

Productividad

6 trabajos/hora

12 trabajos/hora

Tiempo de respuesta medio

18 minutos

10 minutos

C. Sistemas en lotes multiprogramados:


El SO se encuentra frecuentemente ocioso, incluso
con el secuenciamiento de trabajo automtico que
proporciona un SO en lote simple.
Surge un nuevo avance en el hardware: el hardware
con proteccin de memoria. Lo que ofrece nuevas
soluciones a los problemas de rendimiento.

Se solapa el clculo de unos trabajos con la entrada/salida


de otros trabajos.
Se pueden mantener en memoria varios programas.
Se asigna el uso de la CPU a los diferentes programas en
memoria.

C. Sistemas en lotes multiprogramados:


El sistema operativo puede poner muchos programas
del usuario en la memoria, y permitir que el CPU
ejecute las instrucciones de un programa mientras
que el subsistema de E/S est ocupado con una
operacin de E/S para otro programa Esta tcnica se
llama multiprogramacin.
El monitor cumple las siguientes funciones:
Administrar la memoria.
Gestionar el uso de la CPU (planificacin).
Administrar el uso de los dispositivos de E/S.
Cuando desempea esas tareas, el monitor residente se
transforma en un sistema operativo multiprogramado o
multitarea.

DEFINICION

Es un proceso que consiste en un


ambiente interactivo de computacin
donde un usuario puede proveer
entradas a un programa desde el teclado
y examinar su salida en la pantalla del
monitor.

PRESENTA

D. Sistemas de tiempo compartido:


El servicio para el usuario.
La Planificacin.
La Administracin de memoria.

Programa priorizado
Terminacin
del intervalo
de tiempo

..
.
Planificador

Lista de planificacin

CPU

Programa seleccionado

Cmputo terminado

Esquema de la planificacin Round-Robin con intervalos de tiempo

D. Sistemas de tiempo compartido:


0
5000

Monitor

0
5000

32000
0
5000

Libre

25000
32000

25000
32000
0

TRABAJO 1
20000

TRABAJO 2

(a)

Monitor

5000
15000
20000

(TRABAJO 2)

25000

Libre

32000

(d)

5000
10000

TRABAJO 1
20000

Monitor

Libre
(b)

Monitor

Monitor
TRABAJO 3
(TRABAJO 2)

25000
32000
0
5000

Libre
(c)

Monitor

TRABAJO 4
TRABAJO 2

(TRABAJO 1)
(TRABAJO 2)
Libre
(e)

25000
32000

Libre
(f)

D. Sistemas de tiempo compartido:


Explicacin del grafico anterior: Inicialmente el monitor, carga el trabajo 1 y le
transfiere el control (a), despus el monitor decide transferir el control al trabajo
TRABAJO 2, debido a que el TRABAJO 2 requiere mas memoria que el TRABAJO 1 ,
se debe escribir primero el TRABAJO 1 en disco, y a continuacin debe cargarse el
TRABAJO 2 (b).A continuacin, se debe cargar el TRABAJO 3 para ejecutarse. Sin
embargo, debido a que el TRABAJO 3 es mas pequeo que el TRABAJO 2, una
porcin de este ltimo queda en memoria, reduciendo el tiempo de escritura de
disco (c). Posteriormente, el monitor decide transferir el control de nuevo al TRABAJO
1 . Una porcin adicional de TRABAJO 2 debe escribirse en disco cuando se carga
de nuevo el TRABAJO 1en memoria (d) y la porcin del TRABAJO 2 permanecen en
memoria (d). Cuando se carga el TRABAJO 4, parte del TRABAJO 1 y la porcin del
TRABAJO 2 permanecen en memoria (e) . En este punto, si cualquiera de estos
trabajos (TRABAJO 1 O TRABAJO 2) son activados, solo se requiere una carga parcial.
En este ejemplo, es el TRABAJO 2 el que ejecuta de nuevo. Esto requiere que el
TRABAJO 4 y la porcin residente del TRABAJO 1 se escriban en el disco y la parte
que falta de el TRABAJO 2 se lea (f).

D. Sistemas de tiempo compartido:

Multiprogramacin en lotes

Tiempo compartido

Objetivo principal

Maximizar el uso del


procesador

Minimizar el tiempo de
respuesta

Fuente de directivas
al SO

Mandatos de lenguaje de
control de trabajos
proporcionados por el trabajo

Mandatos introducidos al
terminal.

D. Sistemas de tiempo compartido:


Hoy en da, los computadores personales dedicados o
estaciones
de
trabajo
pueden
cumplir,
y
frecuentemente lo hacen, los requisitos que necesitan
una utilidad de computacin interactiva . Esta opcin
no estuvo disponible hasta los ao 60, cuando la
mayora de los computadores eran grandes y costosos.
En su lugar, se desarrollo el concepto de tiempo
compartido.

D. Sistemas de tiempo compartido:


Del mismo modo que la multiprogramacin, permite al
procesador gestionar mltiples trabajos en lotes en un
determinado tiempo, la multiprogramacin tambin se
puede utilizar mltiples trabajos interactivos. En este
ultimo caso, la tcnica se denomina tiempo compartido,
porque se comparte el tiempo el tiempo de procesador
entre mltiples usuarios. En un sistema de tiempo
compartido,
mltiples
usuarios
acceden
simultneamente al sistema a travs de terminales,
siendo el SO el encargado de entrelazar la ejecucin de
cada programa de usuario en pequeos intervalos de
tiempo o cuantos de computacin.

E. Sistemas De tiempo real:


SISTEMAS DE
TIEMPO REAL

Es un Programa que
responde
a
las
actividades en un
sistema
externo
dentro de un tiempo
mximo
determinado por el
sistema externo.

Clases

Sistemas
de Tiempo
Real Duros

Caractersticas

Sistemas
de
Tiempo
Real
Suaves

Permite la creacin de procesos


mltiples dentro de una aplicacin.
Permite la asignacin de prioridades a
los procesos.
Permite al programador definir las
interrupciones.
Usa planificacin accionada por
prioridades.
Suministra tolerancia a las fallas y
capacidades de degradacin parcial.

E. Sistemas De tiempo real:


Como tal, se le exige correccin en sus respuestas bajo
ciertas restricciones de tiempo. Si no las respeta, se
dir que el sistema ha fallado. Para garantizar el
comportamiento correcto en el tiempo requerido se
necesita que el sistema sea predecible.
El Objetivo principal de estos sistemas es minimizar los
tiempos de respuesta de cada peticin o tarea por
medio de algoritmos de planificacin, los cuales
definen que tareas deben ejecutarse en cada
momento.

F. SISTEMAS DISTRIBUIDOS:
Consta de varios sistemas de computo individuales conectados a travs de una red.
Ejemplo:
Muchas memorias, CPU y dispositivos E/S, existen en el sistema distribuido; el
sistema operativo distribuido saca provecho de la multiplicidad de recursos y de la
presencia de una red para proveer las ventajas de los recursos compartidos a travs
de las computadoras, la fiabilidad de operacin, la aceleracin de aplicaciones y la
comunicacin entre usuarios.
Caractersticas:
Caractersticas

Descripcin/Implicacin

Recursos
compartidos

Mejora la utilizacin de los recursos a travs de las fronteras de los sistemas de


cmputo individuales.

Fiabilidad

Disponibilidad de recursos y servicios a pesar de las fallas.

Rapidez del
computo

Las partes de un clculo pueden ejecutarse en diferentes sistemas de cmputo


para acelerar el cmputo.

Comunicacin

Suministra medios de comunicacin entre entidades remotas.

Crecimiento por
incrementos

Pueden magnificarse las capacidades del sistema(por ejemplo, su poder de


procesamiento) a un costo proporcional a la naturaleza y tamao de la
magnificacin.

TCNICAS ESENCIALES DE LOS SISTEMAS DISTRIBUIDOS:


Las funciones de control realizadas por los sistemas de cmputo individuales
contribuyen a la utilizacin efectiva de los sistemas distribuidos. El control distribuido es
lo contrario del control centralizado significa que las funciones de control de los
sistemas distribuidos son realizados por varias computadoras en el sistema a la manera
de definicin en lugar de ser realizadas por una computadora individual. Observemos:

Tcnicas

Descripcin

Control Distribuido

Se realiza una funcin de control a travs de la participacin de varios


nodos, posiblemente todos los nodos, en un sistema distribuido.

Transparencia

Puede tenerse acceso a un recurso o un servicio sin tener que saber su


localizacin en el sistema distribuido.

Llamada al procedimiento remoto RPC

Un proceso llama a un procedimiento que se ubica en un sistema de


cmputo diferente. La llamada al procedimiento es anloga a una
llamada a un procedimiento o funcin en un lenguaje de planificacin,
excepto porque es el sistema operativo el que pasa los parmetros al
procedimiento remoto y devuelve los resultados. La operacin del
proceso que hace la llamada se reanuda cuando se devuelven los
resultados.

SISTEMAS MODERNOS:
Los usuarios se involucran en actividades diversas en un ambiente
moderno de computacin. Por tanto, un sistema operativo moderno no
puede usar una estrategia uniforme para todos los procesos; debe usar
una estrategia que sea apropiada para cada proceso individual.
Ejemplo:
Un usuario puede abrir un manipulador del correo, editar algunos
archivos, ejecutar algunos programas y observar un video al mismo
tiempo.

CONCEPTOS CLASICOS DE LOS SISTEMAS OPERATIVOS EN LOS SISTEMAS MODERNOS


CONCEPTOS

EJEMPLO TIPICO DEL USO

Procesamiento por Lotes (Sistema


Operativo para procesamiento por
lotes)

Las actualizaciones y las consultas en la base de datos se procesan por


lotes para evitar el inicio de una base de datos para cada consulta o
actualizacin. El procesamiento por lotes tambin se usa rutinariamente
por clculos cientficos en las organizaciones de investigacin y en los
laboratorios clnicos.

Planificacin priorizante basada en


prioridades (Sistema Operativo para
multiprocesamiento)

Usado por el Kernel para suministrar un tratamiento preferencial a las


aplicaciones de alta prioridad y para lograr un uso eficiente de los
recursos, asignando una prioridad alta a los procesos interactivos y una
prioridad baja a los procesos no interactivos.

Intervalo de Tiempo (Sistema


Operativo para tiempo compartido)

Usado por el Kernel para evitar que un proceso monopolice el CPU.


Ayuda a suministrar buenos tiempos de respuesta.

Intercambio (Sistema Operativo para


tiempo compartido)

Usado por el kernel para aumentar el numero de procesos a los que se


puede dar servicio al mismo tiempo.

Procesos mltiples en una aplicacin


(Sistema Operativo en tiempo real)

Usado por una aplicacin para acelerar su ejecucin al reducir el tiempo


de expiracin. Este enfoque es muy efectivo cuando la aplicacin contiene
actividades sustantivas del CPU y de E/S.

Recursos compartidos (Sistema


Operativo distribuido)

Se usa rutinariamente en un ambiente LAN para compartir los recursos


centralizados, como las impresoras lser.

SISTEMAS OPERATIVOS

Doc. Pedro Coronado Rodrguez