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 a la/al estudiante desde el título menor, siendo fundamental la articulación con Arquitectura I y II, Sistemas Distribuidos y Redes de computadoras. 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 a la/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 con el fin de capacitar al estudiantado en la comprensión de las funciones de un sistema operativo en un sistema de computación bajo distintos entornos y configuraciones. B) Desarrollar en el estudiantado 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 estudiantado, 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. Objetivos generales de los trabajos prácticos: El equipo docente se propone desarrollar en el/la estudiante diferentes capacidades durante el desarrollo del cursado, en forma progresiva y para el abordaje de cada temática. Ellas son: Capacitar en la búsqueda y apropiación de conocimiento. Capacitar en el análisis de situación y definición de herramientas y/o conceptos para aplicar en la resolución. Capacitar en la resolución de problemas. Capacitar en análisis y síntesis. Capacitar en la comunicación oral y escrita. Capacitar el trabajo en equipo. Capacitar en el razonamiento crítico. Capacitar la crítica y autocrítica. Capacitar para la aplicación de la teoría a la práctica. Capacitar en la generación de nuevas ideas. Capacitar para abstracción, concreción, razonamiento, creatividad, síntesis y precisión. 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 tratar estos aspectos en situaciones futuras. |
VI - Contenidos |
---|
Contenidos mínimos:
Evolución y estructuras de los sistemas operativos. Tipos de sistemas operativos: Sistemas de procesamiento batch, sistemas de tiempo compartido, sistemas de tiempo real (TR), sistemas embebidos, móviles. Definiciones, conceptos fundamentales y aplicaciones. Virtualización / Máquinas virtuales y reconfiguración dinámica. Administración del Procesador. Coordinación, sincronización, concurrencia y comunicación entre procesos. Programación concurrente: semáforos, monitores, pasaje de mensaje. Planificación de procesos. Deadlock. Hebras. Administración de memoria: distintos modelos. Administración de la Información: archivos, directorios, el sistema de archivos, seguridad y protección, sistemas de archivos distribuidos, fallos y tolerancia a fallos. Administración de Dispositivos. Análisis y gestión de seguridad en sistemas operativos. 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. Sistemas de procesamiento batch, sistemas de tiempo compartido, sistemas de tiempo real, sistemas embebidos: 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: Administración 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. Seguridad en el contexto de la administración de los procesos. UNIDAD TEMÁTICA 3: Administración 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: Administración 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: 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. Seguridad. |
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. Los objetivos generales de los trabajos prácticos, según los establecidos en el apartado V, se evalúan en cada trabajo práctico como se detalla a continuación: TRABAJOS PRÁCTICOS DE AULA * Práctico 1: Administración del Procesador. Objetivo: Introducir a la/al estudiante 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 esta Administración. 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 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; Sincronización, concurrencia, comunicación entre procesos (IPC). Semáforos, CR, CCR, monitores, pasajes de mensajes. Planificación de Procesos. Deadlock. Metodología: El práctico presentará en forma progresiva cada concepto a incorporar por la/el estudiante, solicitando la resolución de alguna situación en la cual la/el estudiante 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 2: Administración de la Memoria. Objetivo: Introducir a la/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 práctico se pretende que la/el estudiante realice una valoració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 la/el estudiante, solicitando la resolución de alguna situación y posteriormente el aporte de la/del estudiante a través de un análisis pormenorizado de la aplicación de alguna metodología, política, etc., definiendo un criterio, desarrollando así la capacidad de resolución de problemas y de análisis y síntesis. * Práctico 3: Administración de la Información. Objetivo: Introducir a la/al estudiante 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 la/el estudiante obtenga una conclusió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 a la/al estudiante 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 la/el estudiante, 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. Desarrollando así la Capacidad de razonamiento crítico y la Capacidad para aplicar la teoría a la práctica. * Práctico 4: Administración de los Dispositivos. Objetivo: Introducir a la/al estudiante en la diversidad de dispositivos de entrada salida, poniendo énfasis en que este recurso resulta limitante en cuanto a los tiempos de un sistema operativo. Este práctico tiene como objetivo que la/el estudiante analice los 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. Guiar a la/al estudiante 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 la/el estudiante, solicitando el estudio teórico de alguna situación y posteriormente el aporte de la/del estudiante 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. Desarrollando también la capacidad para aplicar la teoría a la práctica. * Práctico 5: Caso de estudios Objetivo: En este práctico el equipo docente se propone, que la/el estudiante, 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. Con este trabajo práctico se busca desarrollar la capacidad de Comunicación oral y escrita, la Capacidad de trabajo en equipo con la Capacidad de razonamiento crítico; también la Capacidad de crítica y autocrítica en conjunto con Capacidad de abstracción, concreción, razonamiento, creatividad, síntesis y precisión. TRABAJOS DE LABORATORIO * Práctico 1: Procesos y comunicación entre procesos Objetivo: Se pretende que el estudiantado internalice 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: Planificación de Procesos. Objetivo: Lograr que el estudiantado 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 de diferentes simulaciones, aplicando distintos algoritmos de planificación. Presentación de un informe escrito con el análisis realizado teniendo en cuenta las medidas de la performance del sistema operativo. * Práctico 3: Hebras y Sincronización de Procesos. Objetivos: Permitir que la/el estudiante 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. A continuación, se describe cómo se abordan y cómo se evalúan los ejes transversales trabajados en la asignatura: - Identificación, formulación y resolución de problemas de informática Cómo se aborda: Solicitando opinión sobre determinadas situaciones, presentadas por el equipo docente en todas las unidades, además de pedir una definición del/los problemas a los que se enfrenta la situación del Sistema Operativo. Solicitud de soluciones posibles y la determinación del cómo realizarlo. Cómo se evalúa: Se tiene en cuenta todas las propuestas realizadas por el estudiantado, se tiene en cuenta lo actual, lo posible y lo posiblemente ejecutable. Luego se realiza una evaluación con ponderación entre los grupos o estudiantes opinantes. - Utilización de técnicas y herramientas de aplicación en la informática. Cómo se aborda: Se le presenta al estudiantado situaciones en el ambiente del S.O. y se solicita sugerencias en herramientas y diferentes formas de diagnosticar estados y/o situaciones del sistema operativo. Además, se solicita empleo de estas herramientas al momento de presentar informes y en las entregas de trabajos puntualmente solicitados. Cómo se evalúa: Se tiene en cuenta el objetivo seleccionado por el estudiantado y la congruencia de las herramientas elegidas. Luego se evalúa el resultado al que arriba la/el estudiante con sus respectivos fundamentos. - Generación de desarrollos tecnológicos y/o innovaciones tecnológicas. Cómo se aborda: El equipo docente solicita presentaciones con tecnologías específicas y metodologías sobre determinados temas a analizar relacionados a diferentes temas contenidos en la materia. Cómo se evalúa: La evaluación se basa en considerar la tecnología que la/el estudiante utiliza para transferir sus conceptos y además de evaluar las herramientas utilizadas para realizar análisis, comparaciones etc. - Fundamentos para el desempeño en equipos de trabajo: Cómo se aborda: Se entregan tareas a desarrollar en equipo y se solicita que dentro de un grupo de estudiantes se distribuyan tareas y funciones con el fin de exponer temas a analizar y/o explicar. Cómo se evalúa: Se tiene en cuenta la forma de asignaciones de tareas para cada uno/a de las/os integrantes, luego se evalúa el desempeño de cada estudiante. Se considera que tiene un alto impacto debido a que ésta práctica se realiza en un alto porcentaje de trabajos prácticos. - Fundamentos para la comunicación efectiva Cómo se aborda: Se solicitan Informes orales y escritos Cómo se evalúa: Con la presentación de informes en archivos a evaluar por el equipo docente. Luego se evalúa la exposición oral, considerando las Tecnologías elegidas para la exposición, como así también la transferencia adecuada de los conceptos en consideración. - Fundamentos para la acción ética y responsable Cómo se aborda: Se requiere al estudiantado el cambio de roles en desarrollo de trabajos prácticos. Estudiante/evaluador/a. Compromiso de entregas. Evaluaciones diferidas en TICS. Cómo se evalúa: La evaluación sobre los roles desarrollados y Comparación de trabajos presentados. Además, se observa la presentación de los mismos y su objetividad. Consideramos un nivel alto debido a que se trabaja este eje en todos los trabajos prácticos de aula, laboratorio y en consultas teóricas durante el cursado. - Fundamentos para el aprendizaje continuo Cómo se aborda: Se presentan preguntas, que el equipo docente ha denominado preguntas integradoras. Estas preguntas abordan en forma integradora el último tema tratado en relación a los conocimientos ya adquiridos en forma continua durante el cursado de la materia. Cómo se evalúa: Mediante preguntas que van interrelacionando los conceptos adquiridos en forma progresiva desde el principio del curso. Se evalúa el conocimiento que el/la estudiante va adquiriendo, así el equipo docente puede lograr conocer el avance de cada estudiante y reforzar los conceptos que sean necesarios. |
VIII - Regimen de Aprobación |
---|
RÉGIMEN DE REGULARIZACIÓN
Para regularizar la materia el estudiantado deberá 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 el equipo docente fije para cada unidad, a realizar o entregaren el aula y/o repositorio digital. Contar con una asistencia de al menos el 70% a las clases teóricas y al menos el 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 el equipo docente. Aprobar la evaluación parcial. El equipo docente establece una evaluación parcial a realizarse durante su dictado. El estudiantado deberá 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 El estudiantado deberá cumplir con los requisitos para regularizar la materia, salvo que con una asistencia de al menos el 80% a las clases teóricas y de al menos el 80% a las clases prácticas en aula y en laboratorio. Además deberá 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 estudiantado 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] Operating Systems - Harvey M. Deitel - Addison-Wesley- 1990 - ISBN: 0-201-50939-3 [3] El núcleo LINUX. Review, versión 0.8-2 - RUSLING DAVID A. (1996-1998) Trabajo en preparación disponible en internet. [4] Operating Systems Design the XINU Approach - Douglas E. Comer - Prentice Hall - ISBN: 0-13-637539-1 [5] 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 [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 025 [8] Operating system concepts Essentials // Operating system concepts Essentials -Abraham Silberschatz, Peter Baer Galvin, Greg Gagne.-2nd ed. 2014/United State of America:Wiley.ISBN: 9781118804926 [9] 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 [10] Sistemas operativos: principios de diseño e interioridades-Stallings, William;ISBN: 8420531774 [11] Operating systems: internals and design principles- William Stallings.-Boston : Prentice Hall, 2012.ISBN: 9780132309981 |
X - Bibliografia Complementaria |
---|
[1]
|
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 estudiantado 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 estudiantado, 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 de la administración del procesador y de la administración 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. Administración de memoria. Administración de dispositivos. Sistema de Archivos. Seguridad. Protección. Un caso de estudio.
Laboratorios sugeridos: Realización de diferentes simulaciones, aplicando distintos algoritmos de planificación. Presentación de un informe escrito con el análisis realizado teniendo en cuenta las medidas de la performance del sistema operativo. Realización de aplicaciones en entorno de programación POSIX y utilización del intérprete de comandos. |
XIII - Imprevistos |
---|
|
XIV - Otros |
---|
Contactos de la materia Silvymolina@gmail.com ; so.di.unsl@gmail.com
|