FACULTAD DE INGENIERIA UNIDAD ACADEMICA SANTA CRUZ Facultad de Ingeniería Ingeniería de Sistemas CUARTO SEMESTRE SYLLABUS DE LA ASIGNATURA SISTEMAS OPERATIVOS Elaborado por: Ing. Erick Valverde Oliva. Gestión Académica II/2006 U N I V E R S I D A D D E 1 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA UDABOL UNIVERSIDAD DE AQUINO BOLIVIA Acreditada como PLENA mediante R. M. 288/01 VISION DE LA UNIVERSIDAD Ser la Universidad líder en calidad educativa. MISION DE LA UNIVERSIDAD Desarrollar la Educación Superior Universitaria con calidad y competitividad al servicio de la sociedad. Estimado (a) alumno (a); La Universidad de Aquino Bolivia te brinda a través del Syllabus, la oportunidad de contar con una compilación de materiales que te serán de mucha utilidad en el desarrollo de la asignatura. Consérvalo y aplícalo según las instrucciones del docente. U N I V E R S I D A D D E 2 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA SYLLABUS Asignatura: Código: Requisito: UNIDAD II: ADMINISTRACION PROCESOS Y MEMORIA. Sistemas Operativos. CMP – 315 MAT – 211 A 80 horas Teórico Prácticas 4 Carga Horaria: Créditos: TEMA 2. Procesos. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. I. OBJETIVOS GENERALES DE LA ASIGNATURA. Procesos vs. Programas. Modelos de Procesos. Ciclo del Proceso. Paradojas de Comunicación. Bloqueos. Planificación. TEMA 3. Memoria. Caracterizar la evolución histórica de los sistemas operativos y sus funciones. 3.1. La Memoria. 3.2. Asignaciones Contiguas Simples Múltiples. 3.3. Particiones, Segmentación. 3.4. Paginación. 3.5. Combinación de Paginación Segmentación. Identificar estructuralmente, los tipos de sistemas operativos y sus componentes. Desarrollar aplicaciones para la administración de procesos y recursos de una computadora. Diferenciar los sistemas distribuidos de los clásicos. DE y y operativos UNIDAD III: ADMINISTRACION ENTRADA / SALIDA. Desarrollar un estudio de investigación que muestre las principales diferencias y similitudes entre sistemas operativos de la familia Microsoft Windows y GNU Linux. DE TEMA 4. Dispositivos. UNIDAD I: CRONOLOGIA FUNCIONAL DE LOS S.O. 4.1. Conceptos Básicos. Revisión de Arquitectura. 4.2. Administración Básica de Teclado. 4.3. Administración Básica de videos. 4.4. Dispositivos de Comunicación: Puertos. 4.5. Otros Dispositivos. TEMA 1. Introducción Histórica de los S.O. TEMA 5. Almacenamiento. 1.1. Conceptos Básicos y Glosario Términos. 1.2. Máquina Desnuda. 1.3. Máquina Extendida. 1.4. Máquina Jerárquica. 1.5. Diagramas. 1.6. Estructura y Modos del S.O. 5.1. Archivos: Concepto. Directorios: Concepto. Diferencias. 5.2. Recursos de Almacenamiento: Disco. 5.3. Administración de espacio en Disco. 5.4. El Sistema de Archivo (FileSystem). 5.5. Tipos de FileSystem: FAT, NTFS, EXT2. 5.6. Modelos de Estructuras de Directorios. 5.7. El Root o Directorio Principal. II. PROGRAMA ASIGNATURA. U N ANALITICO I V E R S DE LA I D A D de D E 3 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA 5.8. Sharing: Bloqueo, Seguridad, Backup. 5.9. Buffering. Cache. Compartido, UNIDAD IV: SISTEMAS DISTRIBUIDOS. OPERATIVOS TEMA 6. Distribuidos. Sistemas mediano plazo en verdaderos investigadores, capaces de elaborar y acometer proyectos de desarrollo comunitario a la vez que se acostumbren a trabajar en equipos interdisciplinarios o multidisciplinarios como La ejecución de diferentes programas de interacción social y la elaboración e implementación de proyectos de desarrollo comunitario derivados de dichos programas confiere a los estudiantes, quienes son, sin dudas, los más beneficiados con esta iniciativa, la posibilidad de: Operativos 6.1. Conceptos Básicos. 6.2. Sistemas Tradicionales. Sistemas Distribuidos. 6.3. El Debate Tovards-Tenembaum. 6.4. Unix, Minix y Linux. TEMA 7. Software. Conceptos Modernos Desarrollar sus prácticas pre-profesionales en condiciones reales y tutorados por sus docentes con procesos académicos de enseñanza y aprendizaje de verdadera “aula abierta”- del Trabajar en equipos, habituándose a ser parte integral de un todo que funciona como unidad, desarrollando un lenguaje común, criterios y opiniones comunes y planteándose metas y objetivos comunes para dar soluciones en común a los problemas. 7.1. Software Libre. Filosofía GNU. 7.2. GPL o Licenciamiento del Software Libre. 7.3. Grupos de Trabajo, Grupos de Distribución. 7.4. GNU Hurd. Kernel de Linux. 7.5. Tendencias Mundiales en Desarrollo de S.O. Realizar investigaciones multidisciplinarias en un momento histórico en que la ciencia atraviesa una etapa de diferenciación y en que los avances tecnológicos conllevan la aparición de nuevas y más delimitadas especialidades. III. BRIGADAS UDABOL Desarrollar una mentalidad, crítica y solidaria, con plena conciencia de nuestra realidad nacional. Las Brigadas están destinadas a incidir de manera significativa en la formación profesional integral de nuestros estudiantes y revelan las enormes potencialidades que presenta esta modalidad de la educación superior no solamente para que conozcan a fondo la realidad del país y se formen de manera integral, sino, además, para que incorporen a su preparación académica los problemas de la vida real a los que resulta imperativo encontrar soluciones desde el campo profesional en el que cada uno se desempeñará. ACTIVIDADES PROPUESTAS PARA LAS BRIGADAS UDABOL. El trabajo de las Brigadas permite que nuestros estudiantes se conviertan a U N I V E R S I D A D D E 4 A Q Investigación y puesta en marcha de estrategias de prevención de ataques de virus y espías a través de Internet en sistemas operativos Windows. Estudio y propuesta del costo beneficio de migrar plataformas operativas propietarias (Windows) a plataformas open source (Linux) para PYMES. U I N O B O L I V I A FACULTAD DE INGENIERIA ACTIVIDADES A REALIZAR VINCULADAS CON LOS CONTENIDOS DE LA MATERIA TAREAS TEMAS CON LOS PROPUESTAS QUE SE RELACIONA 1. Puesta en marcha de Todo el contenido estrategias de analítico de la materia. prevención de ataques de virus y espías a través de Internet en sistemas operativos Windows. LUGAR DE ACCION FECHA PREVISTA Durante la segunda salida masiva. (Feria de la UDABOL) Entre el 13 y 19 de noviembre. 2. Propuesta del costo Todo el contenido beneficio de migrar analítico de la materia plataformas operativas propietarias a plataformas open source para PYMES. Durante la segunda salida masiva. (Feria de la UDABOL) Durante la tercera etapa. ACTIVIDADES DE INCURSIÓN MASIVA EN LA COMUNIDAD. Las actividades planificadas para las Brigadas UDABOL serán tomadas en cuenta para la evaluación de la segunda y tercer A lo largo del semestre se realizarán dos incursiones masivas en la comunidad, comprendida la primera entre el 2 y el 8 de octubre y la segunda entre el 13 y el 19 de noviembre. Con la finalidad de realizar trabajos ya sean de recojo de información, extensión o relacionada con los proyectos a desarrollar en la asignatura o la carrera. etapa y tendrán una calificación entre 0 y 50 puntos. PROCESO SUMATIVA. DE APRENDIZAJE Se realizarán dos evaluaciones parciales con contenidos teóricos y prácticos. Durante la segunda visita se realizan grupos de 5 estudiantes que realizaran que realizaran ponencias sobre estrategias de prevención de virus y la importancia de migrar de sistemas operativos propietarios a Open Source (Actividades planteadas para las Brigadas Udabol). La etapa final consistirá en la defensa de un proyecto que se realizará a lo largo de todo el semestre y el examen final escrito. Cada uno de éstos tendrá una calificación entre 0 y 50 puntos. IV. EVALUACIÓN DE LA ASIGNATURA. DESARROLLO DE PROYECTO FINAL. PROCESUAL O FORMATIVA. I. OBJETIVOS En todo el semestre se realizarán preguntas escritas, exposiciones de temas, trabajos prácticos además de seguimiento al proyecto final. Estas evaluaciones tendrán una calificación entre 0 y 50 puntos. U N I V E R S I D A D D E O Objetivo General: Desarrollar un estudio de investigación que muestre las principales diferencias y similitudes entre sistemas operativos de la familiar Windows y GNU Linux. 5 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Tercer Etapa: Objetivos Específicos: se deberán de cumplir los siguientes objetivos específicos: Actividad Administración de almacenamiento en Linux y Windows. Sistemas distribuidos Linux y Sistemas distribuidos Windows. Licencias Open Source Vs. Propietarias. Conclusiones y recomendaciones. a. Diferencias y similitudes entre el manejo de recursos por parte de Windows y de Linux. b. Diferencias y similitudes entre las licencias privativas de Windows y Open Source de Linux. c. Comparación de usuarios que manejan sistema operativos Linux y Windows. II. HERRAMIENTAS Semana 18 Semana 18 Al finalizar el proyecto se deberá de entregar un informe final que conste de: III. CRONOGRAMA Primer Etapa: Actividad Definir los objetivos: generales y específicos del caso de estudio. Estudio de la cronología y evolución de sistemas Linux y Windows. Administración de procesos en Linux y Windows. Revisión Semana 2 Semana 3 Semana 5 Actividad Administración de memoria en Linux y Windows. Administración de dispositivos en Linux y Windows. Análisis de un caso de estudio (un dispositivo para cada grupo). R S Carátula Índice General Índice de Tablas Índice de Figuras Introducción Objetivos Administración de procesos. Administración de memoria. Administración de almacenamiento. Sistemas Distribuidos. Licencia. Conclusión Bibliografía. Anexos. V. BIBLIOGRAFIA. Segunda Etapa: I V E Semana 17 IV. DOCUMENTO FINAL Generador de documento: office, open office. Creador de plantillas de Diapositivas: office, open office, flash. U N Revisión Semana 15 TANENBAUM, “Sistemas Operativos Modernos”, Ed. Prentice Hall, Primera Edición, 1990. Revisión Semana 10 Silberchatz, Galvin Gagne, “Operating System Concepts”-7ma Edición. Biblioteca Virtual (Formato Digital) Semana 12 Monge Raúl, “Sistemas Operativos”, Universidad Técnica Federico Santa Maria. Biblioteca Virtual (Formato Digital) Semana 13 I D A D D E 6 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA VI. CONTROL DE EVALUACIONES. 1° evaluación parcial Fecha Nota 2° evaluación parcial Fecha Nota Examen final Fecha Nota APUNTES U N I V E R S I D A D D E 7 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA VII. PLAN CALENDARIO SEMANA ACTIVIDADES OBSERVAC. 1 TEMA 1 (1.1. a 1.4 ) 2 TEMA 2 (1.5 A 1.6) 3 TEMA 2 (2.1. a 2.3.) 4 TEMA 2 (2.4 a 2.6 ) 5 Exposición Primer etapa Proyecto. 6 TEMA 3 (3.1 a 3.3) 7 Avance de materia 8 TEMA 3 (3.4. a 3.5) 9 TEMA 4 (4.1 a 4.3) 10 TEMA 4 (4.4 a 4.5) 11 TEMA 5 (5.1 a 5.3) 12 TEMA 5 (5.4 a 5.9) 13 Clase Práctica. 14 Avance de materia 15 TEMA 6 (6.1. a 6.4) 16 TEMA 7 (7.1 a 7.3) 17 TEMA 7 (7.4 a 7.5) 18 Clase Práctica. 19 Flujo de comandos en Unix. 20 Presentación completa Proyecto Final. 21 Examen Final. Presentación de notas. 22 Segunda Instancia. Cierre de gestión U N I V E R S I D A D EVAL PARC I EVAL PARC II Presentación de Notas. Presentación de Notas. Clase Práctica. D E 8 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 1 UNIDAD O TEMA: INTRODUCCION HISTORICA DE LOS SISTEMAS OPERATIVOS TITULO: LLAMADAS AL SISTEMA. FECHA DE ENTREGA: PERIODO DE EVALUACION: Primer Etapa. las funciones de E/S de alto nivel -fprintf(), malloc(), ... Llamadas al Sistema Las llamadas al sistema son unas instrucciones especiales que utiliza el sistema para su comunicación con los programas y de estos hacia el sistema. A la variable especial del sistema errno algunas llamadas al sistema (y algunas funciones de biblioteca) le dan un valor entero, para indicar que ha habido un error. Esta variable esta definida en la cabecera #include <errno.h> y para ser usada dentro de un programa debe ser declarada de la siguiente forma: extern int errno; Están estrechamente relacionadas con las funciones de la librería Standard en cada S.O., ya que para cada una de estas existe su similar como llamada al sistema. Modo Usuario Invocador Existen muchas utilerías que permiten manipular directorios y archivos. Los comandos cd, ls, rm, cp, mkdir, etc. son ejemplos que han sido revisados ya en el sistema operativo. Parámetros No se debe permitir que un programa pueda modificar posiciones de memoria principal donde se almacena otro programa, ni tampoco que un usuario borre los ficheros de otro usuario. Kernell Para usar las bibliotecas de funciones y las llamadas al sistema en un programa de C simplemente se debe llamar la función apropiada de C. Ejemplos de las funciones de la biblioteca estándar que han sido vistas son U N I V E R S I D A D D E El sistema operativo se ejecuta en modo supervisor con acceso total al hardware, mientras que los programas de usuario se ejecutan en modo usuario. 9 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA CUESTIONARIO WORK PAPER No. 1 Cuando un programa necesita utilizar un recurso hardware, por ejemplo, quiere realizar una operación de E/S, debe realizar una llamada al sistema para que el sistema operativo lleve a cabo la operación por él. 1. ¿Cuál es la función que cumplen las llamadas al sistema? 2. Según sus conocimientos existe alguna similitud de las llamadas a sistema con las API de Windows. Justifique su respuesta. 3. Si no existiesen la llamadas a sistema de procesos, ¿Qué cree ud. que haría el sistema operativo? 4. ¿En caso de que la llamada a sistema no pueda ser ejecuta, como reacciona el sistema operativo? 5. Represente de manera gráfica los pasos que se siguen para emitir “la llamada al sistema” en caso de un sistema operativo UNIX, dado el caso de que un usuario al realizar la lectura de un archivo tipeado decide buscar cierto registro para lo cual el sistema operativo necesita mover el apuntador de archivo para ubicarlo. “UNIX= position= ISEEK(fd, offset, whence)” 6. Para el anterior escenario ¿Que tipo de llamada al sistema considera usted que es la que se esta tratando? 7. ¿Cuál es la finalidad del sistema operativo de conmutar a modo supervisor al momento de realizar una llamada a sistema? La realización de una llamada al sistema conmuta automáticamente la CPU a modo supervisor. Así se garantiza que, por ejemplo, un usuario al que no se le ha concedido una impresora utilice instrucciones máquina para acceder directamente al controlador de la impresora, interfiriendo con el programa al que se le concedió la impresora. Las llamadas al sistema para la gestión de procesos y Las llamadas al sistema para la gestión de ficheros Se tiene a continuación la emulación del comando cd de Unix con C: #include <stdio.h> #include <unistd.h> #define TAM 80 main(int argc, char **argv) { char cadena[TAM]; if (argc < 2) { printf("Uso: \n",argv[0]); exit(1); } %s <directorio> if (chdir(argv[1]) != 0) { printf("Error en %s.\n",argv[0]); exit(1); } getcwd(cadena,TAM); printf("El directorio %s\n",cadena); actual es } U N I V E R S I D A D D E 10 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 2 UNIDAD O TEMA: INTRODUCCION HISTORICA DE LOS SISTEMAS OPERATIVOS TITULO: VIRUS. FECHA DE ENTREGA: PERIODO DE EVALUACION: Primer Etapa. Virus De ahí la importancia de minimizar el riesgo desactivando o haciendo que seamos consultados por el sistema cuando uno de esos mecanismos automáticos vaya a ejecutarse. (Ver configuración de seguridad en Internet Explorer y Outlook). Un virus es un pequeño programa con capacidad para efectuar modificaciones en el sistema donde se active, con facultad de auto reproducirse y propagarse por sí mismo. Con la, cada vez más, masiva generalización del uso de Internet y del correo electrónico, la propagación de los virus por esos medios está cobrando especial virulencia, nunca mejor dicho. Todos los virus, en su calidad de programas, necesitan de una orden de ejecución para activarse. Esta orden la daremos nosotros, voluntariamente, al ejecutar un programa o abrir un archivo supuestamente inocuo, o involuntariamente cuando nuestro sistema da esa orden mediante algún mecanismo de ejecución automática, como la vista previa de los mensajes de correo, o los controles Active X de algunos sitios. En las páginas de alertas de virus podemos leer las increíbles cifras de infecciones alcanzadas por los virus de última generación en pocos días. Tenemos, pues, que ser precavidos a la hora de abrir archivos y programas y configurar bien nuestro sistema, pero está claro que algo se nos puede pasar por alto, o perfectamente podemos introducir cualquier archivo que sea portador de carga infecciosa sin que lo sepamos. Los denominados controles Active X son componentes adicionales que se pueden incorporar a las páginas Web, para dotar a estas de mayores funcionalidades (animaciones, video, navegación tridimensional etc.) Aquí es donde entra en acción nuestra armadura. Están escritos en un lenguaje de programación, como Visual Basic, que no es el propio de las páginas Web (HTML) y podrían estar infectados. U N I V E R S I D A D D E 11 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Antivirus reconoce por comparación, si registrados en su lista de definiciones. Es un programa cuya finalidad es prevenir y evitar la infección de virus, impidiendo también su propagación. están De esto se desprende la importancia de actualizar dicha lista de definiciones, diariamente incluso. Tiene capacidad para detectar y eliminar los virus y restaurar los archivos afectados por su infección (en principio). Aunque no es el único método de detección empleado, siendo generalizado el empleo por los antivirus de otros tipos de análisis en su búsqueda, como el análisis heurístico, la emulación, los algoritmos, etc. Podemos generalizar diciendo que los antivirus tienen tres componentes principales: Vacuna o Monitor Antivirus Desinfectador Programa que actúa en tiempo real, analizando los archivos que son abiertos o los programas que ejecutamos. Programa que una vez localizado el virus y desactivada su estructura procede a eliminarlo, procediendo a reparar sus efectos en el sistema. Hay que reseñar que esto último no siempre es posible, dependiendo del tipo de virus y los efectos producidos. Es una función muy importante, puesto que si un archivo infectado ha conseguido alojarse en nuestro sistema y por cualquier motivo no se ha procedido a chequearlo, el antivirus nos avisará del peligro cuando intentemos ejecutarlo o abrirlo. De ahí la importancia de tener activado siempre el antivirus. También se conoce a la vacuna como Monitor del antivirus, antivirus residente en memoria, etc. Esto como características principales, pero por lo normal tienen muchas más, como .la posibilidad de actualizarse vía Internet (muy importante), confección de informes y estadísticas, cuarentena de infectados, creación de disquetes de arranque, programación de tareas, etc. Estos monitores tienen hoy en día unas funciones muy avanzadas en la detección de virus, siendo capaces de monitorizar operaciones que realicemos con archivos de muchos tipos, incluyendo comprimidos, archivos de correo, empaquetados, etc. Parece ser, entonces, que la amplitud de la base de datos del antivirus y la frecuencia y rapidez con que se añaden las definiciones de los virus a la misma es el mejor indicativo de la calidad del programa. Sí, pero no del todo. Motor de Detección Hay otras funciones a valorar en un antivirus: Programa cuya función es realizar el escaneo de los archivos, directorios o unidades que seleccionemos. Su protección frente a los medios externos (Internet, Correo) es de vital importancia, análisis heurístico, o la capacidad de reconocimiento (parcial en muchos casos, ya que los códigos de estos nunca coincidirán completamente con los de la base de datos del programa) ante nuevos tipos de virus o mutaciones de los existentes, se trata de un Trabaja analizando los archivos, en los que busca la existencia de códigos virales, que son cadenas de códigos ejecutables particulares de cada virus y que el programa U N I V E R S I D A D D E 12 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA análisis adicional que solamente algunos programas antivirus pueden realizar, para detectar virus que en ese momento son desconocidos, velocidad de escaneo, integración con el sistema operativo, consumo de recursos... Una vez que las directivas de seguridad relativas al equipo se hayan configurado satisfactoriamente, el siguiente paso es configurar las opciones de usuario local, en la que las tres primeras opciones se corresponden con las ya configuradas en el equipo. Habremos de ponderar todo esto a la hora de elegir nuestro antivirus, pero como norma de oro tendremos en cuenta que es necesario tener siempre instalado un antivirus en nuestro sistema. La cuarta opción "Ejecutar sólo aplicaciones Windows permitidas" permite especificar las únicas aplicaciones que podrán ser ejecutadas por el usuario. La quinta opción, "Impedir herramientas de edición del registro", evita el uso de herramientas que puedan modificar el registro de Windows y la sexta y última opción "Restricciones para MS-DOS" está dividida en dos apartados; "Desactivar el símbolo de MS-DOS" para evitar el uso de comandos bajo MS-DOS en una sesión paralela a la del propio Windows y "Desactivar aplicaciones en modo único MS-DOS" que impide la ejecución de antiguos programas basados en DOS. Recordemos que el concepto de antivirus es el de un programa que nos brinda protección íntegramente, es decir, desde que arrancamos el ordenador y mientras efectuamos con él cualquier actividad. Por ello es importante mantener siempre su actividad desde el inicio del sistema. A la hora de instalar un antivirus se deben de establecer las directivas de seguridad, tanto para el equipo y los usuarios locales, como para los equipos y los usuarios remotos. CUESTIONARIO WORK PAPER No. 2 En la configuración de la directiva de seguridad de equipos, disponemos de tres opciones diferentes. 1. Defina que es un virus y determine la manera en que se pueden activar. 2. ¿Cuál es la funcionalidad del motor de detecciones? 3. ¿Cuál es la tarea que cumple el desinfectador? Y ¿Cuándo la realiza? 4. ¿Cuáles son los parámetros que inciden en la elección de un antivirus? 5. En caso de que una computadora tenga instalado un antivirus que no este actualizado ¿Qué problemas puede generar? ¿El antivirus esta siendo funcional? 6. Mencione tres antivirus que Ud. conozca. Desde su punto de vista ¿Cuál de ellos es el mejor? Justifique su respuesta. 7. ¿Por qué cree Ud. que Linux es un sistema operativo que no puede ser infectado por virus? La primera opción es "Aplicaciones iniciadas cada vez que se inicia Windows", y permite administrar qué aplicaciones se iniciarán automáticamente en cada arranque. A cada aplicación se le debe asignar un nombre y se debe especificar la ruta y los parámetros del archivo ejecutable. La segunda opción a configurar es "aplicaciones iniciadas en el próximo inicio de Windows" y se diferencia de la anterior en que únicamente afectará al próximo inicio del PC. La tercera hace referencia a los servicios iniciados al arrancar Windows y se configura de la misma manera que las dos anteriores. U N I V E R S I D A D D E 13 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 3 UNIDAD O TEMA: INTRODUCCION HISTORICA DE LOS SISTEMAS OPERATIVOS TITULO: DOS. FECHA DE ENTREGA: PERIODO DE EVALUACION: Primer Etapa. DOS DOS son las siglas de Disk Operating System y como su nombre bien indica es un sistema operativo. Los programas de MS-DOS corren más rápido que los de Windows y les da mayor control sobre el hardware. Los servicios de DOS son solicitados cuando una aplicación llama a la interrupción INT 21. Esta instrucción busca un punto de entrada del administrador de servicios de DOS en una tabla de hardware y salta a la rutina en el módulo MSDOS.SYS o IBMDOS.SYS. Las aplicaciones que corren bajo DOS tienen todos los privilegios del sistema. Ellas pueden acceder a cualquier almacenamiento, cambiar las funciones de control de la CPU, y utilizar cualquier dispositivo de hardware. Esto permite que los programas extiendan el sistema operativo DOS con funciones adicionales, como el útil programa DOSKey, pero también permite que los virus dañen la máquina. En otros sistemas operativos, una aplicación debe realizar una llamada al sistema (system call) para requerir servicios, como, por ejemplo, en UNIX. Los programas de aplicación DOS corren con total privilegio; de esta manera, un programa puede hacer cualquier cosa que desee si tiene la suficiente lógica de programa para manejar el hardware directamente. Los servicios de DOS proveen, en cambio, un conjunto conveniente de servicios útiles que los programas solicitan debido a que ellos no quieren lidiar con detalles. Aunque DOS 6.x se distribuye en 4 ó 5 discos, el espacio está lleno con programas de utilidad que comprimen datos, realizan respaldos, y verifican la existencia de algún virus. El sistema operativo DOS mismo está contenido en un par de archivos ocultos llamados IO.SYS y MSDOS.SYS en las versiones de DOS realizadas por Microsoft, e IBMBIO.SYS e IBMDOS.SYS, para las versiones de DOS hechas por IBM bajo licencia Microsoft. U N I V E R S I D A D D E DOS = Sistema de Archivos FAT El soporte de la BIOS para un disco duro (INT 13) provee un acceso crudo (RAW) a los datos. A través de la BIOS cada unidad de disco se ve como un único gran archivo. DOS 14 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA maneja la FAT (File Allocation Table) o Tabla de Asignación de Archivos, que divide al disco en subdirectorios y archivos. posible cargar otros programas que provean servicios adicionales (video, mouse, red, compresión, etc.). DOS fue capaz de sobrevivir por 15 años debido a su simpleza y facilidad de extensión. La mayoría de los servicios DOS ofrecidos a los programas se relacionan con el acceso a los archivos en disco (abrir, cerrar, leer, escribir, renombrar, eliminar, crear directorio, eliminar un directorio, listar un directorio). Es por eso el nombre de DOS (Disk Operating System) o Sistema Operativo de Disco. Drivers y TSR’s DOS puede extenderse mediante controladores (drivers) de dispositivo, rutinas residentes (TSR’s), y por shells (comúnmente denominados intérpretes de comandos). Los drivers de dispositivo son cargados utilizando las sentencias DEVICE del archivo CONFIG.SYS. Así, es posible cargar un controlador para un CD-ROM bajo MS-DOS. Las rutinas residentes pueden cargarse en cualquier instante, aunque comúnmente son instaladas por rutinas en el AUTOEXEC.BAT. Un shell se "rapta" la interfaz de usuario y carga otro programa. El ejemplo más común de shell es Windows 3.1. Existen algunos programas que se "saltan" a los servicios de DOS e interpretan la FAT por ellos mismos. Norton Disk Doctor y algunas utilidades que pueden examinar y reconstruir la FAT son ejemplos de ellos. Los programas de respaldo usualmente proveen su propio soporte a nivel de hardware para los discos duros y los discos flexibles, con el objetivo de evitar las limitaciones impuestas por DOS/BIOS y poder realizar I/O de forma asincrónica en segundo plano. Un buen programa de respaldo estará escribiendo el último bloque de datos al diskette, comprimiendo el bloque actual, y leyendo el próximo bloque desde el disco, todo ocurriendo al mismo tiempo. Esto no es posible con los servicios estándares de DOS/BIOS, pero el hardware lo permite y un programa hábil puede acceder al hardware directamente. DOS también asigna almacenamiento en el área del usuario. Además de los 640 KB, DOS puede ser configurado para utilizar el hardware de administración de memoria 386 para "completar" áreas no usadas de los 128 KB, que es el rango de dirección de hardware (desde C0000 hasta DFFFF, utilizando notación hexadecimal). Esto se convierte en los Bloques de Memoria Superior (Upper Memory Blocks o UMB) y se utiliza para cargar dispositivos y otras rutinas residentes. Agregar soporte para un CD-ROM, para un adaptador de red, PCMCIA, caché de disco, y algunas otras características útiles pronto causarán que la cantidad de espacio que queda para los programas DOS se hace poco. DOS adquirió algunos trucos para extender su vida. Poner la mayor parte del sistema operativo en los primeros 64 KB después del primer megabyte ayudó un poco. Las restantes funciones de DOS son de mantención. Por ejemplo, hay servicios que solicitan o fijan la hora o la fecha. DOS mismo provee muy poca cantidad de funciones. Es U N I V E R S I D A D D E 15 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA La creación de los UMB utilizando el hardware de administración de memoria 386 para reproyectar los 128 KB reservados para las tarjetas adaptadoras pero no utilizados ayudó otro poco. be haber sido previamente cargado. Los niños aprendieron que antes de jugar un juego debe existir un mouse, por eso ellos deben primero cargar MOUSE.COM en la memoria. Sin embargo, no hay suficiente espacio en DOS para cargar el cliente Novell, el cliente Windows NT, el protocolo TCP/IP para Internet, soporte para la COM, para los drivers de los dispositivos SCSI, para el sistema de archivos de CD-ROM, y todo el resto de la maraña de la vida moderna. Una vez que el soporte ha sido cargado, la única manera de descargarlo es reiniciar el sistema. Si un usuario levanta DOS con solamente el mínimo soporte, existe una chance que los programas no tendrán las funciones que necesitan para correr. Los usuarios DOS solucionan este problema manteniendo docenas de configuraciones especializadas, y cada una optimizada para ejecutar un paquete distinto. Reiniciar DOS cada vez que se desea cambiar de programa se hace aburrido e incentiva al usuario a desear un real sistema operativo. Un usuario típico de DOS poseía diferentes configuraciones para cada evento, y reiniciaba el equipo para seleccionar la configuración antes de cargar ciertos programas. (¿Suena familiar el desactivar DOSKey para correr algún juego?). Después de hacer esto por un tiempo, el usuario estaba listo para mudarse a un sistema operativo real. CUESTIONARIO WORK PAPER No. 3 DOS depende de la BIOS, de manera que hereda las dos limitantes. Los buffers deben estar en el área de 640 KB. Las operaciones de I/O son sincrónicas, de manera que la CPU está completamente amarrada cuando cualquier disco está procesando un requerimiento. 1. ¿Por qué se dice que los sistemas DOS funcionan más rápido que los sistemas Windows? 2. ¿Cuáles son las características principales de DOS? 3. A que clasificación de los sistemas operativos pertenece DOS. Justifique su respuesta. 4. ¿Qué significa FAT y cómo trabaja? 5. ¿Qué es el BIOS y cómo trabaja? 6. Explique que son los drivers. Mencione al menos tres drivers que UD. conozca. 7. Mencione algunas diferencias que existan entre DOS y UNIX. 8. Se dice que DOS es el Kernel de la mayoría de los sistemas Windows. ¿Esto es cierto? ¿Qué versiones de Windows necesitan DOS para poder iniciar? Para mantener al sistema pequeño y simple, DOS carece de una sofisticada administración de memoria y de programas, que sería ideal poder cargarla bajo demanda. Si un programa DOS necesita un servicio, el soporte para ese servicio de U N I V E R S I D A D D E 16 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 4 UNIDAD O TEMA: ADMINISTRACION DE PROCESO Y MEMORIA TITULO: CACHE. FECHA DE ENTREGA: PERIODO DE EVALUACION: Segunda Etapa. Cache Procesadores modernos son capaces de mantener copias de las páginas más usadas en la memoria Cache. Una sección reservada de la memoria que se utiliza para mejorar el rendimiento. Un cache de disco es una porción reservada de la memoria normal, o memorias adicionales en la tarjeta controladora del disco. Cuando el disco es leído, se copia un gran bloque de datos en el cache. Memoria cache es más rápida que la principal. Cuando se referencia a una página, se verifica primero si ella está en la cache. Si los requerimientos de datos subsiguientes pueden ser satisfechos por el cache, no se necesita el empleo de un acceso a disco que es más lento. Si el cache es utilizado para escritura, los datos se alinean en memoria y se graban en el disco en bloques más grandes. Si lo está, se accede directamente, sin ir a MP (Pagina de memoria). Si no lo está, se accede normalmente a la memoria y se copia esta página a la memoria cache para futuros accesos. Si accesos tienden a concentrarse en ciertas zonas de la memoria, se mejora el desempeño Los caches de memoria son bancos de memoria de alta velocidad entre la memoria normal y la CPU. Cálculo del Tiempo de Acceso Los bloques de instrucciones y datos se copian en el cache, y la ejecución de las instrucciones y la actualización de los datos es llevada a cabo en la memoria de alta velocidad. Efectivo con Memoria Cache. Se debe considerar tasa de éxito encontrar la página en memoria cache. de Se debe considerar que parte de tabla de páginas (no la TLB) también puede estar en la memoria cache. U N I V E R S I D A D D E 17 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA 3. ¿A que se refiere la frase “páginas más usadas” cuando hablamos de que los “Procesadores modernos son capaces de mantener copias en la memoria Cache”? 4. Cuando un computador agota su recurso de RAM principal ¿realiza Swap con la cache tomando en cuenta la velocidad de la misma? Justifique su respuesta. 5. Los sistemas operativos antiguos necesitaban de procesadores con memoria cache. 6. Tomando en cuenta los tipos de sistemas operativos, indique cuales de ellos sacan mayor provecho a la cache. Justifique. Si existe TLB, se debe considerar primero tasa de éxito en la TLB y luego tasa de éxito en la memoria cache, tanto en el acceso a la tabla de página como a la página objetivo. CUESTIONARIO WORK PAPER No. 4 1. ¿Cuál es la principal ventaja y cual la principal desventaja de la cache? 2. En caso de que un computador no contase con memoria cache ¿Qué incidencias podría tener el desempeño de un sistema operativo? PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 5 UNIDAD O TEMA: ADMINISTRACION DE PROCESO Y MEMORIA TITULO: MEMORIA VIRTUAL. FECHA DE ENTREGA: PERIODO DE EVALUACION: Segunda Etapa. Memoria Virtual En esa época tan sólo existía un ordenador programable: el ENIAC, que debía ocupar como una habitación entera, lleno de válvulas y relés por todos los lados, y programable con tarjetas perforadas. Es un tipo de memoria que utiliza el sistema, pero en vez de almacenarse en los chips de la memoria RAM, se almacena en un archivo que está en nuestro disco duro. Para descubrir los orígenes de la memoria virtual tenemos que remontarnos a los años 40. U N I V E R S I D A D D E Los programadores de semejante aparato se dieron cuenta de que los tiempos de búsqueda de sus programas eran enormes, así que propusieron asignar un bloque de memoria 18 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA antes de iniciar la ejecución del programa, y después mantener este bloque creado durante toda su vida. cosas se ponen feas, es decir, cuando el sistema escasea de memoria (y en los tiempos que corren eso es demasiado habitual). Esto aceleraba los accesos de memoria, ya que ya estaba creada para el programa, sin embargo era un sistema muy rígido, ya que una vez asignada la memoria no se podía ampliar ni reducir su tamaño, y en esa época la cosa no estaba como para desperdiciar ni un solo octeto. Cuando tenemos muchas aplicaciones abiertas y el tamaño de todas ellas supera el total de memoria RAM física instalada, Windows mueve parte del contenido de la memoria al disco, para dejar espacio libre para nuevas aplicaciones, concretamente, mueve aquellas partes que hace más tiempo que no han sido accedidas. Cuando esos datos se necesitan de nuevo, se cargan otra vez en memoria. Por esta razón, cuando nuestro equipo está escaso de memoria, notamos que no para de leer del disco duro, porque está continuamente moviendo zonas de memoria del disco a RAM y viceversa (y por eso va lento). Ya en los años 50, investigadores de la universidad de Manchester inventaron un método más astuto: dividirían la memoria en zonas (llamadas páginas lógicas) y almacenarían todas estas páginas en un tambor magnético (los abuelos de los discos duros que conocemos actualmente). Memoria paginada Cuando se fuera a ejecutar un programa, se llevaban a memoria centrar un grupo de páginas, dependiendo de los requisitos de memoria del programa a ejecutar. Este trasiego de datos entre la memoria RAM y el archivo de intercambio no se realiza byte a byte, ya que sería muy lento, sino página a página. Podía ser una sola página (si el programa era pequeño), o todo el tambor completo (si el programa tenía mucho código o datos). Incluso durante la ejecución del programa, si era necesaria más memoria, se almacenaban en el tambor aquellas páginas que ya no fueran necesarias, y se volcaban ven memoria nuevas páginas desde el tambor. Una página es la cantidad de datos que lee cada vez que accede al archivo de intercambio. En procesadores x86 su tamaño es de 4 KBytes. En muchas operaciones, el tamaño más pequeño de memoria con el que podemos trabajar es el tamaño de página, así que se considera como la unidad mínima de memoria (realmente no es la unidad mínima, aunque para el sistema operativo sí lo es). Espacio de direcciones virtuales Como todos sabemos virtual significa falso, irreal, ficticio… de ahí el nombre de memoria virtual (porque no es auténtica memoria RAM). Este método no llego a implementarse hasta 1962, cuando se construyó el ordenador Atlas, que fue el primer ordenador del mundo en utilizar un sistema de lo que se denominaría “memoria virtual”. Bien, volvamos a nuestro tiempo. Decíamos y que la memoria virtual es aquella que no se almacena en los chips de memoria, sin en un archivo de nuestro disco duro, que normalmente tiene extensión SWP (de Swap = intercambio). Este archivo, llamado archivo de paginación o de intercambio, sirve como una ampliación auxiliar de memoria cuando las U N I V E R S I D A D D E Pero... ¿por qué se llama espacio privado de direcciones virtuales? Pues porque es un rango de direcciones falso. Simplemente se trata de una numeración que Windows asigna a las páginas de memoria. 19 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA El nodo raíz es una tabla llamada “ page map” o Mapa de páginas que se subdivide en: Cuando Windows nos dice que una variable está almacenada en la posición $00000123, no es que esté en esa posición en RAM, sino que le ha asignado la casilla 123 a nuestra variable. Así cada proceso (o programa) en ejecución tendrá su propio espacio de direcciones (de ahí lo de “ privado ” ) y un proceso no puede acceder a los datos de otro, porque no tiene ninguna forma de referenciarlos. Pongamos un ejemplo más cotidiano: Si nosotros entramos al portal número 22 de la calle “ X ” , no significa que estemos entrando en el portal número 22 de la calle “ Y ” . Del mismo modo, si accedemos a la posición de memoria 22 del proceso “ X ” , no estamos accediendo a la posición 22 del proceso “ Y ” , ya que ambas posiciones de memoria son independientes. Otras funciones Existen otras funciones que nos permiten realizar otras tareas con la memoria virtual: Del mismo modo, si se cae el edificio del portal 22 de la calle “ X ” , el de la calle “ Y ” seguirá en su sitio. Así cuando alguna operación escribe en una dirección equivocada, estará sobrescribiendo un dato de su mismo proceso, pero no de otros, por lo que el único perjudicado es el proceso que escribió mal. Una vez que ha hecho este cálculo, almacena la equivalencia en una tabla interna, para no tener que recalcular de nuevo la misma dirección. La estructura de la memoria en Win32 es un árbol, esto es: parte de un nodo raíz y después se va subdividiendo en grupos más pequeños, hasta que termina en el más pequeño posible: la página de memoria. I V E R S I D A D D E VirtualLock: Bloquea un grupo de páginas (previamente comprometidas) en memoria física, evitando que sean pasadas al archivo de intercambio cuando el sistema necesita memoria RAM. Esta operación sólo es recomendable para drivers que necesitan tener un control absoluto sobre la memoria y asegurarse que un dato siempre va a estar en RAM, para situaciones más normales, debemos dejar que sea Windows el que decida si una página debe estar en RAM o en el archivo de paginación. Pero las direcciones virtuales tienen que almacenarse en la memoria, por lo que también estarán situadas en una posición de memoria determinada, así que cada dirección virtual tiene una equivalencia (o proyección) con dirección real, que es donde está almacenado el dato físicamente. Internamente, Windows es capaz de calcular una dirección física a partir de una dirección virtual, aplicando una serie de algoritmos (que no vamos a detallar). U N Page Directory: Cada proceso cuenta con un solo directorio de páginas, que no es más que una tabla de 1.024 entradas, donde se almacenan los punteros a las 1.024 “ Pages Tables ” con las que cuenta un proceso. Page Table: Cada tabla de páginas es otra tabla (también de 1.024 entradas) donde se almacenan los punteros de los 1.024 “ Pages Frames ” que posee cada Tabla de páginas. Page Frame: Es un bloque de 4 Kb (una página) donde se almacena los datos de cada proceso. 20 A Q VirtualUnlock: Desbloquea un grupo de páginas que han sido previamente bloqueadas con VirtualLock. VirtualProtect: Cambia el estado de protección de un grupo de páginas del proceso activo, por ejemplo para asegurarnos que ningún "puntero loco" cambie el contenido de esas páginas de memoria, o para detectar en qué punto de un programa se está modificando cierta región de memoria. U I N O B O L I V I A FACULTAD DE INGENIERIA VirtualProtectEx: Cambia el estado de protección de un grupo de páginas de un proceso dado. VirtualQuery: Consulta el estado y el tipo de un grupo de páginas del proceso activo. VirtualQueryEx: Consulta el estado y el tipo de un grupo de páginas de un proceso dado. 3. ¿A que se refiere el termine memoria paginada? 4. ¿En que momentos el sistema operativo hace uso de la memoria virtual? 5. Cuando se desarrollan programas con estructuras de datos dinámicas ¿Ud. cree que se puede acceder a una dirección de la memoria virtual? Justifique. 6. Explique la diferencia que existe entre la función VirtualLock y VirtualProtect. 7. En caso de que no existiese la memoria virtual ¿En que afectaría al sistema operativo? ¿El funcionamiento se degradaría? ¿Existiría mayores bloqueos irreversibles? CUESTIONARIO WORK PAPER No. 5 1. ¿Cuál es motivo del surgimiento de la memoria virtual? 2. La memoria virtual ¿es física o lógica? Justifique su respuesta. PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 6 UNIDAD O TEMA: SISTEMAS OPERATIVOS DISTRIBUIDOS TITULO: LINUX. FECHA DE ENTREGA: PERIODO DE EVALUACION: Tercer Etapa. Linux establece su libre distribución a ningún costo. De hecho, Linux no es el único "software" que se encuentra bajo este tipo de licencia, también existen otros programas que se distribuyen bajo esta licencia. LINUX es un sistema operativo de 32 bits, compatible con UNIX. Son dos las características que diferencian a este sistema operativo del resto de los demás que encontramos en el mercado informático. El sistema operativo viene acompañado de su código fuente, por lo que existe la posibilidad de realizar modificaciones al código en algún modulo del sistema operativo. El sistema esta conformado por el Núcleo o Kernel más un gran número de programas y bibliotecas que hacen posible su utilización. Linux es Software Libre, esto significa que NO tenemos que pagar por ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del software. Linux, de hecho se encuentra bajo la licencia GPL, la cual U N I V E R S I D A D D E 21 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Linux ha sido y está siendo desarrollado por decenas de desarrolladores de software MULTIPLATAFORMA: Las plataformas en las que en un principio se puede utilizar Linux son 80386, 80486, Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen versiones para su utilización en otras plataformas, como Alpha, ARM. MIPS, PowerPC y SPARC. alrededor del mundo. El Kernel del sistema operativo (abreviadamente SO) sigue en continuo desarrollo bajo la coordinación de su creador, Linus Torvalds, quien concibió este SO a principios de la década de los ochenta. Genesis de Linux. MULTIPROCESADOR: Soporte para sistemas con más de un procesador tanto para Intel y SPARC. MODO PROTEGIDO: protegido 80386. Día tras día, más y más aplicaciones están disponibles o están siendo portadas a este SO, y la calidad de los mismos aumenta de versión a versión. En la mayoría de los casos estos vienen acompañados del código fuente y se distribuyen gratuitamente bajo los términos de la licencia GNU Public License (GPL). COMPARTICION: Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa zona de memoria, la página (4 Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios. 1) Aumenta la velocidad y 2) Reduce el uso de memoria. MEMORIA VIRTUAL: Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha. Un total de 16 zonas de intercambio de 128 Mb de tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2 Gb para intercambio. Este límite se puede aumentar fácilmente con el cambio de unas cuantas líneas en el código fuente. Características MULTITAREA: la palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. Linux utiliza la llamada multitarea preventiva, lo cual asegura que todos los programas que se están utilizando en un momento dado serán ejecutados, siendo el SO el encargado de ceder tiempo de microprocesador a cada programa. MULTIUSUARIO: Quiere decir muchos usuarios usando la misma máquina al mismo tiempo. R S I D A D D E modo EJECUTABLES EN DEMANDA: Carga de ejecutables en demanda: Linux solo lee del disco aquellas partes de un programa que están siendo usadas actualmente. Por el otro lado, han nacido una gran variedad de casas desarrolladoras de software que han encontrado un lugar bajo la licencia GPL. Asimismo, la presencia de Linux está aumentando en gran manera no solo en empresas sino también en el escritorio de muchos usuarios, quienes escogen a Linux por la excelente relación precio-calidad. I V E en PROTECCIÓN DE MEMORIA: Protección de memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. En los últimos tiempos, algunas casas dedicadas al desarrollo de de software comercial han empezado a portar sus productos para ser ejecutados bajo la plataforma Linux. U N Funciona MEMORIA COMO RECURSO UNIFICADO: La memoria se gestiona como un recurso unificado para los programas de usuario y para 22 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas. combinaciones adecuadas de teclas (ALT + Fn); totalmente independientes del hardware de video). Se crean dinámicamente y puedes tener hasta 64. DLL: Bibliotecas compartidas de dinámica (DLL) y bibliotecas estáticas. AMPLIO SOPORTE A FILE SYSTEMS: Soporte para varios sistemas de archivos comunes, incluyendo minix-1, Xenix y todos los sistemas de archivos típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb (Terabytes) y nombres de archivos de hasta 255 caracteres de longitud. carga VOLCADOS DE ESTADO: Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo. ACCESO: transparente a particiones MS-DOS (o particiones OS/2, FAT) mediante un sistema de archivos especial: no es necesario ningún comando especial para usar la partición MSDOS, esta parece un sistema de archivos normal de UNIX (excepto por algunas restricciones en los nombres de archivos, permisos, etc.). COMPATIBILIDAD: Compatible con POSIX, System V y BSD a nivel fuente. EMULACION: Emulación de IBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. CODIGO FUENTE DISPONIBLE: Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente gracias a la licencia GPL. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, estas aplicaciones no están bajo la licencia GPL. Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de desarrollo y estará en la próxima versión estable. UMSDOS: Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. CONTROL DE TAREAS POSIX. HPFS-2: Soporte en sólo lectura de HPFS-2 DEL OS/2 2.1. EMULACION 387: Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si el ordenador ya cuenta con una FPU (Floating Point Unity), esta será usada en lugar de la emulación, pudiendo incluso compilar tu propio Kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria. CD-ROM: Sistema de archivos de CD-ROM que lee todos los formatos estándar de CDROM. TCP-IP: Incluyendo FTP, Telnet, NFS, etc. PROTOCOLOS DE RED: Diversos protocolos de red incluidos en el kernel: TCP-IP, IPv4, IPv6, AX.25, IPX, DDP, Netrom, etc. MULTIPLES CONSOLAS VIRTUALES: Varias sesiones de login a través de la consola entre las que se puede cambiar con las U N I V E R S I D A D D E 23 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA 5. ¿Cuál es la relación multitarea – multiusuario? 6. ¿Cuál es relación multitarea – multiprocesador? 7. En cuestiones de recursos de sistema cuales son los requisitos mínimos de instalación de Linux. 8. Se dice que Linux es un clon de Unix ¿Por qué? 9. ¿Por qué se dice que en sistemas operativos Linux no existen virus? CUESTIONARIO WORK PAPER No. 6 1. ¿A que se refiere el hecho de que Linux es un sistema de 32 bits? 2. ¿Cuál es la menara de distribución de Linux? 3. En caso de que en un mismo disco duro tenga instalado Linux y Windows, existe la posibilidad desde Linux de poder explorar mis archivos de Windows. 4. ¿Cuáles son las características principales de Linux? PROGRAMA DE CONTROL DE CALIDAD WORK PAPER # 7 UNIDAD O TEMA: SISTEMAS OPERATIVOS DISTRIBUIDOS TITULO: NT. FECHA DE ENTREGA: PERIODO DE EVALUACION: Tercer Etapa. Windows NT discontinuaran su trabajo con OS/2. NT se diseñó para estaciones de trabajo avanzadas (Windows NT 3.1) y para servidores (Windows NT 3.1 Advanced Server). A pesar que Windows NT no haya estado inspirado en MS-DOS, los equipos x86 tienen una BIOS diseñada para MS-DOS, en especial los equipos con procesadores 386 y 486. Así, se verá cómo Windows NT debe tratar, muchas veces, con una BIOS diseñada para MS-DOS y superar las restricciones que esto impone. El primer lanzamiento fue Windows NT 3.1 en Septiembre de 1993. A diferencia de Windows 3.1, que era una interfaz gráfica que corría sobre MS-DOS, Windows NT es un sistema operativo por sí solo. El usuario lo ve como Windows 3.1, pero tiene multi-procesos real, seguridad y protección de memoria. Windows NT:(Windows New Technology, NT). El sistema operativo de 32 bits desarrollado originalmente para que sea OS/2 3.0 antes que Microsoft e IBM U N I V E R S I D A D D E 24 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Está basado en un microkernel, con un direccionamiento de hasta 4GB de RAM, soporte para sistemas de archivos FAT, NTFS y HPFS, soporte de red incorporado, soporte multiprocesador, y seguridad C2 que consiste de un PC empotrado en un automóvil que va ubicado en donde actualmente va una radio. Permite controlar la radio, CD y revisar el correo electrónico. Windows CE también permite la creación de aplicaciones en tiempo real. NT está diseñado para ser independiente del hardware. Una vez que la parte específica de la máquina - la capa HAL (Capa de Abstracción de Hardware)- ha sido llevada a una máquina particular, el resto del sistema operativo debería compilar teóricamente sin alteración. Se lanzó una versión de NT para correr en máquinas Alpha de DEC. CUESTIONARIO WORK PAPER No. 7 1. ¿Cuáles son las cualidades principales de Windows NT? 2. Explique los cambios fundamentales que sufrió Windows NT desde su creación hasta las últimas versiones 3. Desde la versión Windows NT 3.5 se vende a Windows NT como……………… y………………… 4. ¿Cuál es el objetivo principal de la creación de Windows NT? 5. Indique las versiones de Windows NT que Ud. conoce. 6. Identifique algunas diferencias entre el Sistema operativo Linux (anterior Work Paper) y Windows NT. NT necesitaba un 386, con al menos 12MB de RAM (preferible 16MB), y al menos 75MB de disco duro libre. Windows NT 3.1: Primer versión de Windows NT (WNT). Existe una leyenda popular que dice que la persona responsable del desarrollo de VMS en VAX de DEC fue también responsable de Windows NT, y si cada letra de VMS es avanzada a la siguiente letra del abecedario se llega a WNT. Windows NT 3.5: Una versión mucho más mejorada de NT 3.1. Desde esta versión Windows NT se vende como "Windows NT 3.5 Workstation" y "Windows NT 3.5 Server". Windows NT 4: La nueva versión de Windows NT, denominada "Cairo" en su etapa de desarrollo. Presenta las mismas características de la interfaz de Windows 95. Tiene algunas modificaciones en su diseño con respecto a las porciones GDI y USER del sistema operativo. Windows CE: Un sistema operativo de la familia Windows y que fue el primero en no estar orientado a los equipos de escritorio. Los dispositivos en los que Windows CE presta servicios son Handheld PC y PalmSize PC. Windows CE también ha permitido la creación de un nuevo sistema denominado AutoPC, U N I V E R S I D A D D E 25 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Práctica de Laboratorio: 4. Conclusión Nº 1 Título: Procesos. Lugar de Ejecución: Laboratorios de cómputo. Elaborado por: Ing. Erick Valverde Oliva. Al finalizar la práctica de laboratorio el alumno deberá presentar: La aplicación desarrollada en cualquier lenguaje de programación. Realizar una defensa de los algoritmos básicos del programa. Nombre y Apellidos: _______________________________ _______________________________ 5. Bibliografía 1. Objetivos. TANENBAUM, “Sistemas Operativos Modernos”, Ed. Prentice Hall, Primera Edición, 1990. Desarrollar una aplicación que permita emular los estados de los procesos. 2. Dominio de problema Suponga que una universidad quiere aplicar la doctrina “separados pero iguales implica desigualdad” en cuestiones de género, terminando la añeja practica de tener sanitarios segregados por genero en el campus. No obstante, cono concesión a la tradición, se decreta que cuando una mujer esta en el sanitario, pueden entrar otras mujeres, pero ningún hombre, y viceversa. Un letrero deslizante en la puerta de cada sanitario indica en cual de los tres posibles estados se encuentra: Vació Hay mujeres Hay hombres 3. Desarrollo de la práctica Escriba los siguientes procedimientos: Mujer_quiere_entrar. Hombre_quiere_entrar. Mujer_sale. Hombre_sale. U N I V E R S I D A D D E 26 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Práctica de Laboratorio: Nº 2 4. Conclusión Al finalizar la práctica de laboratorio el alumno deberá: La aplicación deberá ser realizada utilizando lenguaje C++ Builder o Java. Presentar la aplicación para verificar su correcto funcionamiento. Realizar una defensa de los algoritmos básicos del programa. Título: Procesos. Lugar de Ejecución: Laboratorios de cómputo. Elaborado por: Ing. Erick Valverde Oliva. Nombre y Apellidos: _______________________________ _______________________________ 5. Bibliografía 3. Objetivos. TANENBAUM, “Sistemas Operativos Modernos”, Ed. Prentice Hall, Primera Edición, 1990. Desarrollo de aplicación que permita administrar múltiples procesos. 4. Dominio de problema Habiendo entendido el manejo de procesos y su administración desarrolle el juego de guerra de naves el cual se fundamenta en la creación y manejo de un planificador de procesos, teniendo en cuenta que los procesos a planificar y despachar son: Nave enemiga Bala enemiga Bala de usuarios La nave de usuario no se considera un proceso administrado por el planificador ya que este es administrado por el usuario. 3. Desarrollo de la práctica Crear una interfaz grafica que permita al usuario interactuar con la aplicación. Aplicar los conocimientos sobre procesos para la administración de tres procesos y además permitir la interacción del usuario. U N I V E R S I D A D D E 27 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Práctica de Laboratorio: 3. Desarrollo de la práctica Nº 3 Título: Gestión de memoria no contigua. Lugar de Ejecución: Laboratorios de cómputo. Elaborado por: Ing. Erick Valverde Oliva. Desarrollar un algoritmo que permita bajar “n” paginas ociosas a la memoria virtual utilizando LRU (Less recently used) Nombre y Apellidos: _______________________________ _______________________________ 4. Conclusión Al finalizar la práctica de laboratorio el alumno deberá: Presentar el programa para verificar su correcto funcionamiento. Realizar una defensa de los algoritmos básicos del programa. 1. Objetivos. Desarrollar una aplicación que permita visualizar el comportamiento del algoritmo LRU. 5. Bibliografía 3. Dominio del problema TANENBAUM, “Sistemas Operativos Modernos”, Ed. Prentice Hall, Primera Edición, 1990. Un hardware ha puesto un cronometro a cada bloque (pagina) de la RAM. Se necesitan las siguientes operaciones: Function ocupado(Pagina: integer): boolean; {Verdadero si la pagina ha sido asignado a un proceso} Function ocioso(Pagina: integer): boolean; {Verdadero si la pagina esta ociosa} Function Tiempo(cronometro: integer): real; {Devuelve el tiempo que tiene el cronometro} Procedure bajar(Pagina: integer); {Baja el bloque a la memoria virtual} El cronometro empieza a correr desde cero, desde que la pagina se puso ociosa. Procedure BajarN(n: integer); U N I V E R S I D A D D E 28 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA Práctica de Laboratorio: 4. Conclusión Nº 4 Título: Almacenamiento. Lugar de Ejecución: Laboratorios de cómputo. Elaborado por: Ing. Erick Valverde Oliva. Al finalizar la práctica de laboratorio el alumno deberá: Presentar el programa para verificar su correcto funcionamiento. Realizar una defensa de los algoritmos básicos del programa. Nombre y Apellidos: _______________________________ _______________________________ 5. Bibliografía 2. Objetivos. TANENBAUM, “Sistemas Operativos Modernos”, Ed. Prentice Hall, Primera Edición, 1990. Desarrollo de una aplicación que permita gestionar la información almacenada en un diskette. 2. Dominio del problema Se sabe que el Sistema de Archivos de Gates se basa en tres coordenadas que fueron reducidas a 3 regiones dentro del disco duro: Sector 0, Root, y la FAT. La Root debe de mantener información de la entrada de todos los archivos, mientras que la FAT debe de mantener la tabla de localización de los archivos. Tomando en cuenta que el diskette tiene un formato FAT12, se pide crear una aplicación capaz de manipular su estructura. 3. Desarrollo de la práctica Formatear el diskette. Crear archivos planos para almacenarlos en el diskette. Eliminar archivos planos del diskette. Desarrollar el comando Dir.(ver directorio) De DOS. U N I V E R S I D A D D E 29 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA PROGRAMA DE CONTROL DE CALIDAD DIF´s # 1 UNIDAD OTEMA: CRONOLOGIA FUNCIONAL DE LOS SISTEMAS OPERATIVOS. TITULO: Carga de sistema. FECHA DE ENTREGA: Antes que el usuario cargue algún sistema operativo, el PC realiza el POST (Power On Self Test), que determina los dispositivos disponibles, y busca un disco de arranque. actualizaciones de ROM eran físicamente reemplazando el chip. Estas funciones son realizadas por un conjunto de instrucciones incorporadas en la máquina mediante una ROM. En este sentido, no existe una cosa que se pueda llamar un "PC desnudo", debido a que siempre hay algún tipo de software en el sistema. Apoyándose en la bibliografía base de la materia amplíe su investigación sobre la rutina de inicialización del computador antes de la carga de un sistema operativo. TAREA DEL DIF’s En el presente DIF se realizara una defensa formal permitiendo medir el desenvolvimiento individual de cada estudiante y creando un entorno de preguntas y respuestas. Tradicionalmente, la ROM se basaba sobre un chip programado en fábrica. Las CONCLUSIONES (deberán sintetizar la opinión del grupo): COMENTARIOS (deberán sintetizar la opinión del grupo): U N I V E R S I D A D D E realizadas 30 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA GRUPO (máximo cinco integrantes): AP. PATERNO AP. MATERNO NOMBRES FIRMA PROGRAMA DE CONTROL DE CALIDAD DIF´s # 2 UNIDAD OTEMA: ALMACENAMIENTO TITULO: Disco Flexible. FECHA DE ENTREGA: Un disco flexible tiene 40 cilindros. Una búsqueda tarda 6 mseg por cada cilindro que se desplace. Si nos se hace el intento de colocar los bloques de un archivo cercanos entre sí, dos bloques lógicamente consecutivos (esa decir, consecutivos en el archivo) estarán a una distancia de 13 cilindros, en promedio. Apoyándose en la bibliografía base de la materia y ampliar sus conocimientos, analizar y deducir el tiempo que tarda en realizar la lectura de un archivo de 100 bloques en ambos casos, si el tiempo de latencia rotacional es de 100 mseg. Y el tiempo de transferencia es de 25 mseg. por cada bloque. Sin embargo, si el sistema operativo intenta acumular los bloques relacionados entre sí, la distancia media entre los bloques se puede reducir hasta 2 cilindros (por ejemplo). Para el presente DIF se formaran grupos de dos personas para así poder realizar exposiciones breves y demostrativas para dar inicio a un intercambio de opiniones. TAREA DEL DIF’s CONCLUSIONES (deberán sintetizar la opinión del grupo): U N I V E R S I D A D D E A Q 31 U I N O B O L I V I A FACULTAD DE INGENIERIA COMENTARIOS (deberán sintetizar la opinión del grupo): GRUPO (máximo cinco integrantes): AP. PATERNO AP. MATERNO NOMBRES FIRMA PROGRAMA DE CONTROL DE CALIDAD DIF´s # 3 UNIDAD OTEMA: SISTEMAS OPERATIVOS DISTRIBUIDOS TITULO: Linux Vs. Windows FECHA DE ENTREGA: Se sabe que Linux es un sistema operativo completo, flexible, escalable y totalmente personalizable. Su funcionamiento en red es transparente para ordenadores con otros sistemas operativos. TAREA DEL DIF’s Además es un sistema robusto, fiable y seguro. Ampliando la investigación sobre Linux realizar grupos de dos personas para poder realizar un Las aplicaciones que funcionan sobre Linux análisis que permita discutir sobre los cubren todo tipo de soluciones. beneficios sociales y tecnológicos para nuestro medio; Además de las dificultades de migrar de la plataforma Windows a Linux. CONCLUSIONES (deberán sintetizar la opinión del grupo): U N I V E R S I D A D D E 32 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA COMENTARIOS (deberán sintetizar la opinión del grupo): GRUPO (máximo cinco integrantes): AP. PATERNO AP. MATERNO NOMBRES FIRMA PROGRAMA DE CONTROL DE CALIDAD DIF´s # 4 UNIDAD OTEMA: SISTEMAS OPERATIVOS DISTRIBUIDOS TITULO: Funcionalidad Sistemas Distribuidos FECHA DE ENTREGA: TAREA DEL DIF’s (no distribuidos) y ampliando su investigación sobre el tema, realizar grupos de tres personas para poder sintetizar las principales diferencias funcionales con respecto a sistemas distribuidos desde el punto de vista estructural. Habiendo concluido el estudio de la administración de recursos del computador (memoria, procesos, almacenamiento y dispositivos) para sistemas operativos clásicos U N I V E R S I D A D D E 33 A Q U I N O B O L I V I A FACULTAD DE INGENIERIA CONCLUSIONES (deberán sintetizar la opinión del grupo): COMENTARIOS (deberán sintetizar la opinión del grupo): GRUPO (máximo cinco integrantes): AP. PATERNO AP. MATERNO U N I V E R S I D A D NOMBRES D E 34 A Q U I N O FIRMA B O L I V I A