Contenidos (Contents)

Funciones de un sistema operativo

Funciones principales que realiza el sistema operativo:

Gestión de procesos

El elemento principal es el proceso que se define como programa en ejecución. El sistema operativo se encarga de: crear y destruir procesos; suspender y reanudar procesos; sincronizar y comunicar procesos.

Gestión de memoria

La memoria principal se encarga de almacenar procesos e información de procesos que se están ejecutando en el procesador. El sistema operativo se encarga de asignar y liberar la memoria; decidir cuanta memoria se asigna a un proceso; controla las partes de la memoria que se están utilizando.

Gestión de archivos

El archivo se define como conjunto de datos almacenados en un dispositivo de almacenamiento. El sistema operativo gestiona los archivos mediante el sistema de archivos que se define como conjunto de normas y procedimientos para almacenar información en los dispositivos de almacenamiento.

Gestión de entrada y salida

El sistema operativo controla dispositivos de E/S, se encarga de capturar interrupciones, enviar y manejar datos memoria que recoge desde los dispositivos, etc.

Tipos de sistemas operativos

Una de las cosas que más ha evolucionado en el campo de la informática son los sistemas operativos, en este apartado vamos a clasificar los sistemas operativos atendiendo a varios criterios como son: el número de usuarios, el número de procesos, el número de sesiones, el número de procesadores y el sistema informático o el tipo de dispositivo utilizado.

El número de usuarios

Sistemas operativos monousuario

Un único usuario utiliza el sistema operativo al mismo tiempo. Algunos sistemas operativos conocidos de este tipo son Windows 7, Windows Vista, Windows XP, etc.

Sistemas operativos multiusuario

Varios usuarios acceden al sistema operativo y utilizan los recursos del ordenador simultáneamente, se puede realizar por medio de terminales locales o remotas. El sistema operativo tiene que ser capaz de proteger el acceso entre ellos. Algunos sistemas operativos multiusuario son Windows Server, Linux, Unix, etc.

El número de procesos o tareas

Sistemas operativos monotarea o monoprogramación

Solamente se puede ejecutar un proceso a la vez. Un ejemplo de este tipo de sistema es DOS.

Sistemas operativos multitarea o multiprogramación

Varios procesos se ejecutan a la vez. La mayoría de los sistemas operativos actuales son de este tipo, algunos ejemplo son Unix, Linux, las versiones de Windows a partir de Windows NT como 2000 Profesional, XP, Vista, 7, etc.

El número de sesiones

Sistemas operativos monosesión

Sistemas operativos que son capaces de ejecutar una sola sesión de usuario. Los sistemas operativos de hace tiempo como Windows 98 o Windows 95.

Sistemas operativos multisesión

Sistemas operativos que son capaces de ejecutar varias sesiones de usuario a la vez. La funcionalidad de multisesión se puede instalar mediante aplicaciones, pero es el sistema operativo el que permite dicho funcionamiento. Los servidores de la familia Windows Server, la mayoría de las versiones de Linux.

El número de procesadores

Sistemas operativos monoprocesador

Solo hay un procesador en el ordenador. Los sistemas operativos que se tenían que ejecutar con un solo procesador eran los basados en DOS.

Sistemas operativos multiprocesador

Hay varios procesadores en el ordenador. Algunos ejemplos de sistemas operativos que admiten varios procesadores son los Windows a partir de NT, también la familia de Windows Server, Unix, Linux, etc.

El sistema informático o el tipo de dispositivo utilizado

Sistemas operativos para supercomputadoras y computadoras centrales (Mainframes)

Estos sistemas están orientados al procesamiento por lotes (procesamiento de trabajos sin que actúe un usuario), transacciones (muchas peticiones de poco tamaño) y tiempo compartido (varios usuarios ejecutando trabajos al mismo tiempo), la mayoría de los sistemas operativos para este tipo de sistemas están basados en Linux.

Sistemas operativos para servidores

Se encargan de dar servicios a través de la red, algunos sistemas operativos para servidores son Solaris, Linux, Windows Server, etc.

Sistemas operativos para ordenadores personales

Los sistemas operativos que se utilizan para este tipo de ordenadores tienen que dar buen soporte al usuario para realizar tareas básicas, hay multitud de sistemas operativos para ordenadores personales aunque los más conocidos son Linux, Windows, Mac OS, etc.

Sistemas operativos para dispositivos de bolsillo

Los sistemas operativos para este tipo de dispositivos cada vez son más sofisticados debido a que continuamente incorporan nuevas funcionalidades, algunos de los sistemas operativos más populares de estos dispositivos son Android, BlackBerry OS, iPhone OS, Palm WebOS y Windows Mobile.

Sistemas operativos para dispositivos integrados

También se conocen como sistemas embebidos o incrustados, estos dispositivos se encuentran integrados en televisiones, coches, móviles, etc. Para estos también hay sistemas operativos como por ejemplo VxWorks que se utiliza para controlar las centralitas electrónicas de los coches.

Sistemas operativos para tarjetas inteligentes

Este tipo de dispositivos permiten la ejecución de cierta lógica programada, algunas tarjetas sólo contienen una memoria no volátil en cambio otros tienen CPU y memoria volátil (RAM). Sirven para como medio de identificación, control de acceso, firma digital, sistema de pago, etc. Estos dispositivos también disponen de sistemas operativos, normalmente este sistema operativo se carga el proceso de fabricación y no puede ser modificado, aunque también existen excepciones con algunas tarjetas que permiten incorporar programas al sistema operativo una vez cargado.

Tipos de aplicaciones

El software se puede dividir en tres tipos:

  • Software de sistema
  • Software de programación. Hay diferentes lenguajes de programación, una posible clasificación por niveles es:
    • Lenguaje máquina
    • Lenguaje ensamblador
    • Lenguaje de alto nivel
  • Software de aplicación

Licencias y tipos de licencias

l licenciamiento se trata de un procedimiento (o un contrato mejor dicho) para conceder a una persona o entidad el derecho de usar un software con fines industriales, comerciales o personales, de acuerdo a las cláusulas que en ella aparecen.

Algunos tipos de licencias:

  • Licencia de software de dominio público
  • Licencia de software de semi libre
  • Licencia de software libre
  • Licencia de software de libre no protegido con copyleft
  • Licencia de software de Copyleft
  • Licencia de software de GPL
  • Licencia de software de Debian
  • Licencia de software de BSD
  • Licencia de software de MPL y derivadas
  • Licencia de software con copyleft
  • Licencia de software de Freeware
  • Licencia de software de Postcardware
  • Licencia de software de Donationware
  • Licencia de software de Shareware
  • Licencia de software de Demo
  • Licencia de software de Abandonware
  • Licencia de software de X.org
  • Licencia de software de fuentes abiertas / o código abierto
  • Licencia de software de código abierto permisivas
  • Licencia de software de código abierto robustas
  • Licencias de software de código abierto robustas fuertes
  • Licencias de software de código abierto robustas débiles
  • Licencia de software de código cerrado
  • Licencia de software de privativo
  • Licencia de software de Comercial
  • Licencia de software de OEM
  • Licencia de software de Retail
  • Licencia de software de volumen

Gestores de arranque

Un gestor de arranque (en inglés bootmanager) es un programa que permite elegir el siguiente código a ejecutar en el proceso de arranque, tradicionalmente a través de un menú.

Habitualmente el gestor de arranque forma parte del cargador de arranque como por ejemplo en GRUB, GRUB 2, LILO o SYSLINUX. Sin embargo, el cargador de arranque puede no tener gestor de arranque (ej. EFISTUB) y el gestor de arranque puede ser un programa independiente como por ejemplo rEFIt, rEFInd, fallback.efi o los gestores de arranque nativos UEFI.​

Máquinas virtuales

Una máquina virtual está formada por una BIOS y un conjunto de recursos hardware (memoria, procesador, disco duro virtual, etc.) que se utilizan como si fuera la máquina física, dentro de una máquina virtual se puede instalar cualquier sistema operativo, siempre y cuando el programa para virtualizar soporte ese sistema operativo.

Consideraciones previas a la instalación de sistemas operativos libres y propietarios

Antes de realizar una instalación hay que tener en cuenta algunos parámetros:

Lugar

  • Local: La instalación se realiza en el mismo ordenador.
  • Red: La instalación se realiza desde otro ordenador a través de la red.

Tipo

  • Instalación normal: Durante el proceso de instalación se responde a una serie de preguntas relacionadas con la configuración del ordenador y los usuarios. 
  • Actualización: proceso mediante el cual pasamos de una versión de un sistema operativo a otra más actual, añadiendo características nuevas, manteniendo los datos y los programas que estaban instalados en el ordenador (puede ser que algunos programas no funcionen correctamente con el nuevo sistema operativo, entonces habrá que reinstalar). La mayoría de los sistemas operativos permiten actualizar de una versión a otra superior de una forma rápida y sencilla. Antes de hacer una actualización hay que asegurarse que el ordenador cumple con los requisitos para soportar el nuevo sistema operativo. 
  • Downgrade: Consiste en instalar una versión anterior de un sistema operativo, esta operación se hace por ejemplo para que se puedan ejecutar determinadas aplicaciones que en versiones más actuales de un sistema operativo no funcionan correctamente.
  • Migración: Proceso mediante el cual pasamos de un sistema operativo a otro (pueden ser sistemas operativo de la misma familia o no) sin conservar datos y programas que estaban instalados, la única forma de conservar los datos es haciendo una copia de seguridad de los datos en algún dispositivo de almacenamiento como un CD, DVD, dispositivo USB, tarjeta de memoria, etc.

Entorno

  • Virtual: El sistema operativo se instala en un entorno virtual. La ventaja de virtualizar es que no necesita un gestor de arranque y se pueden utilizar dos sistemas operativos de forma simultánea sin necesidad de reiniciar el equipo. 
  • No virtual: El sistema operativo se instala en un entorno no virtual.

Atención

  • Atendida: Es necesario estar delante del ordenador respondiendo a preguntas para configurar la instalación.
  • Desatendida: No es necesario estar delante del ordenar respondiendo a preguntas, se utiliza un archivo de respuesta que contiene la información que necesita el sistema operativo para instalarse correctamente. El fichero se puede pasar a través de un dispositivo USB.

Modo

  • Mediante ficheros: De un modo u otro, el sistema operativo necesita ficheros para funcionar, cuando instalamos el sistema operativo lo que hacemos es copiar esos ficheros en el disco duro del ordenador.
  • Mediante imágenes: Una imagen es un fichero o dispositivo de almacenamiento que contiene la estructura y toda la información de un disco duro, una partición, un dispositivo USB, un CD, etc. En el caso de una imagen para un disco duro se realiza creando una copia completa de sector por sector. 

Forma

  • Mediante dispositivos: USB, CD/DVD, disco duro, etc.
  • Carpetas compartidas: Esta forma de instalación es típica de una red, un ordenador que ya tiene un sistema operativo previamente cargado, comparte un recurso en red.
  • PXE (Preboot eXecution Environment, Entorno de ejecución de prearranque): Este entorno se basa en la comunicación de cliente-servidor, el ordenador que soporta PXE se comporta como un cliente que envía una petición al servidor solicitando la asignación de una IP, el servidor que tiene DHCP asigna una dirección IP al cliente, después el servidor envía un programa para arrancar la instalación utilizando el protocolo de transferencia TFTP (Trivial File Transfer Protocol, protocolo de transferencia de archivos trivial), el programa de arranque contiene la ubicación de los archivos necesarios para la instalación, entonces el cliente comienza la descarga de esos archivos. 

Instalación de sistemas operativos. Requisitos, versiones y licencias

Antes de instalar un sistema operativo hay que tener en cuenta una serie de pasos que se resumen en los siguientes verbos: planificar, preparar, ejecutar, configurar y documentar.

Planificación de la instalación

Planificar la instalación es algo fundamental y nos ayudará a realizar cualquier tipo de instalación.

Algunos puntos que tenemos que planificar son:

Compatibilidad del sistema operativo con el hardware del ordenador en donde se va a instalar


Ejemplo

La partición en donde se va a instalar el sistema operativo


Ejemplo

Compatibilidad con las aplicaciones que se van a instalar y ejecutar

Licencias disponibles


Ejemplo

Número de ordenadores a instalar

El sistema operativo previamente instalado en el equipo

Si tiene un sistema operativo instalado se puede realizar una actualización y si no tiene un sistema operativo instalado se realiza una instalación limpia.


Ejemplo

Preparar el ordenador para la instalación

Tener en cuenta desde dónde se carga el sistema, cuáles son los parámetros para realizar la instalación, en qué disco y partición se va a instalar el sistema, etc.

Ejecución de la instalación

Aunque el sistema de particionado y dar formato se puede realizar antes de ejecutar el programa instalador, la mayoría de los instaladores permiten realizar esas dos operaciones durante la instalación del sistema operativo.

Es muy importante leer bien las distintas pantallas que van apareciendo en el proceso de instalación.

Configuración posterior a la instalación

Lo primero que hay que configurar es el gestor de arranque dependiendo del sistema operativo que hayamos instalado habrá que configurar uno u otro.

Después hay que configurar los drivers, la red, las actualizaciones y el antivirus y por último personalizar el sistema operativo.


Ejemplo

Documentación de la instalación

Durante el proceso de instalación hay que documentar los pasos que se van realizando, señalando las incidencias que van surgiendo, documentar las cosas es una buena práctica y ayuda a otras personas y a nosotros a saber qué es lo que se ha hecho con un equipo o qué configuración se ha utilizado, también controlar los tiempos dedicados a cada paso y las incidencias en el caso de que aparezcan. 

Ejemplos sobre instalaciones

Se trata de ejemplos posibles que habría que implementar fisicamente.

Instalación del sistema operativo que se realiza al directivo de una empresa

LugarTipoEntornoAtenciónModoForma
LocalActualizaciónNo virtualDesatendidaFicherosUSB

Instalación del sistema operativo que se realiza a los administradores de sistemas

LugarTipoEntornoAtenciónModoForma
RedMigraciónVirtualAtendidaImágenesCarpeta compartida

Instalación que se realiza al personal de recursos humanos

LugarTipoEntornoAtenciónModoForma
LocalNormalNo virtualDesatendidaImágenesPXE

Instalación/desinstalación de aplicaciones. Requisitos, versiones y licencias

Cuando se habla de software tenemos que tener en cuenta qué se puede hacer con el mismo:

  • Instalar.
  • Actualizar.
  • Downgrade (devolver el software a una antigua versión).
  • Desinstalar.

La instalación y desinstalación de programas es una tarea importante y se tiene que hacer con control, no hay que instalar un programa sin estar seguro de lo que hace, y siempre hay que conocer la fuente de donde proviene el programa.

Los sistemas operativos tienen instalado por defecto multitud de programas que nos permiten realizar gran cantidad de tareas como escribir documentos, escuchar música, navegar por Internet, etc. Sin embargo, esto no es suficiente para la mayoría de los usuarios y es probable que necesiten instalarse nuevos programas como, por ejemplo, un navegador de Internet distinto al que tiene el sistema operativo por defecto, un conjunto de herramientas ofimáticas más completo, etc.

Aunque lo normal es instalar una sola vez un programa, a veces hay algún problema en el programa y es necesario reinstalar algún archivo o el programa entero.

Es importante tener el software correctamente instalado, indentificado y controlar el acceso a los programas por parte de los usuarios.

Las operaciones que se pueden realizar sobre el software son:

Listar software

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Get-Package

WMI


Ejemplos

Listar programas instalados

Seleccionar el nombre y versión de los programas instalados

Indicar si hay algún antivirus instalado

Número de programas instalados

Agrupar los programas cuyo nombre sea «Microsoft»

Indicar si está instalado Gimp

Agrupa los programas cuyo vendedor sea Microsoft

Indicar el número de programas cuyo nombre sea Microsoft (agrupar)

Mostrar programas instalados por familia

Agrupar por familia los programas instalados

Indicar cuántos programas hay por familia


Ejercicios

Crear una función que indique si se ha instalado un programa

Buscar en el registro información sobre programas


Buscar software

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Find-Package


Ejemplos

Buscar la herramienta ZoomIt


Instalar software

Para instalar programas es necesario controlar el hardware del equipo, el software instalado en el equipo por el tema de incompatibilidades, las versiones y las licencias.

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Install-Package


Ejemplo

Instalar software buscándolo previamente


Desinstalar software

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Uninstall-Package


Ejemplo

Desinstalar software


Control de aplicaciones

AppLocker mejora las características de control de aplicaciones y la funcionalidad de las directivas de restricción de software. AppLocker tiene nuevas capacidades y extensiones que le permiten crear reglas para permitir o denegar que las aplicaciones se ejecuten en función de identidades únicas de archivos y especificar qué usuarios o grupos pueden ejecutar dichas aplicaciones.

Con AppLocker, puede:

  • Controle los siguientes tipos de aplicaciones: archivos ejecutables (. exe y. com), scripts (. js,. ps1,. vbs,. cmd y. bat), archivos de Windows Installer (. MST,. msi y. msp) y archivos DLL (. dll y. ocx), y aplicaciones empaquetadas y los instaladores de aplicaciones empaquetadas (Appx).
  • Defina reglas basadas en atributos de archivo derivados de la firma digital, como el editor, el nombre de producto, el nombre de archivo y la versión de archivo. Por ejemplo, puede crear reglas basadas en el atributo Editor persistente a través de las actualizaciones, o bien puede crear reglas para una versión específica de un archivo.
  • Asignar una regla a un grupo de seguridad o a un usuario individual.
  • Crear excepciones a ciertas reglas. Por ejemplo, puede crear una regla que permita que se ejecuten todos los procesos de Windows excepto el editor del registro (regedit. exe).
  • Usar el modo de solo auditoría para implementar la directiva y ver qué impacto tendría antes de aplicarla.
  • Importar y exportar reglas. La importación y la exportación afectan a toda la Directiva. Por ejemplo, si exporta una directiva, se exportan todas las reglas de todas las colecciones de reglas, incluida la configuración de aplicación de las colecciones de reglas. Si importa una directiva, se sobrescriben todos los criterios de la directiva existente.
  • Simplificar la creación y la administración de reglas de AppLocker mediante cmdlets de Windows PowerShell.

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Get-AppLockerPolicy


Ejemplo

Obtener y probar una política de AppLocker para los ejecutables que haya en System32.

Este ejemplo obtiene la política local de AppLocker en la computadora y luego prueba la política usando el cmdlet Test-AppLockerPolicy para probar si el grupo Todos podrá ejecutar los archivos .exe en C: \Windows\System32.


Actualización de sistemas operativos y aplicaciones

Cada día aparecen nuevas vulnerabilidades en los sistemas operativos y en los programas, es importante mantener el sistema operativo actualizado con los últimos parches de seguridad.

Las actualizaciones sirven para evitar problemas o corregirlos, de esta forma el sistema operativo se mantiene seguro. Las actualizaciones son necesarias para los sistemas operativos.

Los sistemas de gestión de actualizaciones permiten que éstas se descarguen y se instalen con orden, de no ser así podrían aparecer problemas si el sistema operativo comenzara a descargar todas las actualizaciones a la vez, en algunos casos pueden llegar a saturar ciertos recursos como, por ejemplo, la conexión de red. Para resolver este problema algunos sistemas operativos tienen programas que descargan las actualizaciones y las envían a otros ordenadores a la red de una manera ordenada.

Gracias a los sistemas de actualizaciones, el tiempo que va desde que se registra un fallo hasta que se corrige es muy pequeño.

Las actualizaciones pueden ser del sistema operativo, de programas, de controladores, etc.

Listar actualizaciones

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Get-HotFix

El cmdlet visto en el apartado anterior también sirve para ver actualizaciones


Ejemplos

Ver el nombre de las actualizaciones

Ver el ID de las actualizaciones

Ver si hay una actualización instalada

Listar por descripción las actualizaciones instaladas en el equipo

Agrupar actualizaciones por descripción

Agrupar actualizaciones por descripción y mostrar el nombre de la agrupación

Listar por fecha las actualizaciones instaladas en el equipo