Documento de Universidad sobre Sistemas operativos: componentes, estructura, funciones y tipos. El Pdf explora las funciones esenciales, los componentes clave y las diversas estructuras arquitectónicas de los sistemas operativos, analizando la gestión de procesos, memoria y archivos, así como las interacciones con dispositivos de E/S en Informática.
Ver más8 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
Un sistema operativo (SO) es esencial para gestionar los recursos de una computadora, como la CPU, memoria, almacenamiento y dispositivos de entrada/salida, actuando como intermediario entre el hardware y las aplicaciones. Sin un SO, el hardware no podría interactuar con el software.A lo largo de la historia, los sistemas operativos han evolucionado desde simples controladores de hardware en las décadas de 1950 y 1960, capaces de ejecutar solo una tarea para un único usuario, hasta los sistemas modernos como Windows 11, macOS y Linux (Ubuntu, Fedora, Debian), que soportan múltiples tareas y usuarios, e integran funciones avanzadas de seguridad y gestión de redes. Hoy en día, los sistemas operativos también proporcionan plataformas robustas para aplicaciones complejas, como la virtualización y la computación en la nube, optimizando el uso de recursos y facilitando la escalabilidad en infraestructuras de TI. Sistemas como Linux permiten crear entornos adaptativos y seguros, ideales para servidores y dispositivos móviles.
El sistema operativo cumple funciones clave como la gestión de procesos, memoria, archivos, dispositivos de entrada/salida y seguridad. Estas funciones garantizan que el hardware y el software trabajen de manera eficiente y segura.
El sistema operativo proporciona una capa de abstracción que oculta la complejidad del hardware y presenta una interfaz simplificada para usuarios y desarrolladores. Esta capa, conocida como "máquina extendida", facilita tareas complejas sin necesidad de comprender el funcionamiento interno del hardware. Por ejemplo, al almacenar un archivo, el usuario no necesita saber cómo se organiza físicamente la información en el disco, ya que el sistema operativo se encarga de gestionar el sistema de archivos y la asignación de bloques. Además, el sistema operativo abstrae la gestión de memoria mediante técnicas como la memoria virtual, permitiendo que las aplicaciones utilicen más memoria de la disponible físicamente, y maneja el almacenamiento temporal en el disco a través de un archivo de intercambio. También ofrece abstracción para dispositivos de red, facilitando la comunicación entre aplicaciones y dispositivos sin que estas gestionen los detalles técnicos de las conexiones de red, lo que es clave en la computación en la nube y servidores de aplicaciones.
El sistema operativo gestiona todos los recursos de hardware de la computadora, como la CPU, memoria, almacenamiento y dispositivos de entrada/salida, lo que es esencial en sistemas multitarea donde múltiples programas compiten por los mismos recursos. La gestión de procesos es crucial, ya que el sistema operativo controla qué procesos reciben tiempo de CPU mediante algoritmos de planificación como la planificación por turnos (round-robin), prioridad y colas multinivel, asegurando que los procesos críticos reciban el tiempo necesario para ejecutarse. En entornos multiproceso, donde hay varios núcleos de CPU, el sistema distribuye tareas de manera equitativa, optimizando el rendimiento global considerando la afinidad de procesos. Además de gestionar la CPU, el sistema operativo utiliza técnicas avanzadas de gestión de memoria como paginación y segmentación. La paginación divide la memoria física en bloques llamados páginas, mientras que la segmentación divide la memoria ensegmentos de tamaño variable para diferentes partes del programa. Ambas técnicas pueden combinarse para asegurar un uso eficiente de la memoria.
La seguridad es fundamental en los sistemas operativos modernos, especialmente en entornos interconectados. Para proteger los recursos y datos, se implementan mecanismos como:
Además, los sistemas operativos modernos integran cortafuegos y herramientas de monitorización de red para detectar y prevenir ataques cibernéticos, como DDoS y suplantación de identidad. Las herramientas de monitorización alertan sobre actividades sospechosas y registran eventos para análisis posterior. En entornos empresariales y en la nube, se incorporan herramientas de auditoría y registro de eventos para monitorear acciones de usuarios y aplicaciones, analizar patrones anómalos y asegurar el cumplimiento de normativas de seguridad y privacidad.
Los procesos son esenciales en los sistemas operativos modernos. Un proceso es una instancia de un programa en ejecución, que incluye el código, los datos asociados y los recursos asignados, como memoria y archivos abiertos. El sistema operativo gestiona los procesos, asignando tiempo de CPU y memoria a cada uno para asegurar su ejecución eficiente y segura. Para gestionar varios procesos simultáneamente, el sistema operativo realiza un cambio de contexto al alternar entre procesos, guardando el estado del proceso actual y restaurando el del siguiente, lo que permite la ejecución paralela de programas. Además, los hilos (threads), subprocesos de un proceso, permiten la ejecución en paralelo de diferentes partes de un programa, mejorando el rendimiento en sistemas con múltiples núcleos o procesadores. Por ejemplo, un navegador web puede usar varios hilos para cargar páginas mientras procesa solicitudes y ejecuta scripts en segundo plano.
El sistema de archivos organiza y gestiona los datos en dispositivos de almacenamiento, como discos duros y unidades de estado sólido, utilizando una estructura jerárquica de archivos y directorios. Cada archivo tiene un nombre, ubicación y atributos como permisos, tamaño y fechas de creación y modificación.El sistema de archivos tambien gestiona el espacio en disco y previene la fragmentación, que ocurre cuando los archivos se dividen en partes dispersas. Los sistemas modernos, como NTFS en Windows y ext4 en Linux, utilizan técnicas avanzadas para reducir la fragmentación y mejorar el acceso a los datos. Además, los sistemas de archivos implementan mecanismos de seguridad, como el journaling, que registra las operaciones realizadas, permitiendo la recuperación automática en caso de fallos y protegiendo la integridad de los datos.
Las llamadas al sistema permiten a los programas de usuario interactuar con el sistema operativo para solicitar servicios, como gestionar archivos o memoria. Estas llamadas se realizan a través de un procedimiento de biblioteca que utiliza la instrucción TRAP para transferir el control al sistema operativo, simplificando su uso. Cuando el sistema operativo toma el control, verifica los parámetros, ejecuta la tarea solicitada si son válidos y devuelve un código de estado para indicar el resultado. Un ejemplo es la llamada READ en UNIX, que lee datos de un archivo y los almacena en un buffer, devolviendo la cantidad de bytes leídos o un valor de error si falla. Las llamadas al sistema incluyen operaciones como creación de procesos, control de memoria y entrada/salida.
El shell es un intérprete de comandos que permite al usuario interactuar con el sistema operativo, ejecutando programas y gestionando archivos. Aunque no forma parte del núcleo del sistema, utiliza las llamadas al sistema para realizar tareas. Al iniciar una sesión, el shell acepta comandos del usuario y crea un proceso hijo para ejecutar el programa. El shell permite redirección de entrada y salida, como en el comando date > file para almacenar la salida en un archivo. Además, las tuberías (|) conectan la salida de un comando con la entrada de otro, facilitando la ejecución de tareas en cadena. El shell también puede ejecutar procesos en segundo plano usando &, lo que permite al usuario continuar trabajando mientras el proceso se ejecuta.
El sistema operativo gestiona los procesos, lo que incluye su creación, planificación y finalización. Un proceso es una instancia de un programa en ejecución, que abarca no solo el código, sino también su estado, registros y recursos asignados, como memoria y archivos abiertos. El sistema operativo utiliza algoritmos de planificación para asignar tiempo de CPU de manera eficiente, garantizando que los procesos se ejecuten en el orden y con las prioridades adecuadas. El cambio de contexto permite manejar la multitarea, guardando el estado del proceso actual y restaurando el del siguiente proceso en la cola de ejecución. Esto permite que varios procesos se ejecuten simultáneamente. Además, el sistema operativo maneja procesos en segundo plano, suspendidos y aquellos que esperan eventos externos para continuar su ejecución.
3.2 Administración de la Memoria
3.3 Control de Archivos
3.4 Control de los Dispositivos de E/S
4.1 Sistemas monolíticos
4.2 Sistemas con capas.
4.3 Microkernel
4.4 Modelo cliente/servidor
4.5 Máquinas virtuales
4.5.1 VM/370
4.5.2 Redescubrimiento de las máquinas virtuales
4.5.3 La máquina virtual de Java
5. Tipos de sistemas operativos
6. Conclusiones.