1. Sistemas Operativos
Introducción
Presentación
¿qué esperan del curso?
Sistemas Operativos Profesor:
Your picture here Objetivos del curso
Ciclo 2012-1 Diaz Muñante Jorge
Introducción al curso
2
Objetivos del curso Introducción
• Conocer las distintas partes de un SO Presentación
• Cómo se relacionan. ¿qué esperan del curso?
Objetivos del curso
• Fundamentos de la operación
Horario
• Conocer la necesidad de tener sistemas
operativos eficientes en un sistema de – Martes de 2 a 5 PM
computación. – Intermedio de 15 minutos
Planificación del curso
• Ver cómo se implementa en algún sistema
operativo real la gestión de los recursos vista
en teoría.
3 4
Planificacion del curso Introducción
L M M J V S D Sem Tema PPT
26 27 28 29 30 31 1 Mar 1 Introduccion al curso C1_introduccion Presentación
2 3 4 5 6 7 8 Abr 2 Procesos. Estados C2_administracion_procesos
9
16
10
17
11
18
12
19
13
20
14
21
15
22
3
4
Interrupciones, Hilos
Semaforos
C2_administracion_procesos
C3_sincronizacion_procesos
¿qué esperan del curso?
23 24 25 26 27 28 29 5 Abrazo Mortal. Quiz # 1 C4_abrazo_mortal
30 1 2 3 4 5 6 May 6 Objetivos. Algoritmos C5_planificacion_cpu Objetivos del curso
7 8 9 10 11 12 13 7 Algoritmo Unix C5_planificacion_cpu
14
21
15
22
16
23
17
24
18
25
19
26
20
27
8
9
Examen Parcial
Organización. Estrategias C6_adm_memoria_real
Horario
28 29 30 31 1 2 3 Jun 10 Fija y Variable C6_adm_memoria_real
4 5 6 7 8 9 10 11 Antecedentes, Organización C7_memoria_virtual Planificación del curso
11 12 13 14 15 16 17 12 Paginada. C7_memoria_virtual
18 19 20 21 22 23 24 13 Estrategias. Quiz # 2 C7_memoria_virtual Material de apoyo
25 26 27 28 29 30 1 Jul 14 Dispositivos. Alg Disco C8_dispositivos
2 3 4 5 6 7 8 15 Archivos. Organización C9_administracion_archivos
9 10 11 12 13 14 15 16 Examen Final Evaluación
16 17 18 19 20 21 22 17 Examen Sustitutorio
6
Diaz Muñante Jorge 1
2. Sistemas Operativos
Material de apoyo
Material electronico en campus.dokeos.com
– Registrar en Dokeos
– Registrar en el curso
• El registro es el curso virtual de teoria y de laboratorio.
tlozano
•Ingresa a tu cuenta
•Ingresa a la opción “ordenar mis cursos”
Pagina de DIU - Dokeos
Diaz Muñante Jorge 2
3. Sistemas Operativos
Material de apoyo Evaluación
Campus de Dokeos - Aula virtual
Evaluación Porcentaje Termino Fecha
– Todas las clases en pdf (3 y 6 diapositivas x hoja)
Examen 25 % EP Semana 8
Bibliografia Parcial
– Sistemas Operativos Modernos – 3ra edición Examen Final 30 % EF Semana 15
Andrew S. Tanenbaum
Evaluaciones 10 % PC1, PC2 Semana 5 y
– Sistemas operativos Conceptos Fundamentales continuas 13
Silbershatz, Galvin, Gagne
Laboratorio 35 % Prof. M E
Rivera
13 14
Evaluación Recuperación
Sustitutorio Feriado Martes 01 de mayo
– Reemplaza el promedio de E1 y E2 – Por video conferencia
– Son By four – A puro dolor
– Grupo Kaliente - Iquitos
• Solo me queda llorar... resignado a perderte... Solo me queda llorar...
dolido y vació …
– Maelo Ruiz – Te va a doler
• Pero te vas arrepentir la vida entera
Introducción En cualquier sitio ¡¡¡
ATMs Aviones
ipod PDA
Presentación Camaras
¿qué esperan del curso?
Objetivos del curso Servidores
Carros
Reloj Celulares
Horario Controlador
De trafico
Planificación del curso Musica
Material de apoyo
Evaluación Robots
Juegos Microondas
Recomendaciones
Medicina
(MRI)
17
Diaz Muñante Jorge 3
4. Sistemas Operativos
Maquina Original de Von Neumann Ha aumentado la complejidad ¡¡
Graphics
ALU Address Bus Address Bus
PCIe Bus
CPU RAM I/O
CU Data Bus Data Bus Frontside Northbridge Memory
CPU Bus chipset Bus
RAM
Control Bus
PCI Southbridge ATA
PCI Bus chipset Bus HDD
20
¿qué significa estos cambios? Hardware / Software
Cada pieza de HW es diferente
– Diferentes CPU
• Pentium, PowerPC, ColdFire, ARM, MIPS
– Diferentes promedios de memoria, disco, …
– Diferentes tipos de dispositivos
• Teclados, sensores, camaras, lectores opticos, …
– Diferentes ambientes de red
• Cable, DSL, Wireless, Firewalls,…
Preguntas:
– ¿El programador necesita escribir un programa unico que desarrolle
muchas actividades independientes?
– ¿Por cada HW, el programa tiene que ser alterado?
– ¿Un programa que tenga acceso a todos los HW?
21
Un mundo sin Sistemas Operativos ¿qué es un sistema operativo?
Imaginemos sino existieran los SSOOs
Todo lo que tenemos es el HW
Piensa en cómo construir una aplicación
Cómo usamos los periféricos (discos, impresoras,
etc.)
Cómo gestionamos los recursos (CPU, Memoria
Real, etc.)
24
Diaz Muñante Jorge 4
5. Sistemas Operativos
¿qué es un sistema operativo? ¿qué es un sistema operativo?
¡Magia!
Existe un gran número de definiciones:
– Pruebe en Google con define: Operating System
Unas pocas de estas definiciones:
– “El software del que depende el resto del software para
hacer el computador funcional”.
– “El único programa que se ejecuta todo el tiempo en el
computador”.
– “Un programa que administra todos los otros programas en
el computador”.
25 26
Proposito de un SO
1. Recopila informacion HW y SETUP
Dos funciones principales: 2. Carga data del sector “arranque o boot”
3. Ejecuta el programa de arranque en CPU
– Administrar los recursos físicos: 4. Carga SO del disco
• Manejar varios dispositivos: 5. Corre SO
– Procesador, memoria, discos, redes, pantallas, cámaras, etc. boot
• De manera eficiente, confiable, tolerando y enmascarando las fallas, etc.
– Proveer un ambiente de ejecución para las aplicaciones corriendo sobre el OS
computador (programas como Word, Emacs, etc.):
• Provee recursos virtuales y sus interfaces.
– Archivos, directorios, threads, procesos, etc.
• Simplifica la programación mediante abstracciones de alto nivel. boot
• Provee al usuario con un ambiente estable.
OS
software
instruction set
hardware
27
Componentes Sistema Operativo Ventajas de los S.O.
Según su experiencia :
SO interfaz
usuario
Applicaciones – En el uso de un sistema operativo ¿qué ventajas encontró?
GUI CLI/shell
usuario
Interfaz llamada al sistema
kernel
Procesos Dispositivos File Comunicaciones
E/S systems Con la red
Drivers Manejo de Memoria real Proteccion
errores y virtual y seguridad
hardware
29 29 30
Diaz Muñante Jorge 5
6. Sistemas Operativos
¿por qué estudiar los SO? Primera Generación (1945-1955)
¿necesitas crear o escribir un SO? Existía un sólo grupo de personas que se dedicaba a diseñar, construir,
programar, operar y mantener las máquinas.
– Muy poco probable Tecnología usada: Tubos al vacío.
¿entonces para que necesitamos estudiarlo? Menos potente que una calculadora de bolsillo
No existía el concepto de sistema operativo
– ¿por qué diferentes PCs con el mismo CPU, sus
desempeños son diferentes? La programación era exclusivamente en lenguaje de máquina.
Los recursos del sistema eran asignados a una sola tarea.
– ¿cuál es la diferencia entre los sistemas operativos?
Al final de este periodo aparecieron las tarjetas perforadas.
– ¿debo actualizar el HW? ¿debo actualizar el SO?
– A veces se requiere modificar el SO (no vas a poderlo sin
conocer como funciona).
31 32
Segunda Generación (1955-1965) Sistema por Lotes, batch
La tecnología incluye transistores. $END
Creación de lenguajes ensambladores y lenguajes DATOS
de alto nivel; como Fortran y Cobol .
$RUN
Se adoptó el Procesamiento por Lotes
$LOAD
Apareció el primer Sistema Operativo, se logró PROGRAMA
minimizar el tiempo ocioso de los computadores
$FORTRAN
$JOB 10,47 DUPONT
33 34
Sistema Fuera de Línea, outlline Tercera Generación (1965-1980)
La tecnología usada era de circuitos integrados
IBM S/360
Apareció:
– “Multiprogramación”
– Spooling (Operación simultanea y en línea de periféricos)
Apareció los primeros sistemas de “Tiempo
compartido” (CTSS)
35 36
Diaz Muñante Jorge 6
7. Sistemas Operativos
¿Fue un proyecto exitoso? Uniprogramación a Multiprogramacion
El proyecto del desarrollo del sistema operativo OS/360
producido por IBM y a cargo de Frederick Brooks (*) su Ejecución. Ejecución.
espera espera
lanzamiento estaba dispuesto para 1965 ‐para las versiones
más simples‐ y para 1966 ‐para las versiones más
complejas‐, pero no fue hasta 1967 cuando vio la luz tiempo
oficialmente. Inicialmente pensado para ocupar 6KB, Se basan en el hecho de que los dispositivos de E/S son lentos
posteriormente fue aumentado desorbitadamente de tamaño comparados con el procesador
con nuevas funcionalidades hasta alcanzar el tamaño de
lanzamiento de 64KB. Tanembaum, lo consideraron la mayor Leer un registro 0,0015 segundos
revolución en la historia de la informática. Ejecutar 100 instrucciones 0,0001 segundos
Escribir un registro 0,0015 segundos
– (* la ley de Brooks en The Mythical Man‐Month, "Añadir personal a un proyecto TOTAL 0,0031 segundos
retrasado lo retrasará aún más." )
% utilización CPU = 0,0001 / 0,0031 = 0,032 = 3,2%
38
La Multiprogramación La multiprogramación
Cuando un proceso se bloquea al esperar por e/s,
128K
ejecutamos en el CPU instrucciones de otro
Proceso 1 proceso.
Proceso 2
Los procesos entrelazan su ejecución: concurrencia.
Proceso 3
La cpu y las e/s trabajan a la vez,
– se terminan más trabajos a la vez
Proceso 4
KERNEL
(MONITOR)
0
39 40
La multiprogramación El Spooling
ARCHIVO SPOOL
DE SALIDA
ARCHIVO SPOOL
CPU T1 T1 T2 T2 DE ENTRADA
Sin DISCO
E/S T1 T2
LECTORA IMPRESORA
TARJETAS DE LINEA
CPU T1 T2 T1 T2 con CPU
E/S T1
T2
41 42
Diaz Muñante Jorge 7
8. Sistemas Operativos
El Tiempo Compartido Quantum
CPU
Intervalo de tiempo (Quantum) o time slice
Es la cantidad mas grande de tiempo del procesador que
cualquier proceso puede consumir cuando se le asigna el
procesador
43
Tiempo Compartido Cuarta Generación (1980-1990)
Multiprogramado La tecnología usada son los microprocesadores
– CPU multiplexada.
Los computadores personales con mayores
Interactivo capacidades
– comunicación on-line entre usuario y sistema (pequeñas rodajas de
tiempo) Aparecen los SO que proporcionan una interfaz más
Sistema de Archivos amigable al usuario (capacidades gráficas, íconos,
– permite a los usuarios el acceso a datos y código (operaciones de E/S) sistemas de menús, etc.)
Intérprete de mandatos
– Permiten arrancar otros programas.
Multiusuario
– varios usuarios simultáneos
– cada usuario cree tener todo el computador
45 46
Quinta Generación (1990-????) Sistemas Operativos en Red
Aunque mediados de los '80 surgió el crecimiento
de las redes de computadores con sistemas Colección de sistemas operativos de computadoras
operativos de red y sistemas operativos distribuidos, conectados en una red, y que cuentan con módulos para
en esta empezo a consolidarse. proporcionar acceso a recursos remotos.
Los últimos años han generado un conjunto de
estándares abiertos. SO SO SO
Red de
comunicación
SO SO
47 48
Diaz Muñante Jorge 8
9. Sistemas Operativos
Ejemplo de SO de Red Sistemas Operativos Distribuidos
Clúster de máquinas individuales.
Novell Netware, Personal Netware, LAN Manager, Sobre una LAN, WAN o interconexiones más rápidas.
Windows Server, UNIX, LANtastic, etc. El clúster puede ser Asimétrico vs. Simétrico.
Se comparten los recursos, de hardware y software.
Utilización de los recursos, alta disponibilidad.
Permite algún paralelismo, pero el speedup no es un tópico
principal.
SANs, Oracle Parallel Server.
49 50
Ejemplos SO Distribuidos SO Paralelos
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Sistemas multiprocesador o fuertemente acoplados.
Taos, Plan 9, etc. Numerosas Ventajas:
– Incremento del throughput.
– Más barato.
– Más confiable.
Asimétrico vs. multiprocesamiento simétrico.
Maestro/Esclavo vs. Relaciones de iguales.
Ejemplos: SunOS Versión 4 y Versión 5.
51
Sistemas Tiempo Real Caracteristicas
– 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.
aplicaciones
– Poco movimiento entre almacenamiento secundario y
memoria.
– Gestión de archivos se orienta más a velocidad de acceso
que a su eficiencia.
Tiempo de respuesta; corto
53 54
Diaz Muñante Jorge 9
10. Sistemas Operativos
Sist. Oper. Tiempo Real Sistemas Abiertos
Ejemplos : Es un sistema independiente del fabricante que esta diseñado
– VxWorks, Solaris, Lyns OS y Spectra para interconectarse con una variedad de productos común-
mente disponibles. Implica que los estándares para tal siste-
Areas de Aplicación: ma estan determinados a partir de un consenso de las partes
– STR Criticos interesadas, más que de uno o dos fabricantes solamente.
• avión, satélite, médicos, etc. Los sistemas abiertos tienen muchos componentes
• No pueden perder ningún deadline de tarea •Normas de comunicación abierta
•modelo de referenica OSI
• Almacenamiento secundario limitado o ausente
•Normas de sistemas operativos abiertos
• Sistemas dedicados, no de propósito general •Unix: Fundación Software Abierto (OSF),
– STR suave parecida a Aix Normas de sistemas operativos abiertos
•Normas de interfaces de usuario abiertas
• multimedia, comunicaciones, etc.
•ejemplo: X Window System desarrollado en el MIT
• Pueden perder deadlines de tareas no críticas •Normas de aplicaciones de usuario abiertas
• Uso limitado en sistemas de control •adoptadas por varias corporaciones: X/Open y la OSF
55 56
Sistemas Tolerantes a Fallas Sistemas Ubicuos
Smartphones, PDAs, telefonos celulares, etc.
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:
Rendundancia hardware
uso de componentes redundantes
Recuperación software
diseño programas para recuperarse de fallas
57 Fuente: Cisco IBSG Abril 2011
Principales SSOO para dispositivos moviles Principales sistemas operativos
Google’s Android
Apple’s iOS
Microsoft’s Windows Phone
RIM’s BlackBerry OS
60
Diaz Muñante Jorge 10
11. Sistemas Operativos
Principales sistemas operativos Principales sistemas operativos
61 62
¿Que es Android?
Un SSOO open source basado en Linux
¿que es Android? Para plataformas moviles
Incluye un Java API para el desarrollo de
aplicaciones
No es un dispositivo
Android 4.0
Ice Cream Sandwich
NYC High School Girls Build Android Apps
http://www.pcworld.com/article/223409/move_over_dr_soong_girls_can_build_android_apps_too.html
Diaz Muñante Jorge 11
12. Sistemas Operativos
Resumen de la historia de los SO
El punto es: cambiarlos cuando la tecnología cambia.
La situación ha cambiado en los ultimos 40 años. Ahora los SO son enormes.
– Pequeños SO: 100K lineas
– Grandes SO: 50M lineas
Microsoft tiene cerca del 90% del mercado de Sos (solo desktop)
Complejidad
– NT fue desarrollado desde los inicios de los 90’s hasta fines 90’s
• Nunca trabajo muy bien
• 12 Millones de lineas de codigo
– Hicieron el Windows 2000/XP ( 40 M de lineas de codigo)
– Windows Vista (“Longhorn”) postergado varias veces
• Liberacion en 2008, pero antes 2005, 2006, 2007
• Prometio reemplazar varias tecnologias
• 5 años en realizarlo
– Windows 7 (Lanzamiento oficial 21 Octubre 2009)
• 3 años en realizarlo
http://developer.android.com/sdk • y ahora ?
Eclipse
68
Aumento en la complejidad de un SO Linux
Fuente:
69
http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
Configuración de un Servidor A través de los años
http://philip.greenspun.com/bboard/q-and-a-fetch-msg?msg_id=000tcP
20 Julio 2011 No todos los sistemas Batch fueron ridículos.
Ellos representaban el compromiso correcto en su momento.
Este compromiso ha cambiado con el tiempo.
• Linux setup - 40 mins Menores precio y mayores prestaciones.
Linux •
•
Tomcat Configuration
Mysql configuration
-
-
5 Mins
15 Mins
• Ley de Moore.
• Firewall config - 30 Mins Es necesario entender las bases, de tal manera que
(2 horas) • Server hardening - 30 Mins se puedan diseñar los sistemas para los compromisos
del futuro.
1985 2005 2009
• Windows setup - 2 hrs Ciclos por segundo 80386 – 16 Mhz Pentium D - 2 GHz QuadCore – 3.2 Ghz
• Update patches - 4hrs~8hrs
DRAM 128 KB 512 MB 4 GB
Microsoft •
•
•
Server config
IIS Config
-
.NET framework update & install-
-
1 hr
20~40 Mins
30 Mins
Disco 10 MB 80 GB 250 GB
Velocidad de Red 9600 bps 100 Mbps 1 Gbps
• Application Configuration - 1 hr
(12 a 20 horas) • Server hardening - 2hrs~5hrs.
Diaz Muñante Jorge 12
13. Sistemas Operativos
Clases de Sistemas operativos Sistemas operativos modernos
características básicas
Clase de SO Periodo Preocupación Concepto clave Concepto Ejemplo tipico de uso
principal Procesamiento por lotes Actualizar la BD con las operaciones
Procesamientos 1960 Tiempo muerto del Operación del día
por lotes CPU simultanea con los
periféricos Planificación basada en prioridades Tratamiento especial a las procesos de
alta prioridad, por lo general a los
Multiprogramación 1970 Utilización de los Prioridades
procesos interactivos
recursos
Tiempo 1970 Un buen tiempo de Intervalo de
compartido respuesta tiempo (quantum) Intervalo de tiempo Evitar que un proceso monopolice el
uso del CPU
Tiempo real 1980 Cumplir con el Planificación en
tiempo limite tiempo real Intercambio Aumentar el numero de procesos
Distribuido 1990 Recursos Transparencia, Procesos múltiples en una aplicación Reducir el tiempo de ejecución de una
compartidos control distribuido aplicación
Recursos compartidos En una LAN para compartir las
impresoras
Enfoques de diseño Monolitico vs Microkernel
Núcleos monolíticos
– Ejemplo: Linux, Windows, ...
Microkernels
– Ejemplo: Mach kernel
Hay otros como capas, maquina virtual, etc.
Un resumen de la afamada discusión puede consultarse en
http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
75
Diseño de sistemas operativos Monitor monolítico
Básicos:
Microkernel
Proceso Proceso Proceso
Procesos
– Gestor de procesos de de de
de usuario usuario usuario usuario
Monolítico
– Gestor de memoria SVC
Despertar
– Gestor de E/S (genérica y por bloques)
Intérprete
Desbloquear
Servidores: de la SVC
– Servidor de ficheros Monitor
– Servidor de protección y seguridad Proceso de
Petición
la
de E/S
Aplicaciones
– Servidor de comunicaciones por red interrupción
Utilidades:
Comienzo de la E/S Interrupción
– Intérprete de mandatos Dispositivos
– Programas de sistema 78
77
Diaz Muñante Jorge 13
14. Sistemas Operativos
Ejemplo : El UNiX Estructura del Linux
Interfaz de llamadas de alto nivel Modo usuario
Programas de usuario Validación de argumentos de las llamadas al sistema Alto nivel
Bibliotecas
Trap Conmutador de sistemas de archivo del núcleo
Nivel de usuario
Manejador de Interfaz de Manejador
Nivel kernel archivos sockets y
Bibliotecas del kernel
de callouts
Interfaz de llamadas al sistema streams
Sistemas
archivo
Manejador de Manejador de Estructuras del
de
Subsistema de Subsistema Subsistema procesos terminales núcleo
control de procesos de archivos de E/S Manejador de Pila de red
(alto nivel)
memoria
Manejo de memoria Manejador Estructuras de
Buffer cache del buffer cache datos compartidas
IPC entre el alto y
Manejadores de dispositivo
el bajo nivel
Planificador Carácter Bloque
Drivers Manejador de interrupciones
Manejador de Bajo nivel
Tabla de Callout de Cambio
Manejador de traps de llamadas al sistema procesos de del núcleo
dispatch bajo nivel de contexto
Control hardware bajo nivel
Manejador de excepciones
Nivel kernel
HARDWARE
Nivel hardware
HARDWARE 80
79
Micronúcleo Comparativa
Proceso
Proceso
Proceso Devolver los datos
Monitor monolítico Micronúcleo
Proceso de de
de usuario
de usuario
usuario Inicio de la E/S
usuario Todo el SO se ejecuta en Sólo el µnúcleo se ejecuta
modo supervisor en modo supervisor
Lectura de disco
Proceso
Dispositivo Menos robusto Más robusto
gestionador
de El SO es ininterrumpible El SO es interrumpible
dispositivo
Mayor rendimiento Menor rendimiento debido
Interrupción a la sobrecarga de
Despertar comunicaciones
Empleado en sistemas Empleado en sistemas
Determinación del Proceso de pequeños grandes
proceso que solicitó la
Difícil de modificar en Fácil de modificar en
la E/S interrupción
Micronúcleo tiempo de ejecución tiempo de ejecución
Menos adaptable Más adaptable
81 82
Estructura del W2K Estructura por capas
El SO se divide en un número de capas:
Procesos de sistema Servicios Aplicaciones Subsistemas
POSIX
– La capa inferior (capa 0), es el hardware.
Controlador Replicador
de servicios
WinLogon
Alertador
OS2 – La de mayor nivel (capa N) es la interfaz del usuario.
RPC
Aplicaciones
Manejador de DLLs
sesiones
Registrador
de eventos
de usuario
DLLs Win32 – Cada capa usa sólo funciones y servicios de las capas inferiores.
DLLs
Hilos del Proceso de usuario
sistema
NTDLL.DLL
Capa 3: Gestión de entrada-salida
API del núcleo
Manejador de Manejador PnP Seguridad Memoria Procesos Win32
E/S de cache Control de virtual e hilos GDI Capa 2: Comunicación proceso-consola
alimentación
NtosKrnl.exe Sistema
de archivos
Manejador de objetos
Capa 1: Gestión de la memoria
Manejadores de dispositivo Kernel
HAL Capa 0: Planificación
HARDWARE
Hardware
83
Diaz Muñante Jorge 14
15. Sistemas Operativos
Ventajas del empleo de capas Máquinas virtuales
Una MV crea una copia idéntica del hardware
Las estructuras internas y algoritmos de una capa – Procesador con su propia memoria y E/S
no son visibles a las demás – Sobre una MV se puede ejecutar cualquier SO
– Sobre el mismo computador varios SSOO a la vez
El sistema puede evolucionar fácilmente El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace?
Pueden existir realizaciones alternativas – Planificación UCP para MV multiproceso
– Spooling y sistema ficheros multiplexación E/S
Algunas capas pueden ser transparentes si sus – MV del operador control del sistema
servicios no son necesarios Ventajas:
– Protección sencilla, muy modular, bueno para investigación y desarrollo (SO distribuido)
Cada capa se codifica y prueba de modo Inconvenientes:
independiente – Difícil compartir recursos
– Difícil implementar duplicados exactos del HW
Usado para emular SSOO sobre otros
Ej. VM-370, MS-DOS en Windows, VMware
85 86
Máquinas virtuales / Hipervisores Maquinas virtuales – Otra arquitectura
87
Aspectos de diseño e implementacion Objetivos en el diseño de un SO
Para el usuario
Objetivos de diseño
– Fácil de usar, fiable, seguro, potente y sencillo
Implementación Internamente:
Arranque del sistema – Fácil de implementar y mantener
– Flexible, fiable, eficiente y estar libre de errores
Diferenciar claramente entre:
– Mecanismos: Como las cosas se pueden hacer
• Como se establece la prioridad a un proceso?
• Como crear, terminar o suspender un proceso?
– Políticas: criterio para decidir qué hacer
• Puede un proceso leer la memoria de otro proceso
• Que hacemos con procesos de alta prioridad?? Y los de baja prioridad??
89 – Separarlos es importante para poder afinar bien los sistemas
90
Diaz Muñante Jorge 15
16. Sistemas Operativos
Implementación del sistema
Tradicionalmente: ensamblador
Actualmente: C y ensamblador
Uso lenguaje alto nivel:
– Desarrollo más rápido
– Más fácil de comprender y depurar
– Más fácil de transportar de un hardware a otro (Ej. Linux, Windows-NT)
Base:
– HAL ( Hardware Abstraction Layer)
– Oculta los detalles específicos de la arquitectura
– Proporciona una interfaz de alto nivel
91
Diaz Muñante Jorge 16