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 |
I - Oferta Académica | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Este curso se ubica en el 3º año de la Lic. en Ciencias de la Computación, con el fin de dar formación básica al alumno desde
el título menor, siendo fundamental la articulación con Arquitectura I y II, Sistemas Distribuidos y Redes. Los ejes temáticos de la materia: el Sistema Operativo y sus diferentes tipos, llevando la práctica a casos particulares como UNIX y LINUX. |
V - Objetivos / Resultados de Aprendizaje |
---|
La asignatura Sistemas Operativos tiene por objeto de estudio a los Sistemas Operativos convencionales.
Para definir los objetivos de la materia se considera respecto a: * Sistemas Operativos: El objetivo principal de la asignatura es suministrar al alumno conocimientos sólidos referidos a los Sistemas Operativos como administradores de recursos de la computadora, especialmente la administración del procesador y la memoria. Los objetivos generales se resumen en: A) Estudio teórico de Sistemas Operativos a fin de capacitar al alumno en la comprensión de las funciones de un sistema operativo en un sistema de computación. B) Desarrollar en el alumno la capacidad de implementar distintas técnicas relativas al área, con los elementos al alcance del Departamento de Informática. Como resultados derivados de los puntos A) y B) se espera desarrollar en el alumno, luego de adquirida cierta experiencia en el área, las siguientes capacidades: - Participar en el diseño e implementación de alguno de los módulos de un Sistema Operativo. - 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 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. |
VI - Contenidos |
---|
* UNIDAD TEMÁTICA 1: Introducción
Visiones de un Sistema Operativo: Como máquina extendida y como Administrador de recursos. Historia de los Sistemas Operativos, generaciones. 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, CR, CCR, monitores, pasajes de mensajes. Scheduling de Procesos: Mecanismos y Políticas. Deadlock; Condiciones necesarias. Prevención, Detección y Recuperación. * 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. * 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. 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. * UNIDAD TEMÁTICA 6: Caso de estudio LINUX : File System Generalidades: Objetivos. Interfases. Login. Shell. Directorios y archivos. Programas utilitarios. Conceptos fundamentales: procesos. System calls de Memoria. Systems calls de archivos y directorios. System calls de entrada/salida. Aplicación de Ingeniería Inversa para caracterizar el Sistema de Archivos de LINUX. |
VII - Plan de Trabajos Prácticos |
---|
Las clases actividades están divididas en: Prácticos de Aula y Laboratorio. Los prácticos de Aula
consistirán 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 alumno por el material bibliográfico con el fin de adquirir los conceptos necesarios para los ejercicios siguientes o en su defecto para los trabajos de laboratorio. Las prácticas de laboratorio, se plantean de modo tal que el alumno deba utilizar herramientas informáticas donde se verán los conceptos teóricos desarrollados, ya sea realizando un análisis de los mismos o a través del desarrollo de sistemas. Objetivos generales de los trabajos prácticos: La cátedra se propone desarrollar en el alumno diferentes capacidades durante el desarrollo del cursado, 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 del Procesador. Objetivo: Introducir al alumno en la problemática de la planificación de la CPU entre procesos, poniendo énfasis en qué el tipo de Sistema Operativo se manifiesta claramente en este administrador, evaluando la importancia del impacto que produce la definición de este Administrador. Estudiar y analizar distintos modelos de ciclo de vida de los procesos. Comprensión de la complejidad de la sincronización de procesos. Analizar el impacto transversal en la performance del sistema, de una buena planificación de la CPU. Conducir al alumno en la lectura de la bibliografía propuesta. Temas: Procesos. Multiprocesamiento, multiprogramación. Tareas básicas, multiplexado del Procesador, context switching. Diagrama de estados; Sincronización, concurrencia, comunicación entre procesos (IPC). Semáforos, CR, CCR, monitores, pasajes de mensajes. Scheduling de Procesos. Deadlock. Metodología: El práctico presentará en forma progresiva cada concepto a incorporar por el alumno, solicitando la resolución de alguna situación en la cual el alumno deba aportar soluciones con la aplicación de alguna metodología, política, etc., definiendo un criterio. * Práctico 2: Administrador de la Memoria. Objetivo: Introducir al alumno en la problemática de la utilización de la memoria, poniendo énfasis que este recurso resulta realmente limitante y definitorio para todo tipo de Sistema Operativo. En este práctico se pretende que el alumno realize la evaluación con respecto a compartir la memoria entre procesos y su impacto en la performance del sistema operativo. Estudiar y analizar distintos modelos de organización y administración de la memoria. Conducir al alumno en la lectura de la bibliografía propuesta. 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: El práctico presentará en forma progresiva cada concepto a incorporar por el alumno, solicitando la resolución de alguna situación y posteriormente el aporte del alumno a través de un análisis pormenorizado de la aplicación de alguna metodología, política, etc., definiendo un criterio. * Práctico 3: Administrador de la Información. Objetivo: Introducir al alumno en la existencia de información y su representación dentro del sistema operativo, poniendo la importancia que todo Sistema Operativo en definitiva maneja información. En este práctico se pretende que el alumno realice la evaluación con respecto a una buena administración de la información, es decir, obtener un criterio adecuado para el manejo de archivos y de la información. Conducir al alumno en la lectura de la bibliografía propuesta. 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: El práctico presentará en forma progresiva cada concepto a incorporar por el alumno, solicitando la resolución de alguna situación y posteriormente el aporte del alumno a través de un análisis detallado de la aplicación de alguna metodología, política, etc., definiendo un criterio. * Práctico 4: Administrador de los Dispositivos. Objetivo: Introducir al alumno en la diversidad de dispositivos de entrada salida, poniendo énfasis que este recurso resulta limitante en cuanto a los tiempos de un sistema operativo. En este práctico se pretende que el alumno realice la evaluación con respecto a las diferentes modos de atención de la entrada salida y sus características según la tecnología disponible para el sistema operativo. Estudiar y analizar distintos modelos de atención de entrada salida. Conducir al alumno en la lectura de la bibliografía propuesta. Temas: 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. Metodología: El práctico presentará en forma progresiva cada concepto a incorporar por el alumno, solicitando el estudio teórico de alguna situación y posteriormente el aporte del alumno a través de un análisis pormenorizado de la aplicación de algún modelo de atención de entrada salida, definiendo un criterio. * Práctico 5: Caso de estudios Objetivo: En este práctico la cátedra se propone, que el alumno, a partir del conocimiento adquirido previamente, realice el análisis, caracterización y categorización de cada uno de los módulos del sistema operativo a estudiar. Metodología: Presentación de un informe escrito, en forma grupal con el análisis del sistema propuesto al grupo. TRABAJOS DE LABORATORIO * Práctico 1: Procesos y comunicación entre procesos Objetivo: Se pretende que el alumno internalize los conceptos abstractos aprendidos en la materia, mediante la realización de prácticos de máquina. Temas: Procesos, estados de los procesos, llamadas a sistema y comunicación entre procesos. Metodología: Realización de aplicaciones en entorno de programación POSIX y uso del intérprete de comandos. * Práctico 2: Hebras y Sincronización de Procesos. Objetivos: Permitir que el alumno asimile, con ayuda del desarrollo de aplicaciones, la problemática que presentan los Deadlocks, y las formas de evitarlos. Temas: 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. |
VIII - Regimen de Aprobación |
---|
RÉGIMEN DE REGULARIZACIÓN
Para regularizar la materia los alumnos deberán cumplir con las siguientes condiciones: * Aprobar los prácticos de aula y laboratorio. Se entiende por práctico de aula a todo práctico que la cátedra fije para cada unidad, a realizar o entregar en el aula. * Contar con una asistencia del - 70% a las clases teóricas. - 70% a las clases prácticas en aula y en laboratorio. * Aprobar los prácticos de laboratorio. Cada práctico se deberá entregar y aprobar en la fecha fijada por la cátedra o en una fecha de recuperación. * Aprobar los exámenes parciales. La cátedra establece dos parciales a realizarse durante su dictado. Los alumnos deberán aprobar tales parciales para regularizar, pudiendo recuperar a lo sumo dos veces cada uno de ellos, tal como se considera en las ordenanzas de la Universidad Nacional de San Luis. RÉGIMEN DE PROMOCIÓN Los alumnos además de 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. a deberán aprobar cada uno de los parciales de primera instancia o en cualquiera de las permitidas según la reglamentació vigente con una calificación igual o mayor a siete, para poder acceder a la evaluación integradora final la cual también debe se aprobada con nota de al menos 7 puntos. EXAMEN FINAL El alumno 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 alumnos libres. |
IX - Bibliografía Básica |
---|
[1] Operating Systems. Harvey M. Deitel. Addison-Wesley. 2004. ISBN: 0131828274.
[2] Operating System Concepts. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.7th ed. Hoboken, N J : J. Wiley, 2005. ISBN: 0471694665. [3] Fundamentos de Sistemas Operativos.Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.Traducción, Vuelapluma revisión técnica, Jesús Sánchez Allende. 7a. ed. Madrid: McGraw Hill, 2006. ISBN: 8448146417. [4] Operating Systems: Internals and Design Principles. William Stallings.7th. ed. Boston: Prentice Hall, 2012. ISBN: 9780132309981. [5] Operating System Concepts Essentials. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. 2nd ed.- United State of America: Wiley., 2014. ISBN: 9781118804926. [6] Modern Operating Systems. Andrew S. Tanenbaum. Prentice Hall. 1992. ISBN: 0-13-588187-0. [7] The Design of the UNIX Operating System. Maurice J. Bach. Prentice Hall. 1986. ISBN: 0-13-201799-7. [8] 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. |
X - Bibliografia Complementaria |
---|
[1] UNIX for Programmers and Users A Complete Guide. Graham Glass. Prentice Hall - 1993 - ISBN: 0-13-061771-7.
[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. ISBN: 0-13-637539-1. [4] The Design of the UNIX Operating System. Maurice J. Bach. Prentice Hall. 1986. ISBN: 0-13-201799-7 025. |
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 alumno 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 alumno 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 alumno, 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, prevención; modelos y mecanismos. Scheduling and dispatching. Administrador de memoria. Administrador de dispositivos. Sistema de Archivos. Seguridad. Protección. Un caso de estudio. Laboratorios sugeridos: Diseño e implementación de un context switcher simple y múltiples tareas usando un reloj para causar context switch hecho en un lenguaje de alto nivel. Implementación de algún mecanismo de sincronización de accesos y provar la falta de conflictos. Correr varias mezclas de jobs bajo varios algoritmos de scheduling y analizar los resultados (a través de simulaciones). |
XIII - Imprevistos |
---|
El presente programa se presenta para ser desarrollado en un contexto mundial de pandemia causado por Covid'19. El plan de trabajo ha sido adecuado al dictado en forma no presencial, a través de aulas virtuales dispuesta por la FCFMyN de la UNSL, grupos de mails, además la çatedra cuenta desde hace varios períodos anteriores la disponibilidad del material y demás comunicación con los alumnos y alumnas, a través de su página web.En el caso de los alumnos y alumnas promocionados y promocionadas la evaluación integradora final será considerada en el momento oportuno en forma presencial o remota, según la situación.
El presente programa puede presentar ajustes dada la situación epidemiológica por COVID 19. Toda modificación será acordada y comunicada con el estudiantado e informada a Secretaría Académica. De acuerdo al art. 2 de la resolución de la Facultad de Cs. Fco. Mat. y Nat. 26/21, el Calendario Académico establece que el primer cuatrimestre sea de 14 semanas. A los efectos de que se impartan todos los contenidos y se respete el crédito horario establecido en el Plan de Estudios de la carrera para esta asignatura, se establece que se de cómo máximo 8 horas por semana distribuidas en teorías, prácticos de aula y consultas, hasta completar las 105 horas correspondientes al Crédito Horario Total de la asignatura. |
XIV - Otros |
---|
|