Download Sistemas Operativos - Por Jose L Ramirez

Document related concepts

Windows NT wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

Arquitectura de Windows NT wikipedia , lookup

Multitarea wikipedia , lookup

MINIX wikipedia , lookup

Transcript
Sistemas Operativos
Por: José L Ramírez
Martes & Jueves 9 – 10:30pm
• A finales de los 40's el uso de computadoras
estaba restringido a aquellas empresas o
instituciones que podían pagar su alto precio, y
no existían los sistemas operativos.
• Todo era Manual.
• La importancia de los sistemas operativos nace
históricamente en los años 50's.
Primera Generación
Segunda Generación
• Una computadora se • Una computadora se
operaba por medio
operaba por medio de
del trabajo en lote.
tableros enchúfales
en la primera
generación
• En la tercera generación de computadoras nace
uno de los primeros sistemas operativos con la
filosofía de administrar una familia de
computadoras: el OS/360 de IBM.
• También nace el concepto de la
multiprogramación.
• En la cuarta generación la electrónica avanza
hacia la integración a gran escala, pudiendo
crear circuitos con transistores en un centímetro
cuadrado de silicón.
• Se hacen populares el MS-DOS y UNIX en
estas máquinas. Para mediados de los 80's,
comienza el auge de las redes de computadoras
y la necesidad de sistemas operativos en red y
sistemas operativos distribuidos.
Tipos de Sistemas Operativos
• Sistemas Operativos por su Estructura
– Requisitos de usuario
– Requisitos del software
• Estructura monolítica
– Es la estructura de los
primeros sistemas
operativos constituidos
fundamentalmente por
un solo programa
–
Estructura Monolitica.JPG
• Estructura jerárquica
– Se constituyó una
estructura jerárquica o
de niveles en los
sistemas operativos
para que cada una de
ellas estuviese
definida
Sistema Jerarquico.JPG
Máquina Virtual
• Se trata de un tipo de sistemas operativos que
presentan una interfase a cada proceso,
mostrando una máquina que parece idéntica a
la máquina real subyacente.
Cliente-servidor ( Microkernel)
• Este sistema sirve para toda clase de
aplicaciones por tanto, es de propósito
general y cumple con las mismas
actividades que los sistemas operativos
convencionales.
Sistema Operativos por servicios
• Esta clasificación es
la más comúnmente
usada y conocida
desde el punto de
vista del usuario final.
Monousuarios
– Los sistemas
operativos
monousuarios son
aquéllos que
soportan a un
usuario a la vez.
Multiusuarios
– Los sistemas
operativos
multiusuarios son
capaces de dar
servicio a más de un
usuario a la vez
Monotareas
– Los sistemas
monotarea son
aquellos que sólo
permiten una tarea a
la vez por usuario
Multitareas
– Un sistema operativo
multitarea es aquél
que le permite al
usuario estar
realizando varias
labores al mismo
tiempo.
Uniproceso
• Un sistema operativo
uniproceso es aquél que
es capaz de manejar
solamente un procesador
de la computadora, de
manera que si la
computadora tuviese más
de uno le sería inútil.
Multiproceso
• Un sistema operativo
multiproceso se refiere al
número de procesadores
del sistema, que es más
de uno y éste es capaz
de usarlos todos para
distribuir su carga de
trabajo. Generalmente
estos sistemas trabajan
de dos formas: simétrica
o asimétricamente.
Sistemas Operativos por la Forma de Ofrecer sus
Servicios
• Esta clasificación también se refiere a una
visión externa, que en este caso se refiere
a la del usuario, el cómo accesa los
servicios.
Sistemas Operativos
Distribuídos
• Los sistemas operativos distribuídos
abarcan los servicios de los de red,
usando recursos como los printers, CD
rom en una sola máquina virtual que el
usuario accesa en forma transparente.
Sus ventajas
Sus desventajas
• Economía
• Un Software bien
diseñado
• Velocidad
• Generan mucha
• Crecimiento
sobrecarga
en
los
• Distribución
sistemas y el
• Compartir datos
hardware
• Compartir dispositivos
• Comunicaciones
• Flexibilidad
Tipos de Sistemas de archivo
• Almacenamiento Fisico de Datos
• Sistemas de Archivos Aislados
• Sistemas de Archivos Compartidos o de
Red
Administracion de la Memoria
• Memoria Real (RAM)
– Se utiliza majormente para ejecutar
programas en el momento. (Ramdom Access
Memory)
• Memoria Virtual
– Ayuda a la memoria real a ejecutar y correr
programas mas rapido utilizando espacio
designado en el disco duro.
Problemas con la memoria
• Relocalizacion
• Proteccion
Otros tipos de memoria
• Particiones fijas o variables
• Overlays
Adminstracion de Procesos
Niveles de planificacion
• Nivel Alto
• Nivel intermedio
• Nivel Bajo
– Objetivos de la
planificacion
• Justicia o Imparcialidad
• Maximizar la
produccion
• Maximizar el tiempo
• Evitar el aplazamiento
indefinido
• El sistema deb e de ser
predecible
Caracteristicas a considerar los
procesos
•
•
•
•
•
Cantidad de Entrada y salida
Uso del CPU
Procesos de Lote o interactivos
Procesos en Tiempo Real
Longevidad de los Procesos
Asignacion del turno de ejecucion
•
•
•
•
•
•
•
Por prioridad
El trabajo mas corto primero
El primero en llegar, primero en ejecutarse
Round Robin
El tiempo restante mas corto
La tasa de respuesta mas alta
Por politica
Tiempo que ha esperado.doc
Problemas de Concurrencia
•
•
•
•
•
•
•
Condiciones de Carrera
Postergacion o Aplazamiento Indefinido
Condicion de Espera Circular
Condicion de No apropacion
Condicion de Espera Ocupada
Condicion de Exclusion Mutua
Condicion de Ocupar y esperar un
Recurso.
Principios en el manejo de entrada
y salida
• Dispositivo de Entrada – Salida
• Controladores de Dispositivos (Terminales y
Discos Duros)
• Acceso Directo a Memoria (DMA)
• Principios en el Software de Entrada – Salida
–
–
–
–
Manejador de interrupciones
Manejador de dispositivos (hardware)
Software independiente del hardware
Software para usuarios
• Relojes
Nucleos de sistemas operativos
•
•
•
•
•
Trabajos, Proceso y Thread
Objetos
Cliente – Servidor
Nucleo Monolitico
Microkernel
Casos de Estudios
•
•
•
•
UNIX
VMS
OS/2
Windows NT
UNIX
• Uno de los sistemas operativos mas
ampliamente usados en computadoras
personales y macro.
• Evoluciono desde un simple simulador de
viajes en el sistema solar en los
laboratorios Bell de AT&T
Estandarizacion de UNIX
• Existian multiples versiones de UNIX en el mercado
(SVID, BSD y IEEE)
• La version SVID (System VInterface Definition) fue
creado para que fuese compatible con las otras
versiones
• IEEE reviso ambos sistemas operativos (SVID y BSD) y
creo un sistema operativo llamado POSIX (Portable
Operating System) para UNIX
• Durante el auge del sistema POSIX surgio un grupo de
fabricantes de computadoras (IBM, Hewlett-Packard y
DEC) que lanzaron su sistema operativo llamado OSF/1
(Open software foundation) que su objetivo era cumplir
con los estandares de UNIX pero ademas ofrecia un
sistema de ventanas llamado el X11 con un interface
amigable (MOTIF), definiciones de computo (DCE) y
administracion distribuida (DME)
Filosofia de UNIX
• Todo se maneja como cadena de bytes
• Manejo de tres descriptores estandares
(stdin, stdout, stderr) para leer los datos
de trabajo
• Capacidades de entubar y redireccionar
• Crear sistemas grandes a partir de
modulos
Sistema de archivos
• Son de organizacion jerarquica o de arbol
invertido que parte de una raiz.
• Esta diagonal al reves la usaba DOS
• Este sistema de archivos ofrece un conjunto de
comandos y llamadas al sistema.
• La proteccion se maneja por medio de una
cadena de permisos de nueve caracteres que
se dividen en tres grupos llamados RWX
El nucleo de UNIX
• El nucleo de UNIX (kernel) es de tipo
monolitico.
• El nucleo tiene dos partes principales
[Tan92]: El nucleo dependiente de la
maquina y el nucleo independiente.
Manejo de memoria
• En el principio, el espacio de memoria era
muy pequeño (64kb) y el manejo de
memoria virtual era complicado.
• En todos los sistemas UNIX se usa una
particion del disco duro para el area de
intercambio.
• Hoy dia, todos los sitemas UNIX utilizan el
manejo de memoria virtual.
Manejo de entrada/salida en UNIX
• En UNIX, las llamadas al sistema se
hacen de dos formas: sincrona y
asincrona.
Caso de estudio: VMS
• El sistema VMS (Virtual Memory System)
es uno de los mas robustos del mercado.
• Es propietario de la compañía Digital
Equipment Corporation
• Su version Open VMS 5.x existe para los
procesadores de las maquinas VAX
(CISC) y con el Alpha-chip (RISC).
• Es un sistema operativo
multiusuario/multitarea monolitico.
Manejo de archivos
• Es un sistema jerarquico
• La proteccion de los archivos son por
listas de control de acceso (Access
Control List)
Manejo de procesos en VMS
• Los procesos se manejan por prioridades
y de manera apropiativa
• Los procesos se clasifican de la prioridad
1 al 31.
Manejo de memoria en VMS
• El sistema operativo VMS utiliza un
esquema de manejo de memoria virtual
combinando segmentacion paginada.
• VMS utiliza un doble esquema de
paginacion cuando las paginas se van a
intercambiar de memoria RAM hacia disco
duro.
Manejo de entrada/salida en VMS
• VMS utiliza nombres “logicos” para
describir los dispositivos del sistema.
• Los permisos de los discos, unidades de
cinta y otros dispositivos son establecidos
por el administrador.
Caso de estudio: OS/2
• OS/2 crecio bajo el trabajo de las
compañias IBM y Microsoft
• Sus objetivos eran:
• Compatibilidad con los programas existentes para
DOS
• Ofrecer multitarea
• Facilidad de memoria virtual
• Servicios de red en area local
Manejo de archivos
• La version OS/2 1.0 era muy similar a DOS
• La version 2.0 mejoro su sistema de archivos
utilizando los modos sincrono y el asincrono.
• Este sistema operativo te permite crear varias
particiones en el disco duro con un sistema de
archivo FAT
• Tiene un interface grafico con iconos que
representan los archivos con barra de menu
Manejo de procesos
• OS/2 utiliza un esquema de planificacion
apropiativa.
Caso de estudio: Windows NT
• Fue diseñado para tomar ventaja de los
procesadores Intel y RISC
• Windows NT es la respuesta de Microsoft
a UNIX
• Ofrece los mismos servicios de UNIX,
interopera con redes UNIX
• Su estructura de archivos ARCANE y GUI
crean una simple interface para el usuario
Windows NT ofrece:
• Extensibilidad
• Portabilidad
• Confiabilidad y
robustez
• Multiprocesamiento y
escabilidad
• Desempeño
• Compatibilidad con
POSIX de UNIX
• Seguridad certificable
por el gobierno de
E.U.
Caracteristicas de Windows NT
•
•
•
•
•
•
•
•
•
Direccionamiento de 32 bits
Soporte de memoria virtual
Preemptive multitasking
Soporte para multiprocesador
Arquitectura cliente/servidor
Seguridad e integridad del sistema
Compatiblilidad con otros sistemas operativos
Independencia de plataformas
Networking (Interoperatividad)
El nucleo de Windows NT
•
•
•
•
Entradas y salidas de tareas al sistema
Proceso de interrupciones y exepciones
Sincronizacion de los multiprocesos
Recuperacion del sistema despues de una
caida
Entradas y salidas
• El kernel cuenta con un modulo llamado
despachador que se encarga de permitir
la entrada de los procesos y de darlos por
terminados
• El despachador tambien determina en que
orden van a ser ejecutados; suspendidos
y activando los procesos.
Proceso de interrupciones y
excepciones
• Se manejan como en cualquier sistema
operativo
• Las señales llegan por medio de bus o por
peticiones de entrada/salida y son
atrapadas por el nucleo
Sincronizacion de los
multiprocesos
• Esta caracteristica asegura que solo una
tarea puede accesar un mismo recurso a
la vez.
• El nucleo y el ejecutivo NT proveen
mecanismos para asegurar la integridad
del sistema a travez de la sincronizacion
• El ejecutivo del NT realiza la
sincronizacion a traves de la familia de los
objetos de sincronizacion
Recuperacion del sistema
• La recuperacion del sistema es la ultima
funcion del kernel despues de una caida
• El micro-nucleo de Windows NT contiene
una capa de abstraccion del HW que es el
limite entre el ejecutivo del NT y el HW
especifico de la computadora
Arquitectura cliente servidor
• Windows NT opera por modo de usuario y
modo privilegiado (kernel).
• El ejecutivo de NT es el corazon del
sistema