Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area II: Sistemas de Computacion
(Programa del año 2025)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS OPERATIVOS ING. INFORM. 026/12- 08/15 2025 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
MOLINA, SILVIA MARTA Prof. Responsable P.Adj Exc 40 Hs
MIRANDA, NATALIA CAROLINA Prof. Co-Responsable P.Adj Exc 40 Hs
PALACIO, GABRIELA DEL VALLE Responsable de Práctico JTP Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 3 Hs. 1 Hs. 2 Hs. 6 Hs. 2º Cuatrimestre 04/08/2025 14/11/2025 15 90
IV - Fundamentación
Este programa responde a los contenidos mínimos y va dirigido a alumnos del 3er. año de la Ingeniería en Informática, por lo que se considera fundamental la articulación con Arquitectura del procesador, Modelos y Simulación, Estructura de datos y Sistemas de tiempo real. Los ejes temáticos de la materia: el Sistema Operativo, conceptos y algoritmos fundamentales, aspectos básico de diseño y sus diferentes tipos, llevando la práctica a casos de estudio clásicos y particulares de sistemas operativos de actualidad, como LINUX.
V - Objetivos / Resultados de Aprendizaje
En la asignatura Sistemas Operativos se tiene como objetivo estudiar los conceptos básicos y esenciales de los Sistemas Operativos convencionales, como así también analizar aspectos de diseño e implementación de componentes centrales de los mismos . Se suministra al estudiante conocimientos sólidos referidos a los Sistemas Operativos como administradores de recursos de la computadora, especialmente de la administración del procesador y de la memoria.
A su vez se promueve la continuidad del desarrollo de habilidades para trabajo en equipo, comunicación en forma oral y escrita, y aprendizaje autónomo.

Los objetivos específicos se resumen en, que el estudiante:
A) Comprenda las funciones de un sistema operativo en un sistema de computación bajo distintos entornos y configuraciones.
B) Desarrolle la capacidad de implementar distintas técnicas relativas al área.
Como resultados derivados de los puntos A) y B) se espera desarrollar en el estudiante, luego de adquirida cierta experiencia en el área, las siguientes capacidades:
- Participación en el diseño e implementación de alguno de los módulos de un Sistema Operativo.
- Modificación de un Sistema Operativo acorde a las necesidades de su entorno.
- Administración de un Sistema Operativo LINUX.
Acorde con los objetivos y dentro de las restricciones del plan de estudios, durante el desarrollo de la materia se profundizará el estudio sólo en las áreas del administrador del procesador y del administrador de la memoria, dejando el tratamiento de administrador de la información y de los dispositivos de forma básica e introductoria, debido a la brevedad del curso y a la dependencia de una configuración particular. No obstante se espera que la introducción a los mismos, dada durante el curso sea suficiente para tratar estos aspectos en situaciones futuras.

Durante el dictado de la asignatura se abordan los siguientes ejes transversales:
- Utilización de técnicas y herramientas de aplicación en la informática.
- Fundamentos para el desempeño en equipos de trabajo.
- Fundamentos para la comunicación efectiva.
- Fundamentos para el aprendizaje continuo.

VI - Contenidos
Contenidos mínimos:
Historia, evolución y filosofía. Métodos de estructuración. Administrador de procesos, de memoria, de la información y de dispositivos. Protección y Seguridad. Un caso de estudio. Introducción a los sistemas operativos distribuidos.

* UNIDAD TEMÁTICA 1: Introducción.
Evolución de los sistemas operativos a lo largo del tiempo y sus diferentes concepciones y enfoques, en función de los sistemas informáticos existentes. Visiones de un Sistema Operativo: Como máquina extendida y como Administrador de recursos. Sistemas de Procesamiento batch, Sistemas de Tiempo compartido, Sistemas de Tiempo real, Sistemas Embebidos, Sistemas Distribuidos: definiciones, conceptos fundamentales y sus aplicaciones. Estructuras de Sistemas Operativos: Monolíticos, en capas, de máquina virtual, de redes, distribuidos, etc.

* UNIDAD TEMÁTICA 2: Administrador del Procesador
Procesos. Un modelo de operación. Multiplicidad de Procesos. Networking, multiprocesamiento, multiprogramación. Tareas básicas, multiplexado del Procesador, context switching. Diagrama de estados; Otras unidades computacionales; Hebras (lightweight processes). El problema de la coordinación de procesos: Sincronización, concurrencia, comunicación entre procesos (IPC). Semáforos, regiones críticas (CR), regiones críticas condicionale (CCR), monitores, pasajes de mensajes. Scheduling de Procesos: mecanismos y políticas. Deadlock, condiciones necesarias para su ocurrencia. Prevención, detección y recuperación. Seguridad en el contexto de la administración de los procesos.

* UNIDAD TEMÁTICA 3: Administrador de la Memoria
Memoria Real. Organización y Administración: Asignación contigua y no contigua. Particionado fijo y variable. Swapping. Memoria Virtual. Organización; almacenamiento múltiple. Paginado y Segmentado. Administración; estrategias de reemplazo de página. Working Sets. Faltas de páginas. Trashing. Seguridad en el contexto de la administración de la memoria.

* UNIDAD TEMÁTICA 4: Administrador de la Información
Archivos: Estructuras, tipos, accesos y operaciones. Directorios. El sistema de Archivos; funciones, organización jerarquías. Control de acceso. Asignación de espacio. Seguridad y protección en el contexto de la administración de la Información. Políticas de protección. Sistemas de archivos distribuidos.

* UNIDAD TEMÁTICA 5: Administración de los Dispositivos.
Dispositivos de entrada/salida. Buffering. Acceso Directo a Memoria (DMA) y Buffering. Control dirigido por programa. Interrupciones. Sistemas de Interrupciones. Canales: Protocolos para transmisión de datos. Software de entrada/salida y dispositivos. Seguridad en el contexto de la administración de entrada/salida y dispositivos.

* UNIDAD TEMÁTICA 6: Estudio de un Sistema operativo actual.
Linux. Generalidades. Objetivos. Interfases. Login. Shell. Directorios y archivos. Programas utilitarios. Conceptos fundamentales: procesos. Llamadas al sistema para la administración de la Memoria. Llamadas al sistema para la administración de archivos directorios. Llamadas al sistema para la administración de entrada/salida. Aplicación de Ingeniería Inversa para caracterizar el Sistema de Archivos. Seguridad.

VII - Plan de Trabajos Prácticos
Metodología de Enseñanza:
Las actividades de Sistemas Operativos están divididas en: Prácticos de Aula y de Laboratorio.
Los prácticos de Aula consisten de la resolución de ejercicios en lápiz y papel, algunos de los cuales se definen estratégicamente con el fin de guiar al estudiante por el material bibliográfico, para adquirir los conceptos necesarios para los ejercicios siguientes o en su defecto para los ejercicios de laboratorio.
Las prácticas de laboratorio, se plantean de modo tal que el estudiante deba utilizar herramientas informáticas como simuladores, en donde se verán aplicados los conceptos teóricos abordados en las clases teóricas, ya sea realizando un análisis de los mismos sobre un sistema informático particular o a través de ejecuciones de simulaciones.

Objetivos generales de los trabajos prácticos:

La cátedra se propone desarrollar en el estudiante diferentes capacidades durante el desarrollo del cursado y en consonancia con los ejes transversales, en forma progresiva y para el abordaje de cada temática. Ellas son: Capacidad de búsqueda y apropiación de conocimiento. Capacidad de análisis de situación y definición de herramientas y/o conceptos para aplicar en la resolución. Capacidad de resolución de problemas. Capacidad de análisis y síntesis. Comunicación oral y escrita. Capacidad de trabajo en equipo. Capacidad de razonamiento crítico. Capacidad de crítica y autocrítica.
Capacidad para aplicar la teoría a la práctica. Capacidad de generar nuevas ideas. Capacidad de abstracción, concreción, razonamiento, creatividad, síntesis y precisión.

TRABAJOS PRÁCTICOS DE AULA

* Práctico 1: Administrador de procesos.

Objetivo:

Introducir al estudiantado en el concepto de proceso y cómo influyen en el sistema los diferentes tipos de procesos. Describir los procesos y sus estructuras de control desde el punto de vista de los sistemas operativos. Estudiar y analizar distintos modelos de ciclo de vida de los procesos. Analizar las ventajas y dificultades que introducen las interrupciones en la administración de los procesos. Guiar al estudiantado en la lectura de la bibliografía propuesta desarrollando así la capacidad de búsqueda y apropiación de conocimiento.

Temas:
Procesos. Multiprocesamiento, multiprogramación. Tareas básicas, multiplexado del Procesador, context switching. Diagrama de estados.

Metodología:
El práctico presentará en forma progresiva cada concepto a incorporar por el estudiantado, analizando y evaluando las diver sas situaciones desarrollando el razonamiento crítico para aportar una o varias soluciones.

*Práctico 2: Planificación del Procesador. Corresponde al práctico que figura en contenidos mínimos como: "Políticas de planificación de procesos".

Objetivo:
Introducir al estudiantado en la problemática de la planificación de la CPU entre procesos, poniendo énfasis en que el tipo de Sistema Operativo se manifiesta claramente en este administrador, considerando la importancia del impacto que produce la definición de este Administrador. Analizar el impacto transversal en la performance del sistema, de una buena planificación de la CPU.

Temas:
Planificación de Procesos. Políticas y algoritmos de planificación. Métricas de evaluación.

Metodología:

El práctico presentará en forma progresiva cada concepto a incorporar por el estudiantado, solicitando la resolución de alguna situación en la cual el estudiantado deba aportar soluciones con la aplicación de alguna metodología, política, etc., definiendo un criterio, desarrollando así la capacidad de análisis de situación y definición de herramientas y/o conceptos para aplicar en la resolución.

*Práctico 3: Threads. Corresponde al práctico que figura en contenidos mínimos como: "Threads".

Objetivo:

Introducir al estudiantado en el concepto de threads (hebras), poniendo énfasis en las diferencias principales entre proceso y hebra, no solo a nivel de definición y uso de recursos sino también a nivel de ciclo de vida y en las distintas operaciones. Estudiar y analizar las distintas implementaciones de las hebras, ya sea a nivel de usuario, de kernel o la combinación de ambas. Guiar al estudiantado en la lectura de la bibliografía propuesta desarrollando así la capacidad de búsqueda y apropiación de conocimiento.

Temas:

Threads. Diferencia entre proceso. Ciclo de vida. Operaciones con threads. Distintos tipos de implementaciones de threads.

Metodología:

El práctico se introduce en forma progresiva para que el alumnado apropie los conocimientos del tema, logrando tener razonamiento crítico con respecto a las diferencias sutiles entre proceso y hebra. Desarrollar la habilidad de solucionar problemas ante las diversas situaciones problemáticas sobre el tema presentado.

*Practico 4: Sincronización de Procesos y Bloqueo Mutuo. Corresponde al práctico que figura en contenidos mínimos como: "Sincronización de procesos y Bloqueo mutuo".

Objetivo:

Introducir al estudiantado en la comprensión de la complejidad de la sincronización de procesos. visualizar y comprender cuáles son los problemas derivados de la ejecución de los procesos en forma concurrente y cuáles son los diversos mecanismos, ya sean por software, por hardware o de alto nivel, que permiten solucionar dichos problemas, es muy importante para el alumnado. Además, En un entorno de multiprogramación los procesos comparten recursos. Por lo tanto, un problema a tener en cuenta en tales sistemas es el bloqueo mutuo. Detectar las condiciones necesarias que conducen al bloqueo mutuo, analizar las formas de ataque del problema desde el punto de vista del sistema operativo y de los procesos, así como estudiar las distintas alternativas y sus respectivas soluciones para evitar, prevenir, detectar y recuperarse de un bloqueo mutuo son conceptos claves en el aprendizaje de este complejo administrador.

Temas:

Sincronización, concurrencia, comunicación entre procesos (IPC). Semáforos, Regiones críticas (CR), Regiones críticas condicionales (CCR), monitores, pasajes de mensajes. Deadlock. Condiciones necesarias. Prevención, Detección y Recuperación.

Metodología:

El práctico presentará en forma progresiva cada concepto a incorporar por el estudiantado, solicitando la resolución de diversas situaciones problemáticas logrando de esta manera no solo la apropiación de conocimiento sino también tener razonamiento crítico para llegar a la mejor solución del problema propuesto.

TRABAJOS DE LABORATORIO
Para abordar los contenidos correspondientes al laboratorio: Administrador de procesos que se menciona en los contenidos mínimos, se desglosan por razones didácticas y de planificación en tres laboratorios:

* Laboratorio 1: Administrador de Procesos

Objetivo:

Se pretende que el estudiante internalice los conceptos aprendidos en la materia involucrados en la Unidad temática 2, mediante la realización de prácticos de laboratorio. Debido a la amplitud de conceptos, se dividen en tres partes:
*Parte 1. Procesos.
*Parte 2. Planificacion de procesos.
*Parte 3. Threads.

Laboratorio 1. Parte 1. Procesos.
Temas: Procesos, estados de los procesos, llamadas a sistema y comunicación entre procesos.

Metodología:

Instalación y ejecución de un simulador de procesos. Uso del intérprete de comandos Linux para la administración de procesos.

* Laboratorio 1. Parte 2: Planificación de Procesos.

Objetivo:

Lograr que el estudiante, analice los distintos algoritmos de planificación.

Temas:

Planificación de procesos. Diagramas de estados. Políticas de asignación de procesos. Métricas, comparación. Context Switching.

Metodología:

Realización simulaciones aplicando distintos algoritmos de planificación. Presentación de un informe escrito con el análisis realizado teniendo en cuenta las medidas de desempeño del sistema operativo.

* Laboratorio 1. Parte 3: Hebras y Sincronización de Procesos.

Objetivos:
Permitir que el estudiante asimile, a través del desarrollo de versiones algorítmicas de problemas representativos de la temática, concurrentes, la problemática que presentan los Deadlocks y las formas de evitarlos. Analizar el estado de los threads de un sistema de cómputo con Linux a través del uso del intérprete de comandos.

Temas:

Threads (Hebras, Leightweight processes), coordinación de procesos: sincronización, concurrencia, Semáforos, CR, CCR, monitores, pasajes de mensajes.

Metodología:

Realización de aplicaciones en entorno de programación POSIX y utilización del intérprete de comandos.

Laboratorio 2: Administrador de la memoria.

Objetivo:

Introducir al estudiante en la problemática de la utilización de la memoria, poniendo énfasis en que este recurso resulta realmente limitante y definitorio para todo tipo de Sistema Operativo. En este laboratorio se pretende que el estudiante realice una valoración con respecto a compartir la memoria entre procesos y su impacto en el desempeño del Sistema operativo. Estudiar y analizar distintos modelos de organización y administración de la memoria.

Temas:

Memoria Real. Organización y Administración: Asignación contigua y no contigua. Particionado fijo y variable. Swapping. Memoria Virtual. Organización; almacenamiento múltiple. Paginado y Segmentado. Administración; estrategias de reemplazo de página. Working Sets. Faltas de páginas. Trashing.


Metodología:

En el laboratorio se presentarán situaciones de estado de una memoria de un sistema informático hipotético o real, para el cual el alumno deberá analizar y proponer mejoras, proponiendo cambios respecto a la política aplicada en el diseño del algoritmo de administración de la memoria, las estructuras de datos utilizadas, etc. Se utilizará como herramienta de estudio simulaciones para casos hipotéticos. Análisis y configuración de una memoria de una máquina virtual. Utilización de comandos básicos del intérprete de comandos para administrar la memoria.

Laboratorio 3: Sistema de archivos.

Objetivo:

Introducir al estudiante en conceptos del Sistema de archivos, la información y su representación. Se pretende que el estudiante obtenga una conclusión con respecto a una buena administración de la información, que analice el estado de un sistema informático, hipotético o real, en lo que respecta al sistema de archivos y proponga cambios como mejoras, según lo observado.

Temas:

Archivos: Estructuras, tipos, accesos y operaciones. Directorios. El sistema de Archivos; funciones, organización, jerarquías. Control de acceso. Asignación de espacio. Seguridad y protección.
Políticas de protección. Sistemas de archivos distribuidos.

Metodología:

En el laboratorio se trabajará con máquinas con un sistema operativo Linux, para las cuales se analizarán y visualizarán las diferentes aspectos relacionados a la administración de archivos, utilizando aplicaciones gráficas y comandos del shell.

VIII - Regimen de Aprobación
RÉGIMEN DE REGULARIZACIÓN
Para regularizar la materia los estudiantes deberán cumplir con las siguientes condiciones:
* Aprobar los trabajos prácticos de aula y laboratorio.
Se entiende por trabajo práctico de aula a todo trabajo práctico que la cátedra fije para cada unidad, a realizar o entregar
en el aula y/o repositorio digital.

*Cumplir con los requerimientos establecidos, para los trabajos prácticos y clases teóricas, de interés para el seguimiento y la evaluación continua llevada a cabo durante la cursada.

* Contar con una asistencia del
- 70% a las clases teóricas.
- 70% a las clases prácticas en aula y en laboratorio.

* Aprobar los trabajos prácticos de laboratorio.
Cada trabajo práctico se deberá entregar y aprobar en la fecha fijada por la cátedra.

* Aprobar la evaluación parcial.
La cátedra establece una evaluación parcial a realizarse durante su dictado. Los estudiantes deberán aprobar tal evaluación parcial para regularizar, pudiendo recuperar a lo sumo dos veces, tal como se considera en las ordenanzas de la Universidad Nacional de San Luis.

RÉGIMEN DE PROMOCIÓN

Los estudiantes deberán cumplir con los requisitos para regularizar la materia, salvo que con una asistencia del 80% a las clases teóricas y del 80% a las clases prácticas en aula y en laboratorio. Además deberán aprobar la evaluación parcial de primera instancia o en cualquiera de las permitidas, según la reglamentación vigente, con una calificación igual o mayor a siete, para poder acceder a la instancia integradora final la cual también debe ser aprobada con nota de al menos 7 puntos.

EXAMEN FINAL

El estudiante regular, para aprobar la materia, deberá rendir un examen final que será escrito u oral, pudiendo
incluir uno o varios temas teóricos y/o prácticos.

EXAMEN LIBRE

No se admiten estudiantes libres.
IX - Bibliografía Básica
[1] Operating Systems - Harvey M. Deitel - Addison-Wesley- 2004 - ISBN: 0131828274.
[2] El núcleo LINUX. Review, versión 0.8-2 - RUSLING DAVID A. (1996-1998) Trabajo en preparación disponible en Internet.
[3] Operating Systems Design: the XINU Approach - Douglas E. Comer - Prentice Hall - 1984 - ISBN: 0-13-637539-1.
[4] Linux Kernel Internal - Second Edition - Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnums, Dirk Verworner - Addison-Wesley - 1998 - ISBN: 0-201-33143.8.
[5] Modern Operating Systems - Andrew S. Tanenbaum - Prentice Hall - 1992 - ISBN: 0-13-588187-0.
[6] The Design of the UNIX Operating System - Maurice J. Bach - Prentice Hall - 1986 - ISBN: 0-13-201799-7 025.
[7] Operating system concepts - Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.- 10th ed. - Wiley - 2018 - ISBN: 978-1-119-32091-3.
[8] Modern Operating System - Andrew S. Tanembaum, Hebert Bos - 5th ed.- Pearson - 2023 - ISBN-13: 978-0-13-761887-3.
[9] Operating Systems: Internals and design Principles - William Stalling - 9th ed. - Pearson - 2018 - ISBN 13: 978-1-292-21429-0.
[10] Concurrencia y sistemas distribuidos - Francisco Daniel Muñoz Escoí, Estefanía Argente Villaplana, Agustín Rafael Espinosa Minguet, Pablo Galdámez Saiz, Ana García-Fornes, Rubén de Juan Marín, Juan Salvador Sendra Roig - Editorial: Universidad Politécnica de Valencia - 2013 - ISBN: 978-84-9048-002-1.
X - Bibliografia Complementaria
[1] UNIX for Programmers and Users A Complete Guide - Graham Glass - Prentice Hall - 1993 - ISBN: 0-13-061771-7
XI - Resumen de Objetivos
Son objetivos de la materia Sistemas Operativos los siguientes:
a) Estudio teórico de Sistemas Operativos a fin de capacitar al estudiante en la comprensión de las funciones de un sistema
operativo y el alcance de su impacto en un sistema de computación
b) Desarrollar en el estudiante la capacidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática.
c) Como resultados derivados de los puntos A) y B) se espera desarrollar en el estudiante, luego de adquirida cierta experiencia en el área, las siguientes capacidades:
Participar en el diseño e implementación de Sistemas Operativos.
Modificar un Sistema Operativo acorde a las necesidades de su entorno.
Mantener un Sistema Operativo según las comunicaciones con el proveedor de equipo.
Utilizar en otras áreas de aplicaciones los conocimientos a fin de producir software de mejor calidad.
Un manejo aceptable en la plaza del Sistema Operativo LINUX.
Acorde con los objetivos y dentro de las restricciones del plan de estudios, el desarrollo de la materia profundizará en las
áreas del administrador del procesador y del administrador de la memoria.
Los administradores de la información y de los dispositivos no serán tratados al mismo nivel de detalle debido a la brevedad
del curso y a la dependencia de una configuración particular.
No obstante se espera que la introducción a los mismos, dada durante el curso sea suficiente para encarar estos aspectos en
situaciones futuras.
XII - Resumen del Programa
Historia, evolución y filosofía. Métodos de estructuración: modelos de capas y cliente-servidor de objetos. Tareas y
procesos:definición, bloques de control, listas ready, dispatching, context switch. Coordinación y sincronización de
procesos.Deadlocks: causas, condiciones; modelos y mecanismos. Scheduling and dispatching. Administrador de memoria. Administrador de dispositivos. Sistema de Archivos. Seguridad. Protección. Un caso de estudio.


Laboratorios sugeridos: Debe ir?
XIII - Imprevistos
El plan de trabajo es adecuado para realizar el desarrollo por medio de un repositorio digital. La cátedra cuenta con un sitio web además del mencionado repositorio, desde los cuales se dispone la educación apoyada por TIC.
XIV - Otros
Correos electrónicos de integrantes de la cátedra:
Prof. Responsable, Silvia Molina : silvymolina@gmail.com
Prof. Co Responsable, Natalia Miranda: natalia.miranda@gmail.com
Prof. Responsable de trabajos prácticos, Gabriela Palacio: so.di.unsl@gmail.com