0% encontró este documento útil (0 votos)
91 vistas10 páginas

Fundamentos de Sistemas Operativos

La unidad 1 explora los fundamentos de los sistemas operativos, incluyendo su evolución histórica, conceptos básicos como procesos, memoria y E/S, y cómo gestionan los recursos del sistema. Se examinan temas como la gestión de procesos, memoria, archivos y monitoreo de sistemas para comprender cómo trabajan y se administran los sistemas operativos. El objetivo es proporcionar a los estudiantes una comprensión sólida de los fundamentos sobre los que se construirán conceptos más avanzados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
91 vistas10 páginas

Fundamentos de Sistemas Operativos

La unidad 1 explora los fundamentos de los sistemas operativos, incluyendo su evolución histórica, conceptos básicos como procesos, memoria y E/S, y cómo gestionan los recursos del sistema. Se examinan temas como la gestión de procesos, memoria, archivos y monitoreo de sistemas para comprender cómo trabajan y se administran los sistemas operativos. El objetivo es proporcionar a los estudiantes una comprensión sólida de los fundamentos sobre los que se construirán conceptos más avanzados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tabla de contenido

Unidad 1: Fundamentos de los sistemas operativos ............................................................... 2


INTRODUCCIÓN. ................................................................................................................. 2
Introducción a los sistemas operativos y su evolución histórica ........................................ 3
Conceptos básicos de los sistemas operativos .................................................................... 4
Gestión de procesos ............................................................................................................ 5
Gestión de memoria ............................................................................................................ 6
Gestión de entrada/salida .................................................................................................... 7
Gestión de archivos ............................................................................................................ 8
Monitoreo de sistemas ........................................................................................................ 8
BIBLIOGRAFÍA .................................................................................................................. 10
Unidad 1: Fundamentos de los sistemas operativos

INTRODUCCIÓN.

La unidad 1 "Fundamentos de los sistemas operativos" tiene como


objetivo proporcionar una comprensión básica de los conceptos y
características fundamentales de los sistemas operativos. Se
comenzará explorando la evolución histórica de los sistemas operativos,
desde los primeros sistemas hasta los modernos sistemas distribuidos.

A lo largo de la unidad, se explorarán los diferentes componentes que


componen los sistemas operativos, como el kernel, la shell, los
procesos, hilos, la memoria, los archivos, la entrada/salida, las
interrupciones y los controladores de dispositivos. También se
examinará cómo se gestiona cada uno de estos componentes y su
impacto en el rendimiento del sistema.

Además, se abordarán temas como la gestión de procesos y memoria,


la gestión de entrada/salida y archivos, y el monitoreo de sistemas. A
través de estos temas, se proporcionará una comprensión profunda de
cómo los sistemas operativos trabajan y cómo se administran y
monitorean.

Al final de la unidad, los estudiantes habrán adquirido una comprensión


sólida de los fundamentos de los sistemas operativos, que les permitirá
construir una base sólida para explorar temas más avanzados en las
unidades posteriores.
Introducción a los sistemas operativos y su evolución histórica
Los sistemas operativos son un componente fundamental de cualquier sistema informático
moderno. Son el software que se encarga de gestionar los recursos del sistema, permitiendo
que múltiples programas se ejecuten simultáneamente y compartan los recursos del sistema
de manera eficiente.

La historia de los sistemas operativos se remonta a la década de 1950, cuando se desarrollaron


los primeros sistemas operativos para computadoras. En aquel entonces, los sistemas
operativos eran bastante simples y estaban diseñados para controlar el hardware de la
computadora y proporcionar una interfaz básica para los usuarios.

Con el tiempo, los sistemas operativos evolucionaron y se volvieron más sofisticados. A


mediados de la década de 1960, se desarrollaron los sistemas operativos de tiempo
compartido, que permitían que varios usuarios trabajaran en la misma computadora
simultáneamente. Estos sistemas operativos eran mucho más complejos que sus predecesores
y utilizaban técnicas de programación avanzadas para compartir los recursos del sistema de
manera eficiente.

En la década de 1970, se desarrollaron los primeros sistemas operativos distribuidos, que


permitían que múltiples computadoras trabajaran juntas como un solo sistema. Estos sistemas
operativos eran muy importantes para la investigación científica y la ingeniería, ya que
permitían que grandes cálculos se realizaran en paralelo.

En las décadas de 1980 y 1990, se desarrollaron los sistemas operativos de red, que permitían
que múltiples computadoras se comunicaran entre sí y compartieran recursos de manera
eficiente. Estos sistemas operativos eran fundamentales para la creación de la Internet y la
World Wide Web, y permitieron que los usuarios pudieran acceder a información y recursos
desde cualquier parte del mundo.

En la actualidad, los sistemas operativos modernos son muy sofisticados y están diseñados
para ejecutarse en una amplia gama de dispositivos, desde teléfonos inteligentes hasta
servidores de alta gama. Los sistemas operativos modernos tienen muchas características
avanzadas, como la gestión de múltiples núcleos de procesadores, la gestión avanzada de
memoria, la virtualización y la seguridad avanzada.

En resumen, los sistemas operativos han evolucionado mucho desde sus primeros días, y han
sido fundamentales para el desarrollo de la tecnología informática moderna. La comprensión
de la evolución histórica de los sistemas operativos es importante para comprender cómo
funcionan los sistemas informáticos modernos y cómo se han desarrollado a lo largo del
tiempo.

Conceptos básicos de los sistemas operativos


Los sistemas operativos son programas que actúan como intermediarios entre el hardware de
una computadora y las aplicaciones que se ejecutan en ella. Proporcionan un entorno en el
que las aplicaciones pueden interactuar con el hardware y entre ellas mismas. Para realizar
estas funciones, los sistemas operativos utilizan diferentes componentes y conceptos, como
el kernel, la shell, los procesos, los hilos, la memoria, los archivos, la entrada/salida, las
interrupciones y los controladores de dispositivos.

El kernel es el núcleo del sistema operativo y es responsable de administrar todos los recursos
del hardware, incluyendo la CPU, la memoria, los dispositivos de entrada/salida y la red. Es
el componente más esencial del sistema operativo y es responsable de garantizar que todas
las aplicaciones se ejecuten de manera eficiente y sin interferir entre sí.

La shell es el intérprete de comandos que permite al usuario interactuar con el sistema


operativo mediante la introducción de comandos en una interfaz de línea de comandos (CLI)
o una interfaz gráfica de usuario (GUI). La shell actúa como una capa intermedia entre el
usuario y el kernel del sistema operativo.

Los procesos son programas en ejecución que se comunican con el kernel del sistema
operativo para solicitar recursos y servicios. Los procesos pueden estar en diferentes estados,
como en ejecución, en espera o suspendidos, y el sistema operativo utiliza un planificador
para administrar la asignación de recursos a cada proceso.

Los hilos son unidades de ejecución dentro de un proceso y permiten la ejecución paralela de
diferentes tareas dentro de un mismo programa. Los hilos comparten recursos y memoria
dentro de un proceso y permiten una mayor eficiencia en la ejecución de tareas.

La memoria es uno de los recursos más importantes del sistema operativo y se divide en
diferentes secciones para diferentes usos. El sistema operativo es responsable de administrar
la memoria y garantizar que cada aplicación tenga acceso solo a la memoria asignada a ella.
Los archivos son estructuras de datos utilizadas para almacenar información en el sistema
operativo. El sistema operativo es responsable de administrar los archivos y proporcionar
acceso a ellos a través de diferentes interfaces.

La entrada/salida (E/S) se refiere a la forma en que las aplicaciones interactúan con los
dispositivos de entrada y salida del sistema, como los teclados, las pantallas y las impresoras.
El sistema operativo es responsable de gestionar la E/S y garantizar que las aplicaciones
tengan acceso a los recursos de E/S necesarios.

Las interrupciones son señales enviadas por los dispositivos de hardware al sistema operativo
para notificar eventos importantes, como la finalización de una operación de E/S o un error
en el hardware. El sistema operativo maneja las interrupciones y toma medidas apropiadas
para manejar los eventos.

Los controladores de dispositivos son programas que permiten que el sistema operativo
interactúe con los dispositivos de hardware conectados a la computadora. Los controladores
de dispositivos son esenciales para garantizar que el sistema operativo pueda comunicarse
con todos los dispositivos de hardware del sistema.

Gestión de procesos
La gestión de procesos es una de las funciones fundamentales que realizan los sistemas
operativos. Un proceso es una entidad de software que representa un programa en ejecución.
Cada proceso tiene su propio espacio de memoria, conjunto de registros y estado de
ejecución. Los sistemas operativos son responsables de la creación, el seguimiento y la
gestión de los procesos, lo que permite que múltiples programas se ejecuten simultáneamente
y compartan los recursos del sistema.

Los procesos tienen diferentes estados durante su ciclo de vida, y los sistemas operativos
deben administrar esos estados para garantizar que los procesos se ejecuten de manera
eficiente y sin conflictos. Los estados de un proceso pueden incluir "Listo", "Ejecutándose",
"Bloqueado" y "Terminado". Cuando un proceso está listo, está preparado para ejecutarse,
pero aún no ha recibido tiempo de procesamiento en la CPU. Cuando se asigna tiempo de
procesamiento a un proceso, pasa al estado "Ejecutándose". Si el proceso necesita esperar
por un evento, como la finalización de una operación de E/S, se bloquea y pasa al estado
"Bloqueado". Cuando se completa el proceso, pasa al estado "Terminado".

La planificación de procesos es otra función importante de los sistemas operativos. La


planificación de procesos determina qué proceso debe ejecutarse en la CPU y cuándo, con el
objetivo de maximizar la eficiencia y minimizar el tiempo de espera. Los sistemas operativos
utilizan diferentes algoritmos de planificación de procesos, como el planificador de lotería,
el planificador de prioridades y el planificador de retroalimentación, para administrar la
ejecución de los procesos.

La comunicación entre procesos es otra tarea crítica de los sistemas operativos. Los procesos
a menudo necesitan comunicarse entre sí para compartir información o recursos. Los sistemas
operativos ofrecen varios mecanismos de comunicación entre procesos, como pipes, colas,
memoria compartida y señales.

La sincronización de procesos es una tarea adicional que realiza el sistema operativo para
garantizar que los procesos se ejecuten en el orden correcto y no entren en conflicto. La
sincronización se utiliza para garantizar la coherencia de los datos compartidos y para evitar
condiciones de carrera y otros problemas similares. Los sistemas operativos proporcionan
mecanismos de sincronización, como semáforos y monitores, para garantizar que los
procesos se ejecuten de manera ordenada y sin conflictos.

Gestión de memoria
La gestión de memoria es una de las funciones principales de los sistemas operativos
modernos. La memoria es un recurso limitado y valioso en cualquier sistema informático, y
su correcta gestión es esencial para maximizar la eficiencia y el rendimiento del sistema.

La gestión de memoria se encarga de controlar y asignar la memoria a los procesos y


programas que se ejecutan en el sistema. En un sistema operativo, la memoria se divide en
varias partes, como la memoria del kernel y la memoria de los procesos.

Existen varias técnicas para la gestión de memoria, entre ellas se encuentran:

Particionamiento: esta técnica consiste en dividir la memoria en particiones fijas de tamaño


específico. Cada partición se asigna a un proceso y, una vez que se completa la ejecución del
proceso, se libera la partición de memoria. El principal problema de esta técnica es que puede
provocar fragmentación externa, lo que significa que puede quedar una cantidad significativa
de memoria sin utilizar debido a la asignación de particiones de memoria de diferentes
tamaños.

Paginación: esta técnica consiste en dividir la memoria en pequeñas unidades llamadas


páginas. Cada proceso se divide en páginas y se almacenan en diferentes lugares de la
memoria. Esto significa que la memoria puede ser utilizada de manera más eficiente, ya que
las páginas pueden ser asignadas y liberadas según sea necesario. Sin embargo, esta técnica
puede tener un alto costo en términos de rendimiento debido a la necesidad de administrar la
tabla de páginas.

Segmentación: esta técnica es similar a la paginación, pero en lugar de dividir el proceso en


páginas, se divide en segmentos lógicos. Cada segmento se almacena en un área diferente de
la memoria. La segmentación permite un mayor grado de flexibilidad, ya que los segmentos
pueden crecer o reducirse según las necesidades del proceso. Sin embargo, esta técnica
también puede ser costosa en términos de rendimiento.

Memoria virtual: esta técnica combina la paginación y el particionamiento para crear un


espacio de memoria virtual. La memoria virtual permite que los programas se ejecuten como
si tuvieran acceso a más memoria de la que realmente tienen. Los datos y las instrucciones
se almacenan en el disco y se cargan en la memoria solo cuando es necesario. Esto permite
que los programas se ejecuten incluso cuando la memoria física está llena.

La gestión de memoria es un tema complejo que involucra muchos conceptos y técnicas. La


elección de la técnica de gestión de memoria adecuada depende de las necesidades
específicas del sistema y de los recursos disponibles. Un sistema operativo eficiente y bien
diseñado debe ser capaz de manejar la gestión de memoria de manera efectiva y sin
interrupciones para garantizar un rendimiento óptimo.

Gestión de entrada/salida
La gestión de entrada/salida (E/S) en un sistema operativo es fundamental para garantizar la
interacción entre el usuario, las aplicaciones y los dispositivos de hardware del sistema. La
E/S puede ser bloqueante o no bloqueante, y puede realizarse mediante interrupciones o
DMA (Acceso Directo a Memoria). La gestión de la E/S implica la coordinación de múltiples
componentes, como los controladores de dispositivos y la memoria del sistema.

Los dispositivos de hardware, como teclados, monitores, discos duros, impresoras, entre
otros, están diseñados para funcionar con un determinado conjunto de comandos y
protocolos. Para interactuar con estos dispositivos, el sistema operativo utiliza los
controladores de dispositivos, que actúan como intermediarios entre la aplicación y el
dispositivo. Los controladores de dispositivos se encargan de enviar y recibir señales, de
configurar y ajustar los parámetros de los dispositivos, y de administrar la transferencia de
datos entre los dispositivos y la memoria del sistema.

La E/S puede ser bloqueante o no bloqueante, lo que se refiere al comportamiento del sistema
mientras se realiza la operación de E/S. En una E/S bloqueante, el proceso que solicita la
operación de E/S se detiene hasta que se completa la operación, lo que puede ser un problema
en sistemas donde se requiere una alta eficiencia en la respuesta. En cambio, en una E/S no
bloqueante, el proceso que solicita la operación de E/S continúa su ejecución, mientras que
el controlador del dispositivo se encarga de llevar a cabo la operación de E/S en segundo
plano.

La E/S puede realizarse mediante interrupciones o DMA. En el primer caso, la operación de


E/S es controlada por el procesador, que activa una interrupción cuando se requiere realizar
una operación de E/S. En el segundo caso, el controlador del dispositivo se encarga de la
transferencia de datos directamente a la memoria del sistema, sin necesidad de que el
procesador intervenga.

En resumen, la gestión de la E/S es esencial para garantizar el correcto funcionamiento de un


sistema operativo. La coordinación entre los controladores de dispositivos, la memoria del
sistema y las aplicaciones es un factor clave para una gestión eficiente de la E/S.
Gestión de archivos
La gestión de archivos es un aspecto fundamental en los sistemas operativos, ya que permite
el acceso y la manipulación de información almacenada en dispositivos de almacenamiento.
En esta sección se abordarán los siguientes temas relacionados con la gestión de archivos:

• Estructuras: La información en un archivo se organiza mediante estructuras de datos, las cuales


pueden variar según el tipo de archivo y el sistema operativo utilizado. Algunas de las estructuras
más comunes son registros, bloques, árboles y listas enlazadas.
• Operaciones: Los sistemas operativos ofrecen una serie de operaciones para el acceso y la
manipulación de archivos, entre las cuales destacan las siguientes:
o Creación: Permite la creación de un nuevo archivo.
o Apertura: Permite la apertura de un archivo existente para su lectura o escritura.
o Lectura: Permite la lectura de datos de un archivo.
o Escritura: Permite la escritura de datos en un archivo.
o Cierre: Permite cerrar un archivo abierto.
o Eliminación: Permite la eliminación de un archivo existente.
• Directorios: Los archivos se organizan en directorios, que son estructuras que permiten la
agrupación y organización de archivos. Los directorios pueden contener tanto archivos como
otros directorios, lo que permite una jerarquía de organización de archivos y facilita su gestión.
• Sistemas de archivos: Los sistemas de archivos definen la forma en que los archivos se organizan
y se almacenan en los dispositivos de almacenamiento. Existen varios tipos de sistemas de
archivos, como FAT, NTFS, HFS+, EXT4, entre otros, y cada uno de ellos tiene sus propias
características y limitaciones.

En general, la gestión de archivos es esencial para cualquier sistema operativo, ya que


permite el almacenamiento y manipulación de información, y proporciona una forma
organizada y eficiente para el acceso a los archivos.

Monitoreo de sistemas
El monitoreo de sistemas es una tarea fundamental para garantizar un correcto
funcionamiento y rendimiento del sistema operativo y de las aplicaciones que se ejecutan
sobre él. Para llevar a cabo esta tarea, existen diversas herramientas y técnicas que permiten
diagnosticar y resolver problemas en el sistema.

Entre las herramientas de diagnóstico más comunes se encuentran los registros del sistema
(logs), que almacenan información acerca de los eventos que se han producido en el sistema,
tales como errores, advertencias, actividades de usuarios, etc. Estos registros son muy útiles
para identificar y solucionar problemas que hayan ocurrido en el sistema.

Además de los registros, existen otras herramientas de diagnóstico más específicas que
permiten analizar el rendimiento del sistema y detectar cuellos de botella. Por ejemplo, los
monitores de recursos permiten medir el uso de CPU, memoria y disco, entre otros recursos,
y detectar procesos o aplicaciones que estén consumiendo una cantidad excesiva de recursos.

Por otro lado, la optimización del rendimiento es una tarea importante para mejorar la
velocidad y eficiencia del sistema operativo. Existen diversas técnicas para optimizar el
rendimiento, como la configuración de los parámetros del sistema, la desfragmentación del
disco, la eliminación de archivos y programas innecesarios, entre otros.

En resumen, el monitoreo de sistemas y la optimización del rendimiento son tareas esenciales


en la administración de sistemas operativos, y su correcta implementación puede mejorar
significativamente la estabilidad, eficiencia y seguridad del sistema.
BIBLIOGRAFÍA.

Stallings, W. (2018). Operating Systems: Internals and Design


Principles (9th ed.). Pearson.

Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System


Concepts (10th ed.). Wiley.

Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems (4th


ed.). Pearson.

Peterson, L. L., & Silberschatz, A. (2014). A Critical Review of


Distributed Systems: 50 Years of Research, 50 Years of Fun. Distributed
Computing, 26(1), 37–85. https://doi.org/10.1007/s00446-013-0203-7

Arpaci-Dusseau, R. H., & Arpaci-Dusseau, A. C. (2015). Operating


Systems: Three Easy Pieces. Arpaci-Dusseau Books.
https://pages.cs.wisc.edu/~remzi/OSTEP/

Bovet, D. P., & Cesati, M. (2005). Understanding the Linux Kernel (3rd
ed.). O'Reilly Media, Inc.

También podría gustarte