Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EN LINEA
Docente Autor:
Titulaciones Semestre
1
Índice
Contenido
2
Introducción a la Unidad II
El término software nació en 1953, fue popularizado por Paul Niguette quien es
considerado el creador del término, se puede leer “Cuando dije por primera vez
software en voz alta, la gente de mí alrededor dijo, '¿Eh?'. Desde el principio me
pareció la palabra demasiado informal para escribirla y demasiado embarazosa para
decirla. Sin embargo, de vez en cuando iba soltando la palabra ‘software’ en
discursos, conferencias y entrevistas con los medios a lo largo de los años cincuenta”,
siendo así como esta palabra sería aceptada en la industria de todo el mundo.
El sistema operativo deberá proveer de un ambiente para ejecutar los programas del
usuario, siendo este el único con privilegios de acceso directo al hardware y los
procesos deberán mediante el sistema operativo acceder a los recursos disponibles.
El saber conocer y realizar todos estos procesos contribuirá a construir los pilares
fundamentales para la formación del estudiante en toda su carrera.
3
Resultado de Aprendizaje
Ilustraciones graficas
4
2.1.1 Definiciones básicas del software
El software posibilita que las personas puedan interaccionar con los ordenadores,
como se explica en otro capítulo de esta documentación, el hardware de un ordenador
electrónico trabaja con la electrónica binaria, es decir con tan sólo ceros y unos,
mientras que los humanos gozamos de un lenguaje mucho más complejo.
Lo que conocemos como software no surgió con el primer ordenador electrónico, sino
que ha evolucionado paulatinamente a lo largo del desarrollo de la electrónica, los
ordenadores primitivos se programaban modificando el cableado de los circuitos
electrónicos. En 1945, el matemático John Von Neumann (1903-1957), que trabajó
con los creadores del ordenador ENIAC, J. Presper Eckert (1919-1995) y John
Mauchly (1907-1980), escribió un informe en el que sugería que las instrucciones de
un programa podrían almacenarse en la memoria junto con los datos. A partir de
entonces los ordenadores se diseñaron con el concepto de programa almacenado,
que dio lugar a la industria del software. Hasta el momento se han definido unos 2500
lenguajes de programación, siendo muy pocos los que han logrado una amplia
difusión. El más reciente es Go, diseñado por la famosa empresa del buscador
Google.
5
(por ejemplo, Linux) se carga en la memoria RAM desde el disco duro, seguidamente
se carga en memoria el programa editor de textos (por ejemplo, Writer) para a
continuación escribir el texto que deseemos o recuperarlo también de un soporte de
almacenamiento si lo habíamos escrito previamente. Por último el documento se
envía a la impresora (Barzanallana, s.f.).
Recuerde que. – “Cada vez que usted usa una computadora, un teléfono inteligente, una
consola de videojuegos o muchos otros dispositivos electrónicos, usted está usando algo que se
ejecuta con un software”
El software es la parte inmaterial del ordenador que permite que los diferentes
componentes de hardware funcionen. Se trata de un conjunto de instrucciones, datos
o `programas que ejecutan tareas concretas dentro del sistema informático (Lázaro,
2019).
• Software de sistema,
• Software de aplicación, y;
• Software de programación.
6
Figura 1. Software de Sistemas. (Barzanallana R. , 2017)
- Antivirus
- Utilidades de control de disco duro (herramientas de formateo y similares)
- Controladores de hardware o drivers
- Traductores de lenguajes informáticos
- Cargadores de programas
- Algunos BIOS y UEFI
- Gestores de arranque o bootloaders
- Hipervisores
7
- Aplicaciones de ofimática: son todas aquellas utilidades informáticas que
están diseñadas para tareas de oficina con el objetivo de optimizar,
automatizar y mejorar las tareas en esta actividad;
- Bases de datos: colección de información digital de manera organizada
para que un especialista pueda acceder a fragmentos en cualquier
momento.
- videojuegos: juegos electrónicos donde una o más personas interactúan
con imágenes de video a través de controles físicos o movimientos
corporales.
- Software empresarial: puede decirse que es toda aquella aplicación que
está creada para optimizar, automatizar o medir la productividad de alguna
industria o empresa.
- Software educativo: todos aquellos productos digitales que tienen como
objetivo enseñar algún tema en específico al usuario de cualquier nivel y
facilitar el proceso de aprendizaje.
- Software de gestión: sistema integrado por varias herramientas para ser
utilizado en tareas relacionadas con la administración o el cálculo numérico.
Aplicaciones de mercado
- Aplicaciones colaborativas
- Aplicaciones de planificación y gestión de trabajos
- Aplicaciones de gestión de recursos empresariales
8
- Aplicaciones de gestión de la cadena de aprovisionamiento
- Aplicaciones de producción y operaciones
- Aplicaciones de ingeniería
- Aplicaciones de gestión de relaciones clientelares
Cada nueva idea de un programa debe pasar por una serie de etapas de desarrollo.
A nivel general y para el estudio de esta asignatura se consideran seis (6):
• Análisis de Requisitos
• Diseño y Arquitectura
• Desarrollo o Programación
• Pruebas
• Producción
• Mantenimiento
Cada empresa o incluso cada desarrollador pueden tener una serie de sub-etapas y
así mismo modificar las etapas generales para acomodarse a su estilo. Algunos
desarrollos son denominados así porque necesita de algunos objetos nuevos, pero
pueden ser mejoras o correcciones sobre otros proyectos.
9
Figura 3. Fases del proceso de desarrollo de software. (Puebla, 2008)
Sabías que “El ciclo de vida de un programa o software no es más que el modelo pragmático
que un equipo de desarrolladores sigue para crear un producto digital. Este modelo no es único, y se
utiliza el término de una manera más que todo general, ya que cada equipo puede seguir su propio
camino para desarrollar un software”.
1. Análisis de requisitos
2. Diseño y arquitectura
3. Programación
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de
software, pero no es necesariamente la porción más larga. La complejidad y la
10
duración de esta etapa está íntimamente ligada al o a los lenguajes de programación
utilizados (Puebla, 2008).
4. Pruebas
5. Documentación
6. Mantenimiento
Consiste en corregir problemas del producto y re-liberar el producto como una nueva
versión o revisión (producto mejorado) (Anónimo, s.f.).
Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor
de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una
pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte
11
consiste en extender el sistema para hacer nuevas cosas. De manera similar,
alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es
dar mantenimiento (Puebla, 2008).
12
- El proceso: El uso de las herramientas de las áreas contempladas para
relacionar, resumir o concluir.
- La salida: Refleja la producción de la información, y
- La retroalimentación: Los resultados obtenidos son ingresados y procesados
nuevamente.
13
Para ejecutivos: (EIS: Executive information systems): nivel estratégico, sistema
personalizado para cada ejecutivo para que pueda ver y analizar datos críticos.
14
Para definir un lenguaje de programación es necesario especificar:
Paradigma de la Programación
Un paradigma de programación es una colección de patrones conceptuales que
moldean la forma de razonar sobre problemas, de formular soluciones y de estructurar
programas. Los paradigmas de programación son:
- Programación imperativa
- Programación funcional
- Programación lógica
- Programación orientada a objetos
Programación imperativa:
En este paradigma, un programa es una secuencia finita de instrucciones, que se
ejecutan una tras otra. Los datos utilizados se almacenan en memoria principal y se
referencia utilizando variables (Rodríguez, 2003).
Ejemplos de lenguajes que utilizan este paradigma: Pascal, Ada, Cobol, C, Modula-
2 y Fortran.
Programación Funcional:
15
La misión del ordenador será evaluar funciones.
Programación Lógica
Programación Funcional
16
• Clase: Tipo de dato con unas determinadas propiedades y una determinada
funcionalidad (ejemplo: clase “persona”).
• Objeto: Entidad de una determinada clase con un determinado estado (valores
del conjunto de sus propiedades) capaz de interactuar con otros objetos
(ejemplos: “Pedro”, “Sonia”, …).
• Herencia: Propiedad por la que es posible construir nuevas clases a partir de
clases ya existentes (ejemplo: la clase “persona” podría construirse a partir de
la clase “ser vivo”).
Python
Al hacer uso de una sintaxis legible, la curva de aprendizaje es muy rápida, siendo de
este modo, uno de los mejores lenguajes para iniciarse en la programación en modo
texto. Por ejemplo, si comparamos un código escrito en lenguaje de programación por
bloques como Blockly y el mismo código lo escribimos utilizando Python, vemos las
similitudes en las instrucciones.
17
Sabías que “Grandes empresas como Google, Facebook, Instagram y Spotify utilizan #Python”.
Java
18
Características.
- Simple
- Orientado a Objetos
- Tipado estáticamente
- Distribuido
- Interpretado
- Robusto
- Seguro
- de Arquitectura Neutral
- Multihilo
- con Recolector de basura (Garbage Collector)
- Portable
- de Alto Rendimiento: sobre todo con la aparición de hardware especializado y
mejor software
- Dinámico
Java elimina muchas de las características de otros lenguajes como C++, para
mantener reducidas especificaciones del lenguaje y añadir características muy útiles
como el recolector de basura. No es necesario preocuparse de liberar memoria, el
recolector se encarga de eliminar la memoria asignada. Gracias al recolector, sólo te
tienes que preocupar de crear los objetos relevantes de tu sistema ya que él se
encarga de destruirlos en caso de no ser reutilizados.
Java reduce en un 50% los errores más comunes de programación con lenguajes
como C y C++. Entre las características más "indeseables" de C++ que se han evitado
en el diseño de Java destacan: ficheros de cabecera, aritmética de punteros,
19
sobrecarga de operadores, estructuras, uniones, conversión implícita de tipos, clases
base virtuales, pre-procesador, etc.
• Java es interpretado.
Existen ciertos entornos que para mejorar el rendimiento usan un pequeño compilador
para la última fase de compilación, de forma que una vez que se tenga el bytecode,
en vez de interpretarlo se compila generando código nativo para esa plataforma y se
ejecuta, pero esta compilación se realiza cada vez que se quiera ejecutar el programa.
El único código realmente independiente es el bytecode. Este tipo de compiladores
se conocen como 'Just In Time' o JIT. Sin embargo, el bytecode no se completa hasta
que se junta con un entorno de ejecución, que en este caso será la máquina virtual
Java de la plataforma en la que estemos. Un browser puede proveer dicha plataforma
desde el punto de vista del sistema operativo.
Inconvenientes.
El browser tiene que interpretar los ficheros de clases antes de que se ejecuten.
Utilizando un lenguaje de programación tradicional como puede ser el C++, el
ordenador puede ejecutar directamente el código generado. Sin embargo, debido a la
interpretación que el browser tiene que hacer de los ficheros, los programas escritos
en Java tienden a ejecutarse bastante más lentos que con otros lenguajes de
programación (p.e. C++).
20
• Reduce los problemas de versiones.
Para establecer Java como parte integral de la red, el compilador Java compila su
código a un fichero objeto de formato independiente de la arquitectura de la máquina
en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (runtime)
puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha
sido generado.
Orientación a objetos.
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas
cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus
datos como objetos y con interfaces a esos objetos. Soporta las tres características
propias del paradigma de la orientación a objetos: encapsulación, enlace dinámico y
polimorfismo. Los modelos de objetos son llamados, como en C++, clases y sus
copias, instancias. Estas instancias, como en C++, necesitan ser construidas y
destruidas en espacios de memoria.
21
suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la aplicación
cuando se retocan las funciones que se encuentran en su interior. Java resuelve este
inconveniente mediante una interfaz específica llamada RTTI (Run Time Type
Identification) que define la interacción entre objetos excluyendo variables de
instancias o implementación de métodos. Las clases en Java tienen una
representación en el runtime que permite a los programadores interrogar por el tipo
de clase y enlazar dinámicamente la clase con el resultado de la búsqueda.
En Java casi todo son objetos. La mayoría de los lenguajes orientados a objetos
permiten la herencia múltiple, lo que puede llevar a confusiones y/o complicaciones
innecesarias. Java no permite herencia múltiple, sólo soporta "Herencia simple" en
una estructura cósmica (todas las clases Java derivan jerárquicamente de la clase
"Object"). La herencia simple significa que en cada momento cada clase sólo hereda
de otra clase. Este tipo de herencia evita problemas del tipo de herencias múltiples
contradictorias o exclusivas entre sí.
Java también permite la creación de clases totalmente abstractas, a las que llama
interfaces con características similares a los interfaces IDL de CORBA. Las interfaces
permiten definir métodos que pueden compartir con varias clases, sin tener en cuenta
cómo las otras manejan los métodos.
Seguridad en JAVA.
El código Java pasa muchos tests antes de ejecutarse en una máquina. El código se
pasa a través de un verificador de bytecodes que comprueba el formato de los
fragmentos de código y aplica un probador de teoremas para detectar fragmentos de
código ilegal -código que falsea punteros, violas derechos de acceso sobre objetos o
intenta cambiar el tipo o clase de un objeto.
Si los bytecode pasan la verificación sin generar ningún mensaje de error, entonces
sabemos que:
22
- No ha ocurrido ninguna conversión ilegal de datos, tal como convertir enteros
en puntero
- El acceso a los campos de un objeto se sabe que es legal: public, private,
protected
- No hay ningún intento de violar las reglas de acceso y seguridad establecidas
- Evitamos saltos a mitad de una instrucción, o direccionamientos de memoria
de un objeto fuera de los límites del mismo.
Java Script
Las páginas web no son el único lugar donde se usa JavaScript. Muchos programas
de escritorio y servidor usan JavaScript. Node.js es el más conocido. Algunas bases
de datos, como MongoDB y CouchDB, también usan JavaScript como lenguaje de
programación.
23
¿Por qué necesitamos JavaScript?
JavaScript Frameworks
24
que proporciona a los programadores un código preescrito y, por lo tanto, permite
incluso a aquellos que no tienen muchos conocimientos de programación.
Al igual que las bibliotecas, estos marcos también tienen documentación disponible
en sus sitios oficiales.
Ahora veamos los marcos de JavaScript más importantes disponibles que se analizan
a continuación:
Angular
25
Angular separa completamente el frontend y el backend en la aplicación, evita
escribir código repetitivo y mantiene todo más ordenado gracias a su patrón
MVC (Modelo-Vista-Controlador) asegurando los desarrollos con rapidez, a la
vez que posibilita modificaciones y actualizaciones.
En una web SPA aunque la velocidad de carga puede resultar un poco lenta la
primera vez que se abre, navegar después es totalmente instantáneo, ya que
se ha cargado toda la página de golpe (Quality-Dev., 2019)
Solamente es una ruta la que se tiene que enviar el servidor, y Angular lo que
hace ‘por debajo’ es cambiar la vista al navegar para que dé la apariencia de
una web normal, pero de forma más dinámica.
26
React Native
Tips de cuestionario “Una vez terminado el tema de Fundamentos del Software de la unidad
dos, comprueba tu aprendizaje, al final del documento se encuentran varias preguntas que debes
resolver”
27
de la solución tecnológica, dándole utilidades tan variopintas como la de controlar
máquinas expendedoras u otorgar conexión a Internet.
Es por ello que hacia el año 2004 Microchip ofreció una de las soluciones que permite
conectar sistemas embebidos a la red y cuya característica fundamental es el dejar
innovar de múltiples maneras al diseñador del sistema para que coloque múltiples
periféricos a su diseño. Se trata de un chip conocido como EN-C28j60 y cuyo
propósito es el de dar una interfaz con la red conocida como (PHY) o Physical
Layer. Sin embargo, esta solución requería que el diseñador agregara componentes
discretos ya que el costo del dispositivo podía verse afectado por este factor. Tal
vez este fue uno de los motores que impulsó el desarrollo del IC 18j97j60 que
integra en una única pastilla un módulo de comunicaciones ethernet y múltiples
periféricos tales como módulo ADC de 10 bits, SPI, USART entre otros y cuyo costo
puede oscilar entre los U$5 y U$8 dependiendo del total de me-moria flash o de
programa del dispositivo. Gracias a este dispositivo resulta fácil comunicarse con la
red, y el diseño del proyecto queda reducido entonces, a la creatividad que el
diseñador coloque en éste. En general los dispositivos de voz IP utilizan esta interfaz
para “empaquetar” frames que van hacia la red de modo que estos ya vengan listos
de algún sistema para ser transmitidos.
28
Pretendiendo que un sistema que sea robusto, pero a la vez sencillo, Microchip ofrece
un stack optimizado en C, cuyo propósito es brindar soporte para los módulos TCP/IP
como los que se muestran en la figura
Sin lugar a duda se trata de un apilado TCP/IP muy completo y fácil de utilizar.
Simplemente se necesita disponer del software MPLAB v8.0 o mayor y el compilador
C18 ofrecidos de manera gratuita en la página de Microchip URL
(www.microchip.com) y basta sola-mente con compilar el programa desarrollado para
tener múltiples aplicaciones de interconectividad a la red. Gracias a este software el
encapsulado de paquetes se hace realmente sencillo dando al diseñador gran
confiabilidad de configurar un dispositivo económico y robusto para aplicaciones que
no sobrepasen los 10Mbits/s con un máximo de 256 “sockets” interconectados.
29
una interfaz para el usuario, de tal forma que este pueda interactuar con la máquina.
(De La Fuente Rubio, 2015)
El sistema operativo deberá proveer de un ambiente para ejecutar los programas del
usuario, siendo este el único con privilegios de acceso directo al hardware y los
procesos deberán mediante el sistema operativo acceder a los recursos disponibles.
(De La Fuente Rubio, 2015)
Cuando el sistema operativo comienza a funcionar, inicia los procesos que luego
va a necesitar para funcionar correctamente. Esos procesos pueden ser archivos
que necesitan ser frecuentemente actualizados, o archivos que procesan datos útiles
para el sistema. Es posible tener acceso a distintos procesos del sistema operativo,
a través del administrador de tareas, donde se encuentran todos los procesos que
están en funcionamiento desde la inicialización del sistema operativo hasta su uso
actual. (Venturini, 2018)
30
correspondiente al uso de módulos donde el núcleo los levanta a medida que los
requiere. (De La Fuente Rubio, 2015)
31
El sistema operativo provee utilidades para:
Gestión de procesos
32
Todo proceso requerirá hacer uso de, al menos, memoria principal y CPU para su
ejecución, por lo cual el sistema operativo deberá ser capaz de asignar estos recursos
de una forma eficiente y justa, de tal forma que todos los procesos sean servidos
según los vaya requiriendo. (De La Fuente Rubio, 2015)
Todo proceso requerirá del uso de memoria principal para su ejecución, en este
espacio de memoria se encontrará no solo el código del programa, sino también sus
datos y su contexto. El sistema operativo deberá asignar, de algún modo, espacios
de memoria para que el proceso los utilice, y si eventualmente el proceso requiere
más espacio poder cumplir con su requerimiento. ¿Qué sucede si no disponemos de
más memoria principal? La primera idea, será decir que no podemos iniciar más
procesos, lo cual será cierto, sin embargo, se tiene el método de memoria virtual el
cual permite utilizar un dispositivo de memoria secundaria para obtener memoria"
para los procesos. (De La Fuente Rubio, 2015).
Un sistema operativo (SO) tiene que lograr que el equipo (y los periféricos) puedan
ser utilizados sin problemas por alguien que no conozca los detalles del hardware.
Tiene que posibilitar que el usuario cree y acceda a los archivos, use los programas,
ingrese a internet, juegue y todas las cosas que pueden ser hechas con las
computadoras y/o dispositivos móviles. Además de eso, el sistema operativo tiene
que ejecutar los programas y ayudarlos a acceder a los recursos del sistema de una
forma simple y organizada.
33
Creando unidad de arranque
Esta parte es sumamente importante y puede que en esta etapa se lleven a cabo los
errores más recurrentes a la hora de instalar sistemas operativos. Cuando creemos
la unidad o medio de arranque debemos de tener en cuenta dos cosas: El tipo de
firmware que tenemos (BIOS o UEFI) y la tabla de particiones ya creada o por ser
creada en nuestra unidad de almacenamiento (GPT o MBR). (RioHam, 2018)
Tipos de firmware
BIOS
El BIOS, creado en 1975, y sus siglas significan Basic Input Output System o sistema
básico de entrada y salida. Su función principal es la de iniciar los componentes de
hardware y lanzar el sistema operativo de un ordenador cuando este es encendido.
También carga las funciones de gestión de energía y temperatura del ordenador.
34
UEFI
En esencia, todo lo que hemos dicho antes que hace el BIOS lo hace también la UEFI.
Pero también tiene otras funciones adicionales y mejoras sustanciales, como una
interfaz gráfica mucho más moderna, un sistema de inicio seguro, una mayor
velocidad de arranque o el soporte para discos duros de más de 2 TB.
Los sistemas con BIOS utilizan el esquema de particiones MBR, estos sólo soportan
hasta cuatro particiones primarias y unidades de almacenamiento de una capacidad
máxima de 2,2 TB.
Los firmwares UEFI, por su parte, utiliza el esquema de particiones MBR y GPT. Este
último es más moderno poniendo el límite teórico de capacidades de discos duros
soportadas en 9,4 zettabytes, aunque de momento no se fabrica ninguno tan grande.
Pero la característica que si podría interesarnos es la de soportar hasta 128
particiones primarias. (RioHam, 2018)
35
Tablas de particiones
Es importante entender que podemos disponer de dos tablas de particiones, una MBR
(Master Boot Record) y la otra GPT (GUID Partition Table). Mientras que el MBR
comienza con el código de arranque maestro, que contienen un binario ejecutable
que identifica la partición activa e inicia el proceso de arranque, la GPT se basa en
las capacidades extendidas del EFI para estos procesos.
Tabla MBR
Tabla GPT
Acrónimo de GUID Partition Table, es el nuevo estándar que está sustituyendo a MBR
y que está asociado con los nuevos sistemas UEFI. Su nombre viene de que a cada
partición se le asocia un único identificador global (GUID), un identificador aleatorio
tan largo que cada partición en el mundo podría tener su ID único. A día de hoy, GPT
no tiene ningún límite más allá que los que establezcan los propios sistemas
operativos, tanto en tamaño como en número de particiones. (RioHam, 2018)
Administración de tareas:
36
Administración de usuarios
- Monolítico
- Jerárquico
- Cliente-servidor
• DOS: Familia de sistemas operativos para PC. Sus siglas significan Disk
Operating System. Fue creado para ordenadores IBM y fue muy popular.
Carece de interfaz gráfica y no es multiusuario ni multitarea. Con la aparición
del sistema operativo Windows fue rápidamente sustituido.
• WINDOWS: Familia de sistemas operativos no libres desarrollados por la
empresa Microsoft Corporation, que se basan en una interfaz gráfica que se
caracteriza por la utilización de ventanas. La última versión es Windows XP en
la que convergen las dos líneas de desarrollo que hasta entonces se
mantenían de forma separada en otras versiones: versiones basadas en MS-
DOS y versiones basadas en NT (Network Technology) (Pinto, 2019)
- Windows 98
- Windows ME
- Windows XP
- Windows Vista
- Windows 7
37
- Windows 8
- Windows 10
• UNÍX: Familia de sistemas operativos que comparten unos criterios de diseño
e interoperabilidad en común, que descienden de una primera implementación
original de AT&T. Se trata de un sistema operativo portable, multitarea y
multiusuario.
• GNU/LINUX: GNU es un sistema operativo compatible con Unix y desarrollado
por Richard Stallman con la idea de crear un sistema de software libre y Linux
es el núcleo o Kernel desarrollado por Linus Torvalds, ambos forman el
Sistema operativo GNU/Linux. Un sistema operativo libre quiere decir que los
códigos completos del sistema estarán disponibles para todo el mundo, sin
tener que pagar por un programa. Como resultado, un usuario que necesita
cambios en el sistema será siempre libre para hacerlos por sí mismo, o de
contratar a cualquier programador o empresa disponible para hacerlos por él.
Los usuarios no estarán ya a merced de un programador o una empresa que
sea dueña de los códigos fuente y sea la única en posición de hacer cambios.
38
- Mac OS 9
- Mac OS X
Al igual que ocurre con los ordenadores, el mercado de los teléfonos móviles, también
cuenta con sistemas operativos, los cuales, podrás ver a continuación.
Android
Es un sistema operativo basado en Linux creado por Android Inc., que posteriormente
fue comprada por Google. Está diseñado para smartphones, pero también podemos
encontrarlo en otros dispositivos como tabletas, televisores y relojes inteligentes.
Ventajas:
- Permite una gran personalización, es algo menos sencillo que iOS pero por el
contrario tenemos muchas más opciones en este ámbito.
- Es un sistema muy abierto, permitiendo que haya más aplicaciones
desarrolladas para esta plataforma y podamos instalarlas desde fuera de la
tienda de aplicaciones.
- Su IDE oficial lo encontramos para cualquier plataforma de escritorio.
- Podemos encontrar muchas más opciones a la hora de elegir un dispositivo,
pues al ser código abierto, un sinfín de fabricantes pueden incorporarlo a sus
dispositivos. Podemos encontrar dispositivos Android desde menos de cien
euros, hasta más de mil.
Desventajas:
39
- Al existir tantos fabricantes distintos, con un hardware muy heterogéneo, no
hay tanta integración software-hardware como en los dispositivos de Apple.
- Google desarrolla el sistema operativo, pero depende de cada uno de los
fabricantes el hacer llegar las últimas actualizaciones hasta los usuarios,
cosaque no siempre se cumple y, cuando lo hace, con algo de retraso.
- Al ser la plataforma más utilizada en el mundo encontramos mayor cantidad de
malware, tanto fuera de la tienda de aplicaciones como en la propia tienda, a
causa de unas políticas por parte de Google demasiado permisivas a la hora
de filtrar el software que se sube a la tienda.
IOS
Ventajas:
Desventajas:
40
- Su interfaz es sencilla y fácil de utilizar, pero por el contra no permite mucha
personalización.
- El IDE oficial para el desarrollo de aplicaciones iOS sólo está disponible para
Mac.
- Apple sólo diseña dispositivos de gama alta, en consecuencia, hay menos
usuarios que puedan permitírselos.
Windows Phone
Fue presentado en 2010 y, actualmente, va por la versión 10. Este sistema operativo
es el que menos cuota de mercado tiene de los tres. (Cabeza Díaz, 2017)
Ventajas:
Desventajas:
41
2.2.4 Sistemas operativos propietarios y libres
Figura 12: Arquitectura del procesador GNU/Linux Consultado de. (RioHam, 2018)
1. Abrir la consola (Entrar al menú de Ejecutar, escribir “cmd” sin las comillas y
darle enter)
2. Escribir “echo %PROCESSOR_ARCHITECTURE%” (o copiarlo sin las
comillas) y darle enter
3. La consola te indicará el tipo de arquitectura de tu PC
42
Figura 13: Arquitectura del procesador Windows Consultado de. (RioHam, 2018)
Recuerda que “Richard Stallman es el padre de la filosofía libre y creador de la licencia GPL”
'Software libre’ No significa 'no comercial'. Un programa libre debe estar disponible
para uso comercial, desarrollo comercial y distribución comercial. El desarrollo
comercial del software libre ha dejado de ser inusual; el software comercial libre es
muy importante.
Los aportes al sistema operativo comenzaron a ser cada día más numerosos, un
programador desarrollaba una aplicación basada en GNU/Linux y, entonces, lo
enviaba a los servidores de la fundación software libre para que otros usuarios
43
pudieran tener libre acceso a él. Así las aplicaciones se empezaron a contar por
decenas y centenas. (Benchimol, 2012)
Recuerda que “Linux Torvalds es la persona detrás del núcleo Linux que permite la creación de
las distribuciones de el”
- Existen aplicaciones para todas las plataformas (Linux, Windows, Mac Os)
- El precio de las aplicaciones es mucho menor, la mayoría de las veces son
gratuitas.
- Libertad de copia.
- Libertad de modificación y mejora.
- Libertad de uso con cualquier fin.
- Libertad de redistribución.
- Facilidad a la hora de traducir una aplicación en varios idiomas.
- Mayor seguridad y fiabilidad.
- El usuario no depende del autor del software
A mediados de los noventa las distribuciones de Linux se podían contar con los dedos
de la mano. Se cree que las primeras distribuciones de Linux fueron SUSE y
44
Slackware, Hoy las distribuciones de Linux son miles y hay para todos los gustos,
distribuciones para servidores, para estaciones de trabajo, para el hogar, la oficina,
para aplicaciones multimedia etc. (Benchimol, 2012)
Ubuntu Linux
Es una distribución que durante los últimos años gano popularidad y prestigio. Gracias
a una campaña de distribución gratuita de CDs en todo el mundo. (Benchimol, 2012)
Cualquiera que quería tener esta distribución solo tiene que acceder al sitio oficial del
proyecto https://ubuntu.com/ y descargar la versión de Ubuntu que desee escritorio,
servidor, nube sin ningún costo. Ubuntu se caracteriza por ser una distribución simple
en todo sentido fácil instalación, descargar las aplicaciones que deseas.
Otras de las características de Ubuntu es que está basada en una distribución llamada
Debian, que es la distribución oficial de la Fundación Software Libre. Debian es
popular porque goza del mejor sistema de administración de paquetes del mundo de
Linux, por lo cual Ubuntu también se beneficia con él (Benchimol, 2012).
Sabías que “En 1998 nació un movimiento llamado Open Source (código abierto) con algunos
miembros originales de la fundación software libre que no compartían algunas ideas de Richard
Stallman”. Su sitio web es https://opensource.com/
Linux Mint
Linux Mint es un sistema operativo de computadora diseñado para trabajar en la
mayoría de los sistemas modernos, incluyendo PC x86 y x64 típicas.
Se puede decir que Linux Mint cumple el mismo papel que los sistemas operativos
Microsoft Windows, Apple Mac OS y el gratuito BSD OS. Linux Mint también está
diseñado para trabajar en conjunto con otros sistemas operativos (incluyendo
aquellos enlistados arriba), y puede configurar automáticamente un ambiente de
arranque dual o de arrangue múltiple (en el que se le pide al usuario que elija qué
45
sistema operativo iniciar en cada arranque) durante su instalación. Linux Mint es un
gran sistema operativo para individuos y compañías. (Linux, 2016)
Historia
Linux Mint es un sistema operativo muy moderno; su desarrollo inició en 2006. Sin
embargo, está basado en capas de software muy maduras y aprobadas, incluyendo
el kernel (núcleo) Linux, las herramientas GNU y el escritorio Cinnamon. También
depende de los proyectos Ubuntu y Debian y usa sus sistemas como base.
El proyecto de Linux Mint se enfoca en hacer el escritorio más usable y más eficiente
para las tareas diarias realizadas por usuarios regulares. Debajo del escritorio el
sistema operativo también provee una enorme colección de software disponible y un
conjunto bien integrado de servicios. Linux Mint vio un rápido aumento de popularidad
y cada vez más personas lo usan todos los días. (Linux, 2016)
El escritorio Cinnamon
El “escritorio” es el componente del sistema operativo responsable de los elementos
que aparecen en elescritorio: el panel, el fondo de escritorio, el centro de control, los
menús... etc. La Edición Cinnamon de Linux Mint usa el escritorio “Cinnamon”, el cual
es intuitivo y poderoso. (Linux, 2016)
46
hace algún tiempo y hay modos estandarizados y venerables de hacer esto. (Linux,
2016).
Memoria RAM: Sin duda, uno de los primeros requisitos en los cuales debemos poner
nuestra atención es la memoria RAM. Disfrutar de una experiencia básica con Linux
Mint es de 2GB.
Procesador: El procesador que necesitatrmos para Linux Mint debe poseer una
velocidad de 1 GHZ para 32 bits y 2 GHZ para 64 bits.
Disco Duro: Los requisitos de espacio en disco duro deben ser de 20 GB para las dos
versiones tanto de 32 bits como de 64 bits.
Manjaro Linux
Es una distribución Linux creada por Philip Müller, basada en la robusta base de Arch
Linux, con XFCE como escritorio principal por defecto. Posee un instalador gráfico
diseñado por los ingenieros de Manjaro, llamado Calamares. Como gestor de
paquetes gráficos usa pamac en XFCE y octopi en KDE y un detector de hardware
propio llamado MHWD. (Royano Gómez, 2016)
Principalmente tiene dos escritorios soportados oficialmente; XFCE y KDE. Pero cabe
destacar que la comunidad realiza un estupendo trabajo portando otros escritorios
como GNOME, LXDE, LXQT, CINNAMON, MATE…y muchos otros más. (Royano
Gómez, 2016)
Manjaro propone un sistema orientado incluso a los recién llegados al mundo de
Linux. Desarrollado en Austria, Francia y Alemania, y aprovechando todo el poder que
ofrece Arch Linux como ingrediente base, esta distro ofrece bastantes cosas buenas.
Dentro de lo que es el mercado de los sistemas operativos, Manjaro ocupa un
importante puesto, ya que ha logrado en poco tiempo ser un SO popular y muy
descargado y conocido por todos los entendidos del mundo Linux, los cuales sentían
que necesitaban algo como Manjaro. La razón por la cual se creó el sistema operativo
Manjaro fue debido a que Arch Linux era demasiado complicado para los usuarios
estándar, ya que, pese a que es uno de los más adaptables, requiere tener un gran
conocimiento en todo lo que concierne a entornos Linux. Entonces se vio la necesidad
de crear un sistema operativo con todas las bondades de Arch Linux, pero mucho
más sencillo que el mismo. (ReDIGIT, 2018)
47
Figura 14: Sistema Operativo Manjaro Consultado de. (Royano Gómez, 2016)
Lo bueno es que Linux Manjaro, al igual que su "padre" Arch Linux, es totalmente
personalizable, es decir, que vamos a poder cambiar el escritorio por el que
queramos, el cual se va a adaptar muy bien a nuestro Manjaro. Para hacerlo, lo vamos
a hacer con la famosa consola de comandos, escribiendo sudo pacman -S y luego el
nombre del escritorio que vamos a usar. Por ejemplo, si ejecutamos sudo pacman –
S Gnome, vamos a instalar el escritorio Gnome. Una vez que hayamos instalado el
escritorio, vamos a poder escoger la opción que queramos en el gestor de arranque
GRUB, el cual desglosará Manjaro en todas las versiones de escritorio en el cual lo
hayamos instalado. (ReDIGIT, 2018)
Manjaro no empezó como un sistema operativo base, sino que es un sistema
operativo basado en Arch Linux, muy famoso por su posibilidad de personalización.
Arch Linux es un sistema para expertos en el mundo Linux, ya que es requisito
imprescindible tener nociones de particiones, gestión de kernel y consola de
comandos de Linux para poder sacarle el máximo partido. (ReDIGIT, 2018)
48
significa que tendremos que modificar la estructura de nuestro disco rígido realizando
particiones para que ambos estén instalados. (Benchimol, 2012)
Hay dos soluciones posibles en este documento vamos a explicar una de ellas, lo
primero es ingresar en sistema en modo monousuario.
- Para esto, cuando tenemos el menú de booteo del sistema (aquel que nos
permite seleccionar entre Windows y Linux) debemos presionar la tecla ESC
para que nos parezca la línea de comandos personalizados y tipear Linux
single.
- Así podemos ingresar al sistema como usuario root sin escribir contraseña.
Luego, utilizamos el comando password para definir una nueva clave de
acceso.
Recuerda que “Una vez finalizada la instalación debemos el sistema operativo que teníamos
instalado primero asegurándonos que este funcione correctamente. Si encontramos problemas
debemos resolverlos.
Se refiere a cualquier programa informático en el que los usuarios tienen limitadas las
posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o cuyo
código fuente no está disponible o el acceso a éste se encuentra restringido. En el
software propietario una persona física o jurídica (compañía, corporación, fundación,
etc.) posee los derechos de autor sobre un software negando o no otorgando, al
mismo tiempo, los derechos de usar el programa con cualquier propósito; de estudiar
49
cómo funciona el programa y adaptarlo a las propias necesidades (donde el acceso
al código fuente es una condición previa); de distribución.
50
Sistema operativos Windows 10
Figura 15: Segmentación de versiones en la presentación de Windows 10. Consultado de. (Peña
Millahuall, 2015)
Sabías que “El precio de Windows 10 Pro es de $289ºº con todas las características de
Windows 10 Home, además de funcionalidades para empresas que permiten el cifrado, el inicio de
sesión remoto, la creación de máquinas virtuales y mucho más”.
Mejoras y novedades
51
Cortana
Sabías que “El asistente virtual Cortana atenderá a nuestras consultas escritas o de voz”
• Memoria RAM: Sin duda, uno de los primeros requisitos en los cuales debemos
poner nuestra atención es la memoria RAM. Disfrutar de una experiencia
básica con Windows 10 solo exigirá un mínimo de 1GB de RAM para la versión
de 32 bits y 2GB para instalar Windows 10 de 64 bits. (Peña Millahuall, 2015)
• Procesador: El procesador que necesitatrmos para Windoes 10 debe poseer
una velocidad de 1 GHZ para 32 bits y 2 GHZ para 64 bits y es importante en
ambos casos, que cuente con soporte para instruciones PAE, NX y SSE2.
Ademas Windows 10 soporta nuevas generaciones de procesadores actuales.
• Disco Duro: Los requisitos de espacio en disco son bastante modestos. Se
necesita un mínimo de 16 GB para instalar Windows 10 de 32 bits y 20 GB
para la versión de 64 bits. Sin duda, este requerimiento se encuentra
complementa mente cubierto con la capacidad, que exhiben los discos duros
actuales, que nos ofrecen un mínimo de 250 GB de espacio. Sin embargo, es
necesario tener muy en cuenta las exigencias de espacio si deseamos instalar
Windows 10 en un sistema de arranque dual, pues en este caso será necesario
52
crear una partición de no menos de 16 y 20 GB para las versiones de 32 y 64
bits, respectivamente. (Peña Millahuall, 2015)
• Tarjeta grafica: La tarjeta grafica que necesitamos para instalar Windows 10
debe poseer soporte para DirectX 9 y controladores WDDM (Windows Display
Driver Model). Esto no se ha modificado desde Windows 7. Es importante
mencionar que una mejor tarjeta de videio o chip grafico nos proporcionara un
rendimiento superior para la ejecucion de juegos y aplicaciones exigentes que
instalemos con posterioridad. (Peña Millahuall, 2015)
Requisitos recomendados
Los requisitos que mencionamos hasta este momento son los minimos exigidos para
instalar y ejecutar Windows 10,una buena idea es mencionar los requisitos
recomendados para tener un rendimiento optimo del sistema operativo.
Figura 16: Componentes opcionales importantes de Windows 10. Consultado de. (Peña Millahuall,
2015)
53
Recuerda que “Si comparamos los requisitos minimos necesarios para instalar Windows 10 con
los de las versiones anteriores del sistema operativo, nos daremos cuenta de que las exigencias son
similares a Windows 8 y Windows 7, e incluso, a Windows Vista. Esto puede deberse a la gran
diversidadde equipo a los cuales deberna adaptarse Windows 10”.
“Una vez terminado el tema de Sistemas Operativos de la unidad dos, comprueba tu aprendizaje,
al final del documento se encuentran varias preguntas que debes resolver”.
Una máquina virtual entrega una abstracción del hardware de la máquina hacia el
sistema operativo, proporcionando una interfaz de hardware virtual similar a la de la
máquina real. Los discos duros son emulados, por ejemplo, mediante imágenes de
discos. El sistema operativo que corre sobre la máquina virtual desconoce tal
condición, o sea, no sabe que funciona sobre una máquina virtual y no una real. Este
tipo de sistemas permite correr múltiples sistemas operativos sobre una misma
máquina. Ejemplos de sistemas de virtualización son KVM (Kernel-based Virtual
Machine), VMware y VirtualBox. (De La Fuente Rubio, 2015)
El sistema operativo que corre sobre la máquina virtual también posee un modo de
ejecución usuario y de sistema, sin embargo, estos son modos virtuales que corren
sobre un modo usuario real. Esto significa que si en el sistema operativo virtual hay
una solicitud a una llamada del sistema a través de un programa que corre en modo
54
usuario virtual, esta será procesada por el sistema operativo en modo sistema virtual
y se entregará a la máquina virtual, la cual, en modo usuario real, atenderá la
interrupción mediante el hardware virtualizado y entregará la respuesta al sistema
operativo. En caso que se requiera acceso al hardware real, la máquina virtual deberá
hacer uso de la API del sistema operativo real para acceder al recurso solicitado. (De
La Fuente Rubio, 2015)
Las máquinas virtuales de sistema permiten a una maquina física dividirse en varias
máquinas virtuales, cada una ejecutando su propio sistema operativo. También puede
simular hardware proporcionando una arquitectura de instrucciones. Disminuye
enormemente los costos, debido a que las máquinas de hoy en día poseen gran
capacidad de disco, memoria RAM, rápidos procesadores los cuales permiten emular
varias máquinas ahorrando espacio, mantenimiento, energía y equipos.
Todo esto está muy bien, pero ¿para qué querría alguien crear un PC virtual dentro
de su PC? Aunque así de entrada pudiera parecer una idea algo trivial, la verdad es
que las máquinas virtuales tienen una gran variedad de utilidades tanto en el entorno
profesional como en el del consumidor final. Estos son los principales usos:
55
Si algo va mal, la borras y se acabó, sin arriesgarte a perder mucho tiempo o
tus datos.
• Para ejecutar programas antiguos. ¿Qué pasa cuando tu negocio depende de
un software que no se actualiza desde hace 20 años? Si no puedes modernizar
el software no te queda otra que seguir cargándolo en un sistema operativo de
su época. Con una máquina virtual este sistema antiguo puede funcionar en
un hardware actual en vez de en una PC vetusta. Lo mismo se puede aplicar
a juegos antiguos que han dejado de funcionar en hardware o software
moderno.
• Para usar aplicaciones disponibles para otros sistemas. También es posible
que necesites una máquina virtual para ejecutar aplicaciones que han sido
desarrolladas para otro sistema operativo distinto al que estás usando. Por
ejemplo, para usar una aplicación para Linux desde Windows, o viceversa.
• Como seguridad adicional. Al estar aislada del resto, una máquina virtual te
proporciona una seguridad adicional en tareas precisas en las que quieres
estar seguro de que una aplicación no tendrá acceso al resto de tus datos. Es
por eso que se suelen usar para hacer cosas tan peligrosas como instalar virus
y malware para estudiarlos.
• Para aprovechar su gran dinamismo. Por su naturaleza las máquinas virtuales
son muy útiles en ocasiones donde necesitas un extremo dinamismo en el
sistema. Puedes guardar estados (copias exactas de sus datos), ampliarlas,
moverlas a un hardware totalmente distinto y seguirán funcionando sin
problemas. Por esto son imprescindibles por ejemplo en empresas con
servidores web que hospedan multitud de máquinas con las páginas web de
sus clientes.
Las principales ventajas de esta solución es que permite realizar una protección por
aislamiento de los recursos del sistema, ya que el sistema virtualizado solo vera
dispositivos virtuales y en caso de cualquier problema solo podrá afectar a la máquina
virtual quedando la máquina real protegida. Adicionalmente son un medio ideal para
la realización de pruebas de sistemas operativos, como la prueba de módulos en
desarrollo o la prueba de servicios que se desean implementar en una máquina real.
También permiten aprovechar mejor el hardware disponible, entregando servicio en
56
un mismo equipo a diferentes sistemas operativos que en conjunto comparten de
forma eficiente el hardware disponible. (De La Fuente Rubio, 2015)
57
Figura 19. Instalación de la máquina virtual. Captura de pantalla autor
Luego de ello se les da clic en instalar, lo que nos indica es que se van a crear accesos
directos
58
Una vez terminado la instalación podemos configurar la maquinas virtual para instalar
sistemas operativos libres y propietarios
Para crear una máquina virtual, es importante que considere algunos requisitos
mínimos de hardware: Windows 10.
• 1 – 2 GB de RAM
Para crear la máquina virtual puedes usar VMWare Workstation, o una alternativa
gratuita y sumamente fácil de usar como Virtual Box. Esta última es la que hemos
elegido para explicar los pasos.
59
Figura 23. Creación de máquina virtual. (González, 2017)
Por supuesto, necesitará una imagen de Windows 10. Puede descargar una desde
la web oficial de Microsoft. Solo haciendo clic en "Descargar ahora la herramienta"
para bajar el programa que descargará el ISO a tu ordenador.
60
Cuando llegue el momento de elegir el medio a usar, marca la opción "Archivo ISO".
Luego Selecciona Idioma, Arquitectura y le edición. Más adelante se te pedirá elegir
una carpeta para guardar la imagen de Windows 10. Selecciona la que prefieras y
luego solo espera que la herramienta haga su trabajo.
Figura 27. Creación de archivo imagen de Windows 10. Elaborado por autor
61
como es una máquina de prueba se le asignara 1024. En el gráfico puedes ver toda
la disponible en tu PC, y cuando te acercas al rojo, quiere decir que está asignando
demasiado.
Ahora deberás crear un disco duro virtual. El tamaño recomendado son 32 GB,
pero como es de prueba le vamos asignar 15GB. Si tuvieses un archivo de disco duro
virtual ya existente, podrías usarlo. Si no creas un disco duro virtual, no podrás instalar
Windows.
Lo siguiente es decidir si quiere que el disco duro tenga un tamaño fijo o que esté
reservado dinámicamente. Lo que elija aquí dependerá de cuanto espacio te sobre
en tu disco duro, básicamente si eliges el tamaño fijo, perderás todo ese espacio de
una sola vez, si eliges dinámico, solo se ocupará lo que vaya llenando el sistema.
62
Figura 30. Asignación de espacio en el disco duro. Elaborado por autor
Ahora que la máquina virtual está lista, se debe indicar la dirección donde está el
disco de instalación de Windows 10 para poder instalar el sistema operativo.
Seleccione la máquina virtual de la lista en la izquierda y haz clic en Configuración.
63
Figura 32. Asignación de imagen ISO del sistema operativo. Elaborado por autor
Ahora puedes guardar y cerrar la configuración y hacer click en Iniciar para arrancar
tu máquina virtual. Una vez que inicie el programa de instalación de Windows, solo
sigue las instrucciones del asistente de voz y espera que finalice el proceso.
Figura 33. Instalación del sistema operativo Windows 10. Elaborado por autor
Figura 34. Instalación del sistema operativo Windows 10. Elaborado por autor
Figura 35. Instalación del sistema operativo Windows 10. Elaborado por autor
64
En el siguiente paso nos pide que coloque la clave le damos clic en omitir para a
continuación seguir con la instalación.
Figura 36. Instalación del sistema operativo Windows 10. Elaborado por autor
65
Figura 38. Partición del disco duro. Elaborado por autor
Figura 39. Instalación del sistema operativo Windows 10. Elaborado por autor
66
Figura 41. Terminación de la instalación de Windows 10. Elaborado por autor
Figura 42. Configuración de la máquina virtual para Linux mint. Elaborado por autor
Se realizan los mismos pasos que en la creación de la otra máquina virtual y con 1024
GB en RAM y 15GB en disco duro, una vez terminada la creación del espacio virtual
se agrega la imagen ISO para la instalación.
67
Figura 43. Imagen ISO de Linux Mint. Elaborado por autor
Cuando se arranca el equipo desde una memoria USB (o DVD), Linux Mint inicia una
sesión en vivo. Se inicia sesión automáticamente con el usuario Mint y en el escritorio
se muestra un acceso directo al instalador con el nombre Install Linux Mint.
68
Figura 46. Idioma de instalación de Linux Mint. Elaborado por autor
Por defecto el instalador de Linux Mint creará para tí una partición raíz ( / -root-) y una
partición de intercambio swap partition durante la instalación. Si deseas tener un
conjunto distinto de particiones, por ejemplo, una partición home (/home) separada o
si deseas especificar el tipo de sistema de archivos File System, el tamaño o la
ubicación de las particiones; entonces deberás hacer un particionado manualmente.
69
En algunos casos este particionado puede volverse complejo, especialmente cuando
tienes otros sistemas operativos instalados.
Figura 51. Creación del usuario de Linux Mint. Elaborado por autor
70
Figura 52. Instalación de de Linux Mint. Elaborado por autor
Los proyectos de virtualización tenían un claro líder por aquel entonces: nadie podía
pensar que hubiese techo para el negocio de VMware de virtualización de servidores.
La opción de la nube todavía parecía lejana e insegura. Por ello, varios proyectos,
como los que comentaré a continuación, buscaban crear una alternativa de código
abierto al líder del momento. (Fuenmayor, 2020)
Es posible, por tanto, hablar de la nube como la evolución de una amplia comunidad
que respalda el código abierto porque esa capa de virtualización sobre la que corren
71
la mayoría de los servicios cloud está desarrollada con software libre, como Xen o
KVM.
“Una vez terminado el tema de Máquinas Virtuales de la unidad dos, comprueba tu aprendizaje,
al final del documento se encuentran varias preguntas que debes resolver
72
Comprueba tu aprendizaje de la Unidad 2
1) Cuál es la función principal del sistema operativo y describa las partes que
este tiene.
2) Realice una tabla comparativa sobre los tipos de firmware BIOS y UEFI (debe
citar de donde obtuvo la investigación).
3) Describa las ventajas y desventajas de los sistemas operativos propietario vs
sistemas operativos libres.
4) Cuáles son los requerimientos recomendados para instalar Windows 10 en el
computador.
5) Se olvidó la clave de administrador del sistema operativo que proceso debe
realizar para resetearla
Comprueba tu aprendizaje en Máquinas Virtuales
73
Bibliografía
Álvarez, J. (2009). Sistemas embebidos en comunicaciones de red ethernet.
Tecnología en electrónica, 16-19. Obtenido de
https://revistas.uniminuto.edu/index.php/Inventum/article/view/39/38
Anónimo. (s.f.). Ingeniería en Software. Obtenido de
https://sites.google.com/site/ingenierialeosw/unidad-1-fundamentos-de-
ingenieria-de-software/1-3-etapas-del-desarrollo-del-software
Asociación Programo Erco Sur. (s.f.). Obtenido de
https://www.programoergosum.com/cursos-online/raspberry-pi/244-iniciacion-
a-python-en-raspberry-pi/que-es-python
Barzanallana. (s.f.). www.barzanallana.es. Obtenido de
http://www.barzanallana.es/docencia/barzana/iaccss/Fundamentos-
software.html
Barzanallana, R. (2017). Informática aplicada a las Ciencias Sociales. Obtenido de
Informática aplicada a las Ciencias Sociales: https://guides.co/g/informatica-
aplicada-a-las-ciencias-sociales/21907
Benchimol, D. (2012). Ubuntu. Argentina: RedUsers. Recuperado el 15 de 06 de
2020
Cabeza Díaz, J. (2017). SISTEMA WEB-MÓVIL PARA LA GESTIÓN Y EL
CONTROL DE COMUNICACIÓN ENTRE USUARIOS. ESPAÑA:
UNIVERSIDAD DE JAÉN. Recuperado el 10 de 06 de 2020, de
http://tauja.ujaen.es/handle/10953.1/6689
Chen, C. (21 de 05 de 2019). Significados de Sistemas de Información. Obtenido de
Significados.com: Chen, Caterina (21/05/2019). "Sistema de información". En:
Significados.com. Disponible en: https://www.significados.com/sistema-de-
informacion/ Consultado: 29 de junio de 2020, 10:55 am.
De La Fuente Rubio, E. (28 de 04 de 2015). Recuperado el 05 de 06 de 2020, de
http://cursos.delaf.cl/archivos/cursos/sistemas-
operativos/apunte/Apunte%20de%20Sistemas%20Operativos%20(delaf).pdf
devmagazine. (05 de 08 de 2018). sistemas operativos de computadora.
Recuperado el 11 de 06 de 2020, de https://devmagazine.co/estos-son-los-5-
mejores-sistemas-operativos-para-tu-computador/2235/
Fuenmayor, A. (03 de 03 de 2020). Recuperado el 20 de 11 de 2020, de
https://empresas.blogthinkbig.com/software-libre-hace-avanzar-sociedad/
74
García, P. (2019). Desarrollo de prototipos de sistemas embebidos multicapa para
sistemas de telecomunicaciones. Obtenido de
http://132.248.9.195/ptd2019/octubre/0796314/0796314.pdf
González, G. (12 de 06 de 2017). Genbeta. Obtenido de
https://www.genbeta.com/paso-a-paso/como-crear-una-maquina-virtual-con-
windows-10-para-probar-las-beta-de-insider
Iván Ramírez. (s.f.). xataka. Obtenido de xataka:
https://www.xataka.com/especiales/maquinas-virtuales-que-son-como-
funcionan-y-como-utilizarlas
Lázaro, A. (2019). Hardware y Software: definiciones y conceptos. Obtenido de
Hardware y Software: definiciones y conceptos:
https://www.profesionalreview.com/2019/11/10/hardware-software-
definiciones/
Linux, M. (2016). Guía Oficial del Usuario. Recuperado el 14 de 06 de 2020, de
https://linuxmint.com/documentation/user-
guide/Cinnamon/spanish_mexico_17.0.pdf
MÓVIL, T. (18 de 05 de 2020). sistemas operativos para teléfonos móviles.
Recuperado el 05 de 06 de 2020, de https://miracomosehace.com/mejores-
sistemas-operativos-telefonos-moviles-mas-usados/
Ortiz, A. (10 de 10 de 2016). Etapas de desarrollo de un Software. Obtenido de
https://ortizvivas.com/blog/etapas-de-desarrollo-de-un-software/
Peña Millahuall, C. (2015). Windows 10 (1 ed.). Argentina: RedUsers. Recuperado el
15 de 06 de 2020
Pinto, M. (2019). Sistemas operativos. Recuperado el 05 de 06 de 2020, de
http://www.mariapinto.es/alfineees/sistemas/que.htm
Puebla, U. A. (5 de 7 de 2008). Fases del proceso de desarrollo de software.
Obtenido de https://sistemasvd.wordpress.com/category/ingenieria-de-
software/
Quality-Dev. (16 de 09 de 2019). www.qualitydevs.com. Obtenido de
https://www.qualitydevs.com/2019/09/16/que-es-angular-y-para-que-
sirve/#:~:text=Angular%20es%20un%20framework%20opensource,SPA%20(
Single%20Page%20Application).&text=Por%20su%20programaci%C3%B3n
%20reactiva%2C%20la,autom%C3%A1ticamente%20tras%20realizar%20l
75
Redator, R. (23 de 05 de 2019). Como crear una app. Obtenido de
https://rockcontent.com/es/blog/como-crear-una-app/
ReDIGIT. (13 de 08 de 2018). SISTEMA OPERATIVO MANJARO. Recuperado el
16 de 06 de 2020, de https://blog.redigit.es/que-es-manjaro-y-como-instalarlo/
RioHam. (08 de 06 de 2018). Guía de instalación Archilinux. Recuperado el 16 de 06
de 2020, de https://denovatoanovato.net/instalar-arch-linux/#creando-unidad-
de-arranque
Rodríguez, J. (2003). Introducción a la programación: Teoría y práctica. Alicante:
Club Universitario, San Vicente de Alicante.
Royano Gómez, I. (26 de 05 de 2016). Manjaro Linux. Recuperado el 16 de 06 de
2020, de https://medium.com/enredando-con-linux/aprendiendo-manjaro-
fd36f12aa7d3
Venturini, G. (25 de 06 de 2018). El sistema operativo. Recuperado el 01/06/2020,
de https://www.tecnologia-informatica.com/el-sistema-
operativo/#:~:text=Cuando%20el%20sistema%20operativo%20comienza,dat
os%20%C3%BAtiles%20para%20el%20sistema.
76