Está en la página 1de 86

Sistemas Operativos Profesor:

Your picture here


Ciclo 2018-1 Diaz Muñante Jorge

Introducción al curso
¿Quienes somos nosotros?
Presentacion

Apellidos y nombre
¿que SSOO mas conoce?
¿que esperas aprender en clases?
Objetivos del curso

•Conocer las distintas partes de un SO

Cómo se relacionan

Fundamentos de la operación

Conocer la necesidad de tener sistemas operativos


eficientes en un sistema de computación

Cómo se implementa en algún sistema operativo real la


gestión de los recursos vista en teoría
¿Por qué en un SSOO basado en UNIX?

”UNIX es básicamente un sistema operativo simple, pero debes de ser un


genio para entender la simplicidad”

Dennis Ritchie co-creador de UNIX y del lenguaje C

Código abierto
accesible para el
base de muchos otros alumno para generar
sistemas operativos ingeniería inversa en
tales como AIX, una o más de sus
Redhat, …. Android, partes y realizar
IOS, OS/X modificaciones si lo
considera útil para su
aprendizaje.
Linea de tiempo - Unix
Linux

Linux

Móvil /
Server Desktop
Embedded

Open CentOS / Ubuntu Ubuntu


Fedora Android Tizen
SUSE RHEL Server desktop
Introducción

Presentación
¿qué esperan del curso?
Objetivos del curso
Horario
– Ing. De Sistemas – Viernes de 2 a 5PM
– Intermedio de 15 minutos
Planificación del curso

8
Planificación del curso – Ing. De Sistemas

L M M J V S D Sem Tema PPT


19 20 21 22 23 24 25 MAR 1 Introduccion al curso C1_introduccion
26 27 28 29 30 31 1 2 Procesos. Estados C2_administracion_procesos
2 3 4 5 6 7 8 ABR 3 Diagrama de 5 estados C2_administracion_procesos
9 10 11 12 13 14 15 4 Diagrama de 7 estados C2_administracion_procesos
16 17 18 19 20 21 22 5 Diag. UNIX. C2_administracion_procesos
23 24 25 26 27 28 29 6 Hilos. Quiz # 1 C4_abrazo_mortal
30 1 2 3 4 5 6 MAY 7 Semaforos. Abrazo Mortal. C4_abrazo_mortal
7 8 9 10 11 12 13 8 Examen Parcial
14 15 16 17 18 19 20 9 Algoritmos de CPU C5_planificacion_cpu
21 22 23 24 25 26 27 10 Fija y Variable C6_adm_memoria_real
28 29 30 31 1 2 3 JUN 11 Antecedentes, Organización C7_memoria_virtual
4 5 6 7 8 9 10 12 Paginada. C7_memoria_virtual
11 12 13 14 15 16 17 13 Estrategias. Quiz # 2 C7_memoria_virtual
18 19 20 21 22 23 24 14 Algoritmos. C7_memoria_virtual
25 26 27 28 29 30 1 15 Hiperpaginacion C7_memoria_virtual
2 3 4 5 6 7 8 JUL 16 Segmentada C7_memoria_virtual
9 10 11 12 13 14 15 17 Examen Final
16 17 18 19 20 21 22 Examen Sustitutorio

Feriado Evaluaciones
Introducción

Presentación
¿qué esperan del curso?
Objetivos del curso
Horario
Planificación del curso
Material de apoyo
Evaluación

10
Material de apoyo

Aulavirtual en https://unmsm2014.edu20.org/
– Registrarse en clases
Material de apoyo

Bibliografia
– Sistemas Operativos Modernos – 3ra edición
Andrew S. Tanenbaum
– Sistemas operativos Conceptos Fundamentales
Silbershatz, Galvin, Gagne

12
Evaluación

Evaluación Porcentaje Termino Fecha


Examen 25 % EP Semana 8
Parcial
Examen Final 30 % EF Semana 16
Evaluaciones 10 % PC1, PC2 Semana 5 y
continuas 12
Laboratorio 35 % Prof.

13
Evaluación
Sustitutorio
– Reemplaza el promedio de E1 y E2
– 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
– Alejandra Guzman – Mi peor error
• Baje la guardia y me expuse al dolor ..
– Zaperoko – La revancha
• Y aunque te vea llorando y aunque me veas llorando, te gritare que
no.
Evaluación
Sustitutorio
– Me emborrachare – Grupo Extra
• Por tu culpa … es mi culpa
Introducción

Presentación
¿qué esperan del curso?
Objetivos del curso
Horario
Planificación del curso
Material de apoyo
Evaluación
Recomendaciones

16
En cualquier sitio
Maquina Original de Von Neumann

ALU Address Bus Address Bus


CPU RAM I/O
CU Data Bus Data Bus

Control Bus
¿qué significa estos cambios?

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
20
los HW?
Un mundo sin Sistemas Operativos

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.)
Hola mundo
Android
¿qué es un sistema operativo?

23
¿qué es un sistema operativo?

24
¿es parte del SSOO?

Firmware ?
Word processor?
Window manager?
Windows Control Panel?
Device driver?
Browser?
Anti-virus?
¿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”.
26
Proposito de un SO

Dos funciones principales:


– Administrar los recursos físicos:
• Manejar varios dispositivos:
– Procesador, memoria, discos, redes, pantallas, cámaras, etc.
• De manera eficiente, confiable, tolerando y enmascarando las fallas, etc.
– Proveer un ambiente de ejecución para las aplicaciones corriendo sobre el
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.
• Provee al usuario con un ambiente estable.
software
instruction set

hardware
27
1. Recopila informacion HW y SETUP
2. Carga data del sector “arranque o boot”
3. Ejecuta el programa de arranque en CPU
4. Carga SO del disco
5. Corre SO
boot

OS

boot

OS
Componentes Sistema Operativo

SO interfaz
Applicaciones
usuario
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
Ventajas de los S.O.

Según su experiencia :
– En el uso de un sistema operativo ¿qué ventajas encontró?

30
¿por qué estudiar los SO?

¿necesitas crear o escribir un SO?


– Muy poco probable
¿entonces para que necesitamos estudiarlo?
– ¿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?
– A veces se requiere modificar el SO (no vas a poderlo sin
conocer como funciona).

31
Primera Generación (1945-1955)

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.
Menos potente que una calculadora de bolsillo
No existía 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.

32
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
Apareció el primer Sistema Operativo, se logró
minimizar el tiempo ocioso de los computadores

33
Sistema por Lotes, batch

$END

DATOS

$RUN

$LOAD

PROGRAMA

$FORTRAN

$JOB 10,47 DUPONT

34
Sistema Fuera de Línea, outlline

35
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)

36
¿Fue un proyecto exitoso?

El proyecto del desarrollo del sistema operativo OS/360


producido por IBM y a cargo de Frederick Brooks (*) su
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
oficialmente. Inicialmente pensado para ocupar 6KB,
posteriormente fue aumentado desorbitadamente de tamaño
con nuevas funcionalidades hasta alcanzar el tamaño de
lanzamiento de 64KB. Tanembaum, lo consideraron la mayor
revolución en la historia de la informática.
– (* la ley de Brooks en The Mythical Man‐Month, "Añadir personal a un proyecto
retrasado lo retrasará aún más." )
Uniprogramación a Multiprogramacion

Ejecución. espera Ejecución. espera

tiempo
Se basan en el hecho de que los dispositivos de E/S son lentos
comparados con el procesador

Leer un registro 0,0015 segundos


Ejecutar 100 instrucciones 0,0001 segundos
Escribir un registro 0,0015 segundos
TOTAL 0,0031 segundos

% utilización CPU = 0,0001 / 0,0031 = 0,032 = 3,2%

38
La Multiprogramación

128K
Proceso 1

Proceso 2

Proceso 3

Proceso 4

KERNEL
(MONITOR)
0

39
La multiprogramación

Cuando un proceso se bloquea al esperar por e/s,


ejecutamos en el CPU instrucciones de otro
proceso.
Los procesos entrelazan su ejecución: concurrencia.
La cpu y las e/s trabajan a la vez,
– se terminan más trabajos a la vez

40
La multiprogramación

CPU T1 T1 T2 T2 Sin
E/S T1 T2

CPU T1 T2 T1 T2 con
E/S T1

T2
41
El Spooling

ARCHIVO SPOOL
DE SALIDA
ARCHIVO SPOOL
DE ENTRADA
DISCO

LECTORA IMPRESORA
TARJETAS DE LINEA
CPU

42
El Tiempo Compartido

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
Quantum

CPU
Tiempo Compartido

Multiprogramado
– CPU multiplexada.
Interactivo
– comunicación on-line entre usuario y sistema (pequeñas rodajas de
tiempo)
Sistema de Archivos
– permite a los usuarios el acceso a datos y código (operaciones de E/S)
Intérprete de mandatos
– Permiten arrancar otros programas.
Multiusuario
– varios usuarios simultáneos
– cada usuario cree tener todo el computador
45
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.)

46
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.

47
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.

SO SO SO

Red de
comunicación

SO SO
48
Ejemplo de SO de Red

Novell Netware, Personal Netware, LAN Manager,


Windows Server, UNIX, LANtastic, etc.

49
Sistemas Operativos Distribuidos

Clúster de máquinas individuales.


Sobre una LAN, WAN o interconexiones más rápidas.
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.

50
Ejemplos SO Distribuidos

Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba,


Taos, Plan 9, etc.

51
SO Paralelos

Sistemas multiprocesador o fuertemente acoplados.


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.
Sistemas Tiempo Real

aplicaciones

Tiempo de respuesta; corto

53
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.
– Poco movimiento entre almacenamiento secundario y
memoria.
– Gestión de archivos se orienta más a velocidad de acceso
que a su eficiencia.

54
Sist. Oper. Tiempo Real

Ejemplos :
– VxWorks, Solaris, Lyns OS y Spectra
Areas de Aplicación:
– STR Criticos
• avión, satélite, médicos, etc.
• No pueden perder ningún deadline de tarea
• Almacenamiento secundario limitado o ausente
• Sistemas dedicados, no de propósito general
– STR suave
• multimedia, comunicaciones, etc.
• Pueden perder deadlines de tareas no críticas
• Uso limitado en sistemas de control
55
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
56
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:
Rendundancia hardware
uso de componentes redundantes
Recuperación software
diseño programas para recuperarse de fallas

57
Sistemas Ubicuos

Smartphones, PDAs, telefonos celulares, etc.

Fuente: Cisco IBSG Abril 2011


Principales SSOO para dispositivos moviles

Google’s Android
Apple’s iOS
Microsoft’s Windows Phone
RIM’s BlackBerry OS
¿que es Android?
¿Que es Android?

Un SSOO open source basado en Linux


Para plataformas moviles
Incluye un Java API para el desarrollo de
aplicaciones
No es un dispositivo
No todo son noticias buenas

Ataques a dispositivos móviles ha aumentado en


forma exponencial
Al final del 2013, se tendría cerca de 1 millón de
mallware en Android . 1

El numero de dispositivos con Android infectados ha


aumento en 200% el 2012.
– Paso de 10.8 Billones al inicio de 2012 a 32.8 millones a
fines del mismo año. 2

1 “Predictions for 2013 and Beyond,” Trend Micro, Dec. 13, 2012.
2 “2012 Security Report,” NQ Mobile.
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

– Windows 8 (Lanzamiento oficial 26 octubre 2012 y ultima actualizacion 15 dic 2014)


– Windows 10 – Ahora ?? 64
Historia de Microsoft
Aumento en la complejidad de un SO

66
Linux

Fuente:
http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
Configuración de un Servidor
http://philip.greenspun.com/bboard/q-and-a-fetch-msg?msg_id=000tcP
20 Julio 2011

• Linux setup - 40 mins


Linux •

Tomcat Configuration
Mysql configuration
-
-
5 Mins
15 Mins
• Firewall config - 30 Mins
(2 horas) • Server hardening - 30 Mins

• Windows setup - 2 hrs


• Update patches - 4hrs~8hrs

Microsoft •


Server config -
.NET framework update & install-
IIS Config -
1 hr
20~40 Mins
30 Mins
(12 a 20 horas) • Application Configuration - 1 hr
• Server hardening - 2hrs~5hrs.
Enfoques de diseño

Núcleos monolíticos
– Ejemplo: Linux, Windows, ...
Microkernels
– Ejemplo: Mach kernel
Hay otros como capas, maquina virtual, etc.

69
Monolitico vs Microkernel

Un resumen de la afamada discusión puede consultarse en


http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
Diseño de sistemas operativos

Básicos:

Microkernel
– Gestor de procesos

Monolítico
– Gestor de memoria
– Gestor de E/S (genérica y por bloques)
Servidores:
– Servidor de ficheros
– Servidor de protección y seguridad

Aplicaciones
– Servidor de comunicaciones por red
Utilidades:
– Intérprete de mandatos
– Programas de sistema

71
Monitor monolítico

Proceso Proceso Proceso


Procesos de de de
de usuario usuario usuario usuario
SVC
Despertar
Intérprete
Desbloquear
de la SVC

Monitor
Proceso de
Petición
la
de E/S
interrupción

Comienzo de la E/S Interrupción


Dispositivos
72
Ejemplo : El UNiX

Programas de usuario
Bibliotecas
Trap
Nivel de usuario
Nivel kernel
Interfaz de llamadas al sistema

Subsistema de Subsistema Subsistema


control de procesos de archivos de E/S
Manejo de memoria
Buffer cache
IPC

Planificador Carácter Bloque


Drivers

Control hardware
Nivel kernel
Nivel hardware
HARDWARE
73
Estructura del Linux

Interfaz de llamadas de alto nivel Modo usuario


Validación de argumentos de las llamadas al sistema Alto nivel
Conmutador de sistemas de archivo del núcleo
Manejador de Interfaz de Manejador
archivos sockets y

Bibliotecas del kernel


de callouts
streams

Sistemas

archivo
Manejador de Manejador de Estructuras del

de
procesos terminales núcleo
Manejador de (alto nivel)
Pila de red
memoria
Manejador Estructuras de
del buffer cache datos compartidas
entre el alto y
Manejadores de dispositivo
el bajo nivel

Manejador de interrupciones Bajo nivel


Manejador de
Tabla de Callout de Cambio
Manejador de traps de llamadas al sistema procesos de del núcleo
dispatch bajo nivel de contexto
bajo nivel
Manejador de excepciones

HARDWARE

74
Micronúcleo

Proceso
Proceso
Proceso
Proceso de de Devolver los datos
dede usuario
usuario
usuario Inicio de la E/S
usuario

Proceso
Lectura de disco gestionador Dispositivo
de
dispositivo

Interrupción
Despertar

Determinación del Proceso de


proceso que solicitó la
la E/S interrupción
Micronúcleo

75
Comparativa

Monitor monolítico Micronúcleo


Todo el SO se ejecuta en Sólo el µnúcleo se ejecuta
modo supervisor en modo supervisor
Menos robusto Más robusto
El SO es ininterrumpible El SO es interrumpible
Mayor rendimiento Menor rendimiento debido
a la sobrecarga de
comunicaciones
Empleado en sistemas Empleado en sistemas
pequeños grandes
Difícil de modificar en Fácil de modificar en
tiempo de ejecución tiempo de ejecución
Menos adaptable Más adaptable
76
Enfoques de SSOO
Estructura del W2K

Procesos de sistema Servicios Aplicaciones Subsistemas


Controlador Replicador POSIX
de servicios
Alertador
WinLogon OS2
RPC
Aplicaciones
Manejador de DLLs
Registrador de usuario Win32
sesiones DLLs
de eventos
DLLs

Hilos del
sistema
NTDLL.DLL

API del núcleo


Manejador de Manejador PnP Seguridad Memoria Procesos Win32
E/S de cache Control de virtual e hilos GDI
alimentación
NtosKrnl.exe Sistema
de archivos
Manejador de objetos
Manejadores de dispositivo Kernel
HAL

HARDWARE

78
Estructura por capas

El SO se divide en un número de capas:


– La capa inferior (capa 0), es el hardware.
– La de mayor nivel (capa N) es la interfaz del usuario.
– Cada capa usa sólo funciones y servicios de las capas inferiores.

Proceso de usuario

Capa 3: Gestión de entrada-salida


Capa 2: Comunicación proceso-consola
Capa 1: Gestión de la memoria
Capa 0: Planificación

Hardware
Ventajas del empleo de capas

Las estructuras internas y algoritmos de una capa


no son visibles a las demás
El sistema puede evolucionar fácilmente
Pueden existir realizaciones alternativas
Algunas capas pueden ser transparentes si sus
servicios no son necesarios
Cada capa se codifica y prueba de modo
independiente

80
Máquinas virtuales

Una MV crea una copia idéntica del hardware


– Procesador con su propia memoria y E/S
– Sobre una MV se puede ejecutar cualquier SO
– Sobre el mismo computador varios SSOO a la vez
El Monitor de MVs ejecuta sobre el HW real ¿Cómo se hace?
– Planificación UCP para MV multiproceso
– Spooling y sistema ficheros multiplexación E/S
– MV del operador control del sistema
Ventajas:
– Protección sencilla, muy modular, bueno para investigación y desarrollo (SO distribuido)
Inconvenientes:
– 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
81
Máquinas virtuales / Hipervisores

82
Maquinas virtuales – Otra arquitectura
Aspectos de diseño e implementacion

Objetivos de diseño
Implementación
Arranque del sistema

84
Objetivos en el diseño de un SO

Para el usuario
– Fácil de usar, fiable, seguro, potente y sencillo
Internamente:
– 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??
– Separarlos es importante para poder afinar
85 bien los sistemas
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

86

También podría gustarte