UD 5. Sistemas Operativos
UD 5. Sistemas Operativos
Un sistema operativo es un conjunto de programas destinado a administrar los recursos de un ordenador. Su misión es servir de puente entre los circuitos del ordenador (hardware), sus programas (software) y el usuario.
El sistema operativo tiene dos objetivos principales:
Comodidad: Debe ser cómodo y accesible para los usuarios.
Eficiencia: Gestionar los recursos tanto de hardware como de software de forma eficaz y adecuada.
Interfaz de usuario
Es la forma en la que un usuario se comunica con el ordenador. Recibe las órdenes del exterior y muestra la información a través de la pantalla. Existen tres tipos básicos de interfaces de usuario:
Intérprete de comandos
Sistema de menús
Entornos gráficos
Administración de recursos de hardware
Todas las piezas conectadas a un ordenador son gestionadas por el sistema operativo.
Administración de archivos
Controla el acceso, creación y borrado de archivos y programas.
Administración de tareas
Hace posible que varios programas puedan estar funcionando al mismo tiempo.
Afiancemos conceptos antes de seguir...
Se llama software al conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en un ordenador. Se suele decir que es la parte lógica de un sistema informático.
Podemos encontrar distintos tipos de software:
Software de Sistema
Se trata del software que nos permite tener una interacción con el hardware del ordenador, es decir, hablamos del programa que controla la CPU, también llamado sistema operativo. Dicho sistema esta formado por un conjunto de programas que administran los recursos hardware del ordenador y proporciona una interfaz de usuario amigable. Se trata del software esencial de un ordenador, sin él, no podría funcionar. Como ejemplo tenemos a Windows, Linux, Mac OS X. A su vez, lo podemos clasificar en:
Sistemas operativos: Windows, Linux, Mac OS,etc..
Controladores de dispositivos: Drivers, firmware,etc.
Utilidades de sistema: Herramientas de diagnóstico, corrección y optimización.
Software de Programación
Se trata del conjunto de aplicaciones que permiten a un programador desarrollar sus propios programas informáticos haciendo uso de sus conocimientos lógicos y lenguajes de programación. Algunos ejemplos serían:
Editores de programas.
Intérpretes de comandos.
Enlazadores.
Depuradores.
Entornos de desarrollo integrados (IDE).
Software de Aplicación
Se trata del conjunto programas que nos permiten realizar tareas especificas en nuestro sistema. A diferencia del software de sistema, el software de aplicación esta enfocado a un área específica para su utilización. La mayoría de los programas que utilizamos diariamente pertenecen a este tipo de software ya que nos permiten realizar diversos tipos de tareas en nuestro sistema. Las aplicaciones son parte del software de un ordenador y se ejecutan sobre un sistema operativo.
Una licencia de software es un contrato entre el licenciante ( autor/titular de los derechos de explotación/distribuidor ) y el licenciatario del programa informático ( usuario o empresa ), para utilizar el software cumpliendo una serie de términos y condiciones establecidas dentro de sus cláusulas.
Cuando compramos o bajamos de internet un programa, al instalarlo solemos aceptar sin leer ( mala costumbre ) un contrato que especifica el tipo de Licencia de uso del software (en inglés EULA o End User License Agreement); licencia por la cual el uso de un producto sólo está permitido para un único usuario ( el comprador ). Se trata de un acuerdo unilateral puesto que el usuario no tiene más opción que aceptar o rechazar el contenido del mismo.
Actividad 5.1 Hablemos de Software...
Volvemos a los sistemas operativos...
Se define un sistema operativo (SO) como el software de sistema que permite al ordenador el arranque, la gestión de los recursos y la comunicación usuario-dispositivos físicos (hardware).
El SO se inicia al encender el ordenador y se encarga de gestionar los recursos del sistema (hardware y software) permitiendo además la comunicación del usuario con la máquina.
Entre sus funciones básicas podemos destacar:
Gestionar los recursos hardware.
Servir de interfaz entre el usuario y el ordenador.
Gestionar la información en forma de archivos que contienen los datos.
Gestionar las tareas en ejecución.
Proporcionar seguridad en la gestión de recursos, información y usuarios.
Ser capaces de actualizarse, diagnosticar y resolver problemas, reconocer y habilitar periféricos y permitir a los distintos programas su ejecución.
Los sistemas operativos pueden clasificarse atendiendo a diversos criterios, por ejemplo:
Sistemas Monousuario: Se trata de aquellos SO en los que sólo un usuario puede trabajar con el ordenador en un momento dado ( a este grupo pertenecen las primeras versiones de muchos sistemas ).
Sistemas Multiusuario: Se trata de aquellos SO que permiten la ejecución u órdenes de varios usuarios a la vez. Actualmente casi todos los sistemas son de este tipo.
Sistemas MonoTarea: Estos SO no pueden ejecutar más de un programa a la vez.
Sistemas Multitarea: Estos SO si permiten la ejecución de varios programas. Actualmente casi todos los sistemas son de este tipo.
Sistema Monopuesto: Se trata de un sistema para ordenadores personales.
Sistema de Red: Se trata de un sistema fabricado para un entorno empresarial, normalmente se instala en un servidor de red.
Al igual que ocurre con los programas (no olvidemos que un SO está formado por un conjunto de programas) debemos diferencias entre sistemas operativos de software libre o libre distribución (gratuitos) y sistemas propietarios (cuya licencia se debe pagar, incluida o no en el precio del equipo). El sistema operativo libre más extendido es Linux y el sistema operativo propietario más extendido es Windows.
Primera generación (1950-1960): No existían sistemas operativos.
Segunda generación (1960-1970): Sistemas batch que procesaban trabajos en lotes.
Tercera generación (1970-1980): Aparición de los sistemas multitarea.
Cuarta generación (1980-presente): Sistemas gráficos populares como Windows y macOS.
Actualidad: Sistemas distribuidos, virtualización y móviles.
Actividad 5.2 Portfolio sobre Estructuras y Tipos de Sistemas Operativos...
Crear el Portfolio en Canva
Formato: Utiliza una plantilla de presentación de Canva. Usa una plantilla sencilla y personalízala con colores y tipografía clara.
Título del Portfolio: "Estructuras y Tipos de Sistemas Operativos".
Contenido obligatorio
Tu portfolio debe contener 5 secciones obligatorias, cada una con el contenido y elementos gráficos indicados:
Sección 1: Introducción
Definición de sistema operativo.
Objetivos principales: comodidad y eficiencia.
Elemento gráfico: Diagrama del funcionamiento de un sistema operativo (Hardware, SO, Software, Usuario).
Sección 2: Tipos de sistemas operativos por estructura
Explicación breve de Monolíticos, Microkernel, Híbridos, Exokernels y Virtualizados.
Ejemplos específicos para cada tipo.
Elemento gráfico: Un esquema visual que compare las estructuras (puedes usar tablas, diagramas o imágenes).
Sección 3: Ejemplos prácticos
Selecciona 2 tipos de sistemas operativos y explica un caso práctico donde se usen (por ejemplo: MS-DOS en sistemas antiguos, VMware ESXi en servidores).
Elemento gráfico: Captura de pantalla de un sistema operativo relacionado o una imagen representativa.
Sección 4: Comparativa y reflexión
Realiza una tabla comparativa con las ventajas y desventajas de al menos 3 estructuras (Monolíticos, Microkernel e Híbridos).
Reflexión personal: ¿Qué tipo de sistema operativo crees que será más relevante en el futuro y por qué?
Elemento gráfico: Añade un gráfico o iconos que representen tus ideas.
Sección 5: Conclusión y recursos
Resume brevemente lo aprendido sobre sistemas operativos y su evolución.
Incluye al menos 2 fuentes utilizadas (pueden ser notas de clase, libros o sitios web).
Elemento gráfico: Un diseño creativo para la conclusión (puedes usar un fondo, cita o iconos).
RECUERDA AÑADIR EL ENLACE DE LA DIAPOSITIVA DE CANVA EN TU CUADERNO DIGITAL
Se denomina sistema de archivos (filesystem en inglés) al modo de organizar y estructurar los datos y programas en un dispositivo de almacenamiento, normalmente disco duro.
El sistema de archivos será leído por un gestor de archivos para representar la información de manera textual o gráficamente.
Cada sistema operativo utiliza un sistema distinto:
Windows. Utiliza las letras; C, D, E, etc...
GNU/Linux: Monta las unidades de archivos en el directorio /dev. Se denominan hd o sd + una letra, por ejemplo; hda1, hdc, hdd, etc...
Es importante conocer tambien la diferencia entre Directorio y Subdirectorio:
Directorio: Un directorio o carpeta es un contenedor virtual en el que se almacena una agrupación de archivos informáticos y otros subdirectorios.
Subdirectorio: Cuando un directorio se encuentra dentro de otro directorio, entonces a esa carpeta o directorio, se le llama subdirectorio.
Por otro lado, todo directorio y/o archivo tiene un nombre asignado. Además, en el caso de los archivos tambien aparece el termino extensión. La extensión nos sirve para reconocer el tipo de archivo en cuestión. Esta extensión normalmente es asignada por los programas. Por lo tanto el nombre de un archivo estará compuesto siempre por dos partes separadas por un punto:
NOMBRE_ARCHIVO.EXTENSION (Ejemplo: CuadernoClase.docx )
El intérprete de comandos es una aplicación que se utiliza para comunicar al usuario con el sistema operativo mediante la escritura de órdenes que son conocidas por el sistema para la realización de determinadas tareas. El usuario escribe la orden y el sistema la interpreta y ejecuta devolviendo el correspondiente resultado.
El intérprete de comandos también recibe el nombre de símbolo de sistemas, cmd, consola de comandos, o Shell del sistema operativo.
Estas son las órdenes que vamos a utilizar nosotros más adelante:
Mostrar el directorio actual:
pwd: Muestra la ubicación actual en el sistema de archivos.
Listar archivos y directorios:
ls
Opciones útiles:
ls -l (muestra detalles como permisos y tamaños).
ls -a (incluye archivos ocultos).
Cambiar de directorio:
cd nombre_del_directorio
Ejemplos:
cd /home (ir al directorio /home).
cd .. (subir un nivel).
Crear un directorio:
mkdir nombre_del_directorio
Crear un archivo vacío:
touch nombre_del_archivo
Copiar archivos:
cp origen destino
Ejemplo:
cp archivo.txt copia.txt
Mover o renombrar archivos:
mv origen destino
Eliminar archivos o directorios:
Eliminar archivo:
rm nombre_del_archivo
Eliminar directorio:
rm -r nombre_del_directorio
En tu cuaderno digital debes elaborar una guía paso a paso donde expliques con tus palabras los pasos que necesitamos dar para instalar un nuevo sistema operativo en un ordenador. Además, antes de elaborar la guía, responde a las siguientes cuestiones:
(1) ¿Qué es un sistema operativo?
(2) ¿Cuáles son las principales funciones de un sistema operativo?
(3) ¿Cuáles son los sistemas operativos que conoces?
(4) ¿Qué sistema operativo tienes en tu ordenador y en tu móvil?
(5) ¿Qué sistema operativo utilizamos en el aula de informática?
(6) ¿Qué es un USB booteable?
ES OBLIGATORIO AÑADIR FOTOS DEL PROCESO, Y LAS FUENTES DE DONDE SE HA OBTENIDO LA INFORMACIÓN
En un sistema operativo, un proceso pasa por distintos estados durante su ciclo de vida. Estos estados representan las fases en las que se encuentra según las tareas que está realizando y los recursos disponibles. Los estados principales son:
Es el estado inicial del proceso cuando se crea pero aún no ha comenzado su ejecución.
El sistema operativo está configurando los recursos necesarios para el proceso (como memoria, identificadores de proceso, etc.).
El proceso está cargado en la memoria principal y listo para ejecutarse, pero está esperando a que el procesador lo asigne.
Está en una cola de procesos listos junto con otros procesos que también esperan su turno.
Es el estado en el que el proceso está siendo ejecutado por el procesador.
Puede cambiar de este estado a Listo si el procesador debe atender a otro proceso o a Espera si necesita realizar operaciones de entrada/salida.
El proceso está esperando que se complete un evento externo, como la finalización de una operación de entrada/salida o la recepción de un recurso.
No puede continuar ejecutándose hasta que dicho evento ocurra, pero permanece en la memoria principal.
El proceso ha completado su ejecución o ha sido finalizado por el sistema operativo o el usuario.
Los recursos asignados al proceso son liberados, y su información se elimina del sistema.
Un proceso puede moverse entre estos estados dependiendo de la situación:
Nuevo → Listo: Cuando el sistema operativo termina de preparar los recursos del proceso.
Listo → En ejecución: Cuando el procesador selecciona el proceso para ejecutarlo (planificación del procesador).
En ejecución → Listo: Si el sistema operativo decide cambiar a otro proceso (por ejemplo, por el algoritmo de planificación).
En ejecución → Espera: Cuando el proceso requiere esperar por un recurso o completar una operación de entrada/salida.
Espera → Listo: Una vez que el evento esperado ocurre, el proceso vuelve a estar listo para ser ejecutado.
En ejecución → Terminado: Cuando el proceso finaliza su tarea.
Este ciclo de estados es clave para la planificación de procesos y el rendimiento del sistema operativo.
La planificación de procesos es una función del sistema operativo que administra y asigna el uso del procesador entre los procesos en ejecución. Su objetivo principal es optimizar el rendimiento del sistema, asegurando que todos los procesos se ejecuten de manera eficiente y equitativa. Esto incluye decidir qué proceso se ejecuta, durante cuánto tiempo y en qué momento, utilizando algoritmos como:
El esquema más simple de planificación es el Primero llegado, primero servido (First come, first serve, FCFS). Este es un mecanismo cooperativo, con la mínima lógica posible: Cada proceso se ejecuta en el órden en que fue llegando, y hasta que suelta el control. El despachador es muy simple, básicamente una cola FIFO.
Cuando terminamos anotamos el tiempo dónde empieza y el tiempo dónde termina:
El esquema ronda busca dar una relación de respuesta buena tanto para procesos largos como para los cortos. La principal diferencia entre la ronda y FCFS es que en este caso sí emplearemos multitarea.
A cada proceso que esté en la lista de procesos listos lo atenderemos por el tiempo que nos indique el quantum (tiempo de ejecución que le pongamos). Si un proceso no ha terminado de ejecutar al final de su quantum, será interrumpido y puesto al final de la lista de procesos listos, para que espere a su turno nuevamente.
Cuando terminamos anotamos el tiempo dónde empieza y el tiempo dónde termina:
En esta actividad, trabajaremos con dos algoritmos de planificación de procesos: First-Come, First-Served (FCFS) y Round Robin (RR). Deberás resolver tres ejercicios siguiendo las indicaciones detalladas en el documento adjunto.
COPIA LA PLANTILLA Y RESUELVE LOS EJERCICIOS EN ELLA. NO VA EN EL CUADERNO DIGITAL, ES UN PDF INDEPENDIENTE