Sie sind auf Seite 1von 54

SISTEMAS OPERATIVOS

GRUPO #3
LOS SISTEMAS OPERATIVOS

• Durante muchos años, antes se creía que los S.O era una idea estúpida o
poco interesante, solo los programadores o los nerds creían que eran lo
mejor; Ahora en estos días puedes ver ocasionalmente noticias de primera
plana sobre S.O.
• Algunas personas consideran el S.O como algo que controla todo lo que
tenga que ver con informática, asi como algunas personas que creen que solo
puede estar controlando ciertas cosas.
DISPOSITIVOS DONDE SE PUEDAN ENCONTRAR UN
S.O
• PDA (Personal Digital Assistant)
• Cajas de control de TV por cable
• Juegos Electrónicos
• Copiadoras
• Maquinas de Fax
• Controles remotos
• Teléfonos celulares
• Motores de automóviles
• Cámaras Digitales
DE QUE SE TRATAN LOS SISTEMAS OPERATIVOS?

• Pensemos en un ejemplo sencillo,un juego electrónico simple.


• Los juegos possen funciones básicas como leer información de entrada la cual es suministrada
por los botones,asi como mostrar algo en pantalla.Para esto se requiere una programación
de software no tan sencilla.Parece fácil a simple vista crear un botón pero hay que tomar en
cuenta que el usuario puede apretar varios botones a la vez,en ese caso que se hace?.En ese
caso hay que tratar cada una de estas cuestiones comunes en un solo sitio.
• Por ejemplo,si sabemos que los juegos están en un juego electrónico simple, envés de hacer
instrucciones para evitar varios botones a la vez en cada juego,mejor que se ponga en el
mismo sistema operativo y que se haga global,y asi ahorrar espacio en el juego.
• También que el S.O pueda manipular eventos inesperado, por ejemplo un usuario (como
un niño) puede dejar el juego de repente solo porque esta perdiendo y empezar otro,
o incluso oprimir todos los botones a la vez. A esto se llama Asincronicidad o
desfasaje que puede definirse como la ocurrencia de eventos al azar o en momentos
inesperados.
1.3 VISTA DEL USUARIO CONTRA VISTA DEL
SISTEMA DE UN SO
• Se habla de las diferentes perspectivas mas importantes que zona la vista
del usuario y la vista del sistema.
• La vista del usuario concierne a como LOS USARIOS INTERATUAN CON EL
SO.
• La vista del sistema concierne la forma del software del SO ejecuta.
• ES COMO SEPARA Y COMPARA POR INTERACCIONES DEL USUARIO.
1.3.1 LOS TIPOS DE USUARIOS

PROGRAMADORES DE
USUARIOS FINALES APLICACIONES
• Fácil de aprender y usar • Que tenga una forma fácil para que los programas
accedan a las llamadas de la SO de bajo nivel.
• Que se adapte al estilo del usuario para hacer las
cosas • (leer pulsaciones del teclado, dibujar en la pantalla
y la posición del raton)
• Que tenga una respuesta animada a la entrada
• que proporcione muchas entradas visuales • Capacidad de transferencias a otras plataforma
• Que cuente múltiples formas de hacer las cosas • Que proporcione una vista del programador
consistente de sistema.
1.3.1 LOS TIPOS DE USUARIOS

PROGRAMADORES DE SISTEMAS GESTORES Y ADMINISTRADORES


DEL SISTEMA
• Facilidad para crear programas correctos • Fácil adición o remoción de dispositivos de escáner, discos,
accesorios de multimedia y conexiones de red.
• Facilidad para corregir programas incorrectos
• Facilidad de actualización a nuevas versiones del SO
• Facilidad para mantener programas
• Facilidad para crear y gestionar cuentas de usuario
• Facilidad para expandir programas existentes
• Que el sistema sea asequible(Que puede alcanzarse o
conseguirse.)
1.3.2 VISTA DE SISTEMA

• Se refiere a como el SO proporciona realmente los servicios.


• (los trabajos internos del SO. Ejemplos: gestion de archivos,ejecuciones de
programas o manipulacion de memoria)
• //nos ayudar entender los subsistemas.
1.4 TÉRMINOS, CONCEPTOS
BÁSICOS E ILUSTRACIONES DEL
SO
TERMINOLOGÍA BÁSICA.
SISTEMA OPERATIVO: AUNQUE PODEMOS PROPORCIONAR DISTINTAS
DEFINICIONES BASADAS EN LAS VISTAS DIFERENTES DE UN SO, LA
SIGUIENTE DEFINICIÓN INFORMAL ES UN BUEN PUNTO DE PARTIDA: EL
SO ES UNA COLECCIÓN DE UNO O MÁS MÓDULOS DE SOFTWARE QUE
GESTIONAN Y CONTROLAN RECURSOS DE UNA COMPUTADORA U
OTRO DISPOSITIVO DE COMPUTO O ELECTRÓNICO, Y PROPORCIONA A
LOS USUARIOS Y PROGRAMAS UNA INTERFAZ PARA UTILIZARLOS. ENTRE
LOS RECURSOS GESTIONADOS INCLUYEN MEMORIA, PROCESADOR,
ARCHIVOS, DISPOSITIVOS E/S ENTRE OTROS.
Dispositivo: Un dispositivo es una pieza de hardware conectada al
hardware del sistema de cómputo principal, Discos Duros, DVD y
monitores de videos son dispositivos típicos gestionados por un SO.
Muchos cuentan con una interfaz especial denominada dispositivo
controlador, que ayuda a conectar un dispositivo o un grupo de
dispositivos, algunos ejemplos incluyen los controladores de discos duros
y controladores de monitores.
Controlador de dispositivo: Este dispositivo es una
rutina de software que forma parte del SO, y se utiliza
para comunicarse con un dispositivo y controlarlo a
través de su dispositivo controlador.
Kernel o nucleo: Este término suele referirse a la parte
del So que implemente funcionalidad básica y siempre
está presente en la memoria
Servicio: Los servicios son funciones que el kernel del So proporciona a
los usuarios, principalmente a través de API mediante llamadas al SO.
Estos servicios pueden agruparse en forma conveniente por categorías
basadas en su funcionalidad.

UTILIDAD: ESTOS SON PROGRAMAS QUE NO FORMAN PARTE


DEL NÚCLEO (O KERNEL) DEL SO, SINO QUE TRABAJAN
ESTRECHAMENTE CON EL KERNEL PARA FACILITAR EL USO O EL
ACCESO DE LA INFORMACIÓN DEL SISTEMA. UN EJEMPLO DE
UTILIDAD ES EL SHELL O INTERPRETE DE COMANDOS. LA
UTILIDAD SHELL PROPORCIONA UNA INTERFAZ DEL USUARIO A
MUCHOS SERVICIOS DEL SISTEMA. POR EJEMPLO, SOLICITUDES
DEL USUARIO COMO LISTAR NOMBRES DE ARCHIVOS EN UN
DIRECTORIO, EJECUTAR UN PROGRAMA O SALIR PUEDEN SER
TODAS TRATADAS POR EL SHELL.
ESTA ES UNA REPRESENTACIÓN SIMPLIFICADA DE UNA
COMPUTADORA PERSONAL QUE MUESTRA ALGUNOS
DISPOSITIVOS BÁSICOS CONECTADOS A LA MEMORIA DE LA
COMPUTADORA Y A LA CPU (PROCESADOR). EL PROGRAMA (O
NÚCLEO) DEL SO INCLUYE VARIOS CONTROLADORES DE
DISPOSITIVOS QUE MANIPULAN LOS PERIFÉRICOS
(DISPOSITIVOS) DEL SISTEMA BAJO CONTROL DE LA CPU.
ORIGEN DE LOS SISTEMAS OPERATIVOS
Antes de la aparición de las computadoras personales, habían
computadoras más grandes. Pronto estas máquinas fueron
demasiado grandes y costosas, primitivas según los estándares
modernos, había pocos programadores y los programas eran
limitados en cuanto a sus capacidades porque la memoria
principal era muy pequeña. Los procesadores de la CPU eran
demasiado lentos y solo existían unos cuantos dispositivos E/S. Las
capacidades limitadas de estas primeras computadoras requerían
bastante cuidado y programas bien pensados, que en su mayoría
se escribían en el código básico de máquina de la computadora,
en el lenguaje de maquina o en el leguaje de ensamblador.
Estos programas eran sorprendentes en el sentido de que en unos
cientos o miles de instrucciones de maquina lograban una cantidad
enorme de trabajo. Sin embargo, todos enfrentaban necesidades
semejantes: la necesidad de cargar programas en la memoria, ejecutar
un programa, obtener datos de entrada y producir datos de salida,
estas eran las motivaciones para crear los primeros SO.
Estas primeras computadoras eran sistemas de usuario único, es decir
que solo un usuario y un programa podían ejecutarse en un momento
dado.
Los programas, una vez escritos y ensamblados se vinculaban o ligaban
con rutinas de utilidad para entrada, salida, funciones matemáticas,
formateo de la impresión y otras tareas comunes, en un programa
ejecutable lista para cargarse en la memoria y ejecutarse. El programa
podía almacenarse en cinta de papel perforado o en tarjetas
perforadas. El hardware de la computadora era capaz de saber cómo
empezar a leer desde el dispositivo de entrada, aunque solo podía
cargar la primera tarjeta o el primer bloque de la cinta, ese bloque
debía incluir una pequeña rutina capaz de cargar el resto de la
aplicación en la memoria. Esta rutina corta se denominaba cargador.
Como los programadores tenían tiempo para desarrollar mas
rutinas de utilidad, el cargador creció en forma más sofisticada.
Pronto los cargadores fueron capaces de cargar programas que
se habían compilado a partir de lenguajes de programación de
nivel superior. A medida que crecía el tamaño de los cargadores,
las rutinas de utilidad y los programas de usuarios, los mazos de
tarjetas o las cintas de papel se volvieron muy grandes. Estos
cargadores y rutinas de utilidad se convertirían en el inicio de los
primeros SO, que a menudo se denominaban monitores.
¿QUE DEBE HACER (O QUE DEBE SOPORTAR)
UN SISTEMA OPERATIVO?

Desde los primeros días de la computación hasta hoy a habido un


intenso debate sobre lo que debe hacer un SO. Los dos puntos de
vistas extremos de este caso pueden denominarse el punto de
vista maximalista y el punto de vista minimalista.
• El maximalista argumenta que el SO debe incluir tanta
funcionalidad como sea posible.
• El minimalista sostiene que solo la funcionalidad más básica
debe formar parte del SO.
En estos tiempos, el debate relacionado con que incluir en el SO
continua. Por ejemplo, ahora suele considerarse que una interfaz
del So amigable para el usuario cuenta con un dispositivo
apuntador (un ratón) y algún tipo de ventanas de pantalla con
menús desplegables. El hecho de que la interfaz deba formar
parte del SO a fin de permitir que cada usuario decida la
apariencia particular que desea es una de las cuestiones actuales
de debate acerca de lo que debe incluir el SO.
2. RECURSOS GESTIONADOS POR EL SO
Recursos de Bajo Nivel:

• CPU: El SO controla que procesos ejecuta el CPU en


cualquier instante.

• Memoria Principal y Cachés: El SO asigna espacio en


memoria a los programas a ejecutar.

• Almacenamiento Secundario: El SO busca en un disco


duro los archivos de código de los programas a
ejecutar.

• Dispositivos de E/S: El SO gestiona los dispositivos de


E/S conectados al sistema de cómputo.
2.1 RECURSOS GESTIONADOS POR EL SO
Recursos de Alto Nivel:

• Sistema de Archivos: Permite que el usuario y otros


programas ejecuten acciones sobre varios tipos de
archivos.

• Acceso a Redes: Brinda la capacidad de acceder a


archivos de manera remota.

• Suministro de Protección y Seguridad: Mecanismos de


protección que brinda el SO, el mas sencillo es
mediante contraseñas.
2.2.2 MÓDULOS MAS IMPORTANTES DE UN SO

La mayoría de los módulos de un SO corresponden a la gestión de los recursos anteriormente mencionados.


Los módulos proporcionan funciones a las que acceden usuarios y programas del sistema, así como otros
módulos del SO.
2.3 CONCEPTO DE PROCESO
Un proceso es un programa que se encuentra en ejecución. Estos trabajan mediante estados y transiciones de
estado como podemos observar a continuación:

Los hexágonos representan los estados, las flechas representan las transiciones.
2.3.1 TIPOS DE PROCESOS
• Procesos de Usuario o de Aplicación: procesos
ejecutados por programas de aplicación por parte del
usuario.

• Procesos del Programa del Sistema: programas de


aplicación que efectúan un servicio del sistema.

• Procesos del SO: ejecutan servicios y funciones del SO.


TIPOS DE SO

SO de tarea SO y servidores
única y usuario SO multitareas de tiempo
único compartido

SO distribuidos SO de tiempo
real
SO DE TAREA ÚNICA Y USUARIO ÚNICO

• Este SO ejecuta un solo proceso a la vez. Los primeros SO eran de este tipo,
así como los SO de las primeras computadoras personales y las primeras
versiones de MS-DOS.
• Los servicios principales que proporciona son la manipulación de E/S e iniciar
y terminar programas. La gestión de la memoria es bastante simple, ya que
solo el SO y un proceso residen en la memoria en cualquier instante en
particular. No hay necesidad de planificación de la CPU.

Volver
SO MULTITAREAS

• Un SO así controla la ejecución simultánea de múltiples procesos. Por tanto, debe


contar con un componente de planificación de la CPU, que escoja cuales de los
procesos listos a ejecutar a continuación.
• Al tener varios procesos en la memoria para ejecutar, la CPU puede cambiar a la
ejecución de otro proceso mientras se efectúan las operaciones de E/S. Cambiar de
la ejecución de proceso a la ejecución de otro se le denomina cambiar de contexto,
pero hay un costo elevado para hacer esto.
• Es necesario guardar todo el estado de la CPU, de modo que sea posible
restaurarlo una vez que el proceso se reanude más tarde.
TIPOS DE SO MULTITAREA

• usuario único: incluyen la mayor parte de las PC modernas que admiten la


apertura de ventanas. En tales sistemas es común que un usuario interactúe
con el sistema, aunque el usuario pueda tener varias tareas que iniciaron
simultáneamente.
• usuariosinteractivos múltiples: manipula usuarios interactivos múltiples en
forma simultánea, por lo que se denomina SO de tiempo compartido.

Volver
SO Y SERVIDORES DE TIEMPO COMPARTIDO

• Estos sistemas se denominaban de tiempo compartido porque el tiempo de la computadora era “compartido”
por los múltiples usuarios simultáneos.
• Los trabajos interactivos por lo regular admiten muchas interacciones cortas y requieren que el sistema
responda rápidamente a cada interacción.
• Este SO admite tanto trabajos interactivos como por lotes, y generalmente proporciona prioridades más altas
para los trabajos interactivos.

A medida que el precio del hardware se reducía, la necesidad por tiempo compartido declinaba. En
computación moderna la nueva generación de sistemas que pueden como la sucesora de los sistemas interactivos
de tiempo compartido la constituyen los sistemas que usan servidores de archivos, y en bases de datos y la red.
SO Y SERVIDORES DE TIEMPO COMPARTIDO

• Los servidores de archivos y los servidores de bases de datos manipulan


solicitudes para acceso a archivos y bases de datos desde decenas hasta
miles de usuarios.
• Los servidores de la red manipulan solicitudes para documentos en la red, y a
menudo recuperan información desde los servidores de bases de datos.

Volver
LA RED Y LOS SO DISTRIBUIDOS

• La mayoría de las computadoras actuales están conectadas


permanentemente a una red o están equipadas de modo que puedan
conectarse y desconectarse de algún tipo de red. Esto permite compartir
información y recursos entre múltiples máquinas, requiere que el SO
proporcione la funcionalidad adicional para estas conexiones a la red.
LA RED Y LOS SO DISTRIBUIDOS

• Esta funcionalidad puede clasificarse en dos niveles principales:


1. Servicios de bajo nivel de acceso a redes. El SO incluye por lo regular una
funcionalidad adicional para establecer conexiones a redes, y para enviar y
recibir, mensajes entre las máquinas conectadas.

2. Servicios de alto nivel. Los usuarios desean poder conectarse a otras máquinas
para buscar a través de la información, descargar archivos o programas de varios
tipos, o para acceder a bases de datos.
LA RED Y LOS SO DISTRIBUIDOS

• En forma separada de la conexión a la red, un SO distribuido es capaz de proporcionar un


amplio espectro de capacidades. Un SO distribuido muy básico, algunas veces conocido como
SO de red, proporciona la capacidad de conexión de una máquina en la que esta
trabajando el usuario (denominado cliente) con una máquina remota (denominada servidor),
y acceder al servidor remoto. Sin embargo, el cliente debe conocer la dirección específica de
la máquina a la que desea acceder.
• En el otro extremo del espectro, un SO distribuido completamente general puede permitir que
un usuario que inició sesión en la máquina de un cliente acceda en forma transparente a
todos los servicios y archivos posibles a los que está autorizado sin siquiera saber dónde
reside.

Volver
SO DE TIEMPO REAL

Son sistemas multitarea que cuentan con el requerimiento adicional de plazos


temporales para completar algunas o todas sus tareas. Son dos tipos de plazos:

1. Plazos duros. Una tarea con un plazo duro de, por ejemplo, n milisegundos debe
completarse en menos de n milisegundos de sumisión; en caso contrario, sería inútil
y podría haber graves consecuencias por el hecho de no respetar este plazo.
2. Plazos blandos o suaves. Un proceso con un plazo blando de n milisegundos
debe completarse en n milisegundos de sumisión; sin embargo, el plazo puede no
respetarse sin que haya ninguna consecuencia catastrófica.
SO DE TIEMPO REAL

• Los SO duros de tiempo real poseen algoritmos de programación que toman


en cuenta el plazo de cada proceso y su tiempo de ejecución estimado al
decidir qué proceso ejecutar a continuación.

• Lossistemas blandos de tiempo real, por otra parte, sólo requieren otorgar
prioridad elevada a las tareas que se diseñaron como tareas de tiempo real.

Volver
ENFOQUES ARQUITECTÓNICOS
PARA CONSTRUIR UN SO
TIPOS
ENFOQUE DEL SO CON NÚCLEO ÚNICO Y
MONOLÍTICO
• Losprimeros SO se escribieron como un programa único. Este enfoque para
construir el SO se denomina enfoque del núcleo o del núcleo monolítico. Ya
que el SO con núcleo monolítico incluía más funcionalidad, su tamaño
aumentó, en algunos casos desde unos cuantos bytes hasta muchos millones de
bytes. Con memoria limitada y costosa, el size overhead del SO (el porcentaje
de memoria principal ocupada por el SO) se consideraba demasiado
grande.

Volver
ENFOQUE POR CAPAS SO

• El enfoque modular que se estaba desarrollando era una arquitectura por


capas. El SO debía dividirse en módulos que estuvieran limitados a una
función específica, como planificación del procesador o gestión de la
memoria. Los módulos estaban agrupados en capas de abstracción crecientes.
Este enfoque por capas oculta peculiaridades y los detalles que surgen al
manipular dispositivos de hardware, y proporciona una vista común abstracta
al resto del SO.

Volver
ENFOQUE DEL MICRONÚCLEO EN UN SO

• En el micronúcleo sólo se incluye funcionalidad básica. Específicamente, el único código en


estos módulos debe ejecutarse en modo supervisor, porque en realidad usa recursos
privilegiados, como instrucciones protegidas, o accede a la memoria que no está en el
espacio del núcleo. El resto de las funciones del SO siguen siendo parte del SO residente,
pero se ejecutan en el modo usuario, en lugar de hacerlo en el modo protegido.
• El código que se ejecuta en el modo protegido literalmente puede hacer cualquier cosa, por
lo que un error en este código puede ocasionar más daño que el que se ejecuta en el modo
usuario. Así, la teoría del micronúcleo es que los beneficios de este enfoque surgen
parcialmente del hecho de la cantidad de código que se ejecuta en el modo supervisión es
más pequeña, lo cual lo robustece más.

Volver
2.3.2 MODOS DE EJECUCIÓN DE PROCESOS
• Modo Privilegiado: ejecuta operaciones de
hardware y accede a todos los dispositivos de
memoria.

• Modo de Usuario: mantiene acceso a cierta parte


de la memoria y no puede ejecutar comandos de
bajo nivel.
2.6 ALGUNAS TÉCNICAS Y
CUESTIONES PARA LA
IMPLEMENTACIÓN DE UN SO
LUEGO DE HABER INTERPRETADO LOS PUNTOS 2.2 Y 2.5. EL SO ES UN SISTEMA DE
SOFTWARE QUE PUEDE CAUSAR MUCHA INTRIGA, GRACIAS A SUS DIVERSOS
COMPONENTES QUE LA CONFORMAN. HAY MUCHA LÓGICA IMPLICADA DENTRO DE
UN SO ASI QUE NOSOTROS ANALIZAREMOS ALGUNAS TÉCNICAS DE
IMPLEMENTACIÓN QUE FORMAN PARTE DE UN SO
LOS TEMAS ABARCAN MÉTODOS UTILIZADOS PARA EL MANEJO DE INTERRUPTORES,
LISTA Y ESTRUCTURA DE DATOS QUE SE UTILIZAN EN MUCHOS ELEMENTOS DEL SO,
UN ENFOQUE ORIENTADO A OBJETOS PARA LA INSTAURACIÓN DEL SO Y LAS
MAQUINAS VIRTUALES.
2.6.1 MANEJO DE INTERRUPTORES USANDO
VECTORES DE INTERRUPCIÓN
• Un interruptor le avisa al SO que ha sucedido un evento de alta prioridad que
requiere que se le preste su debida atención
• Ciertos eventos de interrupción muestran el final de una operación de escritura o
lectura en un bloque de datos, significa que se ha apretado un botón del mouse o
también del teclado.
• El hardware relaciona cada evento que ocurre y lo anota en un registro de
interrupciones una vez que ocurre este y según su gravedad, el SO tomara acciones.
• El manejo de interrupciones utiliza una estructura de datos se llama vector de
interrupciones Este tiene un componente por cada numero de interrupciones. Aparte
de que le indica a la memoria de la rutina sobre la interrupción.
2.6.2 LLAMADAS AL SISTEMA

• Los programas de aplicación normalmente requieren de información y servicios


manejados por el SO. Estos programas también requieren la posibilidad de
comunicarse entre si y el SO debe de servir como el intermediario.
• El SO para llamar a los servicio se utiliza una llamada al sistema, es similar como si
fuera de una llamada a una función.
• Primeramente la aplicación monta unos registros con información de detalla como es
el servicio, no obstante en vez de llamar el código que realiza el trabajo
directamente, la instrucción origina un interrupción que maneja el SO. El SO hace el
trabajo que se le solicito y le regresa el control a la aplicación.
2.6.3 COLAS Y TABLAS
• Las tablas son para almacenar información sobre distintos objetos que administran el SO. Un
ejemplo seria la tabla de paginas, que sirve para mantener bajo control el espacio de
direcciones cuando el hardware permite memoria en pagina.
• El SO mantiene colas para obtener información ya arreglada. Cada recurso del SO
comparte procesos y esto necesitan de la cola, con el fin de sostener los encargos para ese
recurso.
• Se puede decir que hay una buena cantidad de colas que en realidad no son colas, ya que
siempre se administra encima de una base de primero en entrar primero en salir (FIFO por sus
siglas en ingles).
• La CPU al momento de solicitar un nuevo proceso, se deshace de un elemento al inicio de una
cola para su procesamiento.
• Se pueden ordenar las colas según los requisitos particulares de cada tipo.
2.6.4 ENFOQUE ORIENTADO A OBJETOS
• Este enfoque consiste en mas que nada aplicar al SO todo lo relacionado en cuanto
a la ingeniera de software orientado a objetos se refiere, principios, practicas, etc.
• Hacer un SO utilizando este enfoque nos muestra ventajas como encapsulado de
estructuras de datos, separando una interfaz de implementación, extensibilidad y
facilidad de reutilización de objetos.
• Su principal característica es que oculta la información, haciendo que solo sea
accesible a través de métodos.
• Ejemplos de SO utilizando este enfoque serian: NEXTSTEP OS de NeXT y BeOS de
Inc.
2.6.5 MAQUINAS VIRTUALES
• Recurrir aun emulador de software es una forma de virtualizar un sistema
total mayormente conocido como maquina virtual (MV).
• Nos ofrece distintos escenarios en la cual podemos visualizar el programa y
su funcionamiento, ya que si este llegase a fallar, ya que esta en un progama
de simulación este no afectara el SO.
• El diseño del sistema puede ser de dos tipos: Maquinas Virtuales de
Hardware o Maquinas Virtuales de Aplicacion
MAQUINAS VIRTUALES DE HARDWARE
• Aquí se emula lo que es un software de un hardware real. Hay dos clases en la cual
el hardware huésped esta siendo emulado y la otra clase es en donde la CPU esta
siendo emulada.
• La primera clase a menudo autorizaba la realización simultanea de varios núcleos
de SO. En casos como estos se realiza a través del núcleo del SO huésped.
• Una de las complicaciones mas grandes de las maquinas virtuales es que emule de
forma precisa al hardware, de tal forma que los núcleos funcionen en la maquina
virtual de tal forma si estos estuvieran en el hardware real.
• Las maquinas virtuales son muy comunes hoy en día, los mas contemporáneos
generalmente ejecutan una versión modificada que es mas liviana que el SO
original, de forma que la emulación de procese de forma mas eficiente.
MAQUINAS VIRTUALES DE APLICACIÓN
• Dependiendo de la situación podemos hacer que la maquina no emule una CPU, sino
una maquina idealizada, creada para manejar lenguajes de todo tipo.
• El primer tipo de diseño creado en este ambiente fue el sistema Código P, creado en
la Universidad de California, este manejaba su sistema pascal. Uno de los mas
conocidos actualmente es la Maquina Virtual Java (MVJ), al ser de java este diseña
una maquina abstracta que ejecuta programas java.
• La emulación de una maquina virtual puede ser ineficaz por ciertos factores, el
código creado en esta también puede compilarse en código nativo de maquina, de
forma que se ejecute mucho mas rápido. Esto se denomina compilación Justo en el
Momento (JIT por sus siglas en ingles).
2.7 FUNCIONALIDAD DEL SO
Las funcionalidades dentro de un Sistema Operativo se asumen con enfoques
filosóficos.
Minimalista
Maximalista
2.7.1 COMPATIBILIDAD HACIA ATRÁS
Es la capacidad de ejecutar antiguos ejecutables en versiones más recientes.
2.7.2 OPTIMIZACIÓN DE USUARIO Y HARDWARE
• El principal objetivo del SO es la optimización la cual logramos controlar por
medio de un GUI.

Das könnte Ihnen auch gefallen