Sistemas Operativos y Uso de Máquinas Virtuales

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

TEMA 7

SISTEMAS OPERATIVOS Y USO DE MÁQUINAS VIRTUALES


CONTENIDOS OBJETIVOS
• Definición, partes, estructura y funciones • Saber qué es el SO, conocer su
de un SO. importancia, así como sus partes y sus
• Tipos de sistemas operativos clasificados funciones.
siguiendo diferentes criterios. • Conocer los tipos de SO según su
• Sistemas operativos más usados. estructura, los SO utilizados a lo largo de
• Uso de software de virtualización, Oracle los años desde su primera aparición y
VM VirtualBox. tipos de SO en función de su uso.
• Entender qué es la virtualización.
Introducir el uso de software de
virtualización como VirtualBox.

RESUMEN DEL CAPÍTULO

Antes de comenzar el estudio de sistemas operativos como Windows 7 y Ubuntu 16.04, es conveniente que el lector
conozca aspectos comunes a todos los sistemas operativos que se verán plasmados en estos. Además, el uso de
software de virtualización es cada vez más común de manera que se estudia VirtualBox, características, partes y
opciones más relevantes, para realizar las instalaciones de los SO indicados en los siguientes capítulos.

7.1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS


Cuando comenzábamos el libro, hacíamos mucho hincapié en la distinción de los componentes que forman un sistema
informático: hardware, software y el hombre. Si sólo faltara uno de ellos el sistema dejaría de funcionar.

La división hardware-software es bastante amplia. En capítulos anteriores estudiábamos todos los componentes que
forman la parte hardware, desde elementos eléctricos como transistores o condensadores, a placas de PCB donde se
encuentran anclados los chips (puertas lógicas, sumadores, restadores, etc.).

Ahora que comenzamos el estudio del software, éste no se centra sólo en el estudio de programas ya acabados, sino
en todas las herramientas que se usan para desarrollarlos. En el capítulo 1, además de conceptos propios informáticos
se enseñaba al alumno software para creación de documentos, hojas de cálculo y navegación web, software sin más
relevancia que para la que fue diseñado, es decir, aplicaciones que se encargan de realizar alguna función que no
repercute en nuestro sistema hardware. A este software recordamos que lo denominábamos software de aplicación.

El sistema operativo constituye el software más importante de un sistema informático, también se denomina software
base. Sin él, el mejor equipo hardware sería un conjunto de componentes sin ninguna utilidad.

Según esto, la siguiente imagen muestra los niveles conceptuales de un sistema informático.
Es necesario dividir un sistema informático en niveles ya que es un sistema complejo y diseñar algo para el conjunto
es muy complicado. Por ejemplo, si necesitamos un nuevo elemento para establecer comunicación con una nueva
arquitectura de red es más sencillo que una persona se dedique a la construcción del componente físico y otra al
desarrollo de herramientas software para su uso, ya sea drivers como aplicaciones concretas de transmisión.

El sistema operativo se encuentra en la frontera entre los elementos hardware y el software de aplicación, usado por
el hombre de modo que:

• Se encargará de la gestión y asignación de los recursos hardware. Los recursos a gestionar serán: procesador,
memoria, periféricos y sistema de archivos.
• Proporcionará una interfaz al usuario para que pueda usar el sistema con facilidad.

7.2. COMPONENTES DE UN SISTEMA OPERATIVO


Un sistema operativo básicamente está formado por:

• El núcleo.
• Los servicios.
• El intérprete de órdenes o Shell.

7.2.1. EL NÚCLEO
El núcleo es la parte del sistema operativo que interacciona directamente con el hardware del equipo, dejando que
las aplicaciones accedan a estos de forma segura. Se encargará de la gestión de los recursos del mismo, como el
procesador, la memoria, etc.

La gestión de los recursos las realiza en función de los servicios, es decir, si una aplicación concreta necesita del uso
de la memoria, esta aplicación realizará una llamada al sistema para alertar al gestor de memoria, el gestor de memoria
se encargará de localizar las zonas ocupadas y finalmente será el núcleo el que entre en contacto con el hardware para
que la acción se lleve a cabo.

7.2.2. LOS SERVICIOS


Cuando un usuario ejecuta una aplicación, ésta necesitará la utilización, en mayor o menor medida, de los
componentes hardware que forman el sistema informático. Por ejemplo, si estamos desarrollando un documento y
decidimos imprimir el mismo, la aplicación que estemos usando pedirá al sistema el poder imprimir, el decir, solicitará
el servicio de impresión del fichero. A continuación, el componente del sistema operativo encargado de solventar
positiva o negativamente esta petición, se ocupará de conocer el estado de la impresora instalada, etc.
Así, en este proceso, observamos de la existencia de una interfaz de comunicación entre aplicaciones y un componente
que es el gestor del elemento que en cada caso necesitemos usar.

Distinguimos diferentes gestores de servicios agrupados según su funcionalidad:

• Gestor de memoria. Es la parte del sistema operativo que se encarga de la gestión de la memoria principal. Se
encarga de conocer las partes de la misma que estén libres u ocupadas, además de la asignación y liberación de
los procesos.
• Gestor de procesos. Este elemento se encarga de la gestión del procesador. Cuando ejecutamos un programa
este pasa a denominarse proceso (programa en ejecución) y comienza a precisar del microprocesador para poder
ejecutarse. Si solo disponemos de un procesador el paralelismo real no existe, de forma que éste proceso debe
convivir con otros y usar la CPU conjuntamente a intervalos de tiempo determinados. El gestor de procesos se
encargará de asignar qué proceso debe usar en qué momento el procesador y en caso de que existan recursos
del sistema que puedan ser accesibles por varios procesos, que no se produzca el acceso al mismo tiempo.
Además, una vez finalizada la ejecución debe encargarse de la destrucción de los procesos.

NOTA: Según la RAE (Real Academia Española), se define programa como: "Conjunto unitario de instrucciones que
permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos .... ".
Ciertamente es así, teniendo en cuenta que cada instrucción será escrita usando una sintaxis concreta, proporcionada
por un lenguaje de programación determinado. A la hora de ejecutarse este programa, se hará de arriba abajo
(siempre que no existan sentencias de control como bucles o condicionales) como si leyéramos un libro. Normalmente,
una aplicación estará compuesta por un conjunto de programas sencillos.

• Gestor de la E/S. Elemento encargado de la gestión de los dispositivos de entrada y salida de información, es
decir, dispositivos periféricos.
• Gestor de archivos y directorios. Encargado de la gestión del almacenamiento secundario, gestión de ficheros y
directorios.
• Comunicación y sincronización entre procesos. Se encarga de establecer mecanismos para que los procesos
puedan comunicarse entre sí y sincronizar esta comunicación.
• Seguridad. Es el elemento que se encarga de conocer qué puede hacer cada usuario que accede al sistema, para
así indicar al núcleo qué recursos se pueden usar.

ACTIVIDAD 7.1

¿Qué es el planificador de memoria? ¿Cuál es su función?

INTERFAZ DE LLAMADAS AL SISTEMA

Es la interfaz que usan los servicios para comunicarse con las aplicaciones de nivel superior, gracias a esta interfaz
estas aplicaciones podrán realizar peticiones a los gestores de servicios que antes hemos estudiado.

Básicamente una interfaz en este caso no es más que una serie de funciones elementales.

7.2.3. EL INTÉRPRETE DE COMANDOS, ÓRDENES O SHELL


El intérprete de comandos proporciona al usuario una interfaz por la que puede "hablar" con el PC. En este entorno,
el usuario dispondrá de una serie de comandos que ejecutará y que el Shell interpretará proporcionando información
o realizando alguna operación concreta.

Según el sistema operativo el Shell variará y las órdenes serán diferentes. Utilizaremos el intérprete de comandos de
forma más práctica cuando estudiemos los sistemas operativos Windows 7 y Ubuntu 11.10.

ACTIVIDAD 7.2

¿Qué intérpretes de comando pueden usarse en Linux? ¿Cuál es el más usado?

7.3. ESTRUCTURA DE UN SISTEMA OPERATIVO


El sistema operativo es un software grande y complicado, ya que está compuesto de todos los elementos que hemos
estudiado en el apartado anterior. Este software puede ser estructurado, en función de quien lo diseñe de diferentes
formas, como un solo programa o varios en continua comunicación. En este apartado, estudiaremos los sistemas
operativos en función de su estructura.

7.3.1. SISTEMAS OPERATIVOS MONOLÍTICOS


Este tipo de sistemas operativos no presentan una estructura clara, lo forma un único programa donde se integran
todos los componentes (núcleo, servicios e intérprete). Algunos de los sistemas operativos que conocemos
comenzaron usando esta estructura, ya que eran sistemas sencillos y al adquirir popularidad fueron requiriendo
nuevas funciones que se agregaban directamente al núcleo, llegando a ser sistemas operativos demasiado pesados.
Ejemplos de estos son MS-DOS y UNIX, o distribuciones GNU/Linux.

La complicación que presentan estos sistemas operativos viene dada a la hora de modificar los mismos para agregar
funcionalidad, servicios o modificar los que ya existen.

NOTA: En sistemas operativos como las diferentes distribuciones de GNU/Linux, se puede configurar el núcleo en
función de nuestras necesidades. Normalmente, cuando obtenemos las fuentes de una nueva versión del núcleo, lo
que hacemos es compilar ésta, de forma que en el proceso indicamos qué partes deben compactarse con él y cuáles
deben almacenarse como módulos que puedan ser usados en función del momento preciso de ejecución.

7.3.2. SISTEMAS OPERATIVOS ESTRUCTURADOS


Sistemas operativos que siguen una estructura concreta, organizándose de este modo cada uno de sus
componentes. Tenemos:
• Sistemas operativos estructurados por capas.
• Sistemas operativos cliente-servidor.

7.3.2.1. SISTEMAS OPERATIVOS ESTRUCTURADOS POR CAPAS


Este tipo de sistemas operativos están estructurados en capas, de forma que cada capa define claramente una función
del mismo, y cada capa ofrece servicios a la que está justo por encima de ella a través de una interfaz de servicios.

La ventaja que tienen es que al estar estructurados en capas, se dividen sus funciones y cada parte es menos compleja,
además cada capa conoce las funciones que ella implementa y no la que implementan las demás, solo conoce la
interfaz, cabeceras de funciones que puede usar, no su código, de la que está justo debajo de ella.

Esta estructura fue usada por primera vez en 1968, en el sistema operativo THE (Technische Hogeschool Eindhoven),
creado por Edsger W. Dijkstra.

7.3.2.2. SISTEMAS OPERATIVOS CLIENTE-SERVIDOR


En este tipo de sistemas se pretende que la mayoría de las funciones que tiene que desarrollar el sistema operativo se
implementen a través de procesos de usuario. Tenemos un micronúcleo y servidores (procesos que desarrollan la
funcionalidad antes comentada).
La Figura 7.2., muestra un esquema cliente-servidor. Disponemos de un núcleo que se encargará sobre todo de la
gestión básica de procesos, interrupciones, memoria y servicios básicos de comunicación entre procesos.

Windows XP, Vista, 7, etc., sigue este esquema, aunque algunos de sus servidores (gestor de memoria, gestor de
procesos, etc.), pueden ejecutarse en modo núcleo(*) ya que aumentan la eficiencia. Estos sistemas se denominan
sistemas operativos híbridos.

(*) Las funciones se implementan en un único programa llamado núcleo, como en los sistemas operativos monolíticos.
A esto se le llama trabajar en modo núcleo.

7.4. FUNCIONES DE UN SISTEMA OPERATIVO


Básicamente un sistema operativo debe gestionar los recursos hardware del sistema informático donde se ejecuta y
proporcionar una interfaz adecuada para su uso por parte del usuario como las aplicaciones que se ejecutan en él.

Con el estudio de los elementos que forman un sistema operativo hemos introducido ya su funcionalidad, aun así
digamos que sus cometidos principales son:

• La gestión del procesador.


Creación y finalización de proceso.
Control de recursos o secciones críticas.
Asignación y liberación de recursos críticos, accesibles por varios procesos.
Solucionar posibles bloqueos en el uso de recursos.
• La gestión de la memoria.
Reserva y liberación de la memoria.
Conversión de direcciones virtuales.
Comprobación del uso de la memoria.
Uso de memoria virtual.
• La gestión del sistema de archivos.
Creación y eliminación de archivos y directorios.
Modificación de los ficheros y directorios.
Asignación y manejo de permisos de archivos.
• La gestión de E/S.
Coordinación de los procesos a los diferentes dispositivos de E/S.
Manejo de la memoria para el acceso directo del dispositivo.
Proporcionar interfaz entre sistema y dispositivo.
Proporcionar interfaz entre usuario y dispositivo.
• La interfaz de usuario.
Proporcionar un entorno (intérprete de comandos) en el que el usuario pueda comunicarse con el sistema
operativo y establecer una serie de comandos para la comunicación.
En los sistemas operativos actuales proporcionar Interfaces Gráficas de Usuario (GUI) cada vez más intuitivas
y fáciles de usar.
• La interfaz para el uso en aplicaciones.
Proporcionar una interfaz con funciones para ser usadas en el desarrollo de aplicaciones software y que
puedan hacer uso de los recursos (API).

NOTA: Ejemplos de estas interfaces del sistema operativo con el programador son POSIX y WIN32.

ACTIVIDAD 7.3

¿Qué se entiende por memoria virtual? Busca información y redacta un documento breve donde lo expliques.

ACTIVIDAD 7.4

Localiza en la web los términos POSIX y WIN32. Crea una presentación breve donde expliques las características
principales de cada API.
7.5. TIPOS DE SISTEMAS OPERATIVOS. VISIÓN HISTÓRICA
Los sistemas operativos han ido evolucionando a lo largo de los años, de forma que encontraremos diferentes tipos
en función de la época en la que se ubica.

7.5.1. PRIMERA ETAPA (1943-1955)


En esta primera etapa, en la que aparecen computadoras como ENIAC (Electronic Numerical Integrator And
Computer), no se hacía uso de ningún sistema operativo. Era el programador quien se encargaba de desarrollar el
programa a mano y en código máquina. Usaba las famosas tarjetas perforadas para introducirlo en el computador,
siendo los resultados impresos o grabados en otras cintas perforadas para ser posteriormente usados. En caso de que
se produjeran errores, el programador era el encargado de la depuración, observando estado de memoria, registros,
etc.

Todos los trabajos se ejecutaban en serie, se introducía uno, se esperaba la salida y a continuación se comenzaba con
el siguiente.

7.5.2. SEGUNDA ETAPA (1956-1963)


En esta etapa aparecen los Sistemas Operativos por Lotes. El funcionamiento es similar al que hacía el programador
en la primera etapa, siendo la secuencia de trabajo en serie. En estos SO se agrupaban las tareas del mismo tipo,
formando lotes (batch).

Así, el programador dejaba el conjunto de tarjetas perforadas (lote de programas) sobre la correspondiente bandeja
de entrada y el sistema operativo se encargaba de ir procesando la salida de cada uno de forma secuencial.

7.5.3. TERCERA ETAPA (1963-1979)


En este periodo distinguimos diferentes tipos de sistemas operativos.

SISTEMAS OPERATIVOS DE MULTIPROGRAMACIÓN

Sistemas operativos que permitían mantener varios programas simultáneamente en memoria principal. El objetivo es
mejorar la productividad del sistema ejecutando varios programas a la vez, al mismo tiempo que se hace un mejor uso
de los recursos.

SISTEMAS OPERATIVOS DE TIEMPO COMPARTIDO

El sistema operativo comparte sus recursos con todos los usuarios del sistema de forma que asigna a cada uno de ellos
tiempos de uso de memoria, CPU, etc. En realidad, esta forma de trabajar es transparente al usuario, ya que este cree
que usa los recursos al completo sin compartirlos con nadie. Es una forma de trabajar bastante habitual hoy día, incluso
solemos hacerlo en arquitecturas cliente-servidor, donde los usuarios están configurados en una máquina a la que
podemos acceder a través de terminales conectados a la red: Desde una máquina podemos iniciar una sesión con un
usuario de la máquina principal donde está el sistema operativo de tiempo compartido.
SISTEMAS OPERATIVOS EN TIEMPO REAL

Se construyen para tareas muy específicas y se instalan en sistemas que deben procesar gran cantidad de eventos. Su
objetivo es proporcionar rápidos tiempos de respuesta ante los sucesos que registra del exterior. Se usan para el
control del tráfico aéreo, de trenes, etc.

SISTEMAS OPERATIVOS DE PROPÓSITO GENERAL O MULTIMODO

Sistemas operativos que eran capaces de operar en lotes, en multiprogramación, tiempo real o tiempo compartido. El
hecho de que el sistema operativo fuera capaz de trabajar como cualquiera de los sistemas operativos antes
estudiados, repercutió en un software más complejo y en la necesidad de que los programadores o usuarios del
sistema debían de aprender un lenguaje de control complicado para poder preparar sus trabajos, tenían que
especificar muchas opciones y detalles.

7.5.4. CUARTA ETAPA (1980 - actualidad)


La tercera etapa finaliza con la aparición de los sistemas operativos de propósito general. En esta cuarta etapa, se
produce una gran evolución de los mismos, en la que se centra más la atención en el uso del sistema informático en sí
que en el rendimiento de la máquina. Se pretenden conseguir sistemas operativos más fáciles de usar a costa de un
menor rendimiento. Además, el concepto red de ordenadores empieza a surgir y toma fuerza a lo largo de los años,
al igual que los sistemas virtualizados o el concepto de máquina virtual.

SISTEMAS OPERATIVOS ORIENTADOS A USUARIOS FINALES

Sistemas operativos que aún sin dejar de realizar su función son cada vez más accesibles por todos. No es necesario el
estudio de comandos complejos o instrucciones para su uso. Esta definición se ha adoptado firmemente en estos
tiempos, si observamos Windows 7,8, 10 o Ubuntu 16.10 (actual), veremos interfaces cada vez más fáciles de usar,
cada vez más intuitivas.

SISTEMAS OPERATIVOS DISTRIBUIDOS

Según Tanenbaum "un sistema distribuido es una colección de computadoras independientes que aparecen ante los
usuarios del sistema como una única computadora".

Un sistema operativo distribuido es aquel común a varios equipos que mantienen comunicación a través de la red, de
forma que cuando un usuario accede al mismo no sabe dónde están almacenados sus ficheros o dónde se están
procesando los datos. Ejemplo de sistema distribuido es el que forma la red de sucursales de un banco. El operario
que mira tu cuenta de ahorros accede a ella sin saber dónde está almacenada realmente la información y la actualiza
con seguridad aunque en otro lugar se esté accediendo al mismo tiempo.

SISTEMAS OPERATIVOS MIDDLEWARE

Es una evolución de los sistemas operativos distribuidos. Se denomina middleware a una capa software que se ejecuta
sobre un equipo que tiene un sistema operativo propio y que es la encargada de gestionar el sistema distribuido.

En los sistemas operativos distribuidos teníamos equipos independientes con hardware diferente y un sistema
operativo común, en sistemas operativos middleware, los equipos disponen de su propio hardware y su propio sistema
operativo, agregando un software que hace las veces de sistema operativo distribuido.

En los últimos años ha surgido un nuevo concepto de middleware denominado virtualización.

Con la virtualización podemos tener en nuestro propio PC, que corre con su propio sistema operativo (sistema
operativo anfitrión), varios sistemas operativos huéspedes. El software de virtualización gestionará los recursos (CPU,
memoria, etc.) entre todas las máquinas virtuales que tengamos configuradas.

Cada vez este concepto se usa más en aulas dedicadas al estudio de ciclos formativos, ya que el alumno puede usar
con seguridad todos los sistemas operativos necesarios para cada módulo sin deteriorar el sistema operativo principal,
con lo que los equipos se mantienen siempre en buen estado y disponibles.

Ejemplo de software de virtualización son: VMWare, VirtualBox o Virtual PC.


7.6. TIPOS DE SISTEMAS OPERATIVOS SEGÚN SU USO
En el apartado anterior estudiábamos los distintos tipos de sistemas operativos que han ido surgiendo a lo largo de la
historia de la computación y en función de las necesidades propias de cada época. En este apartado concretaremos la
clasificación en función del uso o la forma de trabajar, de manera que tenemos:

• Según el número de usuarios que pueden usar el sistema al mismo tiempo, sistemas operativos monousuario
o multiusuario.
• Según el número de tareas que pueda realizar al mismo tiempo, sistemas operativos monotarea o multitarea.

7.7. SISTEMAS OPERATIVOS COMERCIALES


Hagamos en este apartado un breve repaso sobre los sistemas operativos más usuales en el mercado.

7.7.1. MICROSOFT
MS-DOS (Microsoft Disk Operating System). Adoptado por IBM al principio de la década de los 80 como el sistema
operativo para el IBM-PC.

Windows 3.0, 3.1 y 3.11 para trabajo en grupo. Estos no eran sistemas operativos como tal, solo proporcionaban una
interfaz gráfica más amigable y fácil de usar pero bajo ellos seguíamos encontrando MS-DOS.

Windows 95. Primer sistema operativo Windows de 16/32 bits con multiprogramación. Su nombre data del año en el
que salió al mercado.

Windows 98 y Windows ME. Aparecen en 1998 y 2000 respectivamente, siendo el primero de ellos un sistema
operativo bastante aceptable en contraposición de Windows ME que realizaba una pésima gestión de los recursos.

Windows XP. Año 2001, distribuido en diferentes versiones ha sido uno de los sistemas operativos Windows
más usados e incluso aún existen empresas que lo mantienen.

Windows Vista. Sistema operativo que pretendía ser mucho más intuitivo y fácil de usar por personas que nunca
hubieran utilizado un PC, pero que resultó un fracaso para Microsoft ya que muchos consideraban que era la
continuación de Windows ME.

Windows 7. Sistema operativo usado en la actualidad. Muchos consideran que es una mejora de Windows XP que usa
una interfaz parecida a la generada en Windows Vista.

Windows 8 y 8.1. Evoluciones del 7 y algunas novedades técnicas, como soporte por soft de virtualización, etc...

Windows 10. Anterior sistema operativo de Microsoft y que se comercializaba como un servicio. Pretendia ser el
“último Windows” con seriales. A partir de él serían todo actualizaciones sobre Windows 10. Ye vemos que no...

Windows 11. Actual sistema operatívo de Microsoft, que también se comercializa como un servicio.

Casi al mismo tiempo que algunos de los sistemas operativos vistos, Microsoft comercializó otros para máquinas más
potentes o servidores. Algunos de ellos:

Windows NT Server. Aparece por la época de Windows 95. Potente sistema operativo servidor. Aunque estos equipos
podían configurar redes con sistemas operativos Windows 95 existía una versión cliente del mismo Windows NT
Workstation.

Windows 2000 Server. Evolución de Windows NT con sus sistemas operativos cliente Windows 2000 Professional.

Windows 2003, hasta el actual Windows Server 2022, siendo este último la versión servidora más reciente.

7.7.2. UNIX Y GNU/LINUX


Unix es un sistema operativo de multiproceso, multiprogramación y multiusuario. Fue desarrollado en 1969 por Ken
Thompson, Dennis Ritchie y Douglas Mcilroy en los laboratorios Bell de AT&T. Han sido muchas las familias de
sistemas operativos UNIX que han evolucionado de forma diferente dando lugar a ss.oo. como Solaris y Mac OS X.
En 1991, Linus Torvalls, estudiante de la universidad de Helsinki desarrolló el sistema operativo Linux, basado en Minix.
Es muy parecido a UNIX pero de código abierto.

Actualmente existen multitud de distribuciones Linux, siendo Linux el núcleo del sistema operativo al que se le agrega
multitud de software de aplicación útil para el usuario. La versión del kernel a día de hoy es la 4.10
(http://www.kemel.org/). Ubuntu, Fedora, OpenSUSE, Debian, Red Hat o CentOS son algunas distribuciones de las
más conocidas.

7.7.3 DISPOSITIVOS MOVILES


Debido al auge de los dispositivos móviles (PDA, teléfonos, tablets,…) existen sistemas operativos desarrollados para
su uso exclusivo:

Android creado por GOOGLE. Normalmente, sus versiones se secuencian por una letra, y suele adoptar una palabra
asociada (Ejemplo: versión 7, letra N, nombre Nougat). Actualmente está al liberarse la versión 8, que sería la O, y no
se conoce nombre aún.

Windows Phone de Microsoft. En 2015 Microsoft abandona Windows Phone, dejando Windows 10 Mobile como
sistema para todos los dispositivos móviles.

CHROME OS. GOOGLE en 2009 ha implementado un nuevo sistema operativo para PC, sistema operativo basado en
WEB.

Firefox OS. En 2012 Mozilla lanza un sistema operativo para móviles basado en HTML5, con núcleo Linux. En 2015 da
por finalizado el proyecto.

7.8. SISTEMAS OPERATIVOS PROPIETARIOS Y LIBRES


Un sistema operativo es una aplicación y al igual que cualquier otro software puede catalogarse en propietario o libre.

Las características que distinguen a un software libre son:

Libertad 0. Puede ejecutarse siempre que se quiera y con los propósitos que el usuario quiera.

Libertad 1. Acceso al código fuente, de forma que se puede estudiar cómo funciona y puede adaptarse a las
necesidades de cada uno.

Libertad 2. Libertad de distribuir copias del software.

Libertad 3. Posibilidad de mejorar el software y compartir las mejoras con otros usuarios.

Si el software es propietario decimos que incumple algunas de las libertades indicadas, ya que:

No es posible acceder a su código fuente para su estudio y modificación (libertad 1).

No se pueden distribuir copias del mismo libremente, incluso si hemos comprado una copia no podemos usar la misma
para instalar en dos equipos diferentes (libertad 2).

Al no ser posible el acceso al software no es posible su mejora por parte de la comunidad de usuarios (libertad 3).

7.8.1. TIPOS DE LICENCIAS DEL SOFTWARE


Antes de conocer los diferentes tipos de licencias tanto para software libre como propietario entendamos los
siguientes conceptos:

Licencia. Contrato entre el desarrollador del software y el usuario, donde se establecen los derechos y deberes de
ambos. Será el creador del software quien elija el tipo de licencia para el mismo.

Patente. Conjunto de derechos garantizados por un gobierno al inventor de un nuevo producto. Este producto podrá
ser producido y comercializado beneficiando al poseedor de su patente, siendo esta concedida por un período
determinado de tiempo.
Derecho de autor o copyright. Es la forma en la que las leyes actuales protegen las obras originales. Todo software
con copyright está protegido ante la piratería mediante la legislación vigente.

Así, y entendidos estos conceptos, existen diferentes tipos de licencias tanto para software libre como para software
propietario.

LICENCIA DE SOFTWARE LIBRE: GNU GENERAL PUBLIC LICENSE

Licencia Pública General de GNU, GNU General Public License o simplemente GNU GPL, es una licencia creada por Free
Software Foundation en 1989. Esta licencia está orientada a la protección de las cuatro libertades del software libre:
libertad de uso, distribución, modificación y mejora del software.

La licencia GPL debe preservar que el software sea siempre libre protegiendo al mismo de intentos de apropiación que
le hagan perder algunas de las libertades que tiene por derecho.

El documento de licencia donde se especifican sus características puede leerse en la web de GNU
http://www.gnu.org/licenses/gpl-3.0.html. Este alcanzó la versión 3 en junio de 2007.

LICENCIAS DE SOFTWARE PROPIETARIO

Cuando adquirimos un software propietario debemos tener en cuenta que este está protegido por unos derechos de
autor y quien lo compre debe regirse a ellos. La única forma legal de asegurar que se cumplen los derechos de autor
es mediante el uso de licencias. Existen diferentes tipos de licencias:

CLUF (Contrato de Licencia para Usuario Final) o EULA (End User License Agreement). Licencia de código cerrado en
las que el autor del software es quien decide qué se puede hacer con él.

OEM (Original Equipment Manufacturing o Fabricante de Equipos Originales).

Licencias que se tienen al adquirir equipos con una versión del sistema operativo o software preinstalada. A menudo
ocurre que los fabricantes de PC llegan a acuerdos con los fabricantes de software de forma que estos instalan unas
versiones del software especiales (OEM) en los discos duros de los equipos nuevos.

Licencia de producto empaquetado. Adquisición del producto original en caja donde aparece el contrato de licencia
de uso.

Licencias por volúmenes. Ejemplos de estas licencias son Open License, Select License o Enterprise Agreement. Son
licencias para empresas con un determinado volumen del PC a las que se le facilita la compra de licencias mediante
descuentos por volumen o mayor período de tiempo de cobertura.

Licencias educativas y para otros sectores. En función del sector que vaya a hacer uso del software se pueden
configurar licencias ajustadas a las necesidades del mismo.

Puedes visualizar las características de la licencia OEM o cualquiera de las usadas por Microsoft desde la web
https://www.microsoft.com/es-es/licensing/licensing-options/oem.aspx.

7.9. USO DE MÁQUINAS VIRTUALES


Ya comentábamos en apartados anteriores que el uso de máquinas virtuales es cada vez más frecuente. Gracias a ellas
podemos mantener varios sistemas operativos bajo un mismo equipo sin necesidad de particionar el disco duro,
formatear este o incluso pensar en el orden de instalación en función del software base a instalar. En este libro
insistimos en los beneficios del uso de este tipo de software, que cada vez se utiliza más en servidores, por ejemplo,
servidores web que ofrecen alojamiento tanto en Windows corno en Linux. Con una misma máquina darnos servicios
a dos perfiles de usuarios distintos, y ahorrarnos en gastos ya que no es necesario un equipo para cada sistema
operativo.

7.9.1. ¿QUÉ ENTENDEMOS POR VIRTUALIZAR?


El término virtualizar se puede interpretar corno simular el funcionamiento de un elemento tecnológico real mediante
software específico para tal fin. Si decidirnos virtualizar un PC estamos indicando que de algún modo estarnos
simulando mediante software el funcionamiento de un PC real con todos los componentes y comportamientos que
esto conlleva.

7.9.2. MÁQUINAS VIRTUALES


El término máquina virtual concreta la definición vista en el apartado anterior, debido a que al crear una máquina
virtual lo que conseguiremos será simular el funcionamiento de un PC real mediante un software concreto, de modo
que cada máquina referirá un PC y un sistema software instalado en él.

Cuando usamos máquinas virtuales debemos entender que:

Tenemos un PC con un sistema operativo instalado llamado sistema operativo anfitrión.

Tenemos unos recursos hardware disponibles: CPU, memoria, disco y red.

Tenernos una capa software llamada VMM (Virtual Machine Monitor) que se encuentra entre el hardware y el sistema
operativo de la máquina virtual, de forma que consigue abstraer los recursos de esta máquina para que sean
distribuidos por todas las máquinas virtuales instaladas, es decir, el sistema operativo huésped.

Así, VMM se encarga de distribuir los cuatro recursos fundamentales del hardware entre los sistemas operativos
huésped que tengamos instalados.

Existen diferentes tipos de software de virtualización. Entre las diferentes opciones que encontramos en el mercado
nos decantamos en este libro por VirtualBox, ya que es un software libre y el uso de este tipo de software es una de
las filosofías a seguir en el desarrollo del mismo.

7.9.3. TIPOS DE VIRTUALIZACIÓN


Virtualización de hardware. Este tipo de virtualización es el más complicado de conseguir. Consiste en emular los
elementos físicos del PC host o anfitrión. De este modo, el sistema operativo huésped no se ejecuta sobre el hardware
real de la máquina sino que se ejecutará sobre el hardware virtual creado. La virtualización de hardware permite
emular diferentes arquitecturas hardware.

Virtualización a nivel de Sistema Operativo. En este tipo de virtualización disponemos de hardware real y un único
kernel del sistema operativo anfitrión que usarán todos los sistemas virtualizados. Tendremos procesos que se
agrupan para realizar las funciones de los sistemas operativos que se quieren virtualizar.

Paravirtualización. Este tipo de virtualización consiste en ejecutar sistemas operativos huésped sobre otro sistema
operativo llamado anfitrión que actúa como hypervisor. Para conseguir la virtualización y que los sistemas operativos
huésped funcionen como sistemas instalados en máquinas reales es necesario que estos se comuniquen con el
hypervisor y en ocasiones puedan ser modificados.

Virtualización completa. Es similar a la paravirtualización pero no es necesario que el sistema operativo huésped
colabore con el anfitrión.

NOTA: Actualmente, lNTEL y AMD han incorporado en sus microprocesadores nuevas tecnologías que facilitan la
paravirtualización y la virtualización completa: Intel VT y AMD-V.

ACTIVIDAD 7.5

Busca in formación en la web de cada fabricante relacionada con Intel VT y AMD-V.

7.10. ORACLE VM VIRTUALBOX


Oracle VM VirtualBox es un software de virtualización creado inicialmente por Innotek GmbH, aunque en la actualidad
es desarrollado por Oracle Corporation. Podemos simular arquitectura x86/amd64 y sistemas operativos Linux,
Windows, Solaris, Mac OS, etc.

Algunas características del software:


• Portabilidad. VirtualBox es un software diseñado para ser ejecutado en multitud de plataformas o sistemas
operativos anfitrión. Si accedemos a la web del software https://www.virtualbox.org/ en el apartado Download
podremos observar cómo se encuentran disponibles los paquetes de instalación para Windows, Linux, OS y
Solaris, así como los manuales de uso.
• No requiere de las nuevas tecnologías de virtualización que incorporan algunas CPUs modernas.
• Las Guest Additions. Herramienta adicional que incorpora la máquina virtual. Este software una vez instalado
permite, entre otras cosas, la comunicación anfitrión-huésped mediante el uso de carpetas compartidas.
• Gran soporte de hardware. Virtualbox es un software de virtualización que soporta gran cantidad de hardware.

7.10.1. INSTALACIÓN DE VIRTUALBOX


Para poder acceder al software es necesario localizar en la web del mismo la zona download y en ella el
paquete correspondiente al sistema operativo donde se va a realizar la instalación. Vamos a usar el
paquete VirtualBox 7.0.x para Windows. Se actualiza con relativa frecuencia.

El proceso de instalación es el habitual. Brevemente los pasos a seguir son:

PASO 1: INICIO DE LA INSTALACIÓN

Proporciona información sobre el propio proceso de instalación. Clic en Next para comenzar con la instalación.

PASO 2: CONFIGURACIÓN DE LA INSTALACIÓN

En este punto debemos indicar:

1. Los componentes que queremos instalar y la localización o el directorio de instalación.

2. Si queremos tener un icono de acceso directo en el escritorio y en la barra de inicio rápido.

3. Si desea proceder con la instalación de red y su configuración. La pantalla se muestra con una advertencia debido a
que durante el proceso de instalación de esta se resetea nuestra conexión de red.

PASO 3: INSTALACIÓN

Llegados a este punto, si todos los aspectos de configuración se han escogido adecuadamente, tan solo queda hacer
clic sobre Install. En caso de que alguna de las opciones debiera cambiarse es el momento de pinchar sobre Back y
modificar estas.

Si se ha decidido instalar la red VirtualBox procede a la instalación de adaptadores de red.


PASO 4: FIN DEL PROCESO DE INSTALACIÓN

Llegados a este punto, los componentes seleccionados han sido instalados en nuestro PC y esta pantalla del asistente
es lo que nos dice. Tan solo tendremos que elegir entre ejecutar directamente el software una vez hayamos hecho clic
sobre Finish o bien no ejecutarlo. Se indica esta acción seleccionando o no la casilla de verificación "Start Oracle VM
VirtualBox 5.1.8 after installation"

7.10.2. ENTORNO DE VIRTUALBOX


VirtualBox es un software con un entorno bastante sencillo e intuitivo. Si observamos su ventana inicial, observaremos
una barra de herramientas con solo 4 botones y una barra de menús con los menús Archivo, Máquina y Ayuda.

Además, localizaremos a la izquierda un recuadro vacío donde se irán listando todas las máquinas virtuales que se
vayan creando. En la derecha observaremos las características de las mismas y podremos configurar el hardware
ficticio de cada una.

Nueva. Nos permitirá crear una nueva máquina virtual para poder instalar un nuevo sistema operativo.

Configuración. Una vez creada una máquina virtual podrá ser configurada a través de este botón. Al pulsar sobre él
aparecerá un nuevo cuadro de diálogo desde el que podremos modificar desde la imagen ISO que hemos colocado en
la unidad de CD hasta las características del adaptador de red que estamos usando. Este botón sólo estará activo si
hemos creado una máquina virtual con anterioridad y si esta está seleccionada.

Iniciar. Como su nombre indica, inicia la máquina virtual seleccionada. Iniciar una máquina virtual es equivalente a
pulsar el botón de encendido de un PC, de forma que veremos como aparece una nueva ventana de virtualbox en la
que cargará el sistema operativo que se haya instalado en ella y con la que podremos interactuar como si estuviéramos
en otro ordenador de forma física real.

Descartar. Esta opción se activa cuando hemos guardado algún estado de la máquina virtual, pero ¿qué quiere decir
esto? Las máquinas virtuales proporcionan ciertas ventajas en el uso de sistemas operativos, ya que permiten pausar
su ejecución retomando ésta desde un estado concreto. La opción descartar permite eliminar posibles estados
guardados.

7.10.4. BARRA DE MENÚS


7.10.4.1. ADMINISTRADOR DE MEDIOS VIRTUALES
Esta opción se localiza en el menú archivo. Al hacer clic en ella veremos un cuadro de diálogo donde podremos
configurar todos los medios o dispositivos de almacenamiento virtuales que queramos.
Figura 7.9 Opciones del menú Archivo Figura 7.10 Cuadro de diálogo de
administración de medios virtuales.

Si observamos la figura 7.10., vemos tres pestañas referidas a los diferentes elementos de almacenamiento: Disco
duro, CD/DVD o disquete.

A la hora de crear una máquina virtual, debemos indicar al software la cantidad de disco duro real que vamos a usar.
Cuando el proceso de creación de la máquina virtual finaliza queda registrado un disco duro virtual que referencia esa
parte de disco que anteriormente mencionábamos. Este disco, junto a los creados en otras máquinas virtuales, se
listará en la pestaña discos duros.

Cuando comenzamos a instalar un sistema operativo, los ficheros de instalación del mismo deben ser aportados de
algún modo. Para esto tenemos una unidad de CD o DVD virtual, de manera que podemos indicar un fichero ISO como
CD o DVD de instalación. La pestaña imágenes de CD/DVD mostrará un listado con todas las imágenes de CD/DVD
cargadas en algún momento y vinculadas a las máquinas.

Por último, si en lugar de tener un CD o DVD de instalación tenemos un disquete, como era el caso de sistemas
operativos MS-DOS o Windows 3.11, necesitaremos una unidad virtual de disquete que se configura en la tercera
pestaña, imágenes de disquete.

Desde el cuadro de diálogo Administración de medios virtuales podemos eliminar un medio virtual concreto, copiar,
modificar, etc. Todas estas opciones se muestran en la barra de herramientas del cuadro de diálogo.

Es importante dejar claro que para para poder eliminar un medio es necesario liberar antes el mismo, es decir, el
medio estará ligado a una máquina virtual concreta, así que antes de eliminarlo debemos hacer que deje de estar
conectado a ella.

7.10.4.2. IMPORTACIÓN/EXPORTACIÓN DE MEDIOS


VirtualBox soporta la importación de servicios virtualizados en Open Virtualization Format (OVF). Este es un estándar
abierto que permite distribuir software que pueda ser ejecutado en máquinas virtuales.

Básicamente podemos tener varias máquinas y empaquetarlas de forma que puedan ser usadas en otros programas
dedicados a la virtualización que también soporten OVF. Por ejemplo, imaginamos nuestras máquinas bien
configuradas en VirtualBox y que se empaquete para uso en VMWare.

Las opciones de importación/exportación se localizan en el menú Archivo de la barra de menús.

7.10.5. CONFIGURACIÓN DE UNA MÁQUINA VIRTUAL


Accedemos a la configuración de la máquina virtual para modificar aspectos relativos al hardware y software de la
misma. Podemos configurar desde el nombre de la máquina hasta las interfaces de red que tiene.
Al hacer clic sobre el botón de configuración se mostrará un cuadro de diálogo similar al de la Figura 7.12.

La opción por defecto es General, pudiendo cambiar entre Sistema, Pantalla, etc., según se observa en la lista de la
izquierda.

Desde General podemos:

• Pestaña Básico
Modificar el nombre de la máquina virtual.
Cambiar el tipo de sistema operativo que alberga.
Cambiar la versión del sistema operativo.
• Pestaña Avanzado
Especificar si se quiere el uso compartido o no del portapapeles entre la máquina anfitrión y la máquina
huésped. Es decir, se permita copiar, corta y pegar entre ambos sistemas.
Indicar la ubicación de la carpeta de instantáneas.
Establecer si se muestra la barra de herramientas de máquina virtual cuando ésta se encuentra a pantalla
completa (esta barra nos permite cargar un dispositivo en tiempo de ejecución, minimizar la máquina entre
otras cosas).
• Pestaña descripción
Establecer un comentario relacionado con la máquina virtual que pueda sernos de ayuda en el futuro y que
nos recuerde determinados aspectos de la propia máquina, proceso de instalación del sistema operativo, etc.

Desde Sistema podremos modificar características relacionadas con el hardware, como CPU, RAM, etc. Veamos qué
funcionalidad nos proporcionan las opciones de cada una de sus pestañas.

ACTIVIDAD 7.6

¿Qué es una instantánea en VirtualBox? ¿Cuál es su utilidad?

Desde Sistema podemos:

• Pestaña placa base


Modificar la memoria RAM asignada a la máquina virtual. Si la memoria indica en una primera creación de la
misma parece no ser suficiente, debemos acceder aquí modificar la cantidad siempre que nos sea posible.
Establecer el orden en el que se buscará el sistema operativo a arrancar. Además, se puede activar la opción
de instalación o búsqueda del sistema operativo en la red.
Elegir el chipset que vamos a emular.
• Pestaña Procesador
Modificar el número de procesadores que tenemos.
Establecer el límite de ejecución entre un valor del 1% al 100%. Se utilizará hasta este porcentaje de tiempo
de procesamiento en la CPU física.
• Pestaña Aceleración
Cambiar algún ajuste sobre opciones de aceleración. Más que nada dejar las opciones, e ir desactivando si no
las soportara. Suele estar habilitada la tecnología de virtualización del procesador, paginación anidada, etc.

Desde Pantalla podemos:

• Pestaña vídeo:
Establecer la cantidad de memoria de video que tendrá nuestro adaptador gráfico.
Indicar el número de monitores a usar. El máximo es 8.
Habilitar funciones extendidas tales como habilitar aceleración 3D o aceleración de video 2D.
• Pestaña pantalla remota:
Configuramos el sistema como servidor de Protocolo de Escritorio Remoto (RPD), de forma que escritorios
remotos clientes podrán acceder a la máquina y operar con ella.

En la creación de la máquina virtual creamos un disco nuevo o bien utilizamos alguno existente. Si no es el adecuado
tenemos opción a cambiar el dispositivo virtual en la zona de árbol de almacenamiento en Almacenamiento.
Encontraremos controlador SATA que hará referencia al disco duro y CD o DVD vinculado con la máquina virtual;
controlador IDE que hace referencia al CD o DVD en caso de ser IDE. Uno de estos, contiene los ficheros de instalación
del sistema operativo (normalmente en lugar de CD/DVD elegimos un fichero de imagen ya que es la opción más
cómoda).
Si en el controlador IDE del CD/DVD no se ha indicado qué imagen debe cargarse en él, podemos establecerla pulsando
sobre el icono en forma de disco de la derecha. Se mostrarán todos los medios anteriormente usados. Si queremos
escoger uno que no se encuentra en la lista, pulsaremos sobre Seleccionar un archivo de disco virtual de CD/DVD.

Desde audio, puertos serie y USB tendremos opción a modificar aspectos relacionados con estos componentes.

Desde red podemos configurar la interfaz de red del dispositivo. Podemos simular hasta cuatro interfaces de red, de
forma que suponemos cuatro tarjetas de red en el mismo PC. La configuración de cada una de ellas cambiará en
función del elemento escogido en la lista. Veremos la configuración de red en los capítulos dedicados al estudio de
sistemas operativos en red.

7.10.6. USO DE CARPETAS COMPARTIDAS


Una carpeta compartida en virtualBox va a permitir una comunicación directa entre el sistema operativo anfitrión y el
huésped. Cuando creamos la carpeta compartida esta es accesible desde el explorador de archivos del sistema
operativo como elemento de red. Para poder usar una carpeta virtual debemos instalar las Guest Additions.

CONFIGURACIÓN PREVIA

1. Compartimos una carpeta desde las opciones de configuración de virtualBox para la máquina virtual que vamos a
usar Configuración Carpetas compartidas Agregar carpeta compartida.

2. Arrancamos la máquina virtual.

3. Instalamos las Guest Additions accediendo al menú dispositivos. Al hacer clic en dispositivos Guest Additions el
sistema responde de forma similar a cuando se inserta un CD/DVD o USB en tiempo de ejecución, es decir, detecta el
nuevo medio y pregunta qué hacer con él. En esta ocasión preguntará si debe instalar el software que contiene ya que
es autoarrancable. Si nos da un error al abrir las Guest (“VERR_PDM_MEDIA_LOCKED”), se intenta solucionar de la
manera siguiente:

• Apagamos la máquina virtual


• En el menú de Máquina, click en Configuración.
• Vamos a Almacenamiento.
• En la sección Controlador IDE buscamos la conexión a "VBoxGuestAdditions.iso"
• Botón derecho en "VBoxGuestAdditions.iso" y seleccionamos Eliminar conexión y confirmamos en la
ventana de diálogo.
• Ahora, en el mismo Control IDE, localizamos el símbolo del CD con un +, le damos, y en la ventana de
diálogo elegimos Dejar vacío. Le damos a O.K. y arrancamos la máquina. Ya debería funcionar al añadir
las Guest Additións
4. Accedemos al entorno de red del sistema operativo instalado en la máquina virtual para visualizar el recurso.

ACCESO A CARPETAS COMPARTIDAS DESDE NUESTRA MÁQUINA VIRTUAL

Para poder usarlas, hay que “montarlas”.


(los colores son solamente para identificar comandos, parámetro y separadores)
En Windows usaremos:
net use X: \\vboxsvr\carpeta_compartida (Creará la unidad X: asociada a la carpeta compartida)
mientras que en Linux:
sudo mount -t vboxsf carpeta_compartida punto_de_montaje
En el ejemplo he usado:
$ sudo mount -t vboxsf carpeta_compartida_ubuntu /media/sf_Carpeta_compartida_ubuntu.

Recordemos que al crear las carpetas, hay una opción que dice “automontar”. Esto sería algo así como que esas
órdenes se ejecutaran automáticamente cuando arrancamos la máquina.

En Windows podemos acceder a la carpeta en su entorno gráfico:

1. Inicio Equipo Red.


2. Veremos el listado de equipos que están en red. Entre ellos localizamos VBOXSVR.

3. Doble clic y accedemos a la carpeta compartida con el sistema operativo anfitrión.

En Linux, una vez montada, accedemos con el uso de nautilus o cualquier visor de archivos/recursos.

Figura 7.15 Pantalla de Ubuntu mostrando la carpeta compartida.

¿PROBLEMAS CON VIRTUALBOX?

Si al crear máquinas de virtual box, no tenemos opciones de crear máquinas de 64 bits, comprobaremos en orden:

• Que nuestro procesador soporta


la tecnología para ello.
En Windows, vamos al panel de
control, sistema, y vemos los
datos del procesador. Una
búsqueda en Internet sobre él,
nos dirá si lo soporta.

Figura 7.16 Ver el procesador

• Que esté activada la virtualización por hardware. Esta opción se encuentra en la BIOS o en la UEFI. Tiene distintos
nombres y puede ir en diversas partes del menú. Para Intel, hay que buscar VT-X y para AMD AMD-v o SMV.
Puede estar en Seguridad, Procesador, CPU... Hay BIOS que no lo mostrarán incluso si el procesador lo soporta.
Son decisiones del fabricante para abaratar modelos, etc. Solo queda buscar en Internet si alguien ha modificado
tu BIOS para acceder a estas opciones ocultas. Habrá que “flashear” la BIOS, con el riesgo que conlleva.
• En sistemas más modernos, ejemplo Windows 10 u 11, si seguimos así todo sin poder crear máquinas virtuales
de 64 bits, tendremos que dar un paso más y comprobar que no tiene activada su propia opción de
virtualización (Windows 10 y 11, ya vienen con soporte por software para virtualizar). Se llama Hyper-V, y si está
activado, solo se permite un soporte de virtualización simultaneo. La solución, evidentemente, pasa por
inhabilitarlo:

Desde búsqueda, por ejemplo, llegamos hasta Activar o desactivar las características de Windows.
Figura 7.17 Desactivado de la opción Hyper-v

En el árbol localizamos Hyper-V, y desactivamos todas las opciones de esa rama. Aceptamos.
Windows buscará y reemplazará los archivos necesarios, y luego reiniciará como si hubiera una actualización.
En unos segundos arrancará con la opción desactivada, y podremos crear máquinas de 64 bits.

COMPRUEBA TU APRENDIZAJE
1. ¿Qué entiendes por sistema operativo?

2. ¿Qué partes forman un sistema operativo?

3. ¿Qué es un sistema operativo monolítico? ¿Y un sistema operativo cliente-servidor?

4. ¿Cuáles son las funciones principales de un sistema operativo?

5. ¿Qué tipos de sistemas operativos caracterizan la cuarta etapa de los sistemas operativos?

6. Define sistema operativo multiusuario. ¿Qué es un sistema operativo multitarea?

7. ¿Qué características debe cumplir un software para decir que es libre?

8. ¿Qué es una máquina virtual? ¿Qué tipos de virtualización existen?

9. ¿Qué es un medio virtual en Oracle VM VirtualBox?

10. ¿Qué proceso debo seguir para modificar la memoria RAM asignada a mi máquina virtual Ubuntu? ¿Y para
compartir una carpeta desde el equipo anfitrión al equipo huésped?

ACTIVIDADES DE AMPLIACIÓN

1. Realiza un esquema del capítulo (incluye los aparatados dedicados al estudio del sistema operativo).

2. ¿De qué tipo es el sistema operativo instalado en tu PC? Justifica tu respuesta.

3. Aunque MS-DOS es un sistema operativo en desuso es interesante el estudio sobre su gestión de memoria. Busca
información en la web o en bibliografía aportada por el profesor donde puedas observar la forma en la que este
sistema operativo gestionaba su memoria. Crea un documento breve donde lo expliques y agrega algún diagrama
representativo.

4. ¿Qué se entiende por paginación de memoria? Desarrolla un documento donde expliques con tus palabras este
procedimiento que usa el sistema operativo.

5. Cuando se programa un sistema operativo o la forma en que se gestionan sus procesos se habla de señales o
tuberías. ¿Qué es una señal? ¿y una tubería? Sería interesante que investigaras la programación de procesos y
realizaran algún programa pequeño para ser ejecutado en alguna máquina virtual Linux.

6. Investiga sobre el concepto de concurrencia o paralelismo. ¿Qué aspectos se tienen en cuenta cuando hablamos
de concurrencia? ¿Qué es una sección crítica? ¿Qué tipos de bloqueos se pueden dar?
7. Windows XP es un sistema operativo multitarea, pero ¿es monousuario o multiusuario? Piensa un poco la
respuesta y justifícala.

8. ¿Qué tipo de sistema operativo es Windows 7?

9. Instala VirtualBox en tu PC. Aunque aún no vayamos a realizar la instalación de ningún sistema operativo, crea una
máquina virtual Windows para albergar Windows 7, de la mitad de capacidad de la RAM real que tengas y unos 10
GB de disco duro.

Prepárala para cuando se arranque se inicie desde la unidad de CD/DVD y ubica en esta la imagen ISO de Windows 7.

10. Haz una operación similar al ejercicio 9 pero para Ubuntu. Con una RAM de 512 MB y 8GB de espacio en disco.

11. ¿Qué es una licencia OEM? ¿Qué sistema operativo usas? ¿Y qué licencia?

12. Realiza una exportación de las máquinas creada. Investiga algo más sobre esta opción del menú archivo, redacta
un documento donde expliques claramente su utilidad, además, indica pasos a seguir en el proceso y peculiaridades
de cada paso.

13. Configura la máquina Windows para que soporte dos interfaces de red.

14. Crea una carpeta en el escritorio de tu PC. Accede a las máquinas creadas en los ejercicios 9 y 10 y compártelas
con ellas.

15. VMWare es otro software de virtualización bastante conocido. Realiza un documento donde comentes sus
principales características, el proceso de instalación y cuál es el proceso de creación de una máquina virtual.

16. GIMP, el editor gráfico de Linux, ¿es software libre? Justifica tu respuesta.

17. Microsoft Word 2010, ¿es software libre? Justifica tu respuesta.

También podría gustarte