2. 2
Introducción
• Presentación
¿qué esperan del curso?
Objetivos del curso
Horario
Planificación del curso
Material de apoyo
Evaluación
Recomendaciones
3. 3
Objetivos del curso
Conocer la necesidad de tener sistemas
operativos eficientes en un sistema de
computación.
Conocer las distintas partes de un SO,
cómo se relacionan.
Ver cómo se implementa en algún sistema
operativo real la gestión de los recursos
vista en teoría.
4. 4
Planificación
Teoría
Introducción
Administración de Procesos
Administración de Memoria
Administración de Archivos
Administración de dispositivos E/S
UNIX. Aplicación de Conceptos
5. 5
Material de apoyo
Bibliografia
Sistemas Operativos – Diseño
e Implementación. Andrew S.
Tanenbaum
Sistemas operativos
Conceptos Fundamentales.
Silbershatz, Galvin, Gagne
9. 9
El nuevo contexto
Cada pieza de HW es diferente
Diferentes CPU
Pentium, PowerPC, ColdFire, ARM, MIPS
Diferentes promedios de memoria, disco, …
Diferentes tipos de dispositivos
Teclados, sensores, cámaras, lectores ópticos, …
Diferentes ambientes de red
Cable, DSL, Wireless, Firewalls,…
Preguntas:
El programador necesita escribir un programa único que
desarrolle muchas actividades independientes?
Cada programa tenga que ser alterado por cada pieza
de HW?
Cada programa tenga acceso a todos los HW?
10. 10
¿Qué es un Sistema Operativo
Un programa que actúa como un
intermediario entre el usuario de una
computadora y el hardware de la computadora.
Usar el hardware de la computadora en una
manera eficiente. (adm de recursos)
Objetivos de un Sistema Operativo:
Ejecutar los programas usuarios y hacer
fácil la solución a los problemas del usuario
Hacer que el sistema computacional se
use convenientemente.
•¿qué ventajas encontró al usar un sistema
operativo?
11. 11
Componentes Sistema Operativo
Sistema
Operativo
Manejo de
comunicaciones
Manejo de procesos
Manejo archivos
y directorios
Manejo
memoria
interna
12. 12
Motivos de estudio
Toma de decisiones en:
¿por qué diferentes PCs con el mismo CPU, sus
desempeños son diferentes?
¿cuál es la diferencia entre los sistemas
operativos?
¿debo actualizar el HW? ¿debo actualizar el SO?
¿es importante algunas capacidades (tolerantes
a fallas)? ¿qué costos implica tenerlos?
Seguridad / Virus ¿qué costo significaría tener
un problema en esto?
¿por qué el acceso a internet a veces es lento y
si hay algo que lo solucione?
13. Primera Generación (1945-1955)
http://es.wikipedia.org/wiki/Ley_de_Moore
Existía un sólo grupo de personas que se
dedicaba a diseñar, construir, programar, operar
y mantener las máquinas.
Tecnología usada: Tubos al vacío.
No existia el concepto de sistema operativo
La programación era exclusivamente en
lenguaje de máquina.
Los recursos del sistema eran asignados a una
sola tarea.
Al final de este periodo aparecieron las tarjetas
perforadas.
13
14. 14
Primeros Sistemas (1950s)
Estructura
Grandes máquinas, corren desde una consola
Un solo usuario en el sistema
Programa/usuario como operador
Software Iniciales
Assembler, compiladores
Linkers, Loaders
Librerías de subrutinas comunes
Seguridad
Ineficiente uso de los recursos
Baja utilización del CPU
Promedio significante de tiempo Setup
15. 15
Segunda Generación
(1955-1965)
La tecnología incluye transistores.
Creación de lenguajes ensambladores y
lenguajes de alto nivel; como Fortran y
Cobol .
Se adoptó el Procesamiento por Lotes
Aparecio el primer Sistema Operativo, se
logró minimizar el tiempo ocioso de los
computadores
16. 16
$FORTRAN
$JOB 10,47 DUPONT
PROGRAMA
$LOAD
$RUN
DATOS
$END
Sistema por Lotes, batch
17. 17
Tercera Generación (1965-
1980)
La tecnología usada es de circuitos integrados
Apareció:
“Multiprogramación”
Spooling (Operación simultanea y en línea de
periféricos)
Aparecieron los primeros sistemas de “Tiempo
compartido” (CTSS)
Surgió el Multics, base del UNIX
18. 18
Sistema Fuera de Línea, outlline
1401
7094
( b )
1401
( d )
( c )
( f ) ( e )
( a)
19. 19
LECTORA
TARJETAS
CPU
ARCHIVO SPOOL
DE SALIDA
IMPRESORA
DE LINEA
DISCO
ARCHIVO SPOOL
DE ENTRADA
El Spooling
24. 24
J1
J2
J3
S. O.
usuario 1
usuario 2
usuario 3
El Tiempo Compartido
25. 25
Tiempo Compartido
Hay trabajos que necesitan que el usuario
interactúe con el computador.
Sistema de tiempo compartido: el SO
intercala la ejecución de cada programa de
usuario en ráfagas cortas de cómputo o
cuantos (quantum).
Se vuelve a utilizar la multiprogramación.
Las características HW necesarias son
básicamente las vistas en los sistemas de lotes
con multiprogramación.
Multiusuario, varios usuarios simultáneos,
cada usuario cree tener todo el computador
26. 26
Cuarta Generación (1980-
1990)
La tecnología usada son los microprocesadores
Los computadores personales con mayores
capacidades
Aparecen los SO que proporcionan una interfaz
más amigable al usuario (capacidades gráficas,
íconos, sistemas de menús, etc.)
Popularidad del MS-DOS de Microsoft y UNIX.
27. 27
Quinta Generación (1990-
????)
Aunque mediados de los '80 surgió el
crecimiento de las redes de computadores
con sistemas operativos de red y sistemas
operativos distribuidos, en esta empezo a
consolidarse.
Los últimos años han generado un
conjunto de estándares abiertos.
28. 28
Sistemas Operativos en Red
Colección de sistemas operativos de computadoras
conectados en una red, y que cuentan con módulos para
proporcionar acceso a recursos remotos.(Ejm: Novell
Netware, Personal Netware, LAN Manager, Windows NT
Server, UNIX, LANtastic.
SO SO
SO
SO SO
Red de
comunicación
29. 29
Sistemas Operativos Distribuidos
Es un sistema operativo cuyos componentes estan conectados
en red, el cual es visto lógicamente como un simple sistema
operativo que existe para todos los componentes del sistema. Ejm:
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc
31. 31
Características de los
Sistemas Tiempo Real
Proporcionar rápidos tiempos de respuesta.
Proceso de mayor prioridad expropia recursos.
Gestión de memoria menos exigente. Usualmente
procesos son residentes permanentes en memoria.
Población de procesos estática en gran medida.
Poco movimiento entre almacenamiento secundario
y memoria.
Gestión de archivos se orienta más a velocidad de
acceso que a su eficiencia.
Ejm: VxWorks, Solaris, Lyns OS y Spectra
STR críticos (avión, satélite, médicos, etc) y STR suaves
(multimedia, comunicaciones, etc)
32. 32
Sistemas Abiertos
Es un sistema independiente del fabricante que esta diseñado
para interconectarse con una variedad de productos común-mente
disponibles. Implica que los estándares para tal siste-ma
estan determinados a partir de un consenso de las partes
interesadas, más que de uno o dos fabricantes solamente.
Los sistemas abiertos tienen muchos componentes
•Normas de comunicación abierta
•modelo de referenica OSI
•Normas de sistemas operativos abiertos
•Unix: Fundación Software Abierto (OSF),
parecida a Aix Normas de sistemas operativos abiertos
•Normas de interfaces de usuario abiertas
•ejemplo: X Window System desarrollado en el MIT
•Normas de aplicaciones de usuario abiertas
•adoptadas por varias corporaciones: X/Open y la OSF
33. 33
Sistemas Tolerantes a Fallas
Sistema computacional que puede seguir
funcionando, (tal vez con un menor
desempeño), a pesar de que uno de sus
componentes no este funcionando,
(sistemas robustos)
Se tienen dos enfoques:
• Redundancia hardware, uso de
componentes redundantes
• Recuperación software: diseño programas para
recuperarse de fallas
34. 34
Sistemas operativos Palmtops
Una Palm es un dispositivo móvil, o
computadora de bolsillo (por su tamaño),
que contiene diferentes utilidades.
Ejemplos utilidades:agenda (Date Book),
calculadora, libreta de direcciones
(Address Book), anotador de ideas (Memo
Pad)
Ejm: Palm OS, Windows CE (Pocket PC)
ahora Windows Mobile, EPOC (ahora
Symbian), BlackBerry, Linux