Está en la página 1de 7

Capítulo 2:

Componentes software. El sistema operativo


26 agosto, 2015 · by P. Ruiz · in Conceptos básicos sobre sistemas operativos

Existen dos tipos de software:

- Software de sistema (Software base)

Encargado de gestionar los recursos hardware para presentar al usuario una máquina más
sencilla de utilizar. Las API (Application Programming Interface) intervienen en este propósito.

El sistema operativo es la máxima representación del software de sistema.

- Software de aplicación

Formado por los programas que permiten a los usuarios realizar tareas concretas.

Un tipo especial de software de aplicación es el que permite crear programas mediante el uso de
un conjunto de símbolos y de reglas semánticas y sintácticas llamado lenguaje de
programación.

Atendiendo a la capacidad cognitiva humana, los lenguajes de programación se clasifican en


lenguaje de alto nivel y lenguaje máquina.

El programa escrito en un lenguaje de programación de alto nivel recibe el nombre de código


fuente, pero no es directamente ejecutable por el ordenador. Se ha de convertir en código objeto
mediante un proceso de compilación y enlazado. Existen lenguajes que permiten generar un
código intermedio llamado bytecode que reducen la dependencia del hardware sobre el que va a
correr el programa. Los programas en bytecode son interpretados por programas que reciben el
nombre de máquina virtual o framework.

Los Entornos de Desarrollo Integrados (IDE) son aplicaciones que facilitan al programador la
tarea de escritura del código fuente, incorporan un compilador para convertirlo en código objeto
así como otras herramientas que permiten detectar y eliminar los errores.

Todo software se distribuye bajo una licencia, que es un contrato entre el proveedor del programa
y el usuario. Sirve para regular aspectos como:

● El número de copias del programa que puede utilizar el usuario

● Los derechos que el usuario tiene sobre el programa

● El periodo durante el que se cederán dichos derechos

● La responsabilidad que tiene el proveedor sobre los fallos de su producto

● Etc.

1/7
En función de los derechos que el proveedor mantiene sobre su producto, se distingue:

● Licencias de software con código abierto.

El programa es ofrecido junto con el código fuente. Suele conocerse como software libre y
promueve la libertad del usuario para ejecutar, copiar, estudiar, modificar o distribuir tanto
el programa original como el resultado de cualquier modificación sin ningún tipo de
limitación. Pueden ser:

• Permisivas: Los programas pueden modificarse o crear otros nuevos a partir de ellos
sin que el resultado tenga que mantener las condiciones de la licencia original.

• No permisivas: Los programas pueden modificarse o crear otros nuevos a partir de


ellos, pero el resultado, en general, deberá publicarse bajo los mismos términos de la
licencia original. La más conocida es la GNU General Public License.

● Licencias de software con código cerrado.

El programa se distribuye sin el código fuente con el que está construido. Suele conocerse
como software propietario o privativo. Este tipo de licencias limitan las posibilidades que
tienen los usuarios para utilizar, copiar, modificar, redistribuir o ceder el software.

Como ejemplo, podemos nombrar las licencias CLUF (Contrato de Licencia para Usuario
Final), llamadas EULA en inglés (End User License Agreement).

Las licencias propietarias pueden adquirirse de diferentes formas:

● Retail, para usuarios que no necesitan más de cinco licencias. En caso de que el
usuario disponga de una versión previa licenciada puede adquirir una actualización,
que generalmente implica un coste menor.

● OEM, software preinstalado en un ordenador al que queda vinculado, por lo que no


puede desinstalarse e instalarse en otro equipo. Está permitido ceder el equipo
completo a otro usuario. Este modo de distribución garantiza una correcta instalación y
configuración del mismo.

● Licencias por volumen, pensadas para entidades o empresas que precisan de un


número de licencias mayor que un usuario normal. Permiten opciones de compra de
producto completo o actualización. También es frecuente que dispongan de derechos
de downgrade.

● Freeware

Se aplica a software que se distribuye gratuitamente y por tiempo indefinido. Normalmente


está permitida la redistribución pero no la modificación y, en ocasiones, tampoco el uso
comercial. Tampoco suele incluir el código fuente.

● Shareware

Permite que el software se evalúe, aunque puede limitar el tiempo o algunas de sus
funcionalidades. Para disponer del producto sin limitaciones, hay que pagarlo.

● Dominio público

Software publicado sin licencia. Puede utilizarse, modificarse, redistribuirse e incluso


licenciarse sin ningún tipo de limitaciones.

2/7
Dentro de los sistemas operativos encontramos soluciones de escritorio y de servidores. En este
último caso, el sistema operativo de escritorio se comporta como cliente del servidor.

También existen sistemas operativos para smartphones. Está en auge encontrarlos embebidos
en otros dispositivos tratando de orientarse hacia lo que se ha venido en llamar “El internet de las
cosas”.

Nos centraremos en Windows como ejemplo de sistema operativo propietario y en Ubuntu como
sistema operativo de código abierto.

Microsoft Windows
Dispone de una gama completa de sistemas operativos que cubren dispositivos móviles, sistemas
empotrados, ordenadores de sobremesa y servidores.

En sus inicios (1985) se trataba de una interfaz gráfica que se ejecutaba sobre un sistema
operativo con interfaz de texto llamado MS-DOS. Esta dependencia siguió hasta su versión de
1995 (Windows 95) aunque ya no se instalaran como productos diferenciados. A partir de
Windows XP se incluye el núcleo de un sistema operativo de la gama profesional de Microsoft y
esto se ha mantenido hasta nuestros días. Las versiones Windows 8 y posteriores rompen con el
aspecto de las interfaces gráficas de sus predecesores. También estas incluyen soporte para una
arquitectura de procesadores diferente del x83 de Intel y AMD.

Ubuntu Linux
Nace en la década de los 60 en los Laboratorios Bell de la mano de Ken Thompson y Dennis
Ritchie dentro del proyecto Unics que posteriormente quedará rebautizado como Unix.

En 1987, el profesor Andrew S. Tanenbaum toma Unix para desarrollar un sistema operativo que
ayude a sus alumnos a entender los conceptos de diseño de los sistemas operativos, dando lugar
al sistema operativo Minix.

El 1991, Linus B. Torvalds, estudiante de Ciencias de la Computación de la universidad de


Helsinki (Finlandia) publica en el servidor FTP de su universidad el núcleo del sistema operativo
en el que había estado trabajando y que llamó Linux. Usaba el intérprete de comandos
BASH (Bourne Again Shell) y GCC, el compilador de lenguaje C. Ambos tomados directamente del
proyecto GNU.

En 1992, Torvalds adopta la licencia GPL, lo que permitió su evolución imparable.

Linux tomó muchas aplicaciones del proyecto GNU (acrónimo recursivo que significa
GNU is Not Unix), por lo que muchos prefieren el nombre GNU/Linux para referirse al sistema
operativo.

Una de las señas de identidad más claras del sistema operativo Linux es que su código fuente
está a disposición de cualquiera. El resultado ha sido una evolución sólida y constante del sistema
operativo y la aparición de una cantidad ingente de programas escritos para él.

Esta característica fundamental ha hecho que diversas empresas, grupos de usuarios u otras
entidades, partiendo del mismo sistema operativo Linux, le hayan añadido su combinación
particular de programas de aplicación y utilidades. Estos subconjuntos de Linux reciben el nombre
de distribuciones.

3/7
Una de las distribuciones más representativas hoy en día es Ubuntu, patrocinada por Canonical,
una empresa británica propiedad del multimillonario sudafricano Mark Shuttleworth.

Al principio, Ubuntu se basaba en Debian, una distribución veterana y fiel a los pilares de la
filosofía Linux.

Como el resto de distribuciones, se ofrece de manera libre y gratuita y se nutre de la colaboración


de una gran comunidad de desarrolladores. En este sentido, Ubuntu 14.04 LTS hace algunas
excepciones:

● Incluye ciertos controladores de hardware privativos, además de algunas partes del kernel
que no son libres.

● También incluye en sus repositorios algunas aplicaciones que no son libres (aunque sí
gratuitas), pero en ubicaciones diferentes de los componentes libres.

Se ofrece en distintas versiones, para ámbitos domésticos y profesionales. Además, da soporte a


diferentes entornos gráficos.

Ubuntu se actualiza cada seis meses (en abril y octubre). De ahí surge su número de versión, en
la que sus dos primeros dígitos se corresponden con el año y los dos siguientes con el mes de
lanzamiento. Así, Ubuntu 12.04 fue liberado en abril de 2012.

Además, cada versión tiene un nombre que se forma con el nombre de un animal y un adjetivo.
Ambas palabras comienzan por la misma letra y, desde la versión 6.10, siguen un orden
alfabético:

Cada dos años, aparece una versión LTS (Long Term Support), que recibirá soporte de Canonical
durante cinco años. El resto, sólo durante nueve meses.

Las actualizaciones incluyen al propio sistema y a las aplicaciones instaladas desde repositorios.

Entre las ventajas del software libre están:

1. Más económico o, en muchas ocasiones, no repercute ningún coste.

2. El soporte puede ser local, con lo que se evita la dependencia de una economía extranjera
y se potencia la economía nacional.

3. Los programas se pueden instalar tantas veces y en tantos equipos como sea necesario.
Además, puede compartirse libremente con cualquiera.

4. El uso de formatos abiertos, no propietarios, facilitan la interoperabilidad entre sistemas,


siendo independientes del hardware, de la aplicación e incluso del sistema operativo.

5. La posibilidad de acceder al código fuente permite la creación de nuevos productos a partir


de los ya creados por otras empresas o entidades y que están ampliamente probados y
aceptados, evitando la necesidad de comenzar desde cero.

6. Como consecuencia de lo anterior, este modelo ayuda a la reducción de las fallas


tecnológicas entre países avanzados y países en vías de desarrollo.

7. A lo largo del tiempo se ha demostrado que, cuando aparece un fallo de seguridad en un


producto del software libre, la comunidad reacciona rápidamente para resolverlo en un
plazo muy breve.

4/7
8. El modelo de negocio del software libre suele basarse en el servicio y no en las licencias.

9. No existe la obsolescencia programada.

10. El software libre es más seguro, ya que el acceso al código fuente ofrece la absoluta
seguridad de que no incluye ningún tipo de código malintencionado o, sencillamente, no
autorizado.

11. El uso de repositorios hace que los usuarios tengan acceso a miles de aplicaciones y otras
herramientas, revisadas y garantizadas de forma totalmente gratuita.

Entre los inconvenientes, podemos incluir estos:

1. Aunque esta norma no puede aplicarse de forma general, sí es común que el acabado
estético sea inferior al del software propietario.

2. Existen muchas aplicaciones propietarias que son un estándar de facto en algunos ámbitos
y, no conocerlas, puede suponer una desventaja.

3. Lo mismo ocurre con los programas de juegos que, por cuestiones puramente comerciales,
suelen estar disponibles sólo para Microsoft Windows.

4. Dado que son sistemas menos conocidos, suele haber un mayor desconocimiento de su
funcionamiento y, por lo tanto, es necesario un mayor esfuerzo formativo del personal de
mantenimiento.

5. Existen dispositivos hardware que sólo disponen de controladores (drivers) compatibles


con Microsoft Windows, por lo que su utilización en Linux suele acarrear múltiples
inconvenientes o, incluso, puede ser inviable.

6. Al existir una menor implantación de los sistemas libres en ciertos ámbitos, también existe
un mercado laboral inferior, aunque también es cierto que más especializado.

Al momento de instalar un sistema operativo se pueden presentar diferentes escenarios:

● Que el equipo sea nuevo y no disponga previamente de sistema operativo

● Que el equipo disponga ya de un sistema operativo. En ese caso, podremos optar por:

• Instalar una nueva versión del sistema operativo que ya tenemos, preservando los
datos y los programas instalados (Actualización).

• Sustituir completamente el sistema existente por otro, que puede ser del mismo
fabricante o no, recuperando los datos desde la copia de seguridad una vez concluida
la instalación (Migración)

La instalación propiamente dicha se puede:

● Utilizar un dispositivo externo local que contenga el sistema a instalar.

● Utilizar un protocolo PXE si el equipo forma parte de una red local.

5/7
Para evitar la necesidad de permanecer delante del ordenador mientras se completa la
instalación, es muy útil recurrir a un archivo de respuesta que contenga toda la información que
necesita el sistema operativo para instalarse. Esta técnica se denomina instalación desatendida.

La instalación de un sistema operativo debe ser planificada debiéndose considerar:

● Recursos que deben estar disponibles (dispositivos de almacenamiento externo,


impresoras, conexiones de red, …)

● Número de ordenadores implicados y la relación entre ellos.

● Estudio de la compatibilidad entre hardware y software implicado.

● Disponibilidad de licencias de aquellos componentes que las necesiten.

● Lugar en el que se ubicará cada elemento de la instalación.

● Configuración de los distintos dispositivos.

● Las funciones que desempeñará cada elemento.

● Estimación de futuro, a fin de evitar en la medida de lo posible volver a modificar a corto o


medio plazo la instalación que estamos realizando ahora.

● Idioma en el que se va a realizar la instalación.

● Idioma que va a emplear el sistema operativo una vez instalado.

● La zona horaria en la que nos encontramos.

● Si se trata de un sistema propietario, su clave de producto.

● El nombre que asignaremos al equipo, que debe ser descriptivo de la función que realizará
y/o de la ubicación en la que se encuentre, del área en la que se emplea, etc.

● Nombre de la cuenta de usuario principal y su contraseña.

Al terminar la instalación se debe comprobar que cada elemento cumple su función


satisfactoriamente y se documentarán los resultados obtenidos.

Cada fabricante establece unos requisitos mínimos necesarios para que el resultado de la
instalación sea satisfactorio, pero por lo general, es recomendable superar estos mínimos

Al instalar un sistema operativo es necesario hablar de particiones. Las particiones son bloques
en los que se divide una unidad física de almacenamiento. Cada partición será interpretada como
un volumen diferente y podrá formatearse con un sistema de archivos distinto.

El sistema de archivos establece el modo en el que se organiza la información dentro de una


partición. Cada sistema operativo tiene su propio sistema de archivos:

● Sistemas de archivos Windows: FAT, FAT32 y NTFS.

● Sistemas de archivos Linux: ext2, ext3, ext4, ReiserFS, etc.

6/7
Una vez instalado el sistema, la interfaz de comunicación puede ser modo texto o modo gráfico
(GUI), siendo ésta última la más habitual por ser más sencilla e intuitiva.

Inventado por Douglas Engelbart, el ratón es un elemento fundamental en todos los entornos
gráficos de usuario. Además permite ser configurado tanto para diestros como para zurdos.

A diferencia de Windows, en los sistemas GNU/Linux la interfaz gráfica no está integrada en el


sistema operativo.

Las versiones de servidor generalmente prescinden de entorno gráfico por lo que su uso debe
realizarse a través de la terminal de comando. Las órdenes se pueden agrupar en archivos de
texto llamados scripts. El prompt del sistema proporciona información sobre la ubicación dentro
de la estructura de archivos o si actuamos como administrador.

En los primeros sistemas Windows la interfaz de texto se llamaba COMMAND.COM y era el


intérprete de comandos que incorporaba el sistema operativo MS-DOS. A partir de los sistemas
profesionales Windows NT y en los sistemas de escritorio a partir de Windows XP se incorpora un
nuevo intérprete de comandos llamado CMD.EXE. A partir de Windows 7 y Windows Server 2008
R2 se incorpora una interfaz de texto más potente llamada PowerShell muy orientada a la
creación de scripts. Para su funcionamiento depende de .NET Framework, aunque lo normal es
que éste ya se encuentre instalado en la mayoría de los sistemas modernos. En PowerShell, los
comandos reciben el nombre de cmdlets.

En cuanto a los sistemas GNU/Linux, el intérprete de comando más extendido es Bash.

Cuando un equipo se enciende se ejecuta una rutina almacenada en el BIOS que chequea todos
los componentes hardware. Superada esta fase deja el control en manos del gestor de arranque
para que se inicie el sistema operativo.

En los sistemas operativos Microsoft, hasta XP en la rama de escritorio y Windows Server 2003 en
la rama profesional, se usaba NTLDR ubicado en el directorio raíz del disco principal del
ordenador. Para realizar su trabajo se apoyaba en otro archivo, escrito en texto plano, donde se
encontraban las opciones de inicio y que recibía el nombre de boot.ini. A partir de Windows Vista y
Windows Server 2008, NTLDR fue sustituido por winload.exe y BOOTMGR. Además, boot.ini
también fue reemplazado por BCD (Boot Configuration Data).

El gestor de arranque más utilizado en GNU/Linux se llama GRUB y la versión actual es la


GRUB 2.

7/7