Download índice de sílabus (abet)

Document related concepts

Hilo de ejecución wikipedia , lookup

Algoritmo del avestruz wikipedia , lookup

Proceso (informática) wikipedia , lookup

Concurrencia (informática) wikipedia , lookup

Multics wikipedia , lookup

Transcript
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL
Facultad de Ingeniería en Electricidad y Computación
SYLLABUS DEL CURSO
Sistemas Operativos
1.
CÓDIGO Y NÚMERO DE CRÉDITOS
CÓDIGO
NÚMERO DE CRÉDITOS : 4
2.
FIEC02097
Teóricos: 4
Prácticos: 0
DESCRIPCIÓN DEL CURSO
Este curso presenta los conceptos fundamentales de los sistemas operativos actuales. Se introducen conceptos
de programación concurrente y se analizan problemas que los mismos presentan como: exclusión mutua,
interbloqueo e inanición. Se analizan también las estructuras de datos usadas para administrar la memoria
principal y el sistema de archivos en un sistema operativo real. A fin de validar estos conceptos, el curso
incluye prácticas y proyectos donde el estudiante debe diseñar e implementar soluciones a problemas que
requieren explotar las funcionalidades de un sistema operativo.
3. PRERREQUISITOS Y CORREQUISITOS.
PREREQUISITOS
CORREQUISITO
4.
TEXTO GUIA Y OTRAS REFERENCIAS REQUERIDAS PARA EL DICTADO DEL CURSO
TEXTO GUÍA
REFERENCIAS
5.
FIEC03319 ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
1. 1.Sistemas Operativos, Silberchatz, Galvin. Gagne. 9na Edicion, 2012,
Wiley.
1. Sistemas Operativos, Andrew Tanenbaum. 3ra Edicion, 2007, Pearson
Prentice Hall.
RESULTADOS DE APRENDIZAJE DEL CURSO
El estudiante al finalizar el curso estará en capacidad de:
1.
2.
3.
4.
5.
6.
7.
8.
6.
Describir las responsabilidades básicas de administración de recursos de un sistema operativo
Describir el concepto de un proceso y listar las transiciones de estado de varios procesos
Distinguir entre un proceso y un hilo
Implementar una aplicación con secciones de código desarrolladas de forma concurrente y aplicar
técnicas apropiadas para evitar problemas de control: Exclusión mutua, interbloqueo e inanición
Describir o aplicar conceptos de memoria virtual
Describir apropiadas políticas de planificación para sistemas uniprocesador y multiprocesador.
Describir varias técnicas de planificación de disco.
Diseñar e implementar una aplicación programada de forma concurrente usando semáforos/
monitores para el control de procesos.
PROGRAMA DEL CURSO
I.
Introducción (2 sesiones - 4 horas).

Definición e historia

Kernel y modo dual
II. Estructuras del Sistema Operativo (2 sesiones - 4 horas).

Servicios del sistema operativo

Interfaz de usuario

Llamadas al sistema

Diseño e implementación de sistemas operativos

Estructura de los sistemas operativos

Máquinas virtuales
III. Procesos (3 sesiones - 6 horas).

Conceptos

Operaciones de procesos

Comunicación entre procesos

Práctica de laboratorio
IG1002-3
Página 1 de 4
SYLLABUS DEL CURSO
SISTEMAS OPERATIVOS
IV. Hilos (3 sesiones - 6 horas).

Introducción

Modelos multi-hilos

Librerías de hilos

Decisiones de implementación

Ejemplos

Práctica de laboratorio
V. Planificación del CPU (4 sesiones - 8 horas).

Conceptos básicos

Criterios de planificación

Algoritmos de planificación

Planificación multi-procesador

Planificación de hilos

Ejemplos

Práctica de laboratorio
VI. Sincronización entre procesos (4 sesiones - 8 horas).

Revision de Proyectos

Introducción

El problema de la sección-crítica

Sincronización en hardware

Semáforos

Problemas clásicos de sincronización

Monitores

Ejemplos

Práctica de laboratorio
VII. Interbloqueo (2 sesiones - 4 horas).

Modelo

Caracterización

Mecanismos para lidiar con interbloqueos

Recuperación de interbloqueos
VIII. Administración de Memoria Principal (2 sesiones - 4 horas).

Conceptos básicos

Swapping

Asignación contigua de memoria

Paginación

Estructura de la tabla de páginas

Segmentación

Discusion Proyecto Final
IX. Administración de Memoria Virtual (2 sesiones - 4 horas).

Conceptos básicos

Paginación bajo demanda

Copia-al-escribir

Reemplazando páginas

Asignación de Tramas

Otras consideraciones
X. Interfaz del Sistemas de archivos (1 sesiones - 2 horas).

Conceptos de archivos

Métodos de acceso

Estructura de directorio

Montando un sistema de archivos

Compartiendo archivos

Protección
XI. Implementación del sistema de archivos (2 sesiones - 4 horas).

Estructura e implementación

Métodos de asignación

Manejo de espacio libre

Eficiencia y rendimiento

Recuperación

Sistemas de archivos basados en bitácoras
XII. Sistemas operativos de propósito específico (1 sesión - 2 horas).

Características del sistema

Características del Kernel

Planificación de recursos

Un ejemplo
IG1002-3
Página 2 de 4
SYLLABUS DEL CURSO
SISTEMAS OPERATIVOS
7.
CARGA HORARIA: TEORÍA/PRÁCTICA
Dos sesiones por semana de 2 horas cada una.
8.
CONTRIBUCIÓN DEL CURSO EN LA FORMACIÓN DEL ESTUDIANTE
El estudiante aprenderá los conceptos sobre los que se fundamentan los sistemas operativos actuales
El estudiante será capaz de explotar las llamadas al sistema de un sistema operativo para resolver problemas
prácticos.
El estudiante desarrollará un proyecto de software en equipo
El estudiante aprenderá sobre cómo la programación concurrente y el uso de hilos permiten tomar ventaja de
los sistemas multiprocesadores actuales y los problemas que se enfrentan cuando se implementan este tipo de
soluciones
FORMACIÓN BÁSICA
9.
FORMACIÓN
PROFESIONAL
x
FORMACIÓN
HUMANA
RELACIÓN DE LOS RESULTADOS DE APRENDIZAJE DEL CURSO CON LOS RESULTADOS DE
APRENDIZAJE DE LA CARRERA
RESULTADOS DE
APRENDIZAJE DE LA
CARRERA*
a) Habilidad para aplicar el
conocimiento apropiado de
Computación y Matemáticas en
esta disciplina
b) Habilidad para analizar un
problema, e identificar y definir
los
requerimientos
computacionales
apropiados
para su solución
c) Habilidad para diseñar,
implementar, y evaluar un
sistema
computacional,
proceso,
componente
o
programa que cumpla los
requerimientos solicitados
d) Habilidad para trabajar
efectivamente en equipo y
lograr un objetivo común
e) Comprensión de temas
profesionales, éticos, legales,
seguridad,
social
y
de
responsabilidad
f) Habilidad para comunicarse
efectivamente con grandes
audiencias
g) Habilidad para analizar el
impacto computacional global y
local
en
las
personas,
organizaciones y sociedad
h) Reconocer la necesidad y
una habilidad para mantener
un
constante
desarrollo
profesional a lo largo de la vida
i) Habilidad para usar las
técnicas,
habilidades,
y
herramientas necesarias para la
práctica de la Computación
IG1002-3
CONTRIBUCIÓ
N (Alta, Media,
Baja)
RESULTADO
S DE
APRENDIZAJ
EDEL
CURSO**
Media
1,2,3,5,6,7
Evaluar algoritmo de planificación de
CPU más eficiente según el tiempo de
retorno en un entorno dado
Alta
4,5,7,8
Diseñar una solución a un problema que
requiere programación concurrente
Media
8
Diseñar una solución a un problema que
requiere programación concurrente
8
Elaborar reporte que proponga y discuta
el diseño de un sistema concurrente
Baja
1
Poner en práctica los conceptos
aprendidos en clase usando sistemas
operativos actuales
Media
8
Desarrollar una aplicación sin necesidad
de IDE y monitoear el rendimiento de
procesos usando llamadas al sistema
EL ESTUDIANTE DEBE:
---
---
Baja
---
Página 3 de 4
SYLLABUS DEL CURSO
SISTEMAS OPERATIVOS
j)
Capacidad
gestionar
o
proyectos
de
liderar,
emprender
---
10. EVALUACIÓN DEL CURSO
Actividades de Evaluación
Exámenes
Lecciones
Tareas
Proyectos
Laboratorio/Experimental
Participación en Clase
Visitas
Otras
x
x
x
x
x
11. RESPONSABLE DE LA ELABORACIÓN DEL SYLLABUS Y FECHA DE ELABORACIÓN
Elaborado por
Fecha
Daniel Ochoa
23 Feb 2013
12. VISADO
SECRETARIO ACADÉMICO DE LA
UNIDAD ACADÉMICA
NOMBRE:
DIRECTOR DE LA SECRETARÍA
TÉCNICA ACADÉMICA
NOMBRE:
FIRMA:
FIRMA:
Resolución y Fecha de aprobación en el
Consejo Directivo:
13. VIGENCIA DEL SYLLABUS
RESOLUCIÓN DEL CONSEJO
POLITÉCNICO:
FECHA:
IG1002-3
Página 4 de 4
SYLLABUS DEL CURSO
SISTEMAS OPERATIVOS