Sistemas_operativos

3,996 views

Published on

  • kache32@hotmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Sistemas_operativos

  1. 1. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNADESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIACONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENEIRIAS PROGRAMA DE INGENIERIA DE SISTEMAS 301402 – SISTEMAS OPERATIVOS YHON GABRIEL PINZON SALAS (Director Nacional) JAIME JOSE VALDES BENJUMEA Acreditador RIOHACHA – LA GUAJIRA Julio de 2009 1
  2. 2. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO El presente módulo fue diseñado en el año 2005 por la Ing. PILARAlexandra Moreno, docente de la UNAD, y ubicada en el CEAD de Duitama, laIng. Moreno es Ingeniero de Sistemas, y Esp. en Pedagogía para el desarrollo delaprendizaje autónomo, se ha desempeñado como tutor de la UNAD en variosperiodo académicos, actualmente es la coordinadora zonal de medios ymediaciones pedagógicas en la zona. El presente módulo ha tenido una actualización, la que se presenta en elperiodo 2009-2 en su primera versión, esta fue realizada por el Ing. Yhon Pinzonquien ha sido tutor de la UNAD desde el año 2002, en el CEAD La Guajira y quese desempeña actualmente como director del cuso a nivel nacional. Las actualizaciones del material se dan en la Unidad 1, al suprimir uncapitulo que se trabaja en la unidad 2, en la administración de procesos, y en launidad 3, al suprimir el capitulo de introducción a las redes, ya que este sedesarrollo en el curso electivo del mismo nombre y en los cursos específicos delperfil de redes que se ven en el ciclo profesional. De la misma forma el moduloesta diseñado con la estructura establecidas por la VIMMEP, en el desarrollo delecciones, lo que facilita el aprendizaje por parte del estudiante. Este mismo año (2009) el Ing. JAIME VALDES BENJUMEA, tutor del CEADLa Guajira, apoyó el proceso de revisión de estilo del módulo y dio aportesdisciplinares, didácticos y pedagógicos en el proceso de acreditación de materialdidáctico desarrollado en el mes de JULIO de 2009. 2
  3. 3. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS INTRODUCCIÓNEste módulo está diseñado para aquellas personas interesadas en abordartemáticas relacionadas con el campo de los sistemas operativos: teoría yaplicación. Trata de acercarlas a los aspectos más importantes que encierran lossistemas operativos, ubicando características básicas tanto a nivel de PC como anivel de infraestructura de red.Por ello y para ello, se presenta el módulo “Sistemas Operativos”, como unaalternativa de solución para esa búsqueda de enfoques multidisciplinarios, y por lotanto, aplicables a cualquier sistema que se desee analizar o implementar.Así, teniendo en cuenta que en absolutamente cualquier área de la ingeniería desistemas en la que nos desempeñemos o queramos desempeñarnos vamos atrabajar con sistemas operativos: implementandolos, administrándolos,diseñandolos, desarrollandolos, utilizandolos, enseñandolos y resolviendoproblemas que ahora serán más fáciles de solucionar, pues uno de los objetivosprimordiales es el de estudiar a fondo su estructura para eliminar cualquiercomplejidad que tengamos con respecto al tema.El sistema operativo es una parte fundamental de cualquier sistemacomputacional, lo que nos lleva a confirmar, aún más, la importancia de suconocimiento y manejo, y más en nuestra formación como ingenieros de sistemas.Es bueno aclarar que no es un módulo orientado hacia la guía e instalación dealgunos sistemas operativos. Considerando que estamos trabajando en el cicloprofesional, no se torna relevante, por varias razones: - Ahora con la gama de asistentes gráficos disponibles para la instalación, este proceso se torna en tarea sencilla, hasta para un usuario novato. - Se ha pasado por una serie de cursos en los que ya han trabajado, la instalación de sistemas operativos, por lo menos, para computadores personales.Al contrario, es un módulo que brinda toda la documentación e información relativaa las características, estructura, diseño, componentes que ayudan a conocer de 3
  4. 4. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSforma integral un sistema operativo, para que podamos administrarlo de la mejormanera y sacar el máximo provecho a todas sus capacidades e incluso podamosenfrentarnos al reto de diseñar o adecuar nuestro propio sistema operativo.Con el fin de afianzar el aprendizaje de los contenidos, así como el de lashabilidades, a lo largo de los capítulos se incluyen ejercicios y/o ejemplos quesirven como activación cognitiva, para ubicar a los interesados en el contexto adesarrollar, también en algunos casos para reforzar o reafirmar una temática y alfinal de cada capítulo se encuentran ejercicios que servirán para la transferenciade los contenidos desarrollados a las diferentes prácticas de laboratorios ó asituaciones cotidianas o laborales y a sus intereses tanto profesionales comopersonales.Los ejercicios propuestos vienen diseñados para que se resuelvan de maneraindividual, como actividad complementaria o para resolverlo en grupos de trabajo yasí profundizar en los contenidos relacionados y para desarrollar habilidades comocomunicación oral, comunicación escrita y trabajo colaborativo.Este módulo es el resultado de un trabajo extenso de consulta, investigaciónbibliográfica y sistematización de experiencias, el cual sirvió para la consolidaciónde la información, contenidos temáticos y ejercicios con el fin de brindar, además,una herramienta de consulta apropiada al curso académico, ala metodología detrabajo y a las necesidades que pretende cubrir cada persona.Por ello en cada unidad didáctica se encuentra una sección bibliográficarecomendada, incluyendo direcciones de Internet con las que se puede ir más alláen el logro de los objetivos propuestos.El desarrollo temático de los capítulos contempla, intrínsecamete, la articulaciónde cada una de las fases del proceso de aprendizaje como son: reconocimiento,profundización y transferencia, logrando una coherencia metodológica con la guíade actividades propuesta.Las unidades didácticas que lo conforman son tres, equivalentes al número decréditos asignados al curso académico. La primera y última unidad didácticaposeen cuatro capítulos cada una, y la segunda unidad consta de cinco capítulos.La primera unidad, Teoría de los sistemas operativos, está orientado a acercar alinteresado en los conceptos básicos y definición de lo que es un sistemaoperativo. En esta unidad se desarrollan capítulos como: Principios de lossistemas operativos, Características de los sistemas operativos y arquitecturacliente/servidor. Todos ellos para introducirnos al mundo de los sistemas 4
  5. 5. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSoperacionales, su historia, evolución, clasificación, estructura e infraestructura deaplicación.Ya revisadas las bases teóricas y funciones principales, estamos listos paracontinuar el tema de cómo gestionan y administran los diferentes recursos delsistema computacional, tema que le corresponde a la Unidad Didáctica 2.Administración de Recursos. Dichos recursos los aborda el curso así: En el cualestudiaremos la administración de los procesos, la administración de la memoria,la administración de dispositivos, la administración de archivos y directorios; y porúltimo y como parte fundamental de un SO está la protección y seguridad.Con esta temática terminamos de conocer a fondo cómo es un SO, cómo estáorganizado interna y externamente, para así poder brindar el adecuado soporte acualquier sistema monosusuario o multisusuario que se nos presente.Ahora queda solamente aplicar toda la fundamentación teórica desarrollada en lasdos unidades iniciales a los principales sistemas operativos del mercado. De estose encarga la unidad didáctica 3. Principales sistemas operativos, que realiza unaclasificación de la siguiente manera: En primer lugar los sistemas operativos de lafamilia Windows, en segundo lugar el sistema operativo UNIX/LINUX y en laagrupación Otros sistemas operativos se habla de sistemas como novell, OS/2 yVMS.Este módulo fue desarrollado tomando como referencia documentación y estudiosrealizados de los diferentes sistemas operativos, en cada una de las unidades, serelacionan las fuentes bibliográficas específicas sobre las cuales se trabajó.Además es importante recordar, que este módulo debe ir articulado con lasdiferentes actividades planteadas en la guía didáctica, pues es un cursometodológico, es decir tiene un componente de aplicación y trabajo en grupo.Por último, y como siempre, recomiendo que para facilitar el aprendizaje esimportante consultar la bibliografía descrita, utilizar la biblioteca virtual y el accesoa Internet, con esto se está potenciando la capacidad de investigación y de autogestión para llegar al conocimiento, según sean los logros y/o debilidadesencontradas en cada uno de los pasos del proceso a seguir.Recuerden que el éxito del proceso sólo depende de cada uno, de sus intereses yde sus necesidades. 5
  6. 6. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNADESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIACONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS OBJETIVOS 1. Fundamentar, desde un principio, la estructura, funcionamiento y administración de recursos de los sistemas operativos, como base para el análisis y diseño de sistemas de comunicación. 2. Relacionar los principios, estructuras, aplicación y tipos de sistemas operativos con las características y funcionamiento de algunos de los principales sistemas operativos. 3. Conocer e identificar de manera clara los conceptos, elementos, características, propiedades de los sistemas operativos y su relación con el campo de aplicación, teniendo en cuenta la integración de elementos tecnológicos y organizacionales. 4. Determinar y sustentar la aplicación de los sistemas operativos según las características, ventajas de instalación y administración de recursos. 6
  7. 7. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS INDICE DE CONTENIDO Pag.UNIDAD 1. TEORIA DE LOS SISTEMAS OPERATIVOS 14Introducción 14Justificación 14Intencionalidades Formativas 15Denominción de Capitulos 15Capitulo 1. Principios de los Sistemas Operativos 16Introducción 16LECCION 1. Historia y Evolución de los Sistemas Operativos 16LECCION 2. Definiciones y Funciones de los Sistemas Operativos 22LECCION 3. Sistema Computacional 26LECCION 4. Protección en Sistemas Computacionales 34LECCION 5. Conceptos de Sistemas Operativos 37Capítulo 2. Características de los sistemas operativos 46Introducción 46LECCION 6. Tipos de Sistemas Operativos 46LECCION 7. Sistemas operativos por los modos de explotación 49LECCION 8. Sistemas operativos por los servicios ofrecidos y por la Forma de ofrecer losservicios 53LECCION 9. Estructura de los Sistemas Operativos 58LECCION 10. Núcleos del Sistema Operativo 62Capítulo 3. Arquitectura cliente servidor 66Introducción 66LECCION 11. Antecedentes y Definicion de la Arquitectura Cliente/Servidor 66LECCION 12. Componentes y Característica de la Estructura Cliente/Servidor 71LECCION 13. Middleware robusto y escalable en soluciones Cliente/Servidor 76LECCION 14. Analisis de las Variantes de la Arquitectura Cliente/Servidor. 80LECCION 15. Condiciones para la implantación del Modelo Cliente Servidor 85Actividades de Autoevaluacion de la Unidad 1 91Fuentes Documentales de la Unidad 92UNIDAD 2. ADMINISTRACION DE RECURSOS 94Introducción 94Justificación 94 7
  8. 8. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSIntencionalidades Formativas 95Denominción de Capitulos 95Capítulo 1. Administración de los procesos 96Introducción 96LECCION 1. Introduccion a los procesos 96LECCION 2. Comunicacion Entre Procesos 106LECCION 3. Sincronizacion de Procesos 110LECCION 4. Planificacion de Procesos 115LECCION 5. Algoritmos de Planificacion de Procesos 121Capítulo 2. Administración de la memoria y de Dispositivos 127Introducción 127LECCION 6. Estructura General y Manejo de la Memoria. 127LECCION 7. Multiprogramacion en Memoria Real y Memoria Virtual 129LECCION 8. Algoritmos de Reemplazo de Paginas 146LECCION 9. Administracion de Dispositivos de Entrada y Salida 152LECCION 10. Conceptos de Dispositvos de Entrada y Salida 157Capítulo 3. Administración de archivos y Proteccion y Seguridad en los sistemasoperativos 162Introducción 162LECCION 11. Sistema de Archivos y Directorios 162LECCION 12. Estructura de Archivos y Directorios 169LECCION 13. Tipos de sistemas de archivos, Protección de Ficheros y Administración deEspacio Libre 177LECCION 14. Proteccion 184LECCION 15. Seguridad 188Actividades de Autoevaluacion de la Unidad 2 196Fuentes Documentales de la Unidad 197UNIDAD 3. PRINCIPALES SISTEMAS OPERATIVOS 199Introducción 199Justificación 199Intencionalidades Formativas 200Denominción de Capitulos 200Capítulo 1. Sistemas operativos Familia Windows 201Introducción 201LECCION 1. Sistema Operativo Windows 95 y Windows 98 201LECCION 2. Sistema Operativo Windows 2000 y 2003 210LECCION 3. Sistema Operativo Windows XP 220LECCION 4. Sistema Operativo Windows NT 228LECCION 5. Sistema Operativo Windows Vista e Instalacion de Sistema Operativos 240 8
  9. 9. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSCapítulo 2. Sistema operativo UNIX/LINUX 253Introducción 253LECCION 6. Historia, Arquitectura, Versiones y Caracteristicas de UNIX y LINUX 253LECCION 7. Instalacion del Sistema Operativo 267LECCION 8. Interfaz del Usuario 279LECCION 9. Estructura de Archivos y Administracion del sistema 288LECCION 10. Montando el sistema de ficheros e instalación de impresoras 303Capítulo 3. Otros sistemas operativos 314Introducción 314LECCION 11. Sistema Operativo Novell Netware 314LECCION 12. Características de las Versiones del Sistema Operaivo NetWare 316LECCION 13. Administracion de los Recursos en el Sistema Operativo NetWare 318LECCION 14. Sistema OS/2 323LECCION 15. Sistema de Memoria Virtual 328Actividades de Autoevaluacion de la Unidad 3 333Fuentes Documentales de la Unidad 334 9
  10. 10. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS LISTADO DE TABLAS Pag.Tabla 1. Versiones de los sistemas operativos 18Tabla 2. Evolucion de los sitemas operativos 21Tabla 3. Etapas del camino de ejcución de un programa 135Tabla 4. Implementación de los mecanismos de asignación de memoriavirtual 136Tabla 5. Algortimos de Selección de paginas de memoria 140Tabla 6. Ejemplo Algoritmo de bits adicionales de referencia 152Tabla 7. Tipos de Archivos 164Tabla 8. Tabla de registros de asignación continúa de bloques 176Tabla 9. I-nodo de UNIX 177Tabla 10. Codificacion RSA 194Tabla 11. Requisitos de servidores Windows 2003 220Tabla 12. Paralelo de características de Versiones Windows XP 227Tabla 13. Lista los nombres de diversos manejadores para Linux 271Tabla 14. Variables de entorno más comunes 294Tabla 15. Tipos de sistemas de ficheros Linux 305 10
  11. 11. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS LISTADO DE GRÁFICOS Y FIGURAS Pag.Gráfica 1. Tecnología de discos 21Gráfica 2. Concepción de sistema operativo 24Gráfica 3. Estructura de un sistema computacional 27Gráfica 4. Sistema de entrada/salida E/S (Input-output I/O) 28Gráfica 5. Interrupciones de Hardware 30Gráfica 6. Acceso directo a memoria 31Gráfica 7. Organización de un disco 32Gráfica 8. Información de un sector 33Gráfica 9. El cilindro 33Gráfica 10. Jerarquía de memoria 34Gráfica 11. Protección de memoria 36Gráfica 12. Control de la protección de memoria 37Gráfica 13. Flujo de una llamada al sistema 38Gráfica 14. Estructura monolítica 45Gráfica 15. Estructura por capas. 47Gráfica 16. Máquina virtual 48Gráfica 17. Cliente-servidor 47Gráfica 18. Cinco niveles arquitectura/cliente servidor 74Gráfica 19. Distribución cliente/servidor 75Gráfica 20. Arquitectura cliente/servidor con interface común 83Gráfica 21. Arquitectura cliente/servidor con gateway común 84Gráfica 22. Arquitectura cliente/servidor con protocolo común 85Gráfica 23. Estados de un proceso 98Gráfica 24. Estados de un proceso: Modos kernel y usuario 100Gráfica 25. Jerarquía de procesos 101Gráfica 26. Conmutación y la PCB 104Gráfica 27. Estructura de un proceso 105Gráfica 28. Recursos de un thread 106Gráfica 29. Tarea con múltiples threads 106Gráfica 30. Interacción productor consumidor 108Gráfica 31. Direccionamiento asimétrico- Cliente/servidor 108Gráfica 32. Sincronización Rendezvous 109Gráfica 33. Sincronización con buffers 110 11
  12. 12. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSGráfica 34. Ejemplo de variables compartidas 111Gráfica 35. Ejemplo de sección crítica 112Gráfica 36. Implementación del semáforo 113Gráfica 37. Implementación de semáforo para la sincronización 114Gráfica 38. Implementación de semáforo en productor/consumidor 114Gráfica 39. Productor/consumidor: sincronización completa 115Gráfica 40. Estructura de una cola 118Gráfica 41. Cuándo se itinera 119Gráfica 42. Orden de peluquería 121Gráfica 43. El más corto primero 122Gráfica 44. Por prioridad 123Gráfica 45. Round Robin 124Gráfica 46. Colas multinivel 125Gráfica 47. Colas multinivel realimentadas 126Gráfica 48. Panorama del manejo de memoria 128Gráfica 49. Organización simple de memoria 129Gráfica 50. Proceso enlace de direcciones en memoria 135Gráfica 51. Estrategia de mejor ajuste 137Gráfica 52. Estrategia de primer ajuste 137Gráfica 53. Estrategia de peor ajuste 138Gráfica 54. Traducción de direcciones de memoria 139Gráfica 55. Traducción de direcciones de memoria en segmentación 142Gráfica 56. Entrada tipica de una tabla de páginas 143Gráfica 57. Traducción en la segmentación – paginación 145Gráfica 58. Ejemplos de dispositivos 154Grafica 59. Bus 157Gráfica 60. Organización sistema Pentium. Buses 157Gráfica 61. Coordinación de la interacción 158Gráfica 62. Manejo de interrupciones 159Gráfica 63. Hardware DMA 160Gráfica 64. Acceso secuencial 165Gráfica 65. Acceso directo 165Gráfica 66. Acceso indexado 166Gráfica 67. Ejemplo de organización 166Gráfica 68. Directorio de un nivel 167Gráfica 69. Directorio de dos niveles 167 12
  13. 13. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSGráfica 70. Directorio de árbol 168Gráfica 71. Grafo cíclico 168Gráfica 72. Organización de un disco 170Gráfica 73. Organización de un sistema de archivos 170Gráfica 74. Estructura de la tabla de archivos 171Gráfica 75. Asignación contigua de espacio 172Gráfica 76. Asignación de espacio enlazada 173Gráfica 77. FAT 174Gráfica 78. Asignación de espacio indexada 174Gráfica 79. Lista enlazada de bloques libres 183Gráfica 80. Dominios compartidos 185Gráfica 81. Matriz de acceso 187Gráfica 82. Matriz de acceso con dominios como objetos 188Gráfica 83. Codificación RSA 194Gráfica 84. Arquitectura Windows 95 - Fuente: www.club.telepolis.com 203Gráfica 85. Componentes de Windows 98 205Gráfica 86. Recursos que necesita el sistema para VM 207Gráfica 87. Ejemplo de árbol de Hardware de Windows 98 209Gráfica 88. Arquitectura de Windows 2000 211Gráfica 89. Estructura del sistema operativo Windows 2003 Server 216Gráfica 90. Arquitectura Windows NT 229Gráfica 91. Arquitectura de Windows NT con Advanced Server 234Gráfica 92. Arquitectura del sistema UNIX 255Gráfica 93. Arquitectura Sistema Operativo Linux 258Gráfica 94. Subsistema de ficheros 261Gráfica 95. Subsistema de red 262Grafico 96. Ventana de Configuración de XConfigurator 280Grafico 97. Panel de configuración de X-Windows 281Grafico 98. Gestor de Ventana GNOME 282Grafico 99. Entorno de Trabajo GNOME 283Grafico 100. Entorno de Trabajo en KDE 284Grafico 101. KDE Control Center 286Grafica 102. Árbol de Dirección. 290Grafico 103. Servidor de impresión 307Gráfica 104. Sistema de archivos de VMS 329 13
  14. 14. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS UNIDAD 1Nombre de la Unidad TEORIA DE LOS SISTEMAS OPERATIVOSIntroducción Aunque en este nivel de estudios, se supone que ya hemos visto, trabajado y explotado algunos de los sistemas operativos del mercado, muy seguramente no conocemos a fondo la teoría en la cual se basa su diseño y desarrollo. Y esto aunque a veces no lo reconocemos es fundamental a la hora de “aprovechar” al máximo los recursos de un sistema computacional cualquiera. En esta unidad se trabajaran 3 capitulos en donde se explica qué son los sistemas operativos, qué hacen y cómo están diseñados y construidos. Se explica cómo se ha desarrollado el concepto de un sistema operativo, cuáles son sus características comunes y lo que hace el sistema operativo para el usuario y para el administrador del sistema de cómputo y su utilidad y funcionalidad para la arquitectura de redes. Esta unidad es apropiada para los estudiantes que se inician en esta materia y para aquellos que son “expertos” pero desean saber más acerca de los detalles internos de los mismos.Justificación “En el mundo de la informática actual existe una gran diversidad de disciplinas de las cuales unas son fundamentales y deben ser conocidas y en ocasiones dominadas por aquellas personas que han hecho de este mundo su profesión o afición. En este sentido, los sistemas operativos como componentes del software de las computadoras son una parte fundamental debido a que a través de ellos se simplifica y rentabiliza el trabajo de una forma asombrosa. Estos, cada día más evolucionados, permiten que un gran número de usuarios estén trabajando con una misma máquina sin que apenas se den cuenta de ello. “Comprender el sistema operativo es entender el funcionamiento de todo el sistema de cómputo, porque dicho sistema administra todas y cada una de las piezas 14
  15. 15. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS del hardware y el software, incluyendo el control de quién puede utilizar el sistema y de qué manera. En síntesis es el patrón.” De esta forma, se conceptualizarán una serie de definiciones y teorías que son indispensables en el uso y administración de sistemas operativos y que también sirven como punto de partida para otras aplicaciones y campos que el estudiante desarrollará a lo largo de su carrera profesional.Intencionalidades Direccionar al estudiante para que relacione principios,Formativas estructuras, aplicación y tipos de sistemas operativos con sus características y funcionamiento, a través del desarrollo y sustentación de un proyecto práctico en grupo en donde se presente una propuesta de implementación del sistema operativo en una organización del entorno. Direccionar al estudiante a que conozca e identifique de manera clara los conceptos, elementos, características, propiedades de los sistemas operativos y su relación con el campo de aplicación, a través del análisis de los sistemas operativos más comerciales y cercanos a su entorno que involucre la integración de elementos tecnológicos y organizacionales.Denominación de Capitulo 1. Principios de los Sistemas Operativoscapítulos Capítulo 2. Características de los sistemas operativos Capítulo 3. Arquitectura cliente servidor 15
  16. 16. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS CAPÍTULO 1. PRINCIPIOS DE LOS SISTEMAS OPERATIVOSINTRODUCCIONEn este capitulo estudiaran los conceptos fundamentales de los sistemasoperativos así como las características y funciones, de igual forma se analizarácronológicamente la historia y evolución de los sistemas operativos y algunosconceptos claves e importantes para el desarrollo del curso.Tenga en cuenta que la estructura de cada capitulo esta dada por lecciones que asu vez contienen el desarrollo del tema central del capitulo, estas se plantearanteniendo en cuenta las interfaces de aprendizaje para mayor comprensión yaprendizaje por parte del estudiante.LECCION 1. Historia y Evolución de los Sistemas OperativosReconocimiento – Saberes PreviosPara abordar esta lección es necesario el estudio de las definiciones de SistemasOperativos, Sistemas Computacionales, y las funcionalidades y estructura de losmismos.Profundización1.1. Historia de los sistemas operativosPara tratar de comprender los requisitos de un S.O y el significado de susprincipales características, es útil considerar como han ido evolucionando éstoscon el tiempo.Existen diferentes enfoques o versiones de cómo han ido evolucionando lossistemas operativos.La primera de estas versiones podría ser esta: 16
  17. 17. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNADESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIACONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Periodo AvanceAños 40’s Se introducen los programas bit a bit, por medio de interruptores mecánicos y después se introdujo el lenguaje de máquina que trabajaba por tarjetas perforadas.Finales de Con las primeras computadoras, el programador interactuabalos años 40 de manera directa con el hardware de la computadora, nohasta la existía realmente un sistema operativo; las primerasmitad de los computadoras utilizaban bulbos, la entrada de datos y losaños 50’s programas se realizaban a través del lenguaje máquina (bits) o a través de interruptores.Durante los A principio de los 50s, la compañía Generals Motors implantoaños 50s y el primer sistema operativo para su IBM 170. Empiezan a surgir60s las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseñadores, capturistas, etc.), se encarguen de modificar sus programas. Establecían o apartaban tiempo, metían o introducían sus programas, corregían y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traducía en pérdida de tiempo y tiempos de programas excesivos.En los años Se genera el circuito integrado, se organizan los trabajos y se60s y 70s generan los procesos Batch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En esta época surgen las unidades de cinta y el cargador de programas, el cual se considera como el primer tipo de sistema operativo.En los 80s Inició el auge de la INTERNET en los Estados Unidos de América. A finales de los años 80s comienza el gran auge y evolución de los sistemas operativos. Se descubre el concepto de multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los sistemas operativos actuales.Los 90s y el Entramos a la era de la computación distribuida y delfuturo multiprocesamiento a través de múltiples redes de computadoras, aprovechando el ciclo del procesador. Se tendrá una configuración dinámica con un reconocimiento inmediato de dispositivos y software que se añada o elimine de las redes a través de procesos de registro y localizadores. La conectividad se facilita gracias a estándares y protocolos de 17
  18. 18. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS sistemas abiertos establecidos por organizaciones como la Organización Internacional de estándares (ISO-International Standard Organization), fundación de software abierto, todo estará mas controlado por los protocolos de comunicación OSI y por la red de servicios digital ISDN. Tabla 1. Versiones de los sistemas operativosSe ha desarrollado otra versión, la cual se ha hecho con base a la evolucióndel hardware: Sistemas Batch simples Sistemas Batch multiprogramados Sistemas de tiempo compartido Computadores personales Sistemas paralelos Sistemas distribuidos Sistemas de tiempo realTipo de sistema DescripciónSistemas Batch Los primeros computadores eran grandes máquinasSimples que se operaban desde una consola. La entrada y salida se hacía usando tarjetas perforadas y cinta magnética. La interacción de un usuario con el sistema computacional no era directa:se preparaba un job que consistía en un conjunto de tarjetas: programa, datos y tarjetas de control. El S.O: Tenía una función muy simple: transferir el control entre una tarea (job) y la siguiente. Residía completamente en memoria. Para hacer más eficiente el trabajo, los operadores agrupaban tareas en tandas o lotes (batch). La característica más importante es la falta de interacción entre el usuario y el sistema durante la ejecución. Los job se preparan y entregan al sistema y después de un tiempo se entrega el resultado vía una lista o impresión. La CPU pasa desocupada la mayor parte del tiempo: La velocidad de los elementos mecánicos: impresora y lectora es mucho más baja que la CPU. ¿Cómo solucionar este problema? - Tecnología de disco (Spooling) – Ver explicación al final del cuadroSistemas Batch El Spooling mantiene una estructura de datos con 18
  19. 19. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSTipo de sistema DescripciónMultiprogramados todos los jobs listos para ser ejecutados en un área de disco. Esta estructura permite seleccionar cualquier job del conjunto. Con esta estructura es posible mejorar la utilización de la CPU. La selección de un job para su ejecución de un conjunto se denomina itineración de job (scheduling). La itineración de jobs permite la mutiprogramación. La multiprogramación aumenta la utilización de la CPU al organizar los jobs de manera tal que la CPU siempre tenga algún job que ejecutar. Para esto se mantienen los jobs en memoria principal. El S.O. selecciona un job, lo ejecuta y cuando el job debe esperar por E/S, se selecciona otro job. Cuando un job necesita esperar por algún dispositivo, el sistema operativo conmuta de un job a otro. Cuando la transferencia del dispositivo termina, se vuelve al job nuevamenteSistemas de tiempo Los sistemas batch multiprogramados permiten usarcompartido – Time recursos eficientemente, pero los usuarios no puedensharing – multitarea interactuar con sus aplicaciones. El tiempo compartido (time sharing) o multitarea es una extensión de la multiprogramación. La CPU ejecutaJob 1 múltiples jobs, pero la conmutación de un job a otroJob 2 ocurre con una frecuencia tal que los usuarios piensan que interactúan con el programa mientras éste corre.Job 3 Los primeros sistemas Batch eran completamente Tiempo interactivos. El usuario tomaba el control completo del sistema a través de la consola. Los sistemas de tiempo compartido se desarrollaron para proporcionar el uso interactivo de un computador a costo razonable. Cada usuario tiene al menos un programa en memoria. Un programa que se carga y ejecuta se denomina proceso. Cuando un proceso se ejecuta, lo hace por un tiempo corto antes que termine o necesite E/S. La entrada y salida (E/S) también puede ser interactiva. Los sistemas operativos de tiempo compartido son más complejos que los sistemas batch multiprogramados. Entre otras cosas se requiere protección especial de áreas de memoria.Sistemas PC – Los Computadores personales aparecieron en elComputadores mercado en la década del 70. El objetivo de lospersonales sistemas operativos de PC no es mejorar la eficiencia 19
  20. 20. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSTipo de sistema Descripción sino su amistosidad con el usuario. Ejemplos son: MS-DOS, MS Windows, Apple Macintosh, OS/2 La tendencia es traspasar funcionalidades de grandes computadores a PC. Por ejemplo sistemas de protección de archivos, memoria virtual etc.. Un buen ejemplo es el sistema MULTICS desarrollado en el MIT entre 1965 y 1970. Las ideas de MULTICS se tomaron en Bell Labs para desarrollar UNIX en 1970 para computadores DEC PDP-11. En los años 80, surgieron muchos sistemas tipo UNIX: W/NT, OS/2 , MAC OS y Windows XP y LINUX Recientemente.Sistemas paralelos La mayoría de los sistemas computacionales actuales utiliza una sola CPU, sin embargo hay una tendencia hacia sistemas multiprocesadores. ¿Qué se logra con multiprocesadores? Mayor desempeño (troughput): más trabajo por unidad de tiempo. Aceleramiento de tareas: cuando varios procesadores cooperan en la realización de una tarea, disminuye el tiempo de ejecución. Sin embargo la mejora de desempeño no es lineal respecto al número de procesadores por el tiempo de comunicación. ¿Qué es mejor, un sistema de multiprocesamiento o varios sistemas simples? Es más económico un sistema de multiprocesadores (un disco, gabinete, fuentes de poder etc.) Mejora la confiabilidad: si las funciones se distribuyen inteligentemente, la caída de un procesador puede ser asumida por otro.Sistemas distribuidos La tendencia actual es distribuir la computación entre varios procesadores. Cada procesador tiene su memoria local. Los procesadores se comunican por líneas de comunicación, redes de alta velocidad o buses apropiados. Los procesadores de un sistema distribuido varían en tamaño y función: microprocesadores, minicomputadores, estaciones de trabajo y grandes sistemas computacionales.Sistemas de tiempo Los sistemas operativos de Tiempo Real se usanreal cuando existen rígidos requerimientos de tiempo. Ejemplos: - Sistemas de Control Industrial 20
  21. 21. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSTipo de sistema Descripción - Monitoreo médico - Control de encendido de motores - Sistemas de defensa El procesamiento se debe hacer con restricciones de tiempo. En caso contrario se producen fallas. Tabla 2. Evolucion de los sitemas operativosAlgunos de los anteriores sistemas se revisarán en el capítulo siguiente:Características de Sistemas Operativos – Tipos de sistemas operativos.Una tecnología que apareció con los sistemas de batch es: Spooling.Spooling – Tecnología de discosLa introducción de la tecnología de discos entrega una solución: en vez de leerdel disco y escribir a la impresora, la CPU interactúa directamente con el disco.Si la CPU necesita leer una tarjeta, lee desde un área del disco. En forma similarcuando necesita imprimir una línea, la escribe en el discoEsta forma de procesamiento se denomina Spooling (Simultaneous peripheraloperation on-line) 1 Gráfica 1. Tecnología de discos Observaciones El Spooling traslapa la entrada y salida de un job con los cálculos (CPU) de otro job. Tiene un efecto directo e importante en el desempeño ya que mantienen a la CPU y los dispositivos trabajando a su máxima velocidad.Transferencia - AutoevaluaciónA partir de la historia de los sistemas operativos, organice cronológicamente en unárbol, la evolución que se dio en el desarrollo de sistemas operativos, recuerdeque esta, está ligada al hardware pero en esta actividad se requiere solo expresarel software básico.1 Ibid. Capítulo 1. p. 8 21
  22. 22. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSLECCION 2. Definiciones y Funciones de los Sistemas OperativosReconocimiento - Saberes PreviosReflexionemos de forma individual con respecto a: - Ha trabajado con algún sistema operativo? - Con cuál o cuáles? - Tiene un sistema operativo favorito? Diga cuál y porqué? - Conoce algo acerca de la estructura interna de un sistema operativo? - Conoce las funciones específica de un sistema operativo cualquiera? - Enseguida de esta reflexión aborde toda la temática y concluya.Profundización2.1 Definiciones de sistema operativoConceptuar el término “sistema operativo” (ó S.O como se nombra en algunaspartes del módulo) no es simple, precisamente es el objetivo primordial delmódulo. Existen diversas definiciones de lo que es un sistema operativo, pero nohay una definición exacta, es decir una que sea estándar; a continuación sepresentan algunas: Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. Un sistema operativo es el código que acompaña la ejecución de cualquier aplicación. Un sistema operativo es un programa que dirige y administra los recursos de un sistema computacional. Provee un conjunto de cualidades que facilitan el acceso de las aplicaciones a estos recursos, buscando siempre independencia del hardware. Un sistema operativo es la parte del sistema de cómputo que administra el hardware y el software. Un sistema operativo es un conjunto de programas que ordenadamente relacionados entre si, contribuyen a que el hardware de la computadora lleve a cabo su trabajo correctamente. Un sistema operativo es el soporte lógico que controla el funcionamiento del equipo físico. 22
  23. 23. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Un sistema operativo es el programa que oculta la verdad del hardware al programador y presenta una vista simple y agradable de los archivos nominados que pueden leerse y escribirse.Una definición que llama mucho la atención y particularmente comparto es: Un sistema operativo es un programa cuya estructura es lo suficientemente general para independizarse del hardware, pero la implementación debe ser lo suficientemente particular para aprovechar de forma eficiente el hardware.Existen definiciones más amplias y un poco más específicas, como: Se pueden imaginar un sistema operativo como los programas, instalados en el software o firmware, que hacen utilizable el hardware. El hardware proporciona la "capacidad bruta de cómputo"; los sistemas operativos ponen dicha capacidad de cómputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento. Los sistemas operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware del computador; además de los procesadores, los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicación y los datos El objetivo principal de un sistema operativo es, lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente Un sistema operativo es un conjunto de programas que controla la ejecución de programas de aplicación y actúa como una interfaz entre el usuario y el hardware de una computadora, esto es, un sistema operativo explota y administra los recursos de hardware de la computadora con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema.En resumen, se podría decir que los sistemas operativos son un conjunto deprogramas que crean la interfaz del hardware con el usuario, y que tiene dosfunciones primordiales, que son: Gestionar el hardware: Se refiere al hecho de administrar de una forma más eficiente los recursos de la máquina. Facilitar el trabajo al usuario: Permite una comunicación con los dispositivos de la máquina.Si se analizan con detenimiento cada una de las anteriores definiciones, se puedeconcluir que en general un sistema operativo se describe desde dos puntos devista: 23
  24. 24. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Usuario final y, Usuario administrador.Queda, entonces, revisar los conceptos dados y determinar a cuál punto de vistacorresponde cada uno.A lo largo del curso se va a trabajar la concepción de sistema operativo como: Aquella herramienta lógica que proporciona al usuario un entorno amigable, permite interactuar y establecer una comunicación entre el hardware (componentes físicos) y el software (aplicaciones) de un sistema de cómputo. SISTEMA DE CÓMPUTO SOFTWARE SISTEMA OPERATIVO HARDWARE USUARIO Gráfica 2. Concepción de sistema operativo2.2 Funciones del sistema operativoA continuación se muestran las funciones principales que realiza todo sistemaoperativo. Se puede decir que son las características del sistema operativo:- Conveniencia. Un sistema operativo hace más conveniente el uso de unacomputadora.- Eficiencia. Un sistema operativo permite que los recursos de la computadorase usen de la manera más eficiente posible. 24
  25. 25. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS- Habilidad para evolucionar. Un sistema operativo deberá construirse demanera que permita el desarrollo, prueba o introducción efectiva de nuevasfunciones del sistema sin interferir con el servicio.- Encargado de administrar el hardware. El sistema operativo se encarga demanejar de una mejor manera los recursos de la computadora en cuanto ahardware se refiere, esto es, asignar a cada proceso una parte del procesadorpara poder compartir los recursos.- Administración de dispositivos (gestionar a través del kernel).Coordinando y manipulando los dispositivos conectados al ordenador. Elsistema operativo se debe encargar de comunicar a los dispositivos periféricos,cuando el usuario así lo requiera. Además debe organizar los datos paraacceso rápido y seguro.- Manejar las comunicaciones en red. El sistema operativo permite al usuariomanejar con alta facilidad todo lo referente a la instalación y uso de las redesde computadoras.- Procesamiento por bytes de flujo a través del bus de datos.- Facilitar las entradas y salidas. Un sistema operativo debe hacerle fácil alusuario el acceso y manejo de los dispositivos de Entrada/Salida de lacomputadora.- Técnicas de recuperación de errores. Gestiona los errores de hardware yla pérdida de los datos.- Gestión de permisos y de usuarios. Adjudica los permisos de acceso a losusuarios y evita que las acciones de uno afecten el trabajo que está realizandootro. El sistema operativo evita que los usuarios se bloqueen entre ellos,informándoles si esa aplicación está siendo ocupada por otro usuario.- Control de seguridad. Debe proporcionar seguridad tanto para los usuarioscomo para el software y la información almacenada en los sistemas.- Control de concurrencia. Establece prioridades cuando diferentes procesossolicitan el mismo recurso.- Administración de memoria. Asigna memoria a los procesos y gestiona suuso.- Generación de estadísticas. 25
  26. 26. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS- Control de la ejecución de los programas. Para ello, acepta los trabajos,administra la manera en que se realizan, les asigna los recursos y los conservahasta su finalización.- Administración de periféricos.- Permite que se puedan compartir el hardware y los datos entre losusuarios.El software de aplicación son programas que se utilizan para diseñar, tal comoel procesador de palabras, lenguajes de programación, hojas de cálculo, etc.El software de base sirve para interactuar el usuario con la máquina, son unconjunto de programas que facilitan el ambiente plataforma, y permite el diseñodel mismo.El Software de base está compuesto por: • Cargadores. • Compiladores. • Ensambladores. • Macros.Transferencia – AutoevaluaciónAhora que ya conoce el concepto y las funciones del sistema operativo,compárelas con las que había estudiado en la actividad de presaberes, establescalas diferencias.LECCION 3. Sistema ComputacionalReconocimiento – Saberes PreviosPara poder estudiar esta lección debe tener conocimiento claro de lo que es elsistema operativo y sus funcionalidades.Profundización3.1. Estructura de un sistema computacionalUn sistema operativo es una parte importante de cualquier sistema decomputación. 26
  27. 27. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSUn sistema computacional es una plataforma sobre la cual se construyen losllamados sistemas de información, hoy en día, necesarios para la administraciónexitosa de cualquier organización.Un sistema de computación puede dividirse en cuatro componentes: el hardware,el sistema operativo, los programas de aplicación y los usuarios.El hardware (Unidad Central de Procesamiento (CPU), memoria y dispositivos deentrada/salida (E/S)) proporcionan los recursos de computación básicos.Los programas de aplicación definen la forma en que estos recursos se empleanpara resolver los problemas de computación de los usuarios. Se pueden dividir enprogramas de sistemas como compiladores, assembler, editores, herramientas demonitoreo y mantención; y en aplicaciones propiamente dichas como sistemas debases de datos, juegos de video, programas para negocios, navegadores, etc. Usuario 1 Usuario 2 Usuario 3 Usuario n Usuario final Aplicaciones Programador Programas de sistemas Diseñador de traductores Sistema operativo Diseñadores S.O Hardware Constructores Gráfica 3. Estructura de un sistema computacionalEl sistema operativo se encuentra almacenado en la memoria secundaria. Primerose carga y ejecuta un pedazo de código que se encuentra en el procesador, elcual carga el BIOS, y este a su vez carga el sistema operativo que carga todos losprogramas de aplicación y software variado.Antes de entrar a considerar los detalles de un S.O. se necesitan conocer losbloques de hardware que componen un sistema computacional.Como la función principal de un S.O. es aliviar las tareas de E/S, revisaremos losdispositivos y estructura de la entrada y salida de un sistema computacional.También examinaremos los mecanismos de protección que provee la CPU para elS.O.Veamos:3.2. Operación de un sistema computacional 27
  28. 28. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSUn sistema computacional consiste en una CPU y un número de dispositivos quetienen acceso a una memoria común vía un bus de interconexión.Los controladores de dispositivos se encargan de determinados dispositivos:discos, audio, mouse, módem, etc.La CPU y los dispositivos pueden actuar en forma concurrente. Sólo compiten porel acceso a la memoria que es común.El controlador de memoria provee un acceso sincronizado a la memoria RAM. 2 Gráfica 4. Sistema de entrada/salida E/S (Input-output I/O)a. PartidaEn la partida se necesita un programa inicial. Este programa se llama bootstrap. Elbootstrap inicializa todo el sistema: registros de CPU, controladores dedispositivos, memoria, etc.El primer proceso que ejecuta el S.O. Se llama init. Init espera la ocurrencia dealgún evento.b. InterrupcionesUna interrupción es un evento que altera la secuencia en que el procesadorejecuta las instrucciones. La interrupción es generada por el hardware del sistemade cómputo.El sistema de interrupciones es una parte muy importante de la arquitectura de uncomputador.Los sistemas operativos modernos son sistemas que reaccionan anteinterrupciones, es decir, si no hay E/S, ni procesos ejecutándose, el S.O. estáquieto y atento a que ocurra alguna interrupción.¿Qué ocurre con el S.O ante una interrupción?2 CAÑAS R, Javier (2002). Curso sistemas operativos (Formato .pdf). Capítulo 2, p. 3 28
  29. 29. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS El sistema operativo toma el control (es decir, el hardware pasa el control al sistema operativo). El sistema operativo guarda el estado del proceso interrumpido. En muchos sistemas esta información se guarda en el bloque de control de proceso interrumpido. El sistema operativo analiza la interrupción y transfiere el control a la rutina apropiada para atenderla; en muchos sistemas actuales el hardware se encarga de esto automáticamente. La rutina del manejador de interrupciones procesa la interrupción. Se restablece el estado del proceso interrumpido (o del siguiente proceso). Se ejecuta el proceso interrumpido (o el siguiente proceso).Una interrupción puede ser iniciada específicamente por un proceso en ejecución(en cuyo caso se suele denominar (trap), y se dice que está sincronizada con laoperación del proceso) o puede ser causada por algún evento que puede estarrelacionado o no con el proceso en ejecución (en cuyo caso se dice que esasíncrona con la operación del proceso).Los sistemas orientados hacia las interrupciones pueden sobrecargarse. Si estasllegan con mucha frecuencia, el sistema no será capaz de atenderlas. En algunossistemas orientados hacia el teclado, cada tecla presionada almacena en lamemoria un código de un byte y genera una interrupción para informar a la CPUque un carácter está listo para ser procesado. Si la CPU no puede procesar eldato antes de que se presione la siguiente tecla, se pierde el primer carácter.Clases de InterrupcionesExisten seis clases de interrupciones: Interrupciones SVC (supervisor call, llamadas al supervisor). Son iniciadas por un proceso en ejecución que ejecute la instrucción SVC. Una SVC es una petición generada por el usuario de un servicio particular del sistema, como realizar una operación de entrada/salida, obtener más memoria o comunicarse con el operador del sistema. El mecanismo de las SVC ayuda a proteger el sistema operativo de las acciones de los usuarios. Un usuario no puede entrar arbitrariamente al sistema operativo, sino que debe solicitar un servicio por medio de una SVC. El sistema operativo está al tanto de todos los usuarios que intentan rebasar sus límites y puede rechazar ciertas peticiones si el usuario no tiene los privilegios necesarios. Interrupciones de E/S. Son iniciadas por hardware de entrada y salida. Estas interrupciones indican a la CPU el cambio de estado de un canal o dispositivo. Las interrupciones de E/S se producen cuando finaliza una operación de E/S o cuando un dispositivo pasa al estado listo. 29
  30. 30. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Interrupciones externas. Son causadas por diversos eventos, incluyendo la expiración de un Quantum de un reloj que interrumpe, la pulsación de la tecla de interrupción de la consola o la recepción de una señal procedente de otro procesador en un sistema de múltiples procesadores. Interrupciones de reinicio. Se produce cuando se presiona el botón de reinicio de la PC o cuando llega de otro procesador una instrucción de reinicio en un sistema de multiprocesamiento. Interrupciones de verificación del programa. Son causadas por una amplia clase de problemas que pueden ocurrir cuando se ejecutan las instrucciones en lenguaje de máquina de un programa. Dichos problemas incluyen la división entre cero, el exceso o defecto de los números que pueden ser manejados por las operaciones aritméticas, el intento de hacer referencia a una localidad de memoria que esté fuera de los límites de la memoria real. Muchos sistemas ofrecen a los usuarios la opción de especificar las rutinas que deben ejecutarse cuando ocurra una interrupción de verificación del programa. Interrupciones de verificación de la máquina. Son ocasionadas por el mal funcionamiento del hardware. 3 Gráfica 5. Interrupciones de Hardware3.3. Estructura del sistema de E/SPara iniciar una operación de E/S, el S.O. carga registros apropiados de loscontroladores de dispositivos. El controlador examina el registro, inicia laoperación e informa de su término a la CPU mediante una interrupción3 Ibid. Capítulo 2. p. 4 30
  31. 31. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSLa E/S puede ser sincrónica o asincrónica respecto al proceso que la inicia.a. E/S sincrónica y asincrónica Sincrónica: • Se inicia la operación de E/S. • Al finalizar la transferencia el control vuelve al proceso usuario. Asincrónica: • El control vuelve al proceso usuario sin necesidad de esperar el término de la transferencia.b. El acceso directo a memoria (DMA)Una forma de mejorar el desempeño de un sistema computacional es liberar a laCPU del control de la transferencia del Buffer del controlador a la memoriaprincipal. De esta forma se genera sólo una interrupción por bloque en vez de unainterrupción por Byte 4 Gráfica 6. Acceso directo a memoriac. La memoria principalLa memoria principal (RAM) y el archivo de registro son el único almacenamientoque la CPU puede accesar directamente.4 Ibid. Capítulo 2. p. 8 31
  32. 32. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS¿Cómo accesar mediante un programa los dispositivos?Muchos computadores proveen memory-mapped i/o (dispositivos mapeados enmemoria principal).d. memory-mapped i/oEsta modalidad considera a los registros de los dispositivos mapeados endeterminadas direcciones de la memoria principal. El programa sólo debe hacerreferencia a determinadas direcciones de memoria para iniciar transferencias.Por ejemplo en los PC, cada punto de la pantalla de video está mapeada a unadeterminada dirección de memoria.e. Discos Los discos permiten almacenamiento masivo. Las velocidades de rotación varían entre 60 a 150 Hz. Los tiempos involucrados en una transferencia son: - Tiempo de transferencia (velocidad angular) - Tiempo rotacional - Tiempo de seek 5 Gráfica 7. Organización de un disco5 Ibid. Capítulo 2. p. 10 32
  33. 33. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS 6 Gráfica 8. Información de un sector 7 Gráfica 9. El cilindrof. Jerarquía de memoriaEn un sistema computacional existe una gran variedad de almacenamiento. Elalmacenamiento está organizado jerárquicamente.La jerarquía de almacenamiento responde al compromiso entre velocidad y costode almacenamiento: el costo de almacenar un bit en una memoria muy rápida escaro.Otro aspecto a considerar es la volatilidad.6 Ibid. Capítulo 2. p. 107 Ibid. Capítulo 2. p. 11 33
  34. 34. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS 8 Gráfica 10. Jerarquía de memoriag. La memoria cachéLa memoria caché es una parte muy importante de un sistema computacional.La información se mantiene en algún sistema de almacenamiento y en la medidaque se usa es copiada en una memoria más rápida temporalmente.Cuando se necesita una información particular, primero se verifica si está en lacaché. Si está se usa directamente y si no está se extrae del medio dealmacenamiento y se copia en la caché.Como su tamaño es limitado resulta muy importante su administración.Transferencia - AutoevaluaciónAhora que ya conoce la estructura y funcionalidad de un sistema computacional,describa como esta conformado el sistema computacional de la sala de sistemasde su CEAD.LECCION 4. Protección en Sistemas ComputacionalesReconocimiento – Saberes PreviosEs necesario la comprensión y aprehensión de los sistemas computacionales, suestructura y características.8 Ibid. Capítulo 2. p. 12 34
  35. 35. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSProfundización4.1 Protecciones de hardwareLos primeros computadores eran sistemas monousuarios.En la medida que los S.O. evolucionaron fue necesario compartir recursos paramejorar la eficiencia del sistema.El compartir mejora la eficiencia y aumenta los problemas: Sistema multiprogramado ante condiciones de error. Compartir dispositivos.a. Modo DualPara asegurar una correcta operación se debe proteger al S.O. y los programasfrente a situaciones de error.La protección se requiere para cualquier recurso compartido.El hardware provee una importante protección llamada Modo DualSe agrega un bit al hardware llamado bit de modo para indicar dos modos posiblesde operación.Los modos de operación son dos: Modo Monitor (también llamado kernel o modo sistema) Modo usuarioModo Monitor: este es el modo en el cual el S.O. toma el control del computador.Sólo en este modo se pueden ejecutar instrucciones llamadas privilegiadas yaccesar estructuras de datos internas del S.O.Modo Usuario: modo normal para código usuario.La falta de apoyo de hardware de protección trae serios problemas en los S.O. Unejemplo es el S.O. originalmente escrito para el Intel 8080 que no tiene bit demodo: Cualquiera puede sobre escribir el S.O. Muchos programas pueden hacer E/S al mismo tiempo.A partir del 80486 se incorporó el bit de modo y así fue posible soportar S.O.Como Windows NT, Windows 2000, Windows 2003 Server, OS/2 y Linux. 35
  36. 36. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSb. Protección de E/SPara prevenir que un usuario realice una operación ilegal de E/S se defineninstrucciones privilegiadas.De esta forma un usuario no puede ejecutar instrucciones de E/S directamente. Lodebe hacer a través del S.O.Nunca un programa usuario debe tener el control del sistema bajo modo monitor.¿Qué pasaría si se tiene acceso al vector de interrupción? Se obtiene el control enmodo monitor.c. Protección de memoria Se debe proteger el vector de interrupción de ser modificado por programas de usuario. Se debe proteger la alteración de rutinas de servicio de interrupción. Se debe proteger también un programa usuario de otro programa usuario. Cada espacio debe estar protegido. El hardware provee dos registros: • Registro base: Menor dirección legal • Registro límite: Tamaño del espacio protegido. 9 Gráfica 11. Protección de memoria Cada dirección generada en modo usuario es comparada con los registros Base y Límite. Cada intento por violar una región protegida genera una interrupción al S.O, el cual lo trata como un error fatal. Por supuesto que sólo el S.O. puede cambiar los contenidos de los registros Base y Límite (se cambian en modo monitor)9 Ibid. Capítulo 2. p. 16 36
  37. 37. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS 10 Gráfica 12. Control de la protección de memoriaPor qué se estudian los sistemas operativos? Los sistemas operativos son sistemas de software complejos. El entendimiento de los conceptos utilizados y la implementación de estos programas proporcionan desafíos y ejemplos para cualquier persona. El conocimiento de los sistemas operativos permite realizar aplicaciones que aprovechen los recursos eficientemente. Para el diseño de sistemas operativos. Para la creación de sistemas operativos personales con base en los sistemas operativos existentes. (Personalización de versiones)Transferencia – AutoevaluaciónA partir de lo aprendido en la lección, establezca algunos mecanismos deprotección del Hardware de la sala de sistemas de su CEAD, en esto debenestablecer al menos dos mecanismo para cada dispositivo estudiado en la lección.LECCION 5. Conceptos de Sistemas OperativosReconocimiento – Saberes PreviosPara poder estudiar esta lección con dedicación y que pueda ser comprendida porel estudiante se requiere de la aclaración y estudio de la definición de sistemasoperativos y sistemas computacionales.10 Ibid. Capítulo 2. p. 17 37
  38. 38. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSProfundización5.1. Llamadas al sistemaHemos visto, por ejemplo, que las instrucciones de E/S son privilegiadas y por lotanto sólo las puede ejecutar el S.O.¿Cómo ejecutar e/s? Solicitando al S.O. a través de una llamada al sistema.Las llamadas al sistema se usan en general para solicitar cualquier servicio al S.O.(Se tratan en este capítulo)Una llamada al sistema genera una interrupción (trap) a una dirección específicadel vector de interrupciones.Cuando se ejecuta una llamada al sistema, el hardware la trata como unainterrupción (excepción) de software. Los parámetros se pasan vía registro odirecciones de memoria.La siguiente gráfica muestra el flujo de una llamada al sistema. 11 Gráfica 13. Flujo de una llamada al sistemaLa interfaz entre el sistema operativo y los programas del usuario se define pormedio del conjunto de "instrucciones extendidas" que el sistema operativoproporciona. Estas instrucciones extendidas son las llamadas al sistema. Lasllamadas al sistema varían de un sistema operativo a otro (aunque los conceptosfundamentales tienden a ser análogos).Las llamadas al sistema se clasifican normalmente en dos categorías generales:aquellas que se relacionan con procesos y las que lo hacen con el sistema dearchivo- Por procesos: Un proceso es básicamente un programa en ejecución. Constadel programa ejecutable y la pila o stack del programa, su contador de programa,11 Ibid. Capítulo 2. p. 19 38
  39. 39. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSapuntador de pila y otros registros, así como la otra información que se necesitapara ejecutar el programa. En si el proceso en el concepto de los sistemasoperativos es como el sistema de tiempo compartido. Esto es, que en formaperiódica, el sistema operativo decide suspender la ejecución de un proceso y darinicio a la ejecución de otro, por ejemplo, porque el primero haya tomado ya másde su parte del tiempo de la CPU, en terrenos del segundo.Cuando un proceso se suspende temporalmente, debe reiniciarse despuésexactamente en el mismo estado en que se encontraba cuando se detuvo. Estosignifica que toda la información relativa al proceso debe guardarse en formaexplícita en algún lugar durante la suspensión. En muchos sistemas operativos,toda la información referente a cada proceso, diferente del contenido de suespacio de direcciones, se almacena en una tabla de sistema operativo llamadatabla de procesos, la cual es un arreglo (lista enlazada) de estructuras, una paracada proceso en existencia.Por lo tanto, un proceso (suspendido) consta de su espacio de direcciones,generalmente denominado imagen del núcleo (en honor de las memorias deimagen de núcleo magnético que se utilizaron en tiempos antiguos) y su registrode la tabla de procesos, que contiene sus registros entre otras cosas.- Por sistema de archivo: Una función importante del S.O. consiste en ocultar laspeculiaridades de los discos y otros dispositivos de E/S y presentar alprogramador un modelo abstracto, limpio y agradable de archivos independientesdel dispositivo. Las llamadas al sistema se necesitan con claridad para creararchivos, eliminarlos, leerlos y escribirlos. Antes de que se pueda leer un archivo,éste debe abrirse y después de que se haya leído debe cerrarse, de modo que lasllamadas se dan para hacer estas cosas.Antes de que un archivo pueda leerse o escribirse, éste debe abrirse, en cuyoinstante se verifican los permisos. Si se permite el acceso, el sistema produce unentero pequeño llamado descriptor del archivo para utilizarse en operacionessubsiguientes. Si se prohibe el acceso, se produce un código de error.5.2. Shell (intérprete de comandos)El sistema operativo es el código que realiza las llamadas al sistema. Los editores,compiladores, ensambladores, enlazadores e intérpretes de comandosdefinitivamente no son parte del sistema operativo, aunque son importantes yútiles. El Shell es el intérprete de comandos, a pesar de no ser parte del sistemaoperativo (está íntimamente ligado con este), hace un uso intenso de muchascaracterísticas del sistema operativo y por tanto sirve como un buen ejemplo de laforma en que se pueden utilizar las llamadas al sistema. También es la interfazprimaria entre un usuario situado frente a su terminal y el sistema operativo. 39
  40. 40. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSCuando algún usuario entra al sistema, un "shell" se inicia. El shell tiene laterminal como entrada y como salida estándar. Este da inicio al teclear solicitud deentrada, carácter como un signo de pesos, el cual indica al usuario que el shellestá esperando un comando. En MS-DOS normalmente aparece la letra de launidad, seguida por dos puntos (:), el nombre del directorio en que se encuentra ypor último el signo de "mayor que" (>). Esto es: C:>.Las versiones gráficas de Windows tienen la opción de Ejecutar, el cual es el shelldel sistema, normalmente en Inicio – Opción ejecutar.En Linux se puede trabajar, la consola de comandos, como el intérprete decomandos shell.5.3. ProcesosUno de los conceptos más importantes que gira entorno a un sistema operativo esel de proceso. Un proceso es un programa en ejecución junto con el entornoasociado (registros, variables,etc).El corazón de un sistema operativo es el núcleo, un programa de control quereacciona ante cualquier interrupción de eventos externos y que da servicio a losprocesos, creándolos, terminándolos y respondiendo a cualquier petición deservicio por parte de los mismos.Un proceso es una actividad que se apoya en datos, recursos, un estado en cadamomento y un programa.Cada proceso contiene, entre otros: Mapeo en memoria: Dónde está almacenado el .text, .data y el stack del proceso. El estado de registros. Tabla de archivos en uso: Estado de cada archivo Credenciales (UID, GID, EUID, GUID). Identificadores de usuarios. Otros (PID, PPID, contadores, estados, prioridades). Identificadores de procesos.Los procesos pueden crear nuevos procesos, y heredar algunos atributos de supadre.El SO provee medios de comunicación entre procesos. El proceso se comunicacon el SO mediante las llamadas al sistema (syscalls), para, por ejemplo: Abrir un archivo Alocar mas memoria Crear un nuevo archivo 40
  41. 41. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Sobreescribir su .textOtro medio de comunicación son las señales. (Análogas a las interrupciones, peroa nivel software). Un programa puede mandar señales a otros programas, el SOpuede mandar señales al programa.5.4. ArchivosUn Archivo es una unidad lógica de almacenamiento. Es una abstración sobre eldispositivo físico (disco rígido, floppy, etc).Conjunto de información relacionada guardada en un dispositivo secundario. Estáasociado a dispositivos de almacenamiento no volátiles.Para el usuario es un concepto de unidad de almacenamiento permanente,organizada bajo un esquema jerárquico de directorios, que le permite tener unorden lógico y control sobre su información.Los atributos normales de un archivo son: nombre, tipo, tamaño, tiempos ycredenciales.El concepto de archivos y directorios se encuentra en prácticamente todos lossistemas operativos. La organización de los archivos posee un sistema jerárquico.Cada archivo se identifica con su directorio y nombre.Existe un directorio padre de todos los directorios. Las referencias a archivospueden ser: Absolutas: Referidas desde el directorio padre ó, Relativas: Referidas al directorio actual.Cada archivo posee sus respectivos permisos y niveles de seguridad asignados.5.5. Definicionesa. Deadlocks (Abrazos mortales): Cuando dos o más procesos se estánesperando mutuamente, en una situación sin salida.b. Memory Management (Manejo de Memoria): Estrategia de determinado S.Opara el uso de memoria. Los problemas a resolver son protección y mapeo deprogramas. Ej. Memoria Virtual. 41
  42. 42. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOSTransferencia – AutoevaluaciónRecuerda lo que contesto en la revisión de presaberes de la lección 1, revise lasrespuestas planteadas en ese momento y haga ajustes después de haberestudiado la temática del capitulo. 42
  43. 43. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS CAPÍTULO 2. CARACTERÍSTICAS DE LOS SISTEMAS OPERATIVOSINTRODUCCIONEn este capitulo estudiaremos con detenimiento los tipos de sistemas operativos,la estructura y los núcleos de los sistemas operativos, es un capitulo bastanteinteresante ya que nos ubica en el entorno que utilizan los sistemas operativospara administrar sus recursos dependiendo de la estructura que este tenga.LECCION 6. Tipos de Sistemas OperativosReconocimiento – Saberes PreviosDescriba las características principales que a su juicio, tienen los sistemasoperativos Windows y Linux (los que Usted normalmente maneja. Distribución yversión que disponga). Saque una lista, por cada sistema operativo, de ellas yexplique el por qué lo considera así.Así mismo saque una lista de los puntos que considera negativos de cada uno delos sistemas operativos que está analizando.Profundización6.1. Tipos de sistemas operativosSegún la perspectiva con la que se observen los sistemas operativos, puedenrealizarse múltiples clasificaciones. Entre ellas revisaremos las siguientes: Sistemas operativos por su estructura (visión interna) Sistemas operativos por los modos de explotación Sistemas operativos por los servicios que ofrecen y, Sistemas operativos por la forma en que ofrecen sus servicios (visión externa). 43
  44. 44. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS6.2. Sistemas operativos por su estructura – Visión interna12Esta clasificación tiene en cuenta cómo se diseñan los sistemas a la hora de sercreados. Hay que tener en cuenta que, en la mayoría de los casos estasconcepciones de diseño no se aplican aisladas, si no que puede haberinterrelación entre ellas.Se deben observar dos tipos de requisitos cuando se construye un sistemaoperativo, los cuales son:Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido yadecuado al uso a que se le quiere destinar.Requisitos del software: Donde se engloban aspectos como el mantenimiento,forma de operación, restricciones de uso, eficiencia, tolerancia frente a los erroresy flexibilidad.A continuación se describen las distintas estructuras que presentan los actualessistemas operativos para satisfacer las necesidades que de ellos se quierenobtener.a. Estructura monolíticaEs la estructura de los primeros sistemas operativos constituidosfundamentalmente por un solo programa compuesto de un conjunto de rutinasentrelazadas de tal forma que cada una puede llamar a cualquier otra. Lascaracterísticas fundamentales de este tipo de estructura son: Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador. Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.Es la estructura utilizada en los primeros sistemas operativos en la que todas lasfunciones se implementaban en el Kernel. Puede decirse que su estructuraconsiste en que no existe una estructura como tal.12 ALCALDE, E. MORERA, J. PEREZ -CAMPANERO. (1992). Introducción a los SistemasOperativos. Madrid, Mc Graw Hill. p. 33. 44
  45. 45. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Rutina A Rutina B Rutina 1 Rutina 2 Rutina 3 Rutina 4 Gráfica 14. Estructura monolíticab. Estructura jerárquica – Por capasA medida que los sistemas operativos fueron creciendo, fue siendo necesaria unamayor estructuración.Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una deellas estuviera perfectamente definida y con una clara interface con el resto deelementos.De acuerdo a las funciones principales del sistema operativo, vista en el numeralanterior (1.1.5 Funciones del sistema operativo), es posible analizar la estructurade un sistema operativo en cinco niveles. Los primeros dos niveles entraríandentro de la parte del sistema operativo dependiente del hardware, el resto de losniveles pertenecen a la parte portable del mismo.Cada uno de los niveles se comunica con el inmediatamente inferior y superiorcoordinando sus funciones. Nivel 1: Gestión del procesador. En este nivel se encuentra la parte del sistema operativo encargada de la gestión de la CPU. En los sistemas operativos multiproceso (es decir, que pueden ejecutar varios procesos a la vez), este nivel se encarga de compartir la CPU entre los distintos procesos realizando funciones de sincronización, conmutación de la CPU y gestión de interrupciones. Nivel 2: Gestión de memoria. Este nivel es el encargado de repartir la memoria disponible entre los procesos. Se realizan funciones de asignación y liberación de memoria, y el control de violación de acceso a zonas de memoria no permitidas. Nivel 3: Gestión de procesos. Este nivel es el encargado de la creación y destrucción de los procesos, intercambio de mensajes y detección y arranque de los mismos. 45
  46. 46. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Nivel 4: Gestión de dispositivos. En este nivel se realiza la gestión de las entradas/salidas (E/S) en función de los dispositivos existentes. Entre otras, se encarga de las funciones de creación de procesos de E/S, asignación y liberación de dispositivos E/S, y planificación de la E/S. Nivel 5: Gestión de la in formación. El objetivo de este nivel es el de gestionar el espacio de nombres lógicos, utilizados para simplificar el acceso a los recursos, ya que mediante estos se sustituyen rutas de acceso que pueden ser muy largas y difíciles de recordar por un solo nombre, encargándose el sistema operativo, de forma totalmente transparente para el usuario, de realizar esta búsqueda de ruta. Otro de sus contenidos es la protección de la información realizando funciones de creación y destrucción de ficheros y directorios, apertura y cierre de ficheros, lectura y escritura de ficheros, y protección de acceso.Es importante destacar que un mismo sistema operativo puede trabajar enmúltiples plataformas hardware, por lo que debe adaptarse a las peculiaridades decada una de ellas.Una forma de representar esta estructura es mediante anillos concéntricos o“rings”. En el sistema de anillos, cada uno tiene una apertura, conocida como trap(o interrupción), por donde pueden entrar las llamadas de las capas inferiores. Deesta forma, las zonas más internas del sistema operativo o núcleo del sistemaestarán más protegidas de accesos indeseados desde las capas más externas. Sepuede decir que las capas más internas son más privilegiadas que las externas.En la base de la jerarquía se encuentra el hardware del computador, a vecesdenominado simplemente “máquina pura” o los “hierros desnudos”. En seguida seencuentran todos los anillos o capas propias del sistema operativo. 46

×