PROGRAMACIÓN Y GESTIÓN DE
SISTEAS OPERATIVOS
RESUMEN SEMANA 2
Unidad 4 Diseño de sistemas operativos
Unidad 5 Sistemas operativos tipo Windows
/36
4. Diseño de sistemas operativos
Importante establecer de inicio
• Cuál será la funcionalidad del sistema operativo
• Qué elementos de hardware y software debe
gestionar
• Diversos recursos tales como la memoria, el
procesamiento, los dispositivos de entrada y salida, el
sistema de archivos
• El rendimiento, la seguridad, entre otros.
• Abordar temas del diseño de interfaces
• Llamadas al sistema
• Programación del desempeño y el uso de cachés.
Mtra. Martha Beatriz Chávez Terán 2 /36
Fundamentos del diseño de sistemas operativos
Los puntos principales del diseño de sistemas operativos de
acuerdo a Andrew Tenenbaum son:
• Definir las abstracciones: como los procesos, espacios de
memoria, archivos, hilos, sincronización, modelo de memoria,
modelado de entrada, salida, entre otros.
• Proveer operaciones primitivas: que se refiere a las
operaciones que manipulan las estructuras de datos concretas
que se crean para las abstracciones, por ejemplo, las
operaciones primitivas se implementan en forma de llamadas al
sistema cuando un usuario lee y escribe archivos.
(Tanenbaum, 2009, pp. 960-961)
Mtra: Martha Beatriz Chávez Terán 3 /36
Fundamentos del diseño de sistemas operativos
• Asegurar el aislamiento: Por medio de sesiones separadas
para cada usuario, con acceso a datos y operaciones para las
que tienen autorización, también hay aislamiento selectivo en
casos donde se comparten recursos. También aplica en los
casos donde si un proceso de usuario falla, no se afecte al
resto del sistema
• Administrar el hardware: como los controladores e
interruptores y el bus, también permitir que los drivers
administren los dispositivos de E/S como discos, impresoras o
pantallas.
(Tanenbaum, 2009, pp. 960-961)
Mtra: Martha Beatriz Chávez Terán 4 /36
Fundamentos del diseño de sistemas operativos
Diseñar un sistema operativo es complejo debido a que
• Son programas extensos
• Tienen que gestionar la concurrencia de múltiples usuarios y
dispositivos de E/S al mismo tiempo
• Tienen que atender temas de seguridad como acciones de usuario
prohibidas o permitir que los usuarios compartan recursos con otros sin
comprometer esto ante usuarios intrusos.
• Los sistemas operativos tienen un ciclo de vida largo, sólo considerar el
tiempo que llevan existiendo sistemas operativos como Unix, Linux,
Windows, MacOS.
• Se ejecutan en varias plataformas de hardware, admiten muchos
dispositivos de E/S.
(Tanenbaum, 2009, pp. 961-963)
Mtra: Martha Beatriz Chávez Terán 5 /36
Fundamentos del diseño de sistemas operativos
• El diseño de sistemas operativos implica abordar la arquitectura
y características funcionales del sistema operativo.
• La arquitectura es el pilar para llegar al diseño de un sistema,
es la forma en que se aplican las técnicas y mecanismos para
lograr la comunicación entre el sistema y el usuario, determina
cómo se transmite la información, quién la va a recibir y de qué
manera se va a trabajar para la implementación.
/36
Fundamentos del diseño de sistemas operativos
• Un posible diseño para
sistemas operativos en
sería distribuir en capas
desde la que oculta el
hardware de bajo nivel,
manejo de interrupciones,
unidad de gestión de
memoria, hilos, drivers,
memoria virtual, sistema de
archivos, manejador de
llamadas al sistema.
(Tanenbaum, 2009, p 972)
Mtra: Martha Beatriz Chávez Terán 7 /36
Fundamentos del diseño de sistemas operativos
• Sistema cliente – servidor basados en microkernel. En este
diseño se enfoca en un microkernel en donde gran parte del sistema
operarivo se ejecuta en forma de procesos del servidor a nivel de
usuario. Es el diseño más modular y flexible de todos.
• Cada driver del dispositivo, también se ejecuta como un proceso de
usuario completamente protegido contra el kernel y otros drivers.
(Tanenbaum, 2009, p 973)
Mtra: Martha Beatriz Chávez Terán 8 /36
Diseño de interfaces
Un sistema operativo puede tener varias interfaces
• Desde las que utilizan los usuarios de aplicaciones
• Hasta los usuarios desarrolladores que programan llamadas
al sistema o programación de drivers que realizan llamadas a
ciertos procedimientos.
(Tanenbaum, 2009, p 963)
Mtra: Martha Beatriz Chávez Terán 9 /36
Diseño de interfaces
Para el diseño de interfaces se pueden considerar algunos
principios:
• Simplicidad. Una interfaz simple es más fácil de entender e
implementar sin que haya errores.
• Integridad. El SO debe hacer lo que se necesite que haga y
nada más.
• Eficiencia en la implementación, es decir, que sea fácil de
comprender, que permita realizar sólo lo que el usuario
necesite y sea eficiente.
(Tanenbaum, 2009, pp. 963-965)
Mtra: Martha Beatriz Chávez Terán 10 /36
Paradigmas de diseño
• En cuanto a paradigmas de diseño, es importante distinguir los dos
tipos principales de clientes de los sistemas operativos, lo que son
los usuarios de aplicaciones y los programadores del sistema
operativo.
• Los primeros interactúan con la GUI y los segundos con la interfaz
de llamadas al sistema.
• Cuando se diseña primero la GUI y luego la interfaz de llamada al
sistema, se conoce como un diseño de arriba hacia abajo
• Si primero se diseña la interfaz de llamada al sistema y luego las
GUI se conoce como un diseño de abajo hacia arriba.
(Tanenbaum, 2009, p 965)
Mtra: Martha Beatriz Chávez Terán 11 /36
Paradigmas de diseño
• En cuanto a paradigmas de ejecución, está el paradigma
algorítmico y el orientado a eventos.
• En el primero se inicia un programa para realizar una función,
como compilar un programa.
• En el segundo, inicia cierto tipo de inicialización, como mostrar
una pantalla y después espera el siguiente evento.
(Tanenbaum, 2009, p 966)
Mtra: Martha Beatriz Chávez Terán 12 /36
Paradigmas de diseño
• En cuanto a paradigmas de datos hay acceso secuencial,
archivos, objetos, documentos.
(Tanenbaum, 2009, p 967)
• Interfaz de llamadas al sistema. En cuanto a llamadas al
sistema, deben ser la menor cantidad posible, menos llamadas
al sistema implican menos trabajo del procesador.
(Tanenbaum, 2009, pp. 968-969)
Mtra: Martha Beatriz Chávez Terán 13 /36
Programación y desempeño del sistema
• Un sistema operativo, aparte de controlar el hardware, debe
crear un entorno atractivo de interacción entre usuario y
máquina, un balance entre funcionalidad y facilidad de uso.
• Las métricas del desempeño del sistema operativo se refieren a
aspectos de disco, memoria, procesador y red, entre otros, un
sistema operativo puede ser lento dependiendo de las tareas
que realiza,
• por ejemplo, la tecnología plug and play facilita la instalación de
nuevos dispositivos, sin embargo, hace lento el inicio del
sistema operativo ya que debe verificar si hay nuevo hardware.
(Tanenbaum, 2009, p 987)
Mtra: Martha Beatriz Chávez Terán 14 /36
Estructura y mecanismos de un sistema operativo
• Una de las primeras decisiones al implementar un sistema operativo, es
considerar su estructura.
• Un método útil es el sistema en capas
• Se deben elegir las capas y definir la funcionalidad de cada una.
• La capa inferior siempre debe tratar de ocultar el hardware, la siguiente
capa maneja las interrupciones, el cambio de contexto y la MMU – unidad
de gestión de memoria.
• Para que las siguientes capas en su mayoría sean independientes de la
máquina.
• Por ejemplo, una capa 3 podría manejar hilos, la siguiente drivers, la 5
memoria virtual, la 6 el sistema de archivos y la 7 llamadas al sistema.
(Tanenbaum, 2009, pp. 971- 972)
Mtra: Martha Beatriz Chávez Terán 15 /36
Estructuras estáticas y dinámicas
• Los diseñadores de sistemas operativos, deben elegir entre
estructuras estáticas y dinámicas
• Las estructuras dinámicas son más flexibles, sin embargo,
requieren un gestor de memoria.
• Las estáticas, como los arreglos, ya tienen una memoria
específica asignada o se van incrementando conforme sea
necesario, son más fáciles de programar y usar.
(Tanenbaum, 2009, p 979)
Mtra: Martha Beatriz Chávez Terán 16 /36
Uso de cachés
• La caché es una técnica reconocida para mejorar el rendimiento.
• Se debe aplicar cada vez que existe la probabilidad de requerir el mismo
resultado varias veces.
• El método general es realizar todo el trabajo la primera vez y después guardar el
resultado en la memoria caché. En los siguientes intentos primero se comprueba
la memoria caché, si el trabajo está ahí se utiliza, de lo contrario se vuelve a
realizar todo el trabajo.
• En el sistema de archivos, se puede usar para guardar bloques de disco de uso
reciente con lo cual se ahorra lectura de disco.
(Tanenbaum, 2009, p 991)
Mtra: Martha Beatriz Chávez Terán 17 /36
5. Sistemas operativos tipo Windows
• Los sistemas operativos tipo Windows y Unix que trabajan en red
están diseñados para permitir la interconexión de computadoras
para acceder a servicios y recursos compartidos, soportan
estaciones de trabajo o computadoras personales.
• Sus elementos principales son clientes, servidores y dominios.
• De acuerdo a su estructura, los sistemas operativos en red pueden
ser punto a punto o cliente / servidor.
(Sevilla Systems, s.f.)
Mtra: Martha Beatriz Chávez Terán 18 /36
5. Sistemas operativos tipo Windows
Las características más genéricas de los sistemas operativos en red son:
• Conectar todos los equipos y recursos de la red
• Gestión de usuarios centralizada
• Gestión de seguridad
• Coordinación de funciones de red
• Compartir recursos
• Monitoreo de red y sus componentes
(Sevilla Systems, s.f.)
Mtra: Martha Beatriz Chávez Terán 19 /36
Sistemas operativos de red Windows
• Windows server es un sistema operativo diseñado para entornos de
servidores que trabaja sobre un modelo denominado dominio que es una
colección de equipos (clientes y servidores)
• que comparten una política de seguridad, una base de datos común y
tiene un nombre único.
• Algunos servicios que ofrece para la gestión de red son: compartición de
recursos, seguridad, impresión, servicios de red e interoperabilidad con
otros sistemas operativos.
(Muñoz, 2013, p 12)
Mtra: Martha Beatriz Chávez Terán 20 /36
Sistemas operativos Unix / Linux
• Son sistemas operativos de propósito general, multiusuario, multitarea.
• Están constituidos por un equipo central y terminales de usuario.
• A diferencia de Windows, Unix / Linux pueden funcionar como cliente o
servidor.
• La diferencia es que los clientes incorporan menos servicios que los
servidores y en los servidores normalmente no se trabaja en un entorno
gráfico.
Mtra: Martha Beatriz Chávez Terán 21 /36
Sistema de ayuda y soporte técnico
• Cada sistema operativo cuenta con su sistema de ayuda ya sea desde el propio
sistema operativo o de forma externa por medio de manuales, tutoriales o
comunidades de ayuda y soporte.
• En el caso de Windows server se puede consultar el blog y la comunidad de
Windows server.
• Windows Server también cuenta con canales de soporte como el Canal de
mantenimiento a largo plazo, canal anual.
• Cuenta con herramientas de mantenimiento como Windows update, Windows
Server Update Services, Microsoft End Point Configuration Manager.
(Microsoft Learn, 2024 b)
Mtra: Martha Beatriz Chávez Terán 22 /36
Sistema de ayuda y soporte técnico
En el caso de Unix/Linux, algunas formas de obtener ayuda es en:
• Páginas man o páginas del manual
• Sistema de información GNU (escribiendo info desde la terminal)
• Comando help
• Otras fuentes de documentación de Linux.
• Todos los sistemas Linux también cuentan con su sistema gráfico de ayuda
desde el escritorio.
(Proteger mi PC, 2016)
Mtra: Martha Beatriz Chávez Terán 23 /36
Herramientas de administración
Windows Server cuenta con componentes de administración del sistema como:
• El visor de eventos
• Microsoft Management Console
• Power Shell
• Administrador de servidores
• Administrador de tareas
• Programador de tareas
• Administración remota de Windows.
(Microsoft Learn, 2024 a)
Mtra: Martha Beatriz Chávez Terán 24 /36
Herramientas de administración
En el caso de sistemas operativos Unix/Linux
• No hay sólo una herramienta para una tarea, sino que cuenta con muchas
herramientas simples que, en conjunto, permiten solucionar tareas o problemas
de administración.
• Para la automatización de tareas suelen utilizarse comandos agrupados en Shell
scripts.
• Se usan herramientas de compilación y depuración de lenguajes
• También hay herramientas gráficas, las cuales dependerán de cada distribución
de Linux.
(Jorba, 2007)
Mtra: Martha Beatriz Chávez Terán 25 /36
Configuración
La instalación básica de un sistema operativo consta de algunos pasos como:
• Configuración del dispositivo de arranque en la BIOS
• Creación de las particiones en el disco duro
• Creación del sistema de archivos
• Selección de paquetes
• Instalación y configuración de aplicaciones
• Instalación y configuración de drivers
• Creación o configuración de usuarios
(Mazaira, 2007)
Mtra: Martha Beatriz Chávez Terán 26 /36
Configuración
En un entorno de red también incluirá:
• Configuración de la red
• Navegador Web
• Correo electrónico
• Utilidades como conexiones remotas
(Mazaira, 2007)
Mtra: Martha Beatriz Chávez Terán 27 /36
Administración de servidores
• Es el proceso para mantener a los servidores en funcionamiento con un tiempo
de inactividad mínimo.
• Implica un conjunto de rutinas que se extienden entre implementaciones de
sistemas operativos, administración de parches, implementación de software e
implementaciones de seguridad.
Mtra: Martha Beatriz Chávez Terán 28 /36
Virtualización
La virtualización es un proceso que ocupa un software para imitar características o
recursos de un hardware y crear un sistema virtual, sin necesidad de adquirir otro
hardware.
Dentro de los tipos de virtualización podemos nombrar los siguientes:
• Virtualización de plataforma
• Virtualización de recursos de hardware
• Virtualización de red
• Virtualización de aplicaciones o software
(Cáceres, 2022)
Mtra: Martha Beatriz Chávez Terán 29 /36
Virtualización
Virtualización de plataforma
• Es el más típico, permite tener varios sistemas operativos
dentro de un software llamado hipervisor, uno de ellos es
VirtualBox, el cual se instala sobre un sistema operativo, como
Windows o Linux
Virtualización de hardware
• Como la virtualización de sistemas de almacenamiento tipo
RAID y LVM
(Cáceres, 2022)
Mtra: Martha Beatriz Chávez Terán 30 /36
Virtualización
RAID – Redundant Array of Independent Disks (Conjunto
redundante de discos independientes) consta de 2 particiones en
espejo
LVM – Logical Volume Manager (gestor de volúmenes lógicos)
une varios discos en un volumen lógico
(Izquierdo, 2022)
Mtra: Martha Beatriz Chávez Terán 31 /36
Virtualización
Virtualización de red.
• Incluye configuraciones como las redes privadas virtuales VPN,
que crean comunicación cifrada punto a punto.
• Otro ejemplo son las redes locales virtuales VLAN permiten
segmentar la red por medio de un switch.
Virtualización de aplicaciones software
• Son aplicaciones que se ejecutan aparentemente de manera
local, pero están en un sistema virtualizado
(Cáceres, 2022)
Mtra: Martha Beatriz Chávez Terán 32 /36
Ventajas y desventajas de la virtualización
• Ventajas. Reducción de costos para la organización, mayor
eficiencia y recuperación, mejoras en seguridad, poco
mantenimiento.
• Desventajas. Inversión inicial, rendimiento, punto único de falla.
(Cáceres, 2022)
Mtra: Martha Beatriz Chávez Terán 33 /36
Selección de los sistemas operativos
Algunos parámetros en los que
nos podemos basar para
seleccionar un sistema operativo • Servicios de red que se
en red son: requieren
• Nivel de seguridad de la red • Aspectos de seguridad
• Número de usuarios • Automatización de procesos
• Número de equipos • Interoperabilidad o conexión con
otros sistemas operativos.
• Evaluar la interoperabilidad de la
red.
Mtra: Martha Beatriz Chávez Terán 34 /36
Referencias
• Cáceres, D. (diciembre 29, 2022). Virtualización de servidores: ventajas y desventajas. En Open Webinars.
[Link]
• Izquierdo, J.. (abril 24, 2022). RAID 1 y LVM. Sistemas de almacenamiento. En Web Linus
[Link]
• Jorba, J. (septiembre, 2007). Herramientas básicas para el administrador.
[Link]
ma%20operativo%20GNU_Linux_M%C3%B3dulo3_Herramientas%20b%C3%A1sicas%20para%20el%20ad
[Link]
• Mazaira, L.(septiembre 3, 2007). Windows, configuración del sistema operativo y Web.
[Link]
• Microsoft Learn. (marzo 18, 2024). Documentación de solución de problemas de componentes de
administración del sistema para Windows Server. [Link]
server/system-management-components/system-management-components-overview
Mtra. Martha Beatriz Chávez Terán 35 /36
Referencias
• Microsoft Learn. (junio 5, 2024) Introducción a Windows server. [Link]
es/windows-server/get-started/servicing-channels-comparison
• Muñoz, F. (2013). Sistemas operativos en red. Mc. Graw Hill Educación
• Proteger mi PC. (noviembre 23, 2016). Comandos de ayuda en Linux.
[Link]
• Sevilla Systems. (s.f.). Sistemas operativos en red. [Link]
en-red/
• Tanenbaum, A. (2009). Sistemas operativos modernos. 3ª ed. Pearson Educación.
Mtra: Martha Beatriz Chávez Terán 36 /36