Información general de la asignatura
SISTEMAS OPERATIVOS
- 702402
- ÁREA ACADÉMICA INDUSTRIAS Y TECNOLOGÍAS DIGITALES
PRESENTACION
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 TEMATICOS
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.
BIBLIOGRAFIA BASICA 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.
RESULTADO DE APRENDIZAJE
E4 - Diseñar y gestionar infraestructura tecnológica y sistemas de
comunicación en organizaciones, asegurando su eficacia y seguridad.
MEDIOS EDUCATIVOS
Plataforma en línea AVATA.
Biblioteca digital para acceder a material de referencia.