Periodo académico 2020-1S

(702402) SISTEMAS OPERATIVOS

Datos generales

Grupos

Tabla información sobre los grupos de la asignatura
Actividad Grupo Periodos Horarios Aula Profesor/Tutor
CLASE TEÓRICA (1) - CLASE TEÓRICA - GRUPO 1 - BOGOTÁ 20/01/2020 - 21/03/2020 MARTES 16:00 - 18:00 AULA 410 - M2 MANUEL ANTONIO SIERRA RODRIGUEZ
JUEVES 16:00 - 18:00 AULA 410 - M2 MANUEL ANTONIO SIERRA RODRIGUEZ
13/04/2020 - 30/05/2020 MARTES 16:00 - 18:00 - MANUEL ANTONIO SIERRA RODRIGUEZ
JUEVES 16:00 - 18:00 - MANUEL ANTONIO SIERRA RODRIGUEZ

Contenidos

PROGRAMA DE LA ASIGNATURA

Presentación

Conocer los sistemas operativos, es imperativo en la formación de toda aquella persona que tenga contacto con la administración o programación de ellos, por cuanto deberá elaborar desarrollos o administración de los mismos, en los cuales es necesario tener en cuenta el rendimiento del sistema y tener presente la mejor opción a escoger para recomendar el más adecuado en la empresa en la cual participe, dependiendo de las necesidades de la misma. Además, por medio de esta asignatura el estudiante estará en capacidad de comprender cómo el sistema operativo controla los recursos de la computadora y ofrece la base para el desarrollo de aplicaciones en general

Objetivo de Aprendizaje

Facilitar al estudiante el conocimiento de conceptos fundamentales de los sistemas operativos para administrar los elementos básicos del computador (procesador, periféricos y memoria), teniendo en cuenta la administración de recursos, el manejo adecuado del almacenamiento principal y secundario, el manejo de los procesos, además de entender los principales servicios que ofrece al usuario. Con estos conocimientos, el Estudiante estará en capacidad de comparar entre los diferentes sistemas operativos e identificar los aspectos relevantes de cada uno

Contenidos Temáticos

1. INTRODUCCIÓN

1.1. Definición, Historia y Evolución de los Sistemas Operativos

1.2. Clases de Sistemas Operativos y Estructura de un S.O

1.3. Elementos básicos de un Sistema informático

1.4. Características de los sistemas Operativos Modernos

1.5. Hardware del computador

1.6. Lecturas, investigación

1.7. Investigación sobre la historia de los diferentes Sistemas Operativos y cómo se organiza un Sistema Operativo

2. TALLER DE HARDWARE

2.1. Diferenciación entre los diferentes tipos de Hardware.

2.2. Periféricos de entrada

2.3. Periféricos de salida

2.4. Periféricos de entrada/salida

2.5. Dispositivos de almacenamiento

2.6. Conocer en su interior un Disco duro, de un Teclado, unidad de Drive, una unidad de DVD y/o CD, un Mouse, una pantalla (monitor o screen)

2.7. Diferenciar cada una de las partes de la Tarjeta madre y distinguir los buses componentes

2.8. Diferenciar cada una de las tarjetas que utiliza una máquina

2.9. Diferenciar los puertos (serial, paralelo, usb, de red)

2.10. Conocer los diferentes circuitos integrados

2.11. Diferenciar los diferentes slots de expansión

2.12. Conocer los componentes de video, sonido

2.13. Las lecturas que hacen parte del Tema No.1 entregado a los estudiantes en donde se plasman los siguientes subtemas:

2.14. Definición de Sistema Operativo, cómo está conformado, sus Funciones, Historia y evolución de los sistemas operativos, Clasificación, Estructura básica

2.15. Elementos básicos de un sistema informático

2.16. La Cpu, El procesador, Los registros, La memoria principal (RAM), La memoria Rom, La memoria Caché, La memoria Virtual,

2.17. Módulos de Entrada/Salida

2.18. Desarrollar en tiempo independiente el taller sobre Hardware del Computador

3. PROCESOS

3.1. Definición

3.2. Estados de un proceso

3.3. Estructuras de control de un S. O y de un Proceso

3.4. El gestor de procesos

3.5. Responsabilidades del gestor de procesos

3.6. Espacio de direcciones del proceso

3.7. Control de procesos El tema No.1

3.8. Investigación sobre la gestión de procesos en Unix, Linux y Windows

3.9. Primero Parcial

3.10. Todo lo visto hasta el momento

4. PLANIFICACIÓN DE PROCESOS EN UN MONOPROCESADOR

4.1. Planificación de procesos

4.2. Mecanismos de planificación

4.3. Tipos de planificación (Corto, mediano y largo plazo)

4.4. Algoritmos de planificación

4.5. Estrategias no apropiativas

4.6. Estrategias Apropiativas

4.7. Practica de los temas 1 y 2

4.8. Investigación sobre Planificación en Unix, en Linux y en Windows

4.9. Investigación sobre la planificación de procesos en Multiprocesadores y en tiempo real

5. PRINCIPIOS BÁSICOS DE SINCRONIZACIÓN (HILOS)

5.1. Hilos y su implementación

5.2. Beneficios de los hilos

5.3. Estados de un hilo

5.4. Hilos a nivel de Núcleo

5.5. Hilos a nivel de Usuario

5.6. Conocer al menos algunas funciones o métodos en cualquier lenguaje de programación que sirvan para manejar hilos.

5.7. Retomar a través de lecturas los métodos que sirven para el trabajo de hilos en programación, puede ser en cualquier lenguaje

5.8. Segundo Parcial

5.9. Todo lo visto hasta el momento

6. TALLER DE HILOS

6.1. Trabajar sobre programas en ejecución que comparten la imagen de memoria y la información con otros hilos

6.2. Saber programar en cualquier lenguaje.

6.3. Conocer algunos métodos que manejen hilos

6.4. Realizar en la sesión un programa que permita ver cómo se maneja un hilo

7. CONCURRENCIA

7.1. Cooperación entre procesos (sincronización)

7.2. Sección crítica

7.3. Interbloqueo

7.4. Semáforos

7.5. Exclusión mutua por medio de un semáforo

7.6. Problema del buffer limitado (Productor-Consumidor)

7.7. Problema de los lectores-escritores

7.8. Problema de la barbería

7.9. Sincronización en multiprocesadores de memoria compartida

7.10. Monitores

7.11. Paso de mensajes

7.12. Sincronización

7.13. Direccionamiento

7.14. Problema de los lectores-escritores

7.15. Práctica de todos los temas anteriores

7.16. Investigaciones para cada estudiante, la cual deberá ser socializada con los compañeros.

8. TALLER DE MONTAJE DEL SISTEMA OPERATIVO LINUX

8.1. Preparativos para instalación

8.2. Requerimientos de hardware

8.3. Backup de la información

8.4. Partición manual del disco

8.5. Recomendaciones

8.6. Tipos de instalación: por CD, manual

8.7. Instalación por Cd

8.8. Conocimientos básicos sobre sistemas operativos

8.9. Historia de Linux

8.10. Utilidades que ofrece Linux: Editores, filtros y comunicaciones

8.11. Distintas versiones comerciales de Linux

8.12. Realizar en la sesión el montaje del Sistema Operativo Linux

8.13. Introducción al Software Libre y sus filosofía

8.14. Navegando a través de la estructura de directorios de Linux

8.15. Introducción al shell, manejo de permisos, redirección y flujos de texto

8.16. Administración y mantenimiento de sistemas de archivos

8.17. Instalación de Linux

8.18. Proceso de arranque y niveles de ejecución

8.19. Manejo de paquetes

8.20. Búsqueda de archivos y enlaces

8.21. Comprensión y descompresión de archivos

8.22. Introducción a las expresiones regulares

8.23. Manejo de procesos

8.24. Editor VI

8.25. Administración de usuarios

8.26. Administración de cuotas de disco

8.27. Sistema X Window

8.28. Programación de trabajos

8.29. Trabajando con el kernel y sus módulos

8.30. Administración básica de servicios

9. GESTIÓN DE MEMORIA

9.1. Jerarquías de Almacenamiento

9.2. Jerarquía básica de la memoria

9.3. Jerarquías de Memoria

9.4. Requisitos de la gestión de memoria (reubicación, protección, compartimiento, organización lógica y física

9.5. Partición de la memoria (Partición estática, dinámica, sistema de colegas, reubicación)

9.6. Paginación

9.7. Segmentación

9.8. Tener claros los conceptos de Sistemas operativos, manejo del procesador y de los procesos

9.9. Investigar sobre la Gestión de memoria en Unix, Linux y Windows

10. TALLER MONTAJE DE UN SERVIDOR WEB

10.1. Instalación de un Cliente

10.2. Instalación de un Servidor

10.3. Iniciar el servicio httpd

10.4. Conocer de forma general sobre Sistemas Operativos

10.5. Tener conocimientos básicos de Linux

10.6. Saber cómo y en dónde se colocan los comandos básicos de Linux

10.7. Saber en qué consiste y para qué sirve un servidor WEB

10.8. En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

11. TALLER MONTAJE SERVIDOR DE CORREOS

11.1. Configurar el sendmail

11.2. Establecer los dominios permitidos para poder enviar correo

11.3. Preparar la configuración del servidor de correos, habilitando y deshabilitando funciones

11.4. Cargar listas con las que se puede mitigar el Spam

11.5. Definir quienes podrán hacer uso del servidor de correo para poder enviar mensajes

11.6. Designar un alias a la cuenta de correo de root para recibir los mensajes generados por el sistema en una cuenta común de usuario

11.7. Habilitar servicios de POP3 e IMAP

11.8. Configurar el fetchmail

11.9. Crear usuarios

11.10. Enviar y recuperar mensajes

11.11. Conocer de forma general sobre Sistemas Operativos

11.12. Tener conocimientos básicos de Linux

11.13. Saber cómo y en dónde se colocan los comandos básicos de Linux

11.14. Saber en qué consiste y para qué sirve un servidor de Correos

11.15. Claridad o conocimientos básicos de conceptos como: correo electrónico, servidor de correo, servidor DNS, Hosting, dominio, POP, IMAP (Esta terminología corre por cuenta del grupo de trabajo, la cual deberán documentarse con anterioridad a la realización del montaje del servidor de correos).

11.16. En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

12. MEMORIA VIRTUAL

12.1. Paginación

12.2. Segmentación

12.3. Paginación y segmentación combinadas

12.4. Algoritmos de Reemplazo (Política óptima, LRU, FIFO, Reloj)

12.5. Tener claro cómo el sistema operacional gestiona la memoria principal

12.6. Investiga sobre la Memoria virtual en Linux, Windows y Unix12.7. Taller

13. CONFIGURACIÓN PROXY SQUID

13.1. Instalar el servidor Squid

13.2. Asignar usuarios y grupos de usuarios con los permisos respectivos

13.3. Configurar el servidor

13.4. Configurar el espacio de disco para almacenar las páginas visitadas.

13.5. Definir el puerto del Proxy

13.6. Asignar usuario y grupo de directorio caché

13.7. Definir controles de acceso

13.8. Definir negaciones de acceso

13.9. Crear la base de datos (CACHE)

13.10. Arrancar el SQUID

13.11. Conocer de forma general sobre Sistemas Operativos

13.12. Tener conocimientos básicos de Linux

13.13. Saber cómo y en dónde se colocan los comandos básicos de Linux

13.14. Saber en qué consiste y para qué sirve un servidor de Correos

13.15. Claridad o conocimientos básicos de conceptos como: correo electrónico, servidor de correo, servidor DNS, Hosting, dominio, POP, IMAP (Esta terminología corre por cuenta del grupo de trabajo, la cual deberán documentarse con anterioridad a la realización del montaje del servidor de correos).

13.16. Manejo de directorios y comandos básicos en Linux

13.17. Conceptos básicos de la funcionalidad de un servidor PROXY

13.18. En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

14. GESTIÓN DE ARCHIVOS

14.1. Archivos

14.2. Estructura de la información

14.3. Archivos de bajo nivel

14.4. Archivos estructurados

14.5. Archivos secuenciales orientados a registros

14.6. Archivos secuenciales indexados

14.7. Gestión de bloques, (Asignación contigua, Bloques sin asignar)

14.8. Directorios

14.9. Estructuras de directorios

14.10. Implementación de directorios

14.11. Tener claro cómo el sistema operativo gestiona tanto la memoria principal como la memoria virtual, saber qué es un archivo y los tipos de archivos que hoy se manejan

14.12. Investigar sobre las estructuras de archivos en Unix y Linux

14.13. Investigar sobre los Directorios en Windows, Dos, Linux

14.14. Taller

15. CONFIGURACIÓN DE UN FIREWALL

15.1. Cargar en memoria principal el Módulo IpTables

15.2. Modificar los permisos de ejecución de este archivo

15.3. Crear el directorio /etc/firewall

15.4. Crear un Archivo de pruebas para trabajar las IpTables

15.5 Agregar usuarios

15.6 Probar una sesión de telnet con el servidor

15.7. Habilitar todos los servicios para la tarjeta de red localhost del servidor

15.8 Habilitar el servicio Telnet

15.9 Conocer de forma general sobre Sistemas Operativos

15.10 Tener conocimientos básicos de Linux

15.11 Saber cómo y en dónde se colocan los comandos básicos de Linux

15.12 Saber en qué consiste y para qué sirve un servidor de Correos

15.13 Claridad o conocimientos básicos de conceptos como: correo electrónico, servidor de correo, servidor DNS, Hosting, dominio, POP, IMAP (Esta terminología corre por cuenta del grupo de trabajo, la cual deberán documentarse con anterioridad a la realización del montaje del servidor de correos).

15.14 En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

16. GESTIÓN DE DISPOSITIVOS (ENTRADA ¿ SALIDA)

16.1 Gestión de dispositivos

16.2. Organización de las funciones de la E/S

16.3. Modelos de organización de E/S

16.4. Ejemplo de búferes

16.5 Planificación de discos

16.6. Raid

16.7 Caché de disco

16.8 Tener claros los conceptos de hardware del computador, saber identificar los diferentes dispositivos que componen un sistema de cómputo

16.9. Investigar sobre las Entradas ¿ salidas en Unix, Windows y Linux

16.10 Taller

17. CONFIGURACIÓN DE UN ACCESO SEGURO SSH (SECURE SHELL)

17.1 Configurar el Servidor

17.2 Configurar el cliente

17.3 Conocer de forma general sobre Sistemas Operativos

17.4. Tener conocimientos básicos de Linux

17.5. Saber cómo y en dónde se colocan los comandos básicos de Linux

17.6. Saber en qué consiste y para qué sirve SSH y su plena ejecución.

17.7 Saber qué es Telnet

17.8 Qué diferencia existe entre SSH y TELNET?

17.9 Además de SSH ¿existe alguna otra herramienta de acceso seguro remoto?

17.10 Que algoritmos de cifrado admite SSH?

17.11 Que nos ofrece SSH?

17.12. Qué es un demonio

17.13 Características del demonio SSHD

17.14. Qué es una llave pública y una privada

17.15 En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

18. PROTECCIÓN Y SEGURIDAD

18.1. La autenticación

18.2. Autorización

18.3. Implementación de las políticas de seguridad

18.4. Criptografía

18.5. Tener claro todos los conceptos anteriores para poder discutir sobre seguridad, no sólo del sistema operativo, sino también de los directorios, archivos y en general de todo el sistema

18.6. Investigar sobre encriptación de información y hacer un comparativo de la seguridad de los diferentes sistemas operativos.

18.7. Introducción a redes18.8. Introducción a la seguridad con Linux

18.9. Taller

19. MONITOREO DE RECURSOS (MRTG)

19.1. Instalar el protocolo SNMP y el MRTG

19.2. Configurar el protocolo SNMP

19.3. Iniciar el servicio snmp

19.4. Crear directorios y archivos

19.5. Automatizar tareas

19.6. Dar los permisos adecuados a la carpeta que contiene los scripts shell

19.7. Ejecutar los scripts shell al menos tres veces

19.8. Crear index.html

19.9. Crear mrtg.conf

19.10. Visualizar en el browser el archivo file:///var/www/sistema/index.html y analizar los datos obtenidos.

19.11. Reiniciar servicios

19.12. Conocer de forma general sobre Sistemas Operativos

19.13. Tener conocimientos básicos de Linux

19.14. Saber cómo y en dónde se colocan los comandos básicos de Linux

19.15. Manejo del árbol de directorios y comandos básicos de Linux

19.16. Manejo del editor de archivos de Linux

19.17. Conceptos básicos sobre le MRTG y el SNMP

19.18. Cuando se refieran a la creación de archivos se utiliza el comando vi [ruta donde estará el archivo]

19.19. Que es MRTG?

19.20. Que es SNMP?

19.21. ¿Qué otras herramientas existen para realizar un monitoreo de recursos?

19.22. Cuáles son las principales características del MRTG?

19.23. Qué es el CFGMARKER?

19.24. Que información se requiere para configurar el MRTG en un principio (3 partes)

19.25. Que se puede monitorear con el MRTG?

19.26. Qué función cumplen los archivos con extensión *.sh

19.27. Para qué se utiliza el Crontab?

19.28. Qué es un cluster

19.29. En tiempo independiente, un grupo de estudiantes, desarrollarán una guía. En hora de clase, deberán presentar por medio de una exposición el servicio y guiar a sus compañeros en el montaje del mismo.

Evaluación Formativa

Evaluación continua y personalizada de los logros alcanzados por cada uno de los estudiantes, efectuar pruebas y evaluaciones que permitan identificar áreas o temas de mayor dificultad para orientar la acción pedagógica, hacer retroalimentación, y resolver problemas de apropiación y comprensión de conceptos. Ver la evaluación formativa como un proceso para realizar reflexiones pedagógicasLa evaluación en el semestre se divide en tres momentos cada uno con un valor del 33.3 %. Cada momento está conformado por una evaluación escrita cuyo valor es del 35 % y el resto por talleres, quices, informes de clase, informes de laboratorio, trabajos escritos y orales (Tiempo no presencial), participación en el semillero de software libre.

Bibliografía Básica Obligatoria

Deitel H., Introducción a los Sistemas Operativos, Addison Wesley.Carretero J. et al.,

Sistemas Operativos: Una Visión Aplicada, Mc Graw Hill, 2001.Flynn I., McHoes A.M.,

Sistemas Operativos, 3a edición, Thomson, 2001.Milenkovik M.,

Sistemas Operativos: Conceptos y Diseño¿, McGraw Hill.Alcalde E.,

Introducción a los Sistemas Operativos, McGraw Hill.Meghabghab G.,

Introducción a UNIX, Prentice Hall.Rueda F.,

Sistemas Operativos, Mc Graw Hill.



Carrera 4 # 22-61 Teléfono: (+57 1) 242 7030 - 018000111022 Fax: (+57 1) 561 2107 Bogotá D.C., Colombia
Institución de Educación Superior sujeta a inspección y vigilancia por el Ministerio de Educación Nacional.