Tema 4. Sistemas operativos

Currículo: esta unidad cubre parte de los saberes básicos del Bloque B – Arquitectura de ordenadores y sistemas operativos (TICO.1.B.2.1, TICO.1.B.2.2, TICO.1.B.2.3, TICO.1.B.2.4, TICO.1.B.2.5, TICO.1.B.2.6 y TICO.1.B.2.7) correspondiente a 1º Bachillerato. Además, se evalúan los criterios que puedes encontrar al final de esta página.

Tabla de contenidos

En este tema, nos adentraremos en el mundo de los sistemas operativos, una pieza clave en el funcionamiento de cualquier ordenador. Un sistema operativo es como el director de orquesta de un concierto: coordina y gestiona los recursos del ordenador, asegurándose de que todo funcione armónicamente. Es, por así decirlo, el programa más importante de cualquier dispositivo.

Comenzaremos explorando las arquitecturas y funciones de distintos sistemas operativos, así como las licencias bajo las cuales se distribuyen y las interfaces de usuario que ofrecen.

Después, nos centraremos en la gestión de procesos. Aquí, entenderemos cómo el sistema operativo gestiona múltiples aplicaciones abiertas al mismo tiempo, como cuando estás escuchando música en Spotify mientras trabajas en un documento de Word.

El sistema de archivos es nuestro siguiente punto de interés. Este concepto es fundamental para comprender cómo los sistemas operativos almacenan y organizan los datos. Pensad, por ejemplo, en cómo guardáis vuestros trabajos en diferentes carpetas en el ordenador. Que esto se pueda hacer de una manera rápida y eficiente es responsabilidad del sistema de archivos.

La gestión de usuarios es otro aspecto importante. Aquí veremos cómo los sistemas operativos permiten la creación de diferentes cuentas de usuario, cada una con sus permisos y configuraciones, similar a cómo en una familia, cada miembro tiene su perfil de usuario en el ordenador de casa.

En la gestión de dispositivos, aprenderemos sobre cómo el sistema operativo interactúa con el hardware, como cuando conectas una impresora o un USB y el sistema operativo lo reconoce automáticamente.

El apartado de monitorización y rendimiento nos llevará a entender cómo podemos evaluar y mejorar el rendimiento de nuestro sistema, similar a cómo un mecánico optimiza el rendimiento de un coche.

Finalmente, en instalación y configuración nos enfocaremos en los pasos necesarios para instalar un sistema operativo y configurarlo adecuadamente, pensando en los requisitos necesarios, tal como se hace al configurar un nuevo smartphone.

Este recorrido nos permitirá comprender a fondo cómo funcionan los sistemas operativos y cómo son fundamentales para nuestra interacción diaria con la tecnología.

4.1. Arquitecturas y funciones.

En este apartado, profundizaremos en las arquitecturas y funciones de los sistemas operativos, las licencias que rigen su uso y distribución, y las interfaces de usuario que facilitan nuestra interacción con la tecnología.

4.1.1. Introducción

Al hablar de arquitecturas, nos referimos a cómo está estructurado internamente un sistema operativo. Podemos imaginar un sistema operativo como una ciudad: cada parte tiene su función específica, y todas trabajan juntas para mantener la ciudad en funcionamiento. Aunque existen varias arquitecturas, tres de las más importantes son:

1. Arquitectura monolítica: en una arquitectura monolítica, todas las funciones del sistema operativo están integradas en un único y gran bloque de código que se ejecuta en el espacio del kernel (el núcleo). Esto significa que los servicios, como la gestión de archivos, la gestión de procesos y los drivers de dispositivos, están todos en un mismo nivel y altamente interconectados. Sistemas operativos como las versiones tempranas de UNIX y Linux inicialmente adoptaron este modelo.

2. Arquitectura de microkernel: esta arquitectura busca minimizar las funciones que se ejecutan en el kernel. En un microkernel, solo las funcionalidades más básicas como la comunicación entre procesos, la gestión básica de memoria y CPU se ejecutan en el kernel. Servicios más complejos, como los sistemas de archivos y los drivers de dispositivos, se ejecutan en el espacio de usuario. MINIX y algunos sistemas basados en el microkernel Mach, como los utilizados en los primeros sistemas NeXTSTEP, que más tarde influenciaron a macOS, son ejemplos de esta arquitectura.

3. Arquitectura en capas (Layered Architecture): en la arquitectura en capas, el sistema operativo se divide en varias capas, cada una construida sobre la otra. La capa más baja interactúa directamente con el hardware, mientras que las capas superiores proporcionan niveles cada vez más abstractos de servicios. Cada capa solo puede interactuar con su capa inmediatamente inferior y superior. Windows NT se diseñó inicialmente utilizando una arquitectura en capas.

¿En qué arquitectura se basan los sistemas operativos más conocidos de la actualidad? Vamos a verlo:

  • Windows: principalmente Monolítica en sus inicios, pero evolucionó a una híbrida entre monolítica y en capas.
  • Linux Ubuntu: aunque es monolítica, tiene características que permiten cierta modularidad, como la capacidad de cargar y descargar módulos del kernel (drivers) en tiempo de ejecución.
  • macOS: se basa en Darwin, que a su vez se basa en UNIX y utiliza el kernel XNU. XNU es un kernel híbrido que combina un microkernel Mach con componentes de un sistema operativo monolítico (BSD), proporcionando una mezcla de las ventajas de ambas arquitecturas.
  • Android: utiliza el kernel de Linux, que es monolítico. Sin embargo, la arquitectura general de Android también incluye la máquina virtual de Java (Dalvik o ART) para la ejecución de aplicaciones, añadiendo una capa adicional sobre el kernel de Linux.
  • iOS: híbrida (monolítica/en capas). Al igual que macOS, iOS utiliza el kernel XNU, que es una combinación del microkernel Mach y componentes de FreeBSD. Esta combinación resulta en una arquitectura híbrida que utiliza elementos tanto de sistemas monolíticos como en capas.

Las funciones de un sistema operativo incluyen la gestión de la memoria, el control de dispositivos y la ejecución de aplicaciones. Por ejemplo, cuando usas un procesador de textos, el sistema operativo gestiona la memoria que utiliza la aplicación, controla la entrada desde el teclado y la salida hacia la pantalla.

[ Aquí tienes las 7 funciones más importantes del sistema operativo ]

4.1.2. Licencias de Software

Las licencias de software son como las reglas de una comunidad. Determinan cómo puedes usar el sistema operativo y qué libertades tienes para modificarlo. Windows, por ejemplo, utiliza una licencia propietaria, lo que significa que no puedes modificar el sistema operativo. Por otro lado, Linux usa una licencia de código abierto, que permite a los usuarios modificar y compartir el sistema operativo, siguiendo ciertas reglas establecidas por la licencia.

Para que comprendas el alcance y las limitaciones en el uso del software, puedes revisar la siguiente tabla, que contiene los principales tipos de licencias, aunque hay muchas más:

PropietariaCódigo abiertoFreewareShareware
Qué esLas licencias propietarias son las más comunes en el software comercial. Establecen que el software es propiedad de la empresa que lo creó y limitan la forma en que los usuarios pueden usarlo, generalmente prohibiendo la modificación, copia o redistribución.Las licencias de código abierto permiten a los usuarios acceder, modificar y redistribuir el código fuente del software. Fomentan la colaboración y el desarrollo comunitario. Sin embargo, cada licencia de código abierto tiene sus propias reglas; algunas pueden requerir que las modificaciones también se distribuyan de forma abierta.El freeware es software que se ofrece de forma gratuita, pero a diferencia del software de código abierto, no necesariamente permite la modificación o redistribución de su código fuente.El shareware permite a los usuarios probar el software de forma gratuita durante un período limitado antes de comprar la versión completa. Es una forma de ofrecer una demostración del software antes de la compra.
Cuándo se usaSe utilizan principalmente en software comercial, donde la empresa busca proteger su propiedad intelectual y generar ingresos a través de la venta o suscripción del software.Son comunes en proyectos que buscan promover la innovación colaborativa y la transparencia, permitiendo a cualquier usuario contribuir al desarrollo y mejora del software.Generalmente se utilizan para software que busca una amplia distribución sin coste para el usuario, pero donde el autor retiene todos los derechos de propiedad intelectual.Utilizado por desarrolladores que quieren que los usuarios prueben el software antes de comprometerse a comprarlo.
EjemplosMicrosoft Office: un conjunto de aplicaciones de productividad que incluye Word, Excel y PowerPoint.
Adobe Photoshop: un programa avanzado de edición de imágenes y gráficos utilizado profesionalmente en diseño y fotografía.
Linux: un sistema operativo ampliamente utilizado en servidores y sistemas integrados. Hay varias distribuciones, como Ubuntu o Fedora.
Mozilla Firefox: un navegador web popular conocido por su enfoque en la privacidad y la personalización.
Skype: una aplicación de comunicación para videollamadas y mensajes.
Adobe Acrobat Reader: un lector de PDF utilizado para abrir, visualizar e imprimir archivos PDF.
WinRAR: un programa para comprimir y descomprimir archivos.
Malwarebytes: Este es un software de seguridad que ofrece una versión de prueba gratuita y avanzada para la detección y eliminación de malware. Después de un período de prueba, los usuarios pueden optar por comprar la versión completa para mantener el acceso a todas las funcionalidades.

4.1.3. Interfaces de Usuario

La interfaz de usuario es la cara del sistema operativo; es lo que ves y con lo que interactúas

Algunos sistemas operativos, como MacOS, se centran en una interfaz intuitiva y estéticamente agradable, similar a una ciudad con un diseño moderno y fácil de navegar.

Otros, como algunas distribuciones de Linux, ofrecen una interfaz altamente personalizable, permitiendo a los usuarios diseñar 100% la apariencia y disposición de sus elementos.

4.2. Gestión de Procesos

La gestión de procesos es un aspecto fundamental en los sistemas operativos, fundamental para el funcionamiento eficiente de los ordenadores. En este apartado, exploraremos cómo los sistemas operativos manejan múltiples tareas, garantizando que el hardware se utilice de manera óptima y que las aplicaciones funcionen sin molestarse unas a otras.

4.2.1. ¿Qué es un proceso?

Un proceso es básicamente un programa en ejecución. Contiene el código del programa y su actividad actual. Cuando abres un navegador web o un procesador de textos, estás iniciando un proceso. Imagina que cada proceso es como un empleado en una oficina: cada uno tiene su tarea, pero todos necesitan recursos como: conexión a internet, material de oficina, tiempo de atención y espacio para trabajar. Los procesos son iguales, necesitan una cuota de memoria, tiempo de procesador, acceso a periféricos, etc.

4.2.2. Creación y gestión de procesos

Los procesos se crean mediante un proceso padre. Este es como un “gerente” que inicia nuevas tareas. Por ejemplo, cuando abres una nueva pestaña en tu navegador, el proceso del navegador (padre) crea un nuevo proceso (hijo) para esa pestaña.

¿Pero cómo hace el sistema operativo para gestionar estos procesos? Los sistemas operativos usan algoritmos para gestionar estos procesos. Piensa en ello como un coordinador en la oficina que decide qué empleado trabaja en qué tarea y por cuánto tiempo. Esto garantiza que todos los procesos tengan tiempo para ejecutarse y que el sistema funcione sin problemas.

4.2.3. Estados de un proceso

Los procesos pasan por varios estados:

  • Nuevo: el proceso está siendo creado.
  • En ejecución: el proceso está siendo ejecutado en la CPU.
  • En espera: el proceso espera por un evento para continuar, como la carga de una página web, el acceso a un fichero o la disponibilidad de la impresora.
  • Listo: el proceso está listo para ser ejecutado por la CPU.
  • Terminado: el proceso ha completado su ejecución.

Estos estados son como las diferentes etapas de un proyecto en la oficina, desde su inicio hasta su conclusión.

4.2.4. Planificación de procesos

La planificación de procesos se refiere al método que usa el sistema operativo para decidir qué proceso ejecutar en cada momento. Es como un policía de tráfico, que se asegura de dar paso o parar, para que todo el mundo pueda continuar su camino sin accidentes. Los algoritmos de planificación varían en su enfoque: algunos priorizan tareas urgentes, mientras que otros buscan un equilibrio entre todas las tareas.

Aunque hay muchos, tres de los más importantes y comúnmente utilizados son:

1. Planificación First-Come, First-Served (FCFS, también llamado FIFO –First In First Out– o cola): este es el algoritmo de planificación más simple. Funciona como su nombre indica: el primer proceso en llegar es el primero en ser atendido. Los procesos se gestionan en el orden en que llegan, sin prioridades.

Es similar a una cola en una cafetería: el primer cliente en llegar será el primero en ser atendido.

2. Planificación Round Robin (RR): este algoritmo asigna un tiempo fijo o quantum a cada proceso en la cola. Los procesos se ejecutan en un orden circular, y cada uno recibe un tiempo de CPU igual antes de pasar al siguiente en la cola. Si un proceso no finaliza en su quantum asignado, se coloca al final de la cola y espera otro turno.

Veamos de forma práctica cómo gestiona un ordenador los procesos utilizando este algoritmo de planificación:

Aquí tienes una plantilla a la que le puedes hacer una copia para resolver cada uno de los ejercicios propuestos sobre planificación de procesos con Round Robin.

3. Planificación por prioridades: en este algoritmo, cada proceso se asigna a una cierta prioridad. Los procesos con mayor prioridad se ejecutan primero. Si dos procesos tienen la misma prioridad, se pueden usar otros algoritmos, como FCFS, para determinar cuál se ejecuta primero.

Es como en una sala de emergencias donde los pacientes con condiciones más graves son atendidos antes que aquellos con problemas menores.

Ejercicio 4.1 – Planificación Round Robin I

Realiza la planificación del procesador aplicando el algoritmo de planificación Round Robin con quantum 3 de los siguientes procesos: A llega en el instante 0 y necesita 10 unidades de tiempo, B llega en el instante 1 y necesita 1 unidad de tiempo, C llega en el instante 2 y necesita 4 unidades de tiempo, D llega en el instante 3 y necesita 7 unidades de tiempo.

Accede a esta plantilla, hazle una copia, ponle de nombre Ejercicio 4.1, rellénala con tu solución y entrega en classroom un enlace público.

Ejercicio 4.2 – Planificación Round Robin II

Realiza la planificación del procesador aplicando el algoritmo de planificación Round Robin con quantum 3 de los siguientes procesos: A llega en el instante 0 y necesita 10 unidades de tiempo, B llega en el instante 1 y necesita 1 unidad de tiempo, C llega en el instante 2 y necesita 4 unidades de tiempo, D llega en el instante 4 y necesita 7 unidades de tiempo.

Accede a esta plantilla, hazle una copia, ponle de nombre Ejercicio 4.2, rellénala con tu solución y entrega en classroom un enlace público.

4.2.5. Multitarea y multiproceso

Estos dos conceptos se usan en ocasiones como sinónimos, pero no lo son.

Multitarea hace referencia a la capacidad del sistema operativo para manejar múltiples tareas al mismo tiempo. Por ejemplo, puedes escuchar música mientras escribes un documento. Es como hacer malabares: mantener varias bolas en el aire al mismo tiempo.

En cambio, el multiproceso implica varios procesos trabajando en conjunto para realizar una tarea más grande. Esto es como un equipo trabajando en diferentes partes de un proyecto para lograr un objetivo común.

4.3. Sistema de archivos

El sistema de archivos es una parte integral de los sistemas operativos, actuando como el método organizativo por el cual los datos se almacenan y recuperan en un dispositivo de almacenamiento. Es como el sistema de una biblioteca, donde cada libro (archivo) tiene su lugar específico y está catalogado para fácil acceso.

4.3.1. Concepto de sistema de archivos

Un sistema de archivos es un conjunto de normas y procedimientos que controlan cómo se almacenan y organizan los datos en dispositivos de almacenamiento, como discos duros o un pendrive. Es el marco que permite al sistema operativo saber dónde comienza y termina cada archivo, evitando la confusión y el caos de datos.

4.3.2. Tipos de Sistemas de Archivos

Existen varios tipos de sistemas de archivos, muchos de los cuales ya han caído en desuso por haber aparecido otras opciones más eficientes. Los tres siguientes son algunos de los más utilizados en la actualidad:

  • NTFS (New Technology File System): utilizado principalmente en Windows, ofrece soporte para grandes volúmenes de almacenamiento y características como cifrado y recuperación de datos.
  • ext4 (fourth extended filesystem): común en sistemas Linux, es conocido por su estabilidad y capacidad para manejar grandes cantidades de archivos.
  • APFS (Apple File System): diseñado por Apple, se utiliza en macOS, iOS y otros sistemas operativos de Apple, destacando por su eficiencia en dispositivos con almacenamiento basado en flash y cifrado de datos.

4.3.3. Funciones del Sistema de Archivos

Podría pensarse que las funciones del sistema de archivos de un sistema operativo son sencillas, ya que se encargan solo de gestionar los archivos del equipo. Sin embargo, realizar esta tarea de manera eficiente no es nada fácil, mucho más si tenemos en cuenta que el sistema de archivos se encarga de todo esto:

  • Almacenamiento de datos: similar a cómo los libros se almacenan en estanterías en una biblioteca, los archivos se guardan en el dispositivo de almacenamiento. Cada archivo tiene su espacio designado.
  • Gestión de espacio: el sistema de archivos controla cómo se utiliza el espacio en el disco, similar a cómo un bibliotecario gestiona el espacio en las estanterías para asegurar que hay lugar para nuevos libros. Esto incluye tareas de optimización para compactar los pequeños espacios libres y crear un espacio mayor.
  • Seguridad: al igual que una biblioteca puede tener secciones restringidas, el sistema de archivos puede tener medidas de seguridad para proteger datos sensibles y controlar quién tiene acceso a qué archivos, especialmente a aquellos destinados al buen funcionamiento del propio sistema operativo.
  • Recuperación de datos: en caso de un fallo, algunos sistemas de archivos tienen métodos para recuperar datos perdidos, como un bibliotecario que restaura libros dañados.

4.3.4. Jerarquía de directorios

Los sistemas de archivos utilizan una estructura jerárquica de directorios y subdirectorios, como las diferentes secciones y estantes de una biblioteca. Esta estructura ayuda a organizar los archivos de manera lógica y eficiente.

Los directorios son como las secciones de una biblioteca (por ejemplo, narrativa, posesiva, novela, ensayo, etc.). En un ordenador, podrían ser Documentos, Imágenes, Música, etc. Además, dentro de cada uno de esos directorios (o carpetas), podríamos tener subdirectorios, que son como subsecciones dentro de una sección de la biblioteca. Dentro de ellos otros subdirectorios y así indefinidamente hasta tener una jerarquía con la que nos encontremos cómodos. Bueno, indefinidamente no, porque la cantidad de niveles de anidamiento viene determinada por la cantidad de caracteres que forman parte de su ruta de acceso.

Por ejemplo: si tuviéramos esta ruta de acceso:
C:/uno/dos/tres/cuatro/cinco/seis/siete/ocho/nueve/diez/miarchivo.txt 
tendríamos 10 niveles de anidamiento, es decir, una profundidad de subdirectorios de 10 niveles. La ruta en este caso tiene 69 caracteres, y en el caso de Windows, el límite máximo son 32.767 caracteres (¡una ruta 475 veces más larga que la de nuestro ejemplo!). Sin embargo, existe una limitación en las versiones estándar de hasta 260 caracteres, porque el resto de aplicaciones no son capaces de manejar rutas más largas.

4.4. Gestión de usuarios

La gestión de usuarios en los sistemas operativos es comparable a la administración de un instituto donde cada alumno, profesor y personal administrativo tiene roles y accesos específicos a diversos recursos. En un sistema operativo, la gestión de usuarios asegura que cada persona tenga acceso a lo que necesita y esté restringida de lo que no debería manipular, manteniendo así un equilibrio entre accesibilidad y seguridad.

4.4.1. Creación y administración de cuentas de usuario

Al igual que en el instituto donde cada miembro tiene una identificación única, en los sistemas operativos, la creación de cuentas de usuario es el primer paso hacia una gestión eficaz. Estas cuentas pueden ser de diferentes tipos, dependiendo del nivel de acceso que tengan:

  • Cuentas de administrador: son como los directores de un instituto. Tienen permisos completos para cambiar ajustes, instalar software y modificar cuentas de otros usuarios. Son indispensables para el mantenimiento y la gestión del sistema, pero su uso indebido puede ser peligroso para la integridad del propio sistema.
  • Cuentas de usuario estándar: estas cuentas son como los estudiantes o profesores. Tienen acceso limitado, adecuado para tareas diarias. No pueden realizar cambios críticos en el sistema, lo cual protege la integridad del sistema operativo.

Estas dos son las dos cuentas principales presentes en todos los sistemas operativos. Luego, cada sistema operativo puede tener otro tipo de cuentas como Invitado o Superadministrador; cada una de ellas con permisos específicos para poder completar las tareas para las que tienen privilegios.

Administración de cuentas de usuario en Windows 10.

Administración de cuentas de usuario en Linux.

Administración de cuentas de usuario en MacOS.

4.4.2. Permisos

Los permisos son reglas que definen las capacidades de una cuenta de usuario. Funcionan como las reglas en un centro educativo que determinan qué áreas y recursos pueden usar los estudiantes y qué espacios y herramientas los profesores. En un sistema operativo, estos permisos determinan qué archivos y aplicaciones puede acceder, modificar o ejecutar cada tipo de usuario.

Al mismo tiempo, cada archivo y aplicación en un sistema operativo tiene un conjunto de permisos que determinan quién puede leer, escribir o ejecutarlos.

A nivel de usuario, la tarea más frecuente que solemos necesitar en un sistema operativo de escritorio es controlar el acceso a carpetas concretas de nuestro disco duro.

[ Cómo modificar los permisos de un directorio en Windows. ]

Por otro lado, cuando hablamos de dispositivos móviles la cosa cambia. Son muchos los permisos que solemos conceder, y no siempre sabemos cómo gestionarlos:

Cómo gestionar los permisos en Android.

Cómo gestionar los permisos en iOS.

Además, el tema de los permisos en los dispositivos móviles, y en el mundo de las aplicaciones en general, se está convirtiendo en un problema cada vez más grande. ¿Por qué necesita conocer tu ubicación una aplicación para crear memes? ¿Y la aplicación que edita tus fotos, para qué necesita acceso al micrófono? 

Debes ser consciente de que muchas veces tenemos mucho interés en utilizar la última aplicación de moda, y esta impaciencia por probarla nos hace aceptar cualquier cosa que la aplicación nos presenta como paso previo a su uso. Ten mucho cuidado porque cada permiso que concedes es una puerta abierta a tu privacidad, en el mejor de los casos, o a todo tu dispositivo en el peor.

Si no tienes demasiado claro qué permisos has otorgado a qué aplicaciones, te recomiendo que revises este vídeo.

No tienes más que aplicar tu sentido común para descubrir si un permiso solicitado por una aplicación está justificado para la aplicación concreta que se trate en cada momento. Si no le encuentras sentido, simplemente no lo concedas y si eso significa que no puedas usar la aplicación, créeme, la seguridad de tu dispositivo vale más que cualquier aplicación de moda.

4.4.3. Grupos de usuarios

Los grupos de usuarios en un sistema operativo son como los diferentes departamentos de un instituto. Permiten una gestión más sencilla de permisos para un conjunto de usuarios. Por ejemplo, el departamento de Física y Química podría tener acceso a ciertos laboratorios, mientras que el departamento de Educación Física tendría acceso al gimnasio. De la misma manera que el departamento de Informática no tiene porqué tener acceso a los balones, el de Lengua no tiene porqué tener acceso a los componentes electrónicos de Robótica. Así, en un sistema operativo, un grupo de usuarios podría tener acceso a ciertos archivos o aplicaciones, facilitando la administración de permisos para múltiples usuarios.

Creación y administración de grupos

La creación de grupos de usuarios se realiza generalmente a través del panel de control del sistema operativo o mediante comandos específicos en la terminal.

Por ejemplo, en un sistema Linux, puedes crear un grupo llamado tic1 utilizando el comando groupadd.

Una vez creado un grupo, los administradores pueden añadir usuarios a estos grupos.

Por ejemplo, en Windows, esto se hace a través de Cuentas de Usuario en el Panel de Control, mientras que en Linux, se utiliza el comando usermod (así añadiríamos al usuario marcostoscano al grupo tic1):

De la misma manera, podemos eliminar al usuario del grupo:

Gestión de permisos

Los grupos se utilizan para asignar permisos colectivos. Esto significa que cualquier permiso asignado a un grupo se aplica automáticamente a todos los usuarios del grupo.

Por ejemplo, un grupo llamado PROFESORES podría tener acceso de lectura y escritura a ciertos directorios educativos, mientras que un grupo ESTUDIANTES podría tener solo permisos de lectura. Si en un servidor del instituto, accesible por toda la comunidad educativa, tuviéramos una carpeta compartida de apuntes (/IES/publica/apuntes), los profesores deberían poder leer y escribir en ella (descargar y subir apuntes), pero los alumnos sólo leer (descargar apuntes). Para lograr este comportamiento podríamos proceder así.
Cambiamos el grupo de la carpeta al grupo de usuarios PROFESORES:

Establecemos los permisos para la carpeta:

775 en este contexto significa permisos de lectura, escritura y ejecución para el propietario (7) y PROFESORES (7), y lectura y ejecución para el resto (5).

4.4.4. Seguridad y auditoría

La seguridad y auditoría son componentes críticos en la administración de sistemas operativos, también en entornos educativos donde se manejan muchos usuarios y datos sensibles. En el contexto de nuestra carpeta del ejemplo anterior, implementar una estrategia de seguridad y auditoría efectiva implica no solo restringir el acceso, sino también registrar quién accede a la carpeta y cuándo.

Para auditar el acceso a la carpeta /IES/publica/apuntes, primero necesitas activar la auditoría en tu sistema. Esto se hace a través de la configuración del sistema y herramientas específicas para el monitoreo de archivos y directorios. En Linux, puedes usar el subsistema de auditoría (auditd) para este propósito.
1. Instalación de audit (si aún no está instalado):

2. Configuración de las reglas de auditoría:

Esto audita la lectura (r), escritura (w) y atributos (a) de la carpeta /IES/publica/apuntes. La opción -k asigna una clave (apuntes-audit) para facilitar la búsqueda en los registros.
3. Revisión de los registros de auditoría: para revisar los registros de acceso a la carpeta, utilizamos el comando ausearch:

Un registro de auditoría para la carpeta /IES/publica/apuntes, podría verse así:

Veamos algunos elementos importantes de este registro:

  • Fecha y hora: 2024-01-10 08:30:21.123 indica cuándo se accedió a la carpeta.
  • Usuario: auid=1000 y uid=1000 identifican al usuario que realizó la acción (aquí representado por su identificador.
  • Grupo: gid=1005 indica el grupo del usuario.
  • Acción realizada: comm=”nano” muestra que el usuario estaba utilizando el editor nano, probablemente para editar o leer un archivo.
  • Tipo de acceso: syscall=2 se relaciona con la operación realizada, en este caso, una operación de apertura de archivo.
  • Resultado: success=yes indica que la operación fue exitosa.
  • Clave de auditoría: key=”apuntes-audit” muestra que esta entrada de registro está relacionada con nuestra regla de auditoría específica.

Como puedes ver, el sistema operativo es capaz de registrar hasta el más mínimo detalle de todo lo que ocurre en su interior. Sólo es necesario configurar correctamente las herramientas de que dispone, para poder realizar un seguimiento de qué hizo quién en qué momento.

4.5. Gestión de dispositivos

La gestión de dispositivos en un sistema operativo es comparable a cómo un entrenador asegura que cada jugador esté en el lugar que le corresponde desempeñando las tareas encomendadas. En un ordenador, los jugadores son los dispositivos de hardware como impresoras, discos duros, dispositivos de entrada/salida, etc. La gestión efectiva de estos dispositivos es muy importante para la funcionalidad del sistema.

4.5.1. Configuración de dispositivos

Al igual que el entrenador integra a nuevos jugadores en el equipo, un sistema operativo automáticamente detecta y configura nuevos dispositivos conectados. Esto se consigue mediante un proceso llamado enumeración de dispositivos, donde el sistema operativo consulta y reconoce los dispositivos conectados, asignándoles los recursos necesarios para su funcionamiento.

Por ejemplo, cuando conectas un USB a tu ordenador, el sistema operativo lo detecta automáticamente, carga los drivers necesarios y lo hace accesible para almacenar o transferir archivos.

Puedes acceder a la configuración de cualquier dispositivo en Windows 10 pulsando sobre el botón de inicio y luego seleccionando el botón de Configuración:

En la ventana que sale, pulsas sobre Dispositivos:

Ahí puedes ver todos los dispositivos reconocidos por el sistema operativo. Para ver aún más detalles, puedes pulsar en Dispositivos e impresoras (en el margen derecho de la ventana), y obtendrás una nueva ventana donde se listan todos los dispositivos.

Además, podrás agregar manualmente un dispositivo nuevo siguiendo un sencillo asistente que te guiará a lo largo de todo el proceso:

Finalmente, si en la lista de los dispositivos que aparecen quieres configurar algún aspecto del mismo, puedes situarte sobre uno de ellos, sacar el menú contextual haciendo clic con el botón derecho del ratón y verás varias opciones disponibles que serán distintas en función del tipo de dispositivo que se trate. Aún así, hay una opción -la última-, llamada Propiedades que es común a todos los dispositivos y que puedes consultar para verificar la configuración del dispositivo, eliminarlo o solucionar problemas.

4.5.2. Actualización de drivers

Los drivers o controladores son como las tareas que tiene encomendadas cada jugador; le dicen al sistema operativo sobre cómo interactuar con cada hardware específico. La correcta instalación y actualización de estos drivers es fundamental para el funcionamiento adecuado de los dispositivos.

Si instalas, por ejemplo, una nueva impresora, necesitarás instalar el driver correspondiente para que el sistema operativo sepa cómo enviar documentos a imprimir.

Las actualizaciones de drivers suelen mejorar la funcionalidad y, sobre todo, la seguridad del dispositivo.

Normalmente, cuando actualizas el sistema operativo, ya se incorporan actualizaciones de drivers disponibles para los dispositivos que tienes instalados en tu equipo. Pero si no fuera así, puedes forzar esta actualización dirigiéndote a la web del fabricante del dispositivo, buscar el modelo y descargar e instalar sus drivers. Esta es una tarea muy común, especialmente con las impresoras. 

Aunque normalmente, la instalación automática que realiza el sistema operativo incluye las funciones básicas que utiliza el dispositivo, si instalas manualmente el driver que descargas desde la web del fabricante, suelen incorporar otras herramientas útiles que amplían las capacidades del dispositivo:

Recuerda, primero actualiza tu sistema operativo, luego prueba a instalar el driver manualmente y si esto no resuelve tu problema, la tercera opción es acceder a la pestaña Propiedades del dispositivo (que vimos al final de la sección anterior) y utilizar el botón Actualizar controlador para darle tú manualmente el archivo de configuración que controla el dispositivo:

Otra forma rápida de acceder a la administración de los dispositivos, y por ejemplo actualizar su controlador, es pulsando con el botón derecho del ratón sobre el icono de inicio y seleccionar Administrador de dispositivos:

4.5.3. Gestión de recursos

Al igual que el entrenador realiza cambios tácticos aumentando o disminuyendo el peso de cada jugador en el juego, el sistema operativo asigna recursos como direcciones de memoria, IRQs (Interrupciones) y canales DMA (Direct Memory Access) a los dispositivos para evitar conflictos y asegurar un funcionamiento equilibrado.

A veces, dos dispositivos pueden entrar en conflicto, por ejemplo, intentando usar el mismo recurso simultáneamente. El sistema operativo actúa como mediador, reasignando recursos o ajustando configuraciones para resolver estos conflictos.

Por ejemplo, si instalas dos tarjetas gráficas en un ordenador, podrían intentar usar el mismo canal de comunicación para enviar imágenes a la pantalla, esto puede generar un conflicto de hardware. El sistema operativo, al detectar esta situación, puede reasignar canales para evitar la inconsistencia, asegurando que ambos dispositivos funcionen correctamente o en última instancia deshabilitar uno en favor de otro.

4.5.4. Mantenimiento de dispositivos

Los sistemas operativos monitorizan el rendimiento de los dispositivos conectados. Esto puede incluir verificar la salud del disco duro, el nivel de batería en dispositivos inalámbricos, o la temperatura de componentes críticos.

Por ejemplo, un administrador de servidores puede usar herramientas del sistema operativo para monitorear el rendimiento de los discos duros o su capacidad de almacenamiento disponible, para prevenir fallos y planificar reemplazos o tareas de mantenimiento.

El mantenimiento eficiente de dispositivos en sistemas operativos como Windows 10, es clave para asegurar un rendimiento óptimo del hardware. Algunas de las tareas de mantenimiento más importantes que podemos hacer las encontraremos en el menú de inicio, bajo el epígrafe Herramientas administrativas:

4.5.5. Interfaz con el usuario

La gestión de dispositivos también implica proporcionar una interfaz amigable para que los usuarios interactúen con los dispositivos. Esto incluye paneles de control, configuraciones y asistentes que ayudan en la instalación, configuración y solución de problemas de los dispositivos.

Por ejemplo, un profesor que desea conectar su portátil a un proyector en el aula puede utilizar una interfaz gráfica para configurar la pantalla extendida, ajustar la resolución, o solucionar problemas de conexión.

4.5.6. Compatibilidad

Con el constante avance tecnológico, la gestión de dispositivos también implica asegurarse de que los dispositivos más antiguos sigan siendo compatibles con las nuevas versiones del sistema operativo.

Por ejemplo, al actualizar el sistema operativo de los ordenadores de las aulas, en el instituto, el equipo de coordinación TDE debe asegurarse de que todos los dispositivos periféricos, como impresoras y escáneres, sigan siendo compatibles y funcionales con la nueva versión. Por eso, puedes ver en algunas aulas que el sistema operativo del ordenador es muy antiguo; lo es porque es la única versión capaz de hacer funcionar correctamente la pizarra digital que se utiliza en el día a día.

Éstas son algunas de las limitaciones que es necesario tener en cuenta, porque a veces, como acabamos de comprobar, tener la última versión del sistema operativo -que es lo deseable- podría romper completamente todo el equipo informático que utilizamos en nuestro trabajo.

Además, no es sólo una cuestión de disponibilidad de soluciones actualizadas, sino también de negocio. Las tablets Apple -como la primera versión de iPad, entre otras-, son unos dispositivos tremendamente robustos, nadie puede dudar de la calidad de sus componentes. 

Sin embargo, en la mayoría de las ocasiones, los usuarios se ven forzados a renovarlas por equipos nuevos simplemente porque las aplicaciones que van saliendo no se pueden instalar. ¿Por qué? ¿El motivo es que la tablet es antigua y no es capaz de hacer funcionar la nueva app? No, no es una limitación del hardware del dispositivo, sino del sistema operativo. El propio fabricante, ha dejado de actualizar el sistema operativo de ese modelo para forzarte a que compres una más nueva y que la rueda de las ventas siga girando.

4.6. Monitorización

La monitorización y el rendimiento en los sistemas operativos son como el pulso y la salud de un atleta: es fundamental medirlos para un funcionamiento óptimo. En el contexto de un sistema operativo, esto implica herramientas y prácticas para supervisar el estado del sistema y asegurarse de que todos los componentes funcionan de manera eficiente.

Prácticamente todos los sistemas operativos incorporan herramientas que nos permiten monitorizar su rendimiento. Además, existen otras aplicaciones complementarias que podemos descargar para realizar esta importante tarea.

En el caso de Windows, tenemos a nuestro alcance el Administrador de Tareas. Podemos acceder a él, pulsando con el botón derecho del ratón sobre el botón de inicio y seleccionando la opción indicada.

Las dos partes más importantes de este administrador son las pestañas dedicadas a los procesos y al rendimiento

La primera de ellas, hace referencia a todos los programas que están en ejecución en un momento dado. Así, pulsando sobre las columnas CPU, Memoria o Disco, podemos ver qué aplicaciones son las que están consumiendo la mayor parte de los recursos. En la imagen puede verse, cómo los distintos subprocesos de Google Chrome están consumiendo nada más y nada menos que 1,7GB de memoria RAM.

La otra pestaña, la de rendimiento, es un buen punto de partida cuando queremos saber por qué nuestro ordenador va tan lento. Si por ejemplo, estamos con el ordenador encendido, sin usar ninguna aplicación, pero el indicador de la CPU está muy alto, quiere decir que hay alguna aplicación trabajando intensamente en segundo plano. Esto puede ser indicativo de actividad maliciosa como virus o malware.

En este sitio web tienes un análisis de las 9 mejores herramientas para la monitorización de sistemas operativos.

4.7. Instalación y configuración de sistemas operativos

Instalar y configurar un sistema operativo incluye varios pasos clave, desde la selección del sistema adecuado hasta su configuración final para satisfacer las necesidades específicas del usuario.

4.7.1. Elección del sistema operativo

El primer paso para seleccionar un sistema operativo es conocer las necesidades del usuario que lo va a explotar. No tiene sentido utilizar un sistema operativo complejo para un usuario principiante, ni un sistema operativo generalista para un experto en ciberseguridad. Por eso, es necesario que conozcas el usuario tipo de cada uno de los sistemas operativos más usados de la actualidad.

Empecemos con Windows, que es como el todoterreno de los sistemas operativos. Su popularidad y amplia adopción lo hacen ideal para un entorno de oficina o educativo, donde la compatibilidad con una amplia gama de software es clave. En el mundo corporativo, su integración con potentes herramientas de oficina y comunicación lo convierte en una elección predilecta.

Por otro lado, Linux es como un vehículo hecho a medida, apreciado por su flexibilidad y seguridad. En el mundo de los servidores, data centers y supercomputadores, Linux es rey, gracias a su estabilidad, seguridad y naturaleza de código abierto. Además, en el ámbito educativo, especialmente en carreras de informática y programación, Linux es una herramienta indispensable para enseñar a los futuros ingenieros sobre sistemas operativos y programación.

Mientras tanto, macOS se asemeja a un elegante coche deportivo, preferido por profesionales creativos y diseñadores. Con su interfaz refinada y énfasis en la experiencia del usuario, macOS es la elección predilecta entre los artistas gráficos, editores de vídeo y músicos. Su integración perfecta con el ecosistema de hardware y software de Apple lo hace ideal para aquellos que valoran un entorno de trabajo sin fisuras y una estética pulida.

En el mundo de los dispositivos móviles, Android se destaca como un sistema operativo versátil y personalizable, similar a un vehículo utilitario que se puede modificar para satisfacer una amplia gama de necesidades. Su naturaleza de código abierto y la variedad de dispositivos que lo soportan lo hacen accesible para un amplio espectro de usuarios, desde aquellos que buscan un teléfono inteligente básico hasta los entusiastas de la tecnología que desean las últimas innovaciones. 

Por último, iOS, el sistema operativo de los iPhones y iPads de Apple, es como un vehículo de lujo, conocido por su diseño elegante y su sistema seguro. Es la elección ideal para aquellos que valoran la seguridad, la calidad y la simplicidad de uso. En el ámbito empresarial, iOS es apreciado por su ecosistema integrado, que facilita la sincronización de tareas y la comunicación entre dispositivos. 

4.7.2. Preparación para la Instalación

Antes de la instalación, es importante verificar que el hardware cumpla con los requisitos mínimos del sistema operativo elegido. Esto podrás comprobarlo visitando el sitio web de cada fabricante, aunque en la mayoría de los casos será una información que se dará al usuario al inicio del proceso de instalación.

Necesitarás crear un medio de instalación, como una unidad USB de arranque o un disco, que actuará como el guión desde el cual se instalará el sistema operativo (en los dispositivos móviles no es necesario, puesto que ya lo incorporan de fábrica). Todos los sistemas operativos que lo necesitan cuentan con herramientas que te permitirán crear este disco de arranque.

En el caso de Windows, aquí puedes crear un medio de instalación para cualquiera de los sistemas operativos de Microsoft.

4.7.3. Proceso de instalación

Antes de instalar, debes configurar el BIOS o UEFI de tu ordenador para arrancar desde el medio de instalación. El BIOS (Basic Input/Output System) y la UEFI (Unified Extensible Firmware Interface) son dos tipos de firmware que desempeñan un papel crucial en el funcionamiento de los ordenadores. Aunque tienen funciones similares, son distintos en términos de tecnología y capacidades.

El firmware es un tipo de software integrado en hardware, como placas base o dispositivos electrónicos, que proporciona las instrucciones básicas para que el dispositivo se comunique y opere correctamente. Lo llevan integrados toda clase de dispositivos como lavadoras, frigoríficos, robots de limpieza, etc.

La BIOS es un firmware más antiguo que se utiliza para inicializar y probar el hardware del sistema al arrancar, con una interfaz básica y limitaciones en cuanto a tamaño de disco y velocidad de arranque. Por otro lado, la UEFI es su sucesor moderno con una interfaz gráfica avanzada, tiempos de arranque más rápidos, soporte para discos duros de mayor tamaño y características de seguridad mejoradas como el Secure Boot.

Para acceder a la BIOS/UEFI cada dispositivo cuenta con su propio método, aunque normalmente se trata de pulsar una tecla específica (Suprimir, F10, F8, F12,…) justo después de pulsar el botón de encendido.

Una vez que hayas accedido a la BIOS/UEFI, debes localizar la sección dedicada al arranque del ordenador (Boot System). Te aparecerá una lista de localizaciones desde la que el ordenador arranca, como disco duro, USB, disco óptico, red, etc. Coloca como primera opción, la que vayas a utilizar y sal de la BIOS/UEFI guardando los cambios.

Inmediatamente después, el ordenador comenzará a arrancar desde la localización que le has establecido, encontrará el programa de instalación y comenzará el proceso. 

Sigue las instrucciones en pantalla para instalar el sistema operativo. Durante la instalación, se te pedirá que elijas aspectos como la distribución del disco, las opciones de red, tu idioma, zona horaria, nombre de usuario, etc.

Una vez terminada la instalación tendrás un sistema operativo completamente limpio, listo para usar.

4.7.4. Configuración post-instalación

Tras la instalación, lo primero que debes hacer es actualizar el sistema. Es posible que el propio sistema operativo lo haga de forma automática en sucesivas etapas. 

Después, comprueba que funcionan todos tus dispositivos. Si tienes impresoras, webcams, auriculares u otros dispositivos, te recomiendo que los vayas conectando uno a uno, no todos a la vez. Es decir, reinicias el sistema, conectas un dispositivo y cuando compruebes que funciona correctamente, reiniciar y conectar otro. Así, evitarás problemas de incompatibilidad que luego es difícil de localizar y podrás resolver los problemas uno a uno teniendo la seguridad de que sabes qué dispositivo está produciendo el error. 

Cuando tengas todos tus dispositivos conectados y actualizados, es hora de configurar la seguridad. Instala un antivirus o configura el antivirus incluido en tu sistema operativo. Haz lo mismo con el firewall.

Un firewall es un sistema de seguridad que controla y filtra el tráfico de red entrante y saliente basándose en un conjunto de reglas de seguridad, protegiendo así contra accesos no autorizados, mientras que un antivirus es un programa diseñado para detectar, prevenir y eliminar malware, como virus, gusanos y troyanos, escaneando el sistema y los archivos en busca de patrones maliciosos. La principal diferencia es que un firewall se centra en proteger contra amenazas externas a través del tráfico de red, mientras que un antivirus se enfoca en detectar y eliminar malware ya presente en el sistema.

4.7.5. Personalización

Ahora que tienes un sistema funcional y seguro, puedes personalizarlo. Revisa la configuración del sistema y adáptalo a las necesidades específicas del usuario. Esto puede incluir ajustes de la interfaz de usuario, opciones de accesibilidad, configuración de red e instalación de aplicaciones.

En función del uso previsto del sistema, puede ser necesario optimizar ciertos aspectos para mejorar el rendimiento, como ajustar la configuración de energía para un portátil o modificar la configuración del sistema para obtener un mejor rendimiento en aplicaciones específicas.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *