Una máquina virtual es un software que simula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se des configure el sistema operativo primario.
TIPOS
DE MAQUINAS VIRTUALES
Las máquinas virtuales se pueden
clasificar en dos grandes categorías según su funcionalidad y su grado de
equivalencia a una verdadera máquina.
Máquinas Virtuales de Sistema
Las máquinas virtuales de sistema,
también llamadas máquinas virtuales de hardware,
permiten a la máquina física subyacente multiplicarse entre varias máquinas
virtuales, cada una ejecutando su propio sistema
operativo. A la capa de software que permite la virtualización se la
llama monitor de máquina virtual o hypervisor.
Un monitor de máquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system").
Máquinas
Virtuales De Proceso
Una máquina virtual de
proceso, a veces llamada "máquina
virtual de aplicación", se ejecuta como un proceso normal dentro de un
sistema operativo y soporta un solo proceso. La máquina se inicia
automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene
para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de
hardware y del sistema operativo, que oculte los detalles de la plataforma
subyacente y permita que un programa se ejecute siempre de la misma forma sobre
cualquier plataforma.
http://es.wikipedia.org/wiki/M%C3%A1quina_virtual
COMPONENTES
DE UN SISTEMA OPERATIVO
Ø Administración de procesos
Para comenzar debemos saber que es un
proceso. Un proceso es un programa en memoria + CPU + acceso a dispositivos +
otros recursos. Notemos que un proceso necesita de ciertos recursos (como CPU,
memoria, archivos, dispositivos de E/S, etc.) para realizar su tarea. Podemos
ver entonces que un proceso es una entidad activa, mientras que un programa una
entidad pasiva. Sabiendo entonces que es un proceso, podemos decir entonces que
el sistema operativo es el encargado de su administración. Es el encargado de
proveer servicios para que cada proceso pueda realizar su tarea. Entre los
servicios se encuentran:
ü Crear
y destruir procesos
ü Suspender
y reanudar procesos
ü Proveer
mecanismos para la sincronización y comunicación entre procesos
ü Proveer
mecanismos para prevenir dead-locks o lograr salir de ellos.
Ø Administración de Memoria
La memoria es un área de almacenamiento común
a los procesadores y dispositivos, donde se almacenan programas, datos, etc. El
sistema deberá administrar el lugar libre y ocupado, y será el encargado de las
siguientes tareas:
ü Mantener
que partes de la memoria están siendo usadas, y por quien.
ü Decidir
cuales procesos serán cargados a memoria cuando exista espacio de memoria disponible,
pero no suficiente para todos los procesos que deseamos.
ü Asignar
y quitar espacio de memoria según sea necesario.
Ø Subsistema de Entrada/Salida
El sistema operativo deberá ocultar las
características específicas de cada dispositivo y ofrecer servicios comunes a
todos.
Estos servicios serán, entre otros:
ü Montaje
y desmontaje de dispositivos
ü Una
interfaz entre el cliente y el sistema operativo para los device drivers.
ü Técnicas
de cache, buffering y spooling.
ü Device
drivers específicos
Ø Administración de Almacenamiento
secundario
Dado que la memoria RAM es volátil y pequeña
para todos los datos y programas que se precisan guardar, se utilizan discos
para guardar la mayoría de la información.
El sistema operativo será el responsable
de:
ü Administrar
el espacio libre
ü Asignar
la información a un determinado lugar
ü Algoritmos
de planificación de disco (estos algoritmos deciden quien utiliza un
determinado recurso del disco cuando hay competencia por él)
Ø Subsistema de Archivos
Proporciona una vista uniforme de todas las
formas de almacenamiento, implementando el concepto de archivo como una
colección de bytes.
El Sistema Operativo deberá proveer métodos
para:
ü Abrir,
cerrar y crear archivos
ü Leer
y escribir archivos
Ø Sistema de protección
Antes que nada, tener en cuenta que por
protección nos referimos a los mecanismos por los que se controla el acceso de
los procesos a los recursos. En un sistema multiusuario donde se ejecutan
procesos de forma concurrente se deben tomar medidas que garanticen la ausencia
de interferencia entre ellos. Estas medidas deben incorporar la posibilidad de
definir reglas de acceso, entre otras cosas
Servicios
del Sistema Operativo
El sistema brindará un entorno de ejecución
de programas donde se dispondrá de un conjunto de servicios. Los servicios
principales serán:
ü Ejecución de programas (el
SO deberá ser capaz de cargar un programa a memoria y ejecutarlo. El programa
deberá poder finalizar, de forma normal o anormal)
ü Operaciones de E/S (el
SO deberá proveer un mecanismo de acceso ya que por eficiencia y protección los
usuarios no accederán directamente al dispositivo)
ü Manipulación del Sistema de archivos (se
deberá tener acceso al sistema de archivos y poder, como mínimo, leer,
escribir, borrar y crear)
ü Comunicación entre procesos
(los procesos deberán poder comunicarse, ya sea que estén en el mismo
computador o el diferentes)
ü Manipulación de errores (el
sistema deberá tomar decisiones adecuadas ante eventuales errores que ocurran,
como fallo de un dispositivo de memoria, fallo en un programa, etc.)
Estructura
del Sistema
La estructura interna de los sistemas
operativos pueden ser muy diferentes, ya que se debe tener en cuenta las metas
de los usuarios (fácil uso, confiable, rápido, etc.) y las del sistema (fácil
de diseñar, implementar y mantener, eficiente, etc.). Veremos 3 posibles
diseños del sistema.
Sistema
Monolítico
Estos
sistemas no tienen una estructura definida, sino que son escritos como una
colección de procedimientos donde cualquier procedimiento puede invocar a otro.
Ejemplos de estos sistemas pueden ser MS-DOS o Linux (aunque incluye algo de
capas). Es importante tener en cuenta que ningún sistema es puramente de un
tipo.
Sistema
en capas
El diseño se organiza en una jerarquía de
capas, donde los servicios que brinda una capa son consumidos solamente por la
capa superior. La capa 0 es del Hardware y la N es la de los procesos de
Usuario.
Capa
0
El sistema consta de procesadores
secuenciales, cada uno de los cuales se podría programar sin importar que
varios proceso estuvieran ejecutándose en el mismo procesador, esta capa
proporciona la multiprogramación básica de la CPU.
Capa
1
Se administra la memoria, al mismo
tiempo se asignaba el espacio de memoria principal para los diversos procesos.
En esta capa no se debe de preocupar que los procesos que estén en memoria o en
el deposito, esto se debe que el software de esta capa se encarga de garantizar
que las paginas lleguen a la memoria cuando fueran necesarias.
Capa 2
Esta capa es la encargada de la comunicación
entre el proceso y la consola de usuario, arriba de esta capa cada proceso
tiene su propia consola.
Capa
3
En esta capa es la que controla los
dispositivos de entrada y salida y guarda en almacenes (buffers) los flujos de
información entre ellos.
Capa
4
En esta capa se sitúa los programas de los
usuarios, estos no tiene que preocuparse por el proceso, memoria, consola o
control de E/S.
Capa
5
En esta fase es donde se localiza el proceso
operador del sistema.
http://wiki.inf.utfsm.cl/images/thumb/e/e1/Figura11.png/300px-Figura11.png |
https://so2psm.files.wordpress.com/2013/10/solayers.jpg |
Sistema
con micronúcleo
La idea consiste en tener un núcleo que
brinde los servicios mínimos de manejo de procesos, memoria y que provea la
comunicación entre procesos. Todos los restantes servicios se construyen como
procesos separados del micronúcleo, que ejecutan en modo usuario. Estos
sistemas tienen como ventaja un diseño simple y funcional, que aumenta la
portabilidad y la escalabilidad. Para agregar un nuevo servicio no es necesario
modificar el nucleo, y es más seguro ya que los servicios corren en modo
usuario
Slots by Pragmatic Play - AprCasino
ResponderEliminarPragmatic Play. Pragmatic Play. casino-roll.com Pragmatic Play. Slot Machine. The Dog House. kadangpintar Slots. Wild West https://jancasino.com/review/merit-casino/ Gold. Pragmatic Play. apr casino Jackpot Party.