301402 Modulo Sistemas Operativos

335
1 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO 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

Transcript of 301402 Modulo Sistemas Operativos

  • 1

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO 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

  • 2

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

    El presente mdulo fue diseado en el ao 2005 por la Ing. PILAR Alexandra Moreno, docente de la UNAD, y ubicada en el CEAD de Duitama, la Ing. Moreno es Ingeniero de Sistemas, y Esp. en Pedagoga para el desarrollo del aprendizaje autnomo, se ha desempeado como tutor de la UNAD en varios periodo acadmicos, actualmente es la coordinadora zonal de medios y mediaciones pedaggicas en la zona.

    El presente mdulo ha tenido una actualizacin, la que se presenta en el periodo 2009-2 en su primera versin, esta fue realizada por el Ing. Yhon Pinzon quien ha sido tutor de la UNAD desde el ao 2002, en el CEAD La Guajira y que se desempea actualmente como director del cuso a nivel nacional.

    Las actualizaciones del material se dan en la Unidad 1, al suprimir un capitulo que se trabaja en la unidad 2, en la administracin de procesos, y en la unidad 3, al suprimir el capitulo de introduccin a las redes, ya que este se desarrollo en el curso electivo del mismo nombre y en los cursos especficos del perfil de redes que se ven en el ciclo profesional. De la misma forma el modulo esta diseado con la estructura establecidas por la VIMMEP, en el desarrollo de lecciones, lo que facilita el aprendizaje por parte del estudiante. Este mismo ao (2009) el Ing. JAIME VALDES BENJUMEA, tutor del CEAD La Guajira, apoy el proceso de revisin de estilo del mdulo y dio aportes disciplinares, didcticos y pedaggicos en el proceso de acreditacin de material didctico desarrollado en el mes de JULIO de 2009.

  • 3

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    INTRODUCCIN

    Este mdulo est diseado para aquellas personas interesadas en abordar temticas relacionadas con el campo de los sistemas operativos: teora y aplicacin. Trata de acercarlas a los aspectos ms importantes que encierran los sistemas operativos, ubicando caractersticas bsicas tanto a nivel de PC como a nivel de infraestructura de red.

    Por ello y para ello, se presenta el mdulo Sistemas Operativos, como una alternativa de solucin para esa bsqueda de enfoques multidisciplinarios, y por lo tanto, aplicables a cualquier sistema que se desee analizar o implementar.

    As, teniendo en cuenta que en absolutamente cualquier rea de la ingeniera de sistemas en la que nos desempeemos o queramos desempearnos vamos a trabajar con sistemas operativos: implementandolos, administrndolos, diseandolos, desarrollandolos, utilizandolos, enseandolos y resolviendo problemas que ahora sern ms fciles de solucionar, pues uno de los objetivos primordiales es el de estudiar a fondo su estructura para eliminar cualquier complejidad que tengamos con respecto al tema. El sistema operativo es una parte fundamental de cualquier sistema computacional, lo que nos lleva a confirmar, an ms, la importancia de su conocimiento y manejo, y ms en nuestra formacin como ingenieros de sistemas. Es bueno aclarar que no es un mdulo orientado hacia la gua e instalacin de algunos sistemas operativos. Considerando que estamos trabajando en el ciclo profesional, no se torna relevante, por varias razones:

    - Ahora con la gama de asistentes grficos disponibles para la instalacin, 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 instalacin de sistemas operativos, por lo menos, para computadores personales.

    Al contrario, es un mdulo que brinda toda la documentacin e informacin relativa a las caractersticas, estructura, diseo, componentes que ayudan a conocer de

  • 4

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    forma integral un sistema operativo, para que podamos administrarlo de la mejor manera y sacar el mximo provecho a todas sus capacidades e incluso podamos enfrentarnos al reto de disear o adecuar nuestro propio sistema operativo.

    Con el fin de afianzar el aprendizaje de los contenidos, as como el de las habilidades, a lo largo de los captulos se incluyen ejercicios y/o ejemplos que sirven como activacin cognitiva, para ubicar a los interesados en el contexto a desarrollar, tambin en algunos casos para reforzar o reafirmar una temtica y al final de cada captulo se encuentran ejercicios que servirn para la transferencia de los contenidos desarrollados a las diferentes prcticas de laboratorios a situaciones cotidianas o laborales y a sus intereses tanto profesionales como personales.

    Los ejercicios propuestos vienen diseados para que se resuelvan de manera individual, como actividad complementaria o para resolverlo en grupos de trabajo y as profundizar en los contenidos relacionados y para desarrollar habilidades como comunicacin oral, comunicacin escrita y trabajo colaborativo. Este mdulo es el resultado de un trabajo extenso de consulta, investigacin bibliogrfica y sistematizacin de experiencias, el cual sirvi para la consolidacin de la informacin, contenidos temticos y ejercicios con el fin de brindar, adems, una herramienta de consulta apropiada al curso acadmico, ala metodologa de trabajo y a las necesidades que pretende cubrir cada persona. Por ello en cada unidad didctica se encuentra una seccin bibliogrfica recomendada, incluyendo direcciones de Internet con las que se puede ir ms all en el logro de los objetivos propuestos. El desarrollo temtico de los captulos contempla, intrnsecamete, la articulacin de cada una de las fases del proceso de aprendizaje como son: reconocimiento, profundizacin y transferencia, logrando una coherencia metodolgica con la gua de actividades propuesta.

    Las unidades didcticas que lo conforman son tres, equivalentes al nmero de crditos asignados al curso acadmico. La primera y ltima unidad didctica poseen cuatro captulos cada una, y la segunda unidad consta de cinco captulos.

    La primera unidad, Teora de los sistemas operativos, est orientado a acercar al interesado en los conceptos bsicos y definicin de lo que es un sistema operativo. En esta unidad se desarrollan captulos como: Principios de los sistemas operativos, Caractersticas de los sistemas operativos y arquitectura cliente/servidor. Todos ellos para introducirnos al mundo de los sistemas

  • 5

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    operacionales, su historia, evolucin, clasificacin, estructura e infraestructura de aplicacin.

    Ya revisadas las bases tericas y funciones principales, estamos listos para continuar el tema de cmo gestionan y administran los diferentes recursos del sistema computacional, tema que le corresponde a la Unidad Didctica 2. Administracin de Recursos. Dichos recursos los aborda el curso as: En el cual estudiaremos la administracin de los procesos, la administracin de la memoria, la administracin de dispositivos, la administracin de archivos y directorios; y por ltimo y como parte fundamental de un SO est la proteccin y seguridad.

    Con esta temtica terminamos de conocer a fondo cmo es un SO, cmo est organizado interna y externamente, para as poder brindar el adecuado soporte a cualquier sistema monosusuario o multisusuario que se nos presente.

    Ahora queda solamente aplicar toda la fundamentacin terica desarrollada en las dos unidades iniciales a los principales sistemas operativos del mercado. De esto se encarga la unidad didctica 3. Principales sistemas operativos, que realiza una clasificacin de la siguiente manera: En primer lugar los sistemas operativos de la familia Windows, en segundo lugar el sistema operativo UNIX/LINUX y en la agrupacin Otros sistemas operativos se habla de sistemas como novell, OS/2 y VMS.

    Este mdulo fue desarrollado tomando como referencia documentacin y estudios realizados de los diferentes sistemas operativos, en cada una de las unidades, se relacionan las fuentes bibliogrficas especficas sobre las cuales se trabaj. Adems es importante recordar, que este mdulo debe ir articulado con las diferentes actividades planteadas en la gua didctica, pues es un curso metodolgico, es decir tiene un componente de aplicacin y trabajo en grupo. Por ltimo, y como siempre, recomiendo que para facilitar el aprendizaje es importante consultar la bibliografa descrita, utilizar la biblioteca virtual y el acceso a Internet, con esto se est potenciando la capacidad de investigacin y de auto gestin para llegar al conocimiento, segn sean los logros y/o debilidades encontradas en cada uno de los pasos del proceso a seguir.

    Recuerden que el xito del proceso slo depende de cada uno, de sus intereses y de sus necesidades.

  • 6

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    OBJETIVOS

    1. Fundamentar, desde un principio, la estructura, funcionamiento y administracin de recursos de los sistemas operativos, como base para el anlisis y diseo de sistemas de comunicacin.

    2. Relacionar los principios, estructuras, aplicacin y tipos de sistemas operativos con las caractersticas y funcionamiento de algunos de los principales sistemas operativos.

    3. Conocer e identificar de manera clara los conceptos, elementos, caractersticas, propiedades de los sistemas operativos y su relacin con el campo de aplicacin, teniendo en cuenta la integracin de elementos tecnolgicos y organizacionales.

    4. Determinar y sustentar la aplicacin de los sistemas operativos segn las caractersticas, ventajas de instalacin y administracin de recursos.

  • 7

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    INDICE DE CONTENIDO

    Pag. UNIDAD 1. TEORIA DE LOS SISTEMAS OPERATIVOS 14 Introduccin 14 Justificacin 14 Intencionalidades Formativas 15 Denomincin de Capitulos 15 Capitulo 1. Principios de los Sistemas Operativos 16 Introduccin 16 LECCION 1. Historia y Evolucin de los Sistemas Operativos 16 LECCION 2. Definiciones y Funciones de los Sistemas Operativos 22 LECCION 3. Sistema Computacional 26 LECCION 4. Proteccin en Sistemas Computacionales 34 LECCION 5. Conceptos de Sistemas Operativos 37 Captulo 2. Caractersticas de los sistemas operativos 46 Introduccin 46 LECCION 6. Tipos de Sistemas Operativos 46 LECCION 7. Sistemas operativos por los modos de explotacin 49 LECCION 8. Sistemas operativos por los servicios ofrecidos y por la Forma de ofrecer los servicios 53 LECCION 9. Estructura de los Sistemas Operativos 58 LECCION 10. Ncleos del Sistema Operativo 62 Captulo 3. Arquitectura cliente servidor 66 Introduccin 66 LECCION 11. Antecedentes y Definicion de la Arquitectura Cliente/Servidor 66 LECCION 12. Componentes y Caracterstica de la Estructura Cliente/Servidor 71 LECCION 13. Middleware robusto y escalable en soluciones Cliente/Servidor 76 LECCION 14. Analisis de las Variantes de la Arquitectura Cliente/Servidor. 80 LECCION 15. Condiciones para la implantacin del Modelo Cliente Servidor 85 Actividades de Autoevaluacion de la Unidad 1 91 Fuentes Documentales de la Unidad 92 UNIDAD 2. ADMINISTRACION DE RECURSOS 94 Introduccin 94 Justificacin 94

  • 8

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Intencionalidades Formativas 95 Denomincin de Capitulos 95 Captulo 1. Administracin de los procesos 96 Introduccin 96 LECCION 1. Introduccion a los procesos 96 LECCION 2. Comunicacion Entre Procesos 106 LECCION 3. Sincronizacion de Procesos 110 LECCION 4. Planificacion de Procesos 115 LECCION 5. Algoritmos de Planificacion de Procesos 121 Captulo 2. Administracin de la memoria y de Dispositivos 127 Introduccin 127 LECCION 6. Estructura General y Manejo de la Memoria. 127 LECCION 7. Multiprogramacion en Memoria Real y Memoria Virtual 129 LECCION 8. Algoritmos de Reemplazo de Paginas 146 LECCION 9. Administracion de Dispositivos de Entrada y Salida 152 LECCION 10. Conceptos de Dispositvos de Entrada y Salida 157 Captulo 3. Administracin de archivos y Proteccion y Seguridad en los sistemas operativos 162 Introduccin 162 LECCION 11. Sistema de Archivos y Directorios 162 LECCION 12. Estructura de Archivos y Directorios 169 LECCION 13. Tipos de sistemas de archivos, Proteccin de Ficheros y Administracin de Espacio Libre 177 LECCION 14. Proteccion 184 LECCION 15. Seguridad 188 Actividades de Autoevaluacion de la Unidad 2 196 Fuentes Documentales de la Unidad 197 UNIDAD 3. PRINCIPALES SISTEMAS OPERATIVOS 199 Introduccin 199 Justificacin 199 Intencionalidades Formativas 200 Denomincin de Capitulos 200 Captulo 1. Sistemas operativos Familia Windows 201 Introduccin 201 LECCION 1. Sistema Operativo Windows 95 y Windows 98 201 LECCION 2. Sistema Operativo Windows 2000 y 2003 210 LECCION 3. Sistema Operativo Windows XP 220 LECCION 4. Sistema Operativo Windows NT 228 LECCION 5. Sistema Operativo Windows Vista e Instalacion de Sistema Operativos 240

  • 9

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Captulo 2. Sistema operativo UNIX/LINUX 253 Introduccin 253 LECCION 6. Historia, Arquitectura, Versiones y Caracteristicas de UNIX y LINUX 253 LECCION 7. Instalacion del Sistema Operativo 267 LECCION 8. Interfaz del Usuario 279 LECCION 9. Estructura de Archivos y Administracion del sistema 288 LECCION 10. Montando el sistema de ficheros e instalacin de impresoras 303 Captulo 3. Otros sistemas operativos 314 Introduccin 314 LECCION 11. Sistema Operativo Novell Netware 314 LECCION 12. Caractersticas de las Versiones del Sistema Operaivo NetWare 316 LECCION 13. Administracion de los Recursos en el Sistema Operativo NetWare 318 LECCION 14. Sistema OS/2 323 LECCION 15. Sistema de Memoria Virtual 328 Actividades de Autoevaluacion de la Unidad 3 333 Fuentes Documentales de la Unidad 334

  • 10

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    LISTADO DE TABLAS

    Pag.

    Tabla 1. Versiones de los sistemas operativos 18 Tabla 2. Evolucion de los sitemas operativos 21 Tabla 3. Etapas del camino de ejcucin de un programa 135 Tabla 4. Implementacin de los mecanismos de asignacin de memoria virtual 136 Tabla 5. Algortimos de Seleccin de paginas de memoria 140 Tabla 6. Ejemplo Algoritmo de bits adicionales de referencia 152 Tabla 7. Tipos de Archivos 164 Tabla 8. Tabla de registros de asignacin contina de bloques 176 Tabla 9. I-nodo de UNIX 177 Tabla 10. Codificacion RSA 194 Tabla 11. Requisitos de servidores Windows 2003 220 Tabla 12. Paralelo de caractersticas de Versiones Windows XP 227 Tabla 13. Lista los nombres de diversos manejadores para Linux 271 Tabla 14. Variables de entorno ms comunes 294 Tabla 15. Tipos de sistemas de ficheros Linux 305

  • 11

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    LISTADO DE GRFICOS Y FIGURAS Pag. Grfica 1. Tecnologa de discos 21 Grfica 2. Concepcin de sistema operativo 24 Grfica 3. Estructura de un sistema computacional 27 Grfica 4. Sistema de entrada/salida E/S (Input-output I/O) 28 Grfica 5. Interrupciones de Hardware 30 Grfica 6. Acceso directo a memoria 31 Grfica 7. Organizacin de un disco 32 Grfica 8. Informacin de un sector 33 Grfica 9. El cilindro 33 Grfica 10. Jerarqua de memoria 34 Grfica 11. Proteccin de memoria 36 Grfica 12. Control de la proteccin de memoria 37 Grfica 13. Flujo de una llamada al sistema 38 Grfica 14. Estructura monoltica 45 Grfica 15. Estructura por capas. 47 Grfica 16. Mquina virtual 48 Grfica 17. Cliente-servidor 47 Grfica 18. Cinco niveles arquitectura/cliente servidor 74 Grfica 19. Distribucin cliente/servidor 75 Grfica 20. Arquitectura cliente/servidor con interface comn 83 Grfica 21. Arquitectura cliente/servidor con gateway comn 84 Grfica 22. Arquitectura cliente/servidor con protocolo comn 85 Grfica 23. Estados de un proceso 98 Grfica 24. Estados de un proceso: Modos kernel y usuario 100 Grfica 25. Jerarqua de procesos 101 Grfica 26. Conmutacin y la PCB 104 Grfica 27. Estructura de un proceso 105 Grfica 28. Recursos de un thread 106 Grfica 29. Tarea con mltiples threads 106 Grfica 30. Interaccin productor consumidor 108 Grfica 31. Direccionamiento asimtrico- Cliente/servidor 108 Grfica 32. Sincronizacin Rendezvous 109 Grfica 33. Sincronizacin con buffers 110

  • 12

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 34. Ejemplo de variables compartidas 111 Grfica 35. Ejemplo de seccin crtica 112 Grfica 36. Implementacin del semforo 113 Grfica 37. Implementacin de semforo para la sincronizacin 114 Grfica 38. Implementacin de semforo en productor/consumidor 114 Grfica 39. Productor/consumidor: sincronizacin completa 115 Grfica 40. Estructura de una cola 118 Grfica 41. Cundo se itinera 119 Grfica 42. Orden de peluquera 121 Grfica 43. El ms corto primero 122 Grfica 44. Por prioridad 123 Grfica 45. Round Robin 124 Grfica 46. Colas multinivel 125 Grfica 47. Colas multinivel realimentadas 126 Grfica 48. Panorama del manejo de memoria 128 Grfica 49. Organizacin simple de memoria 129 Grfica 50. Proceso enlace de direcciones en memoria 135 Grfica 51. Estrategia de mejor ajuste 137 Grfica 52. Estrategia de primer ajuste 137 Grfica 53. Estrategia de peor ajuste 138 Grfica 54. Traduccin de direcciones de memoria 139 Grfica 55. Traduccin de direcciones de memoria en segmentacin 142 Grfica 56. Entrada tipica de una tabla de pginas 143 Grfica 57. Traduccin en la segmentacin paginacin 145 Grfica 58. Ejemplos de dispositivos 154 Grafica 59. Bus 157 Grfica 60. Organizacin sistema Pentium. Buses 157 Grfica 61. Coordinacin de la interaccin 158 Grfica 62. Manejo de interrupciones 159 Grfica 63. Hardware DMA 160 Grfica 64. Acceso secuencial 165 Grfica 65. Acceso directo 165 Grfica 66. Acceso indexado 166 Grfica 67. Ejemplo de organizacin 166 Grfica 68. Directorio de un nivel 167 Grfica 69. Directorio de dos niveles 167

  • 13

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 70. Directorio de rbol 168 Grfica 71. Grafo cclico 168 Grfica 72. Organizacin de un disco 170 Grfica 73. Organizacin de un sistema de archivos 170 Grfica 74. Estructura de la tabla de archivos 171 Grfica 75. Asignacin contigua de espacio 172 Grfica 76. Asignacin de espacio enlazada 173 Grfica 77. FAT 174 Grfica 78. Asignacin de espacio indexada 174 Grfica 79. Lista enlazada de bloques libres 183 Grfica 80. Dominios compartidos 185 Grfica 81. Matriz de acceso 187 Grfica 82. Matriz de acceso con dominios como objetos 188 Grfica 83. Codificacin RSA 194 Grfica 84. Arquitectura Windows 95 - Fuente: www.club.telepolis.com 203 Grfica 85. Componentes de Windows 98 205 Grfica 86. Recursos que necesita el sistema para VM 207 Grfica 87. Ejemplo de rbol de Hardware de Windows 98 209 Grfica 88. Arquitectura de Windows 2000 211 Grfica 89. Estructura del sistema operativo Windows 2003 Server 216 Grfica 90. Arquitectura Windows NT 229 Grfica 91. Arquitectura de Windows NT con Advanced Server 234 Grfica 92. Arquitectura del sistema UNIX 255 Grfica 93. Arquitectura Sistema Operativo Linux 258 Grfica 94. Subsistema de ficheros 261 Grfica 95. Subsistema de red 262 Grafico 96. Ventana de Configuracin de XConfigurator 280 Grafico 97. Panel de configuracin de X-Windows 281 Grafico 98. Gestor de Ventana GNOME 282 Grafico 99. Entorno de Trabajo GNOME 283 Grafico 100. Entorno de Trabajo en KDE 284 Grafico 101. KDE Control Center 286 Grafica 102. rbol de Direccin. 290 Grafico 103. Servidor de impresin 307 Grfica 104. Sistema de archivos de VMS 329

  • 14

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    UNIDAD 1

    Nombre de la Unidad TEORIA DE LOS SISTEMAS OPERATIVOS Introduccin 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 teora en la cual se basa su diseo y desarrollo. Y esto aunque a veces no lo reconocemos es fundamental a la hora de aprovechar al mximo 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 cmo estn diseados y construidos. Se explica cmo se ha desarrollado el concepto de un sistema operativo, cules son sus caractersticas comunes y lo que hace el sistema operativo para el usuario y para el administrador del sistema de cmputo 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 ms acerca de los detalles internos de los mismos.

    Justificacin En el mundo de la informtica 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 profesin o aficin.

    En este sentido, los sistemas operativos como componentes del software de las computadoras son una parte fundamental debido a que a travs de ellos se simplifica y rentabiliza el trabajo de una forma asombrosa. Estos, cada da ms evolucionados, permiten que un gran nmero de usuarios estn trabajando con una misma mquina sin que apenas se den cuenta de ello.

    Comprender el sistema operativo es entender el funcionamiento de todo el sistema de cmputo, porque dicho sistema administra todas y cada una de las piezas

  • 15

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    del hardware y el software, incluyendo el control de quin puede utilizar el sistema y de qu manera. En sntesis es el patrn.

    De esta forma, se conceptualizarn una serie de definiciones y teoras que son indispensables en el uso y administracin de sistemas operativos y que tambin sirven como punto de partida para otras aplicaciones y campos que el estudiante desarrollar a lo largo de su carrera profesional.

    Intencionalidades Formativas

    Direccionar al estudiante para que relacione principios, estructuras, aplicacin y tipos de sistemas operativos con sus caractersticas y funcionamiento, a travs del desarrollo y sustentacin de un proyecto prctico en grupo en donde se presente una propuesta de implementacin del sistema operativo en una organizacin del entorno.

    Direccionar al estudiante a que conozca e identifique de manera clara los conceptos, elementos, caractersticas, propiedades de los sistemas operativos y su relacin con el campo de aplicacin, a travs del anlisis de los sistemas operativos ms comerciales y cercanos a su entorno que involucre la integracin de elementos tecnolgicos y organizacionales.

    Denominacin de captulos

    Capitulo 1. Principios de los Sistemas Operativos Captulo 2. Caractersticas de los sistemas operativos Captulo 3. Arquitectura cliente servidor

  • 16

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    CAPTULO 1. PRINCIPIOS DE LOS SISTEMAS OPERATIVOS

    INTRODUCCION

    En este capitulo estudiaran los conceptos fundamentales de los sistemas operativos as como las caractersticas y funciones, de igual forma se analizar cronolgicamente la historia y evolucin de los sistemas operativos y algunos conceptos claves e importantes para el desarrollo del curso.

    Tenga en cuenta que la estructura de cada capitulo esta dada por lecciones que a su vez contienen el desarrollo del tema central del capitulo, estas se plantearan teniendo en cuenta las interfaces de aprendizaje para mayor comprensin y aprendizaje por parte del estudiante.

    LECCION 1. Historia y Evolucin de los Sistemas Operativos

    Reconocimiento Saberes Previos

    Para abordar esta leccin es necesario el estudio de las definiciones de Sistemas Operativos, Sistemas Computacionales, y las funcionalidades y estructura de los mismos.

    Profundizacin

    1.1. Historia de los sistemas operativos

    Para tratar de comprender los requisitos de un S.O y el significado de sus principales caractersticas, es til considerar como han ido evolucionando stos con el tiempo.

    Existen diferentes enfoques o versiones de cmo han ido evolucionando los sistemas operativos.

    La primera de estas versiones podra ser esta:

  • 17

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Periodo Avance

    Aos 40s Se introducen los programas bit a bit, por medio de interruptores mecnicos y despus se introdujo el lenguaje de mquina que trabajaba por tarjetas perforadas.

    Finales de los aos 40 hasta la mitad de los aos 50s

    Con las primeras computadoras, el programador interactuaba de manera directa con el hardware de la computadora, no exista realmente un sistema operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a travs del lenguaje mquina (bits) o a travs de interruptores.

    Durante los aos 50's y 60's

    A principio de los 50's, la compaa General's Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseadores, capturistas, etc.), se encarguen de modificar sus programas. Establecan o apartaban tiempo, metan o introducan sus programas, corregan y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traduca en prdida de tiempo y tiempos de programas excesivos.

    En los aos 60's y 70's

    Se genera el circuito integrado, se organizan los trabajos y se 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 80's Inici el auge de la INTERNET en los Estados Unidos de Amrica. A finales de los aos 80's comienza el gran auge y evolucin de los sistemas operativos. Se descubre el concepto de multiprogramacin que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los sistemas operativos actuales.

    Los 90's y el futuro

    Entramos a la era de la computacin distribuida y del multiprocesamiento a travs de mltiples redes de computadoras, aprovechando el ciclo del procesador.

    Se tendr una configuracin dinmica con un reconocimiento inmediato de dispositivos y software que se aada o elimine de las redes a travs de procesos de registro y localizadores.

    La conectividad se facilita gracias a estndares y protocolos de

  • 18

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    sistemas abiertos establecidos por organizaciones como la Organizacin Internacional de estndares (ISO-International Standard Organization), fundacin de software abierto, todo estar mas controlado por los protocolos de comunicacin OSI y por la red de servicios digital ISDN.

    Tabla 1. Versiones de los sistemas operativos

    Se ha desarrollado otra versin, la cual se ha hecho con base a la evolucin del hardware:

    Sistemas Batch simples Sistemas Batch multiprogramados Sistemas de tiempo compartido Computadores personales Sistemas paralelos Sistemas distribuidos Sistemas de tiempo real

    Tipo de sistema Descripcin Sistemas Batch Simples

    Los primeros computadores eran grandes mquinas que se operaban desde una consola. La entrada y salida se haca usando tarjetas perforadas y cinta magntica. La interaccin de un usuario con el sistema computacional no era directa:se preparaba un job que consista en un conjunto de tarjetas: programa, datos y tarjetas de control. El S.O:

    Tena una funcin muy simple: transferir el control entre una tarea (job) y la siguiente.

    Resida completamente en memoria. Para hacer ms eficiente el trabajo, los operadores agrupaban tareas en tandas o lotes (batch). La caracterstica ms importante es la falta de interaccin entre el usuario y el sistema durante la ejecucin. Los job se preparan y entregan al sistema y despus de un tiempo se entrega el resultado va una lista o impresin. La CPU pasa desocupada la mayor parte del tiempo:

    La velocidad de los elementos mecnicos: impresora y lectora es mucho ms baja que la CPU.

    Cmo solucionar este problema? - Tecnologa de disco (Spooling) Ver explicacin al final del cuadro

    Sistemas Batch El Spooling mantiene una estructura de datos con

  • 19

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Tipo de sistema Descripcin Multiprogramados

    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 utilizacin de la CPU. La seleccin de un job para su ejecucin de un conjunto se denomina itineracin de job (scheduling). La itineracin de jobs permite la mutiprogramacin. La multiprogramacin aumenta la utilizacin de la CPU al organizar los jobs de manera tal que la CPU siempre tenga algn 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 algn dispositivo, el sistema operativo conmuta de un job a otro. Cuando la transferencia del dispositivo termina, se vuelve al job nuevamente

    Sistemas de tiempo compartido Time sharing multitarea

    Los sistemas batch multiprogramados permiten usar recursos eficientemente, pero los usuarios no pueden interactuar con sus aplicaciones. El tiempo compartido (time sharing) o multitarea es una extensin de la multiprogramacin. La CPU ejecuta mltiples jobs, pero la conmutacin de un job a otro ocurre con una frecuencia tal que los usuarios piensan que interactan con el programa mientras ste corre. Los primeros sistemas Batch eran completamente interactivos. El usuario tomaba el control completo del sistema a travs 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) tambin puede ser interactiva. Los sistemas operativos de tiempo compartido son ms complejos que los sistemas batch multiprogramados. Entre otras cosas se requiere proteccin especial de reas de memoria.

    Sistemas PC Computadores personales

    Los Computadores personales aparecieron en el mercado en la dcada del 70. El objetivo de los sistemas operativos de PC no es mejorar la eficiencia

    Job 1

    Job 2

    Job 3 Tiempo

  • 20

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Tipo de sistema Descripcin 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 proteccin 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 aos 80, surgieron muchos sistemas tipo UNIX: W/NT, OS/2 , MAC OS y Windows XP y LINUX Recientemente.

    Sistemas paralelos La mayora de los sistemas computacionales actuales utiliza una sola CPU, sin embargo hay una tendencia hacia sistemas multiprocesadores. Qu se logra con multiprocesadores? Mayor desempeo (troughput): ms trabajo por unidad de tiempo. Aceleramiento de tareas: cuando varios procesadores cooperan en la realizacin de una tarea, disminuye el tiempo de ejecucin. Sin embargo la mejora de desempeo no es lineal respecto al nmero de procesadores por el tiempo de comunicacin. Qu es mejor, un sistema de multiprocesamiento o varios sistemas simples? Es ms econmico un sistema de multiprocesadores (un disco, gabinete, fuentes de poder etc.) Mejora la confiabilidad: si las funciones se distribuyen inteligentemente, la cada de un procesador puede ser asumida por otro.

    Sistemas distribuidos La tendencia actual es distribuir la computacin entre varios procesadores. Cada procesador tiene su memoria local. Los procesadores se comunican por lneas de comunicacin, redes de alta velocidad o buses apropiados. Los procesadores de un sistema distribuido varan en tamao y funcin: microprocesadores, minicomputadores, estaciones de trabajo y grandes sistemas computacionales.

    Sistemas de tiempo real

    Los sistemas operativos de Tiempo Real se usan cuando existen rgidos requerimientos de tiempo. Ejemplos: - Sistemas de Control Industrial

  • 21

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Tipo de sistema Descripcin - Monitoreo mdico - 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 operativos

    Algunos de los anteriores sistemas se revisarn en el captulo siguiente: Caractersticas de Sistemas Operativos Tipos de sistemas operativos.

    Una tecnologa que apareci con los sistemas de batch es: Spooling.

    Spooling Tecnologa de discos

    La introduccin de la tecnologa de discos entrega una solucin: en vez de leer del disco y escribir a la impresora, la CPU interacta directamente con el disco. Si la CPU necesita leer una tarjeta, lee desde un rea del disco. En forma similar cuando necesita imprimir una lnea, la escribe en el disco Esta forma de procesamiento se denomina Spooling (Simultaneous peripheral operation on-line)

    Grfica 1. Tecnologa de discos1

    Transferencia - Autoevaluacin

    A partir de la historia de los sistemas operativos, organice cronolgicamente en un rbol, la evolucin que se dio en el desarrollo de sistemas operativos, recuerde que esta, est ligada al hardware pero en esta actividad se requiere solo expresar el software bsico.

    1 Ibid. Captulo 1. p. 8

    Observaciones El Spooling traslapa la entrada y salida de un job con los clculos (CPU) de otro job. Tiene un efecto directo e importante en el desempeo ya que mantienen a la CPU y los

    dispositivos trabajando a su mxima velocidad.

  • 22

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    LECCION 2. Definiciones y Funciones de los Sistemas Operativos

    Reconocimiento - Saberes Previos

    Reflexionemos de forma individual con respecto a:

    - Ha trabajado con algn sistema operativo? - Con cul o cules? - Tiene un sistema operativo favorito? Diga cul y porqu? - Conoce algo acerca de la estructura interna de un sistema operativo? - Conoce las funciones especfica de un sistema operativo cualquiera? - Enseguida de esta reflexin aborde toda la temtica y concluya.

    Profundizacin

    2.1 Definiciones de sistema operativo

    Conceptuar el trmino sistema operativo ( S.O como se nombra en algunas partes del mdulo) no es simple, precisamente es el objetivo primordial del mdulo. Existen diversas definiciones de lo que es un sistema operativo, pero no hay una definicin exacta, es decir una que sea estndar; a continuacin se presentan algunas:

    Un sistema operativo es un programa que acta como intermediario entre el usuario y el hardware de un computador y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas.

    Un sistema operativo es el cdigo que acompaa la ejecucin de cualquier aplicacin.

    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 cmputo 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 lgico que controla el funcionamiento del equipo fsico.

  • 23

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO 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 definicin que llama mucho la atencin y particularmente comparto es:

    Un sistema operativo es un programa cuya estructura es lo suficientemente general para independizarse del hardware, pero la implementacin debe ser lo suficientemente particular para aprovechar de forma eficiente el hardware.

    Existen definiciones ms amplias y un poco ms especficas, 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 cmputo"; los sistemas operativos ponen dicha capacidad de cmputo 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; adems de los procesadores, los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicacin y los datos

    El objetivo principal de un sistema operativo es, lograr que el sistema de computacin se use de manera cmoda, 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 ejecucin de programas de aplicacin y acta 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 podra decir que los sistemas operativos son un conjunto de programas que crean la interfaz del hardware con el usuario, y que tiene dos funciones primordiales, que son:

    Gestionar el hardware: Se refiere al hecho de administrar de una forma ms eficiente los recursos de la mquina.

    Facilitar el trabajo al usuario: Permite una comunicacin con los dispositivos de la mquina.

    Si se analizan con detenimiento cada una de las anteriores definiciones, se puede concluir que en general un sistema operativo se describe desde dos puntos de vista:

  • 24

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Usuario final y, Usuario administrador.

    Queda, entonces, revisar los conceptos dados y determinar a cul punto de vista corresponde cada uno.

    A lo largo del curso se va a trabajar la concepcin de sistema operativo como:

    Grfica 2. Concepcin de sistema operativo

    2.2 Funciones del sistema operativo A continuacin se muestran las funciones principales que realiza todo sistema operativo. Se puede decir que son las caractersticas del sistema operativo:

    - Conveniencia. Un sistema operativo hace ms conveniente el uso de una computadora.

    - Eficiencia. Un sistema operativo permite que los recursos de la computadora se usen de la manera ms eficiente posible.

    SOFTWARE

    SISTEMA OPERATIVO

    HARDWARE

    SISTEMA DE CMPUTO

    USUARIO

    Aquella herramienta lgica que proporciona al usuario un entorno amigable, permite interactuar y establecer una comunicacin entre el hardware (componentes fsicos) y el software (aplicaciones) de un sistema de cmputo.

  • 25

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    - Habilidad para evolucionar. Un sistema operativo deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.

    - Encargado de administrar el hardware. El sistema operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.

    - Administracin de dispositivos (gestionar a travs del kernel). Coordinando y manipulando los dispositivos conectados al ordenador. El sistema operativo se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera. Adems debe organizar los datos para acceso rpido y seguro.

    - Manejar las comunicaciones en red. El sistema operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras.

    - Procesamiento por bytes de flujo a travs del bus de datos.

    - Facilitar las entradas y salidas. Un sistema operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

    - Tcnicas de recuperacin de errores. Gestiona los errores de hardware y la prdida de los datos.

    - Gestin de permisos y de usuarios. Adjudica los permisos de acceso a los usuarios y evita que las acciones de uno afecten el trabajo que est realizando otro. El sistema operativo evita que los usuarios se bloqueen entre ellos, informndoles si esa aplicacin est siendo ocupada por otro usuario.

    - Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el software y la informacin almacenada en los sistemas.

    - Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el mismo recurso.

    - Administracin de memoria. Asigna memoria a los procesos y gestiona su uso.

    - Generacin de estadsticas.

  • 26

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    - Control de la ejecucin de los programas. Para ello, acepta los trabajos, administra la manera en que se realizan, les asigna los recursos y los conserva hasta su finalizacin.

    - Administracin de perifricos.

    - Permite que se puedan compartir el hardware y los datos entre los usuarios.

    El software de aplicacin son programas que se utilizan para disear, tal como el procesador de palabras, lenguajes de programacin, hojas de clculo, etc.

    El software de base sirve para interactuar el usuario con la mquina, son un conjunto de programas que facilitan el ambiente plataforma, y permite el diseo del mismo.

    El Software de base est compuesto por: Cargadores. Compiladores. Ensambladores. Macros.

    Transferencia Autoevaluacin

    Ahora que ya conoce el concepto y las funciones del sistema operativo, comprelas con las que haba estudiado en la actividad de presaberes, establesca las diferencias.

    LECCION 3. Sistema Computacional

    Reconocimiento Saberes Previos

    Para poder estudiar esta leccin debe tener conocimiento claro de lo que es el sistema operativo y sus funcionalidades.

    Profundizacin

    3.1. Estructura de un sistema computacional

    Un sistema operativo es una parte importante de cualquier sistema de computacin.

  • 27

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Un sistema computacional es una plataforma sobre la cual se construyen los llamados sistemas de informacin, hoy en da, necesarios para la administracin exitosa de cualquier organizacin.

    Un sistema de computacin puede dividirse en cuatro componentes: el hardware, el sistema operativo, los programas de aplicacin y los usuarios.

    El hardware (Unidad Central de Procesamiento (CPU), memoria y dispositivos de entrada/salida (E/S)) proporcionan los recursos de computacin bsicos. Los programas de aplicacin definen la forma en que estos recursos se emplean para resolver los problemas de computacin de los usuarios. Se pueden dividir en programas de sistemas como compiladores, assembler, editores, herramientas de monitoreo y mantencin; y en aplicaciones propiamente dichas como sistemas de bases de datos, juegos de video, programas para negocios, navegadores, etc.

    Grfica 3. Estructura de un sistema computacional

    El sistema operativo se encuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de cdigo que se encuentra en el procesador, el cual carga el BIOS, y este a su vez carga el sistema operativo que carga todos los programas de aplicacin y software variado.

    Antes de entrar a considerar los detalles de un S.O. se necesitan conocer los bloques de hardware que componen un sistema computacional. Como la funcin principal de un S.O. es aliviar las tareas de E/S, revisaremos los dispositivos y estructura de la entrada y salida de un sistema computacional. Tambin examinaremos los mecanismos de proteccin que provee la CPU para el S.O.

    Veamos:

    3.2. Operacin de un sistema computacional

    Aplicaciones

    Programas de sistemas

    Sistema operativo

    Hardware

    Usuario 1 Usuario 2 Usuario 3 Usuario n

    Constructores

    Diseadores S.O

    Diseador de traductores

    Programador

    Usuario final

  • 28

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Un sistema computacional consiste en una CPU y un nmero de dispositivos que tienen acceso a una memoria comn va un bus de interconexin. Los controladores de dispositivos se encargan de determinados dispositivos: discos, audio, mouse, mdem, etc.

    La CPU y los dispositivos pueden actuar en forma concurrente. Slo compiten por el acceso a la memoria que es comn.

    El controlador de memoria provee un acceso sincronizado a la memoria RAM.

    Grfica 4. Sistema de entrada/salida E/S (Input-output I/O)2

    a. Partida En la partida se necesita un programa inicial. Este programa se llama bootstrap. El bootstrap inicializa todo el sistema: registros de CPU, controladores de dispositivos, memoria, etc. El primer proceso que ejecuta el S.O. Se llama init. Init espera la ocurrencia de algn evento.

    b. Interrupciones Una interrupcin es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. La interrupcin es generada por el hardware del sistema de cmputo.

    El sistema de interrupciones es una parte muy importante de la arquitectura de un computador.

    Los sistemas operativos modernos son sistemas que reaccionan ante interrupciones, es decir, si no hay E/S, ni procesos ejecutndose, el S.O. est quieto y atento a que ocurra alguna interrupcin.

    Qu ocurre con el S.O ante una interrupcin?

    2 CAAS R, Javier (2002). Curso sistemas operativos (Formato .pdf). Captulo 2, p. 3

  • 29

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO 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 informacin se guarda en el bloque de control de proceso interrumpido.

    El sistema operativo analiza la interrupcin y transfiere el control a la rutina apropiada para atenderla; en muchos sistemas actuales el hardware se encarga de esto automticamente.

    La rutina del manejador de interrupciones procesa la interrupcin. Se restablece el estado del proceso interrumpido (o del siguiente proceso). Se ejecuta el proceso interrumpido (o el siguiente proceso).

    Una interrupcin puede ser iniciada especficamente por un proceso en ejecucin (en cuyo caso se suele denominar (trap), y se dice que est sincronizada con la operacin del proceso) o puede ser causada por algn evento que puede estar relacionado o no con el proceso en ejecucin (en cuyo caso se dice que es asncrona con la operacin del proceso). Los sistemas orientados hacia las interrupciones pueden sobrecargarse. Si estas llegan con mucha frecuencia, el sistema no ser capaz de atenderlas. En algunos sistemas orientados hacia el teclado, cada tecla presionada almacena en la memoria un cdigo de un byte y genera una interrupcin para informar a la CPU que un carcter est listo para ser procesado. Si la CPU no puede procesar el dato antes de que se presione la siguiente tecla, se pierde el primer carcter.

    Clases de Interrupciones Existen seis clases de interrupciones:

    Interrupciones SVC (supervisor call, llamadas al supervisor). Son iniciadas por un proceso en ejecucin que ejecute la instruccin SVC. Una SVC es una peticin generada por el usuario de un servicio particular del sistema, como realizar una operacin de entrada/salida, obtener ms 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 lmites 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 operacin de E/S o cuando un dispositivo pasa al estado listo.

  • 30

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Interrupciones externas. Son causadas por diversos eventos, incluyendo la expiracin de un Quantum de un reloj que interrumpe, la pulsacin de la tecla de interrupcin de la consola o la recepcin de una seal procedente de otro procesador en un sistema de mltiples procesadores.

    Interrupciones de reinicio. Se produce cuando se presiona el botn de reinicio de la PC o cuando llega de otro procesador una instruccin de reinicio en un sistema de multiprocesamiento.

    Interrupciones de verificacin del programa. Son causadas por una amplia clase de problemas que pueden ocurrir cuando se ejecutan las instrucciones en lenguaje de mquina de un programa. Dichos problemas incluyen la divisin entre cero, el exceso o defecto de los nmeros que pueden ser manejados por las operaciones aritmticas, el intento de hacer referencia a una localidad de memoria que est fuera de los lmites de la memoria real. Muchos sistemas ofrecen a los usuarios la opcin de especificar las rutinas que deben ejecutarse cuando ocurra una interrupcin de verificacin del programa.

    Interrupciones de verificacin de la mquina. Son ocasionadas por el mal funcionamiento del hardware.

    Grfica 5. Interrupciones de Hardware3

    3.3. Estructura del sistema de E/S

    Para iniciar una operacin de E/S, el S.O. carga registros apropiados de los controladores de dispositivos. El controlador examina el registro, inicia la operacin e informa de su trmino a la CPU mediante una interrupcin 3 Ibid. Captulo 2. p. 4

  • 31

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    La E/S puede ser sincrnica o asincrnica respecto al proceso que la inicia.

    a. E/S sincrnica y asincrnica

    Sincrnica: Se inicia la operacin de E/S. Al finalizar la transferencia el control vuelve al proceso usuario.

    Asincrnica: El control vuelve al proceso usuario sin necesidad de esperar el trmino

    de la transferencia.

    b. El acceso directo a memoria (DMA)

    Una forma de mejorar el desempeo de un sistema computacional es liberar a la CPU del control de la transferencia del Buffer del controlador a la memoria principal. De esta forma se genera slo una interrupcin por bloque en vez de una interrupcin por Byte

    Grfica 6. Acceso directo a memoria4

    c. La memoria principal

    La memoria principal (RAM) y el archivo de registro son el nico almacenamiento que la CPU puede accesar directamente.

    4 Ibid. Captulo 2. p. 8

  • 32

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Cmo accesar mediante un programa los dispositivos?

    Muchos computadores proveen memory-mapped i/o (dispositivos mapeados en memoria principal).

    d. memory-mapped i/o

    Esta modalidad considera a los registros de los dispositivos mapeados en determinadas direcciones de la memoria principal. El programa slo debe hacer referencia a determinadas direcciones de memoria para iniciar transferencias.

    Por ejemplo en los PC, cada punto de la pantalla de video est mapeada a una determinada direccin de memoria.

    e. Discos

    Los discos permiten almacenamiento masivo. Las velocidades de rotacin varan entre 60 a 150 Hz. Los tiempos involucrados en una transferencia son:

    - Tiempo de transferencia (velocidad angular) - Tiempo rotacional - Tiempo de seek

    Grfica 7. Organizacin de un disco5

    5 Ibid. Captulo 2. p. 10

  • 33

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 8. Informacin de un sector6

    Grfica 9. El cilindro7

    f. Jerarqua de memoria En un sistema computacional existe una gran variedad de almacenamiento. El almacenamiento est organizado jerrquicamente. La jerarqua de almacenamiento responde al compromiso entre velocidad y costo de almacenamiento: el costo de almacenar un bit en una memoria muy rpida es caro.

    Otro aspecto a considerar es la volatilidad.

    6 Ibid. Captulo 2. p. 10

    7 Ibid. Captulo 2. p. 11

  • 34

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 10. Jerarqua de memoria8

    g. La memoria cach La memoria cach es una parte muy importante de un sistema computacional. La informacin se mantiene en algn sistema de almacenamiento y en la medida que se usa es copiada en una memoria ms rpida temporalmente. Cuando se necesita una informacin particular, primero se verifica si est en la cach. Si est se usa directamente y si no est se extrae del medio de almacenamiento y se copia en la cach.

    Como su tamao es limitado resulta muy importante su administracin.

    Transferencia - Autoevaluacin

    Ahora que ya conoce la estructura y funcionalidad de un sistema computacional, describa como esta conformado el sistema computacional de la sala de sistemas de su CEAD.

    LECCION 4. Proteccin en Sistemas Computacionales

    Reconocimiento Saberes Previos

    Es necesario la comprensin y aprehensin de los sistemas computacionales, su estructura y caractersticas.

    8 Ibid. Captulo 2. p. 12

  • 35

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Profundizacin

    4.1 Protecciones de hardware

    Los primeros computadores eran sistemas monousuarios. En la medida que los S.O. evolucionaron fue necesario compartir recursos para mejorar la eficiencia del sistema. El compartir mejora la eficiencia y aumenta los problemas:

    Sistema multiprogramado ante condiciones de error. Compartir dispositivos.

    a. Modo Dual Para asegurar una correcta operacin se debe proteger al S.O. y los programas frente a situaciones de error. La proteccin se requiere para cualquier recurso compartido.

    El hardware provee una importante proteccin llamada Modo Dual

    Se agrega un bit al hardware llamado bit de modo para indicar dos modos posibles de operacin.

    Los modos de operacin son dos: Modo Monitor (tambin llamado kernel o modo sistema) Modo usuario

    Modo Monitor: este es el modo en el cual el S.O. toma el control del computador. Slo en este modo se pueden ejecutar instrucciones llamadas privilegiadas y accesar estructuras de datos internas del S.O.

    Modo Usuario: modo normal para cdigo usuario.

    La falta de apoyo de hardware de proteccin trae serios problemas en los S.O. Un ejemplo es el S.O. originalmente escrito para el Intel 8080 que no tiene bit de modo:

    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.

  • 36

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    b. Proteccin de E/S Para prevenir que un usuario realice una operacin ilegal de E/S se definen instrucciones privilegiadas. De esta forma un usuario no puede ejecutar instrucciones de E/S directamente. Lo debe hacer a travs del S.O.

    Nunca un programa usuario debe tener el control del sistema bajo modo monitor. Qu pasara si se tiene acceso al vector de interrupcin? Se obtiene el control en modo monitor.

    c. Proteccin de memoria

    Se debe proteger el vector de interrupcin de ser modificado por programas de usuario.

    Se debe proteger la alteracin de rutinas de servicio de interrupcin. Se debe proteger tambin un programa usuario de otro programa usuario. Cada espacio debe estar protegido. El hardware provee dos registros:

    Registro base: Menor direccin legal Registro lmite: Tamao del espacio protegido.

    Grfica 11. Proteccin de memoria9

    Cada direccin generada en modo usuario es comparada con los registros Base y Lmite.

    Cada intento por violar una regin protegida genera una interrupcin al S.O, el cual lo trata como un error fatal.

    Por supuesto que slo el S.O. puede cambiar los contenidos de los registros Base y Lmite (se cambian en modo monitor)

    9 Ibid. Captulo 2. p. 16

  • 37

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 12. Control de la proteccin de memoria10

    Por qu se estudian los sistemas operativos?

    Los sistemas operativos son sistemas de software complejos. El entendimiento de los conceptos utilizados y la implementacin de estos programas proporcionan desafos y ejemplos para cualquier persona.

    El conocimiento de los sistemas operativos permite realizar aplicaciones que aprovechen los recursos eficientemente.

    Para el diseo de sistemas operativos.

    Para la creacin de sistemas operativos personales con base en los sistemas operativos existentes. (Personalizacin de versiones)

    Transferencia Autoevaluacin

    A partir de lo aprendido en la leccin, establezca algunos mecanismos de proteccin del Hardware de la sala de sistemas de su CEAD, en esto deben establecer al menos dos mecanismo para cada dispositivo estudiado en la leccin.

    LECCION 5. Conceptos de Sistemas Operativos

    Reconocimiento Saberes Previos

    Para poder estudiar esta leccin con dedicacin y que pueda ser comprendida por el estudiante se requiere de la aclaracin y estudio de la definicin de sistemas operativos y sistemas computacionales.

    10

    Ibid. Captulo 2. p. 17

  • 38

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Profundizacin

    5.1. Llamadas al sistema

    Hemos visto, por ejemplo, que las instrucciones de E/S son privilegiadas y por lo tanto slo las puede ejecutar el S.O.

    Cmo ejecutar e/s? Solicitando al S.O. a travs de una llamada al sistema.

    Las llamadas al sistema se usan en general para solicitar cualquier servicio al S.O. (Se tratan en este captulo)

    Una llamada al sistema genera una interrupcin (trap) a una direccin especfica del vector de interrupciones.

    Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupcin (excepcin) de software. Los parmetros se pasan va registro o direcciones de memoria.

    La siguiente grfica muestra el flujo de una llamada al sistema.

    Grfica 13. Flujo de una llamada al sistema11 La interfaz entre el sistema operativo y los programas del usuario se define por medio del conjunto de "instrucciones extendidas" que el sistema operativo proporciona. Estas instrucciones extendidas son las llamadas al sistema. Las llamadas al sistema varan de un sistema operativo a otro (aunque los conceptos fundamentales tienden a ser anlogos). Las llamadas al sistema se clasifican normalmente en dos categoras generales: aquellas que se relacionan con procesos y las que lo hacen con el sistema de archivo

    - Por procesos: Un proceso es bsicamente un programa en ejecucin. Consta del programa ejecutable y la pila o stack del programa, su contador de programa, 11

    Ibid. Captulo 2. p. 19

  • 39

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    apuntador de pila y otros registros, as como la otra informacin que se necesita para ejecutar el programa. En si el proceso en el concepto de los sistemas operativos es como el sistema de tiempo compartido. Esto es, que en forma peridica, el sistema operativo decide suspender la ejecucin de un proceso y dar inicio a la ejecucin de otro, por ejemplo, porque el primero haya tomado ya ms de su parte del tiempo de la CPU, en terrenos del segundo.

    Cuando un proceso se suspende temporalmente, debe reiniciarse despus exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto significa que toda la informacin relativa al proceso debe guardarse en forma explcita en algn lugar durante la suspensin. En muchos sistemas operativos, toda la informacin referente a cada proceso, diferente del contenido de su espacio de direcciones, se almacena en una tabla de sistema operativo llamada tabla de procesos, la cual es un arreglo (lista enlazada) de estructuras, una para cada proceso en existencia.

    Por lo tanto, un proceso (suspendido) consta de su espacio de direcciones, generalmente denominado imagen del ncleo (en honor de las memorias de imagen de ncleo magntico que se utilizaron en tiempos antiguos) y su registro de la tabla de procesos, que contiene sus registros entre otras cosas.

    - Por sistema de archivo: Una funcin importante del S.O. consiste en ocultar las peculiaridades de los discos y otros dispositivos de E/S y presentar al programador un modelo abstracto, limpio y agradable de archivos independientes del dispositivo. Las llamadas al sistema se necesitan con claridad para crear archivos, eliminarlos, leerlos y escribirlos. Antes de que se pueda leer un archivo, ste debe abrirse y despus de que se haya ledo debe cerrarse, de modo que las llamadas se dan para hacer estas cosas.

    Antes de que un archivo pueda leerse o escribirse, ste debe abrirse, en cuyo instante se verifican los permisos. Si se permite el acceso, el sistema produce un entero pequeo llamado descriptor del archivo para utilizarse en operaciones subsiguientes. Si se prohibe el acceso, se produce un cdigo de error.

    5.2. Shell (intrprete de comandos) El sistema operativo es el cdigo que realiza las llamadas al sistema. Los editores, compiladores, ensambladores, enlazadores e intrpretes de comandos definitivamente no son parte del sistema operativo, aunque son importantes y tiles. El Shell es el intrprete de comandos, a pesar de no ser parte del sistema operativo (est ntimamente ligado con este), hace un uso intenso de muchas caractersticas del sistema operativo y por tanto sirve como un buen ejemplo de la forma en que se pueden utilizar las llamadas al sistema. Tambin es la interfaz primaria entre un usuario situado frente a su terminal y el sistema operativo.

  • 40

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Cuando algn usuario entra al sistema, un "shell" se inicia. El shell tiene la terminal como entrada y como salida estndar. Este da inicio al teclear solicitud de entrada, carcter como un signo de pesos, el cual indica al usuario que el shell est esperando un comando. En MS-DOS normalmente aparece la letra de la unidad, seguida por dos puntos (:), el nombre del directorio en que se encuentra y por ltimo el signo de "mayor que" (>). Esto es: C:\>. Las versiones grficas de Windows tienen la opcin de Ejecutar, el cual es el shell del sistema, normalmente en Inicio Opcin ejecutar. En Linux se puede trabajar, la consola de comandos, como el intrprete de comandos shell.

    5.3. Procesos

    Uno de los conceptos ms importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecucin junto con el entorno asociado (registros, variables,etc). El corazn de un sistema operativo es el ncleo, un programa de control que reacciona ante cualquier interrupcin de eventos externos y que da servicio a los procesos, crendolos, terminndolos y respondiendo a cualquier peticin de servicio por parte de los mismos.

    Un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa.

    Cada proceso contiene, entre otros:

    Mapeo en memoria: Dnde 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 su padre.

    El SO provee medios de comunicacin entre procesos. El proceso se comunica con el SO mediante las llamadas al sistema (syscalls), para, por ejemplo:

    Abrir un archivo Alocar mas memoria Crear un nuevo archivo

  • 41

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Sobreescribir su .text

    Otro medio de comunicacin son las seales. (Anlogas a las interrupciones, pero a nivel software). Un programa puede mandar seales a otros programas, el SO puede mandar seales al programa.

    5.4. Archivos

    Un Archivo es una unidad lgica de almacenamiento. Es una abstracin sobre el dispositivo fsico (disco rgido, floppy, etc). Conjunto de informacin relacionada guardada en un dispositivo secundario. Est asociado a dispositivos de almacenamiento no voltiles.

    Para el usuario es un concepto de unidad de almacenamiento permanente, organizada bajo un esquema jerrquico de directorios, que le permite tener un orden lgico y control sobre su informacin.

    Los atributos normales de un archivo son: nombre, tipo, tamao, tiempos y credenciales.

    El concepto de archivos y directorios se encuentra en prcticamente todos los sistemas operativos. La organizacin de los archivos posee un sistema jerrquico. Cada archivo se identifica con su directorio y nombre.

    Existe un directorio padre de todos los directorios. Las referencias a archivos pueden 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. Definiciones

    a. Deadlocks (Abrazos mortales): Cuando dos o ms procesos se estn esperando mutuamente, en una situacin sin salida.

    b. Memory Management (Manejo de Memoria): Estrategia de determinado S.O para el uso de memoria. Los problemas a resolver son proteccin y mapeo de programas. Ej. Memoria Virtual.

  • 42

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Transferencia Autoevaluacin

    Recuerda lo que contesto en la revisin de presaberes de la leccin 1, revise las respuestas planteadas en ese momento y haga ajustes despus de haber estudiado la temtica del capitulo.

  • 43

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    CAPTULO 2. CARACTERSTICAS DE LOS SISTEMAS OPERATIVOS

    INTRODUCCION

    En este capitulo estudiaremos con detenimiento los tipos de sistemas operativos, la estructura y los ncleos de los sistemas operativos, es un capitulo bastante interesante ya que nos ubica en el entorno que utilizan los sistemas operativos para administrar sus recursos dependiendo de la estructura que este tenga.

    LECCION 6. Tipos de Sistemas Operativos

    Reconocimiento Saberes Previos

    Describa las caractersticas principales que a su juicio, tienen los sistemas operativos Windows y Linux (los que Usted normalmente maneja. Distribucin y versin que disponga). Saque una lista, por cada sistema operativo, de ellas y explique el por qu lo considera as.

    As mismo saque una lista de los puntos que considera negativos de cada uno de los sistemas operativos que est analizando.

    Profundizacin

    6.1. Tipos de sistemas operativos

    Segn la perspectiva con la que se observen los sistemas operativos, pueden realizarse mltiples clasificaciones. Entre ellas revisaremos las siguientes:

    Sistemas operativos por su estructura (visin interna) Sistemas operativos por los modos de explotacin Sistemas operativos por los servicios que ofrecen y, Sistemas operativos por la forma en que ofrecen sus servicios (visin

    externa).

  • 44

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    6.2. Sistemas operativos por su estructura Visin interna12

    Esta clasificacin tiene en cuenta cmo se disean los sistemas a la hora de ser creados. Hay que tener en cuenta que, en la mayora de los casos estas concepciones de diseo no se aplican aisladas, si no que puede haber interrelacin entre ellas.

    Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son:

    Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso a que se le quiere destinar.

    Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

    A continuacin se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener.

    a. Estructura monoltica Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las caractersticas fundamentales de este tipo de estructura son:

    Construccin del programa final a base de mdulos compilados separadamente que se unen a travs del ligador.

    Buena definicin de parmetros 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 estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y gestin, 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 las funciones se implementaban en el Kernel. Puede decirse que su estructura consiste en que no existe una estructura como tal.

    12

    ALCALDE, E. MORERA, J. PEREZ -CAMPANERO. (1992). Introduccin a los Sistemas Operativos. Madrid, Mc Graw Hill. p. 33.

  • 45

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 14. Estructura monoltica

    b. Estructura jerrquica Por capas A medida que los sistemas operativos fueron creciendo, fue siendo necesaria una mayor estructuracin.

    Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con una clara interface con el resto de elementos.

    De acuerdo a las funciones principales del sistema operativo, vista en el numeral anterior (1.1.5 Funciones del sistema operativo), es posible analizar la estructura de un sistema operativo en cinco niveles. Los primeros dos niveles entraran dentro de la parte del sistema operativo dependiente del hardware, el resto de los niveles pertenecen a la parte portable del mismo.

    Cada uno de los niveles se comunica con el inmediatamente inferior y superior coordinando sus funciones.

    Nivel 1: Gestin del procesador. En este nivel se encuentra la parte del sistema operativo encargada de la gestin 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 sincronizacin, conmutacin de la CPU y gestin de interrupciones.

    Nivel 2: Gestin de memoria. Este nivel es el encargado de repartir la memoria disponible entre los procesos. Se realizan funciones de asignacin y liberacin de memoria, y el control de violacin de acceso a zonas de memoria no permitidas.

    Nivel 3: Gestin de procesos. Este nivel es el encargado de la creacin y destruccin de los procesos, intercambio de mensajes y deteccin y arranque de los mismos.

    Rutina A Rutina B

    Rutina 1 Rutina 3 Rutina 2 Rutina 4

  • 46

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Nivel 4: Gestin de dispositivos. En este nivel se realiza la gestin de las entradas/salidas (E/S) en funcin de los dispositivos existentes. Entre otras, se encarga de las funciones de creacin de procesos de E/S, asignacin y liberacin de dispositivos E/S, y planificacin de la E/S.

    Nivel 5: Gestin de la in formacin. El objetivo de este nivel es el de gestionar el espacio de nombres lgicos, utilizados para simplificar el acceso a los recursos, ya que mediante estos se sustituyen rutas de acceso que pueden ser muy largas y difciles de recordar por un solo nombre, encargndose el sistema operativo, de forma totalmente transparente para el usuario, de realizar esta bsqueda de ruta. Otro de sus contenidos es la proteccin de la informacin realizando funciones de creacin y destruccin de ficheros y directorios, apertura y cierre de ficheros, lectura y escritura de ficheros, y proteccin de acceso.

    Es importante destacar que un mismo sistema operativo puede trabajar en mltiples plataformas hardware, por lo que debe adaptarse a las peculiaridades de cada una de ellas.

    Una forma de representar esta estructura es mediante anillos concntricos o rings. En el sistema de anillos, cada uno tiene una apertura, conocida como trap (o interrupcin), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Se puede decir que las capas ms internas son ms privilegiadas que las externas.

    En la base de la jerarqua se encuentra el hardware del computador, a veces denominado simplemente mquina pura o los hierros desnudos. En seguida se encuentran todos los anillos o capas propias del sistema operativo.

  • 47

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Grfica 15. Estructura por capas.

    c. Mquina virtual

    Se trata de un tipo de sistemas operativos que presentan una interfaz a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente.

    Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida.

    El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes.

    El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario

    La principal ventaja de esta estructura reside en que permite implementar varios tipos de sistemas operativos sobre cada mquina virtual.

    La principal ventaja de esta estructura reside en que permite implementar varios tipos de sistemas operativos sobre cada mquina virtual. No obstante, presentan

    Gestin del

    procesador

    Gestin de

    memoria

    Gestin de

    procesos

    Gestin de

    dispositivos

    Gestin de la

    informacin

    1

    2

    3

    4

    5

    USUARIO

    0. Hardware

  • 48

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    el problema de que los sistemas operativos implementados son disjuntos, lo cual complica enormemente la interaccin, comunicacin y comparticin que necesitan los sistemas operativos actuales.

    Un ejemplo de este tipo es el sistema VM370.

    Grfica 16. Mquina virtual

    d. Cliente-servidor (Microkernel)

    El tipo ms reciente de sistemas operativos es el denominado cliente-servidor, que puede ser ejecutado en la mayora de las computadoras, ya sean grandes o pequeas.

    Este sistema sirve para toda clase de aplicaciones, es de propsito general y cumple con las mismas actividades que los sistemas operativos convencionales: el ncleo y los procesos, presentando grandes diferencias en cuanto a la forma de distribuir los trabajos entre sus distintas partes.

    Suministra mecanismos adecuados para la gestin de:

    Procesos. Memoria. Comunicacin entre procesos.

    El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.

  • 49

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el ncleo provee solamente funciones muy bsicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayora que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y proteccin que, a su vez, sern filtrados por el ncleo que controla el hardware.

    Proceso

    Cliente

    Servidor

    de

    procesos

    Servidor

    de

    terminales

    Servidor

    de

    archivos

    . . .

    Servidor

    de

    memoria

    Ncleo

    Grfica 17. Cliente-servidor

    Transferencia - Autoevaluacin

    Realice un cuadro comparativo entre las estructuras de sistemas operativos estudiadas en esta leccin.

    LECCION 7. Sistemas operativos por los modos de explotacin13

    Reconocimiento Saberes Previos

    Los modos de explotacin se corresponden con las distintas maneras en que puede funcionar un sistema operativo. Para poder estudiar las comentadas en esta leccin es necesario conocer la evolucin de los sistemas operativos y la estructura de los sistemas computacionales.

    Profundizacin

    a. Procesamiento por lotes

    Los sistemas operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos 13

    RAYA, L. ALVAREZ, R. RODRIGO, V. (2.005). Sistemas Operativos en entornos Monousuario y Multiusuario. Mxico, Alfaomega, Ra-Ma. p. 21.

  • 50

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

    Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin muy alto, porque el procesador es mejor utilizado y los sistemas operativos pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos. Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico.

    Algunas otras caractersticas con que cuentan los sistemas operativos por lotes son:

    Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote.

    Permiten poca o ninguna interaccin usuario/programa en ejecucin. Mayor potencial de utilizacin de recursos que procesamiento serial simple

    en sistemas multiusuarios. No conveniente para desarrollo de programas por bajo tiempo de retorno y

    depuracin fuera de lnea. Conveniente para programas de largos tiempos de ejecucin (ej, anlisis

    estadsticos, nminas de personal, etc.). Se encuentra en muchos computadores personales combinados con

    procesamiento serial. Planificacin del procesador sencilla, tpicamente procesados en orden de

    llegada. Planificacin de memoria sencilla, generalmente se divide en dos: parte

    residente del S.O. y programas transitorios. No requieren gestin crtica de dispositivos en el tiempo. Suelen proporcionar gestin sencilla de manejo de archivos: se requiere

    poca proteccin y ningn control de concurrencia para el acceso.

    b. Multiprogramacin

    En este modo de explotacin, el sistema operativo se encarga de distribuir la carga computacional entre los procesadores existentes (monoprocesador o multiprocesador), con el fin de incrementar el poder de procesamiento de la mquina.

    Dentro de los sistemas operativos multiprogramados cabe diferenciar:

    - Tiempo compartido. Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecer en la terminal del usuario.

  • 51

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDCTICO DEL CUSO: 301402 SISTEMAS OPERATIVOS

    Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga de trabajo al sistema operativo, principalmente en la administracin de memoria principal y secundaria.

    Utilizan las distintas tcnicas de planificacin de CPU para que se atiendan todos los procesos en espera de ser ejecutados. Este proceso ocurre tan rpidamente que el usuario no lo percibe.

    Entre este tipo de sistemas operativos se encuentran: UNIX, LINUX Windows 95, Windows 98, Windows Millenium, Windows XP, Windows NT, Windows 2000, Windows 2003, MACOS y OS/2. Otros menos comunes son Multics, OS/360 y DEC-10.

    Las caractersticas de los sistemas operativos de tiempo compartido pueden ser:

    Son populares representantes de sistemas multiprogramados multiusuario, ejemplo: sistemas de diseo asistido por computador, procesamiento