SlideShare una empresa de Scribd logo
1 de 335
Descargar para leer sin conexión
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

                                   1
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. PILAR
Alexandra Moreno, docente de la UNAD, y ubicada en el CEAD de Duitama, la
Ing. Moreno es Ingeniero de Sistemas, y Esp. en Pedagogía para el desarrollo del
aprendizaje autónomo, se ha desempeñado como tutor de la UNAD en varios
periodo académicos, actualmente es la coordinadora zonal de medios y
mediaciones pedagógicas en la zona.

      El presente módulo ha tenido una actualización, la que se presenta en el
periodo 2009-2 en su primera versión, esta fue realizada por el Ing. Yhon Pinzon
quien ha sido tutor de la UNAD desde el año 2002, en el CEAD La Guajira y que
se desempeña 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 administración de procesos, y en la
unidad 3, al suprimir el capitulo de introducción a las redes, ya que este se
desarrollo en el curso electivo del mismo nombre y en los cursos específicos del
perfil de redes que se ven en el ciclo profesional. De la misma forma el modulo
esta diseñado con la estructura establecidas por la VIMMEP, en el desarrollo de
lecciones, lo que facilita el aprendizaje por parte del estudiante.

        Este mismo año (2009) el Ing. JAIME VALDES BENJUMEA, tutor del CEAD
La Guajira, apoyó el proceso de revisión de estilo del módulo y dio aportes
disciplinares, didácticos y pedagógicos en el proceso de acreditación de material
didáctico desarrollado en el mes de JULIO de 2009.




                                       2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS




                                INTRODUCCIÓN



Este módulo está diseñado para aquellas personas interesadas en abordar
temáticas relacionadas con el campo de los sistemas operativos: teoría y
aplicación. Trata de acercarlas a los aspectos más importantes que encierran los
sistemas operativos, ubicando características básicas tanto a nivel de PC como a
nivel de infraestructura de red.

Por ello y para ello, se presenta el módulo “Sistemas Operativos”, como una
alternativa de solución para esa búsqueda 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 ingeniería de
sistemas en la que nos desempeñemos o queramos desempeñarnos vamos a
trabajar con sistemas operativos: implementandolos, administrándolos,
diseñandolos, desarrollandolos, utilizandolos, enseñandolos y resolviendo
problemas que ahora serán más fáciles 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, aún más, la importancia de su
conocimiento 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 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 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 relativa
a las características, estructura, diseño, componentes que ayudan a conocer de

                                        3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

forma integral un sistema operativo, para que podamos administrarlo de la mejor
manera y sacar el máximo provecho a todas sus capacidades e incluso podamos
enfrentarnos 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 las
habilidades, a lo largo de los capítulos se incluyen ejercicios y/o ejemplos que
sirven como activación cognitiva, para ubicar a los interesados en el contexto a
desarrollar, también en algunos casos para reforzar o reafirmar una temática y al
final de cada capítulo se encuentran ejercicios que servirán para la transferencia
de los contenidos desarrollados a las diferentes prácticas de laboratorios ó a
situaciones cotidianas o laborales y a sus intereses tanto profesionales como
personales.

Los ejercicios propuestos vienen diseñados 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
comunicación oral, comunicación escrita y trabajo colaborativo.

Este módulo es el resultado de un trabajo extenso de consulta, investigación
bibliográfica y sistematización de experiencias, el cual sirvió para la consolidación
de 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 de
trabajo y a las necesidades que pretende cubrir cada persona.

Por ello en cada unidad didáctica se encuentra una sección bibliográfica
recomendada, 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ón
de cada una de las fases del proceso de aprendizaje como son: reconocimiento,
profundización y transferencia, logrando una coherencia metodológica con la guía
de actividades propuesta.

Las unidades didácticas que lo conforman son tres, equivalentes al número de
créditos asignados al curso académico. La primera y última unidad didáctica
poseen 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 al
interesado en los conceptos básicos y definición de lo que es un sistema
operativo. En esta unidad se desarrollan capítulos como: Principios de los
sistemas operativos, Características de los sistemas operativos y arquitectura
cliente/servidor. Todos ellos para introducirnos al mundo de los sistemas


                                         4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

operacionales, su historia, evolución, clasificación, estructura e infraestructura de
aplicación.

Ya revisadas las bases teóricas y funciones principales, estamos listos para
continuar el tema de cómo gestionan y administran los diferentes recursos del
sistema computacional, tema que le corresponde a la Unidad Didáctica 2.
Administración de Recursos. Dichos recursos los aborda el curso así: En el cual
estudiaremos 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 a
cualquier sistema monosusuario o multisusuario que se nos presente.

Ahora queda solamente aplicar toda la fundamentación teórica desarrollada en las
dos unidades iniciales a los principales sistemas operativos del mercado. De esto
se encarga la unidad didáctica 3. Principales sistemas operativos, que realiza una
clasificación 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
agrupación Otros sistemas operativos se habla de sistemas como novell, OS/2 y
VMS.

Este módulo fue desarrollado tomando como referencia documentación y estudios
realizados de los diferentes sistemas operativos, en cada una de las unidades, se
relacionan las fuentes bibliográficas específicas sobre las cuales se trabajó.

Además es importante recordar, que este módulo debe ir articulado con las
diferentes actividades planteadas en la guía didáctica, pues es un curso
metodológico, es decir tiene un componente de aplicación y trabajo en grupo.

Por último, y como siempre, recomiendo que para facilitar el aprendizaje es
importante consultar la bibliografía descrita, utilizar la biblioteca virtual y el acceso
a Internet, con esto se está potenciando la capacidad de investigación y de auto
gestión para llegar al conocimiento, según sean los logros y/o debilidades
encontradas 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 y
de sus necesidades.




                                           5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
CONTENIDO 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
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                                                  14
Introducción                                                                                 14
Justificación                                                                                14
Intencionalidades Formativas                                                                 15
Denominción de Capitulos                                                                     15
Capitulo 1. Principios de los Sistemas Operativos                                            16
Introducción                                                                                 16
LECCION 1. Historia y Evolución de los Sistemas Operativos                                   16
LECCION 2. Definiciones y Funciones de los Sistemas Operativos                               22
LECCION 3. Sistema Computacional                                                             26
LECCION 4. Protección en Sistemas Computacionales                                            34
LECCION 5. Conceptos de Sistemas Operativos                                                  37
Capítulo 2. Características de los sistemas operativos                                       46
Introducción                                                                                 46
LECCION 6. Tipos de Sistemas Operativos                                                      46
LECCION 7. Sistemas operativos por los modos de explotación                                  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. Núcleos del Sistema Operativo                                                    62
Capítulo 3. Arquitectura cliente servidor                                                    66
Introducción                                                                                 66
LECCION 11. Antecedentes y Definicion de la Arquitectura Cliente/Servidor                    66
LECCION 12. Componentes y Característica 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 implantación 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
Introducción                                                                                 94
Justificación                                                                                94

                                                7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS


Intencionalidades Formativas                                                            95
Denominción de Capitulos                                                                95
Capítulo 1. Administración de los procesos                                              96
Introducción                                                                            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
Capítulo 2. Administración de la memoria y de Dispositivos                              127
Introducción                                                                            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
Capítulo 3. Administración de archivos y Proteccion y Seguridad en los sistemas
operativos                                                                              162
Introducción                                                                            162
LECCION 11. Sistema de Archivos y Directorios                                           162
LECCION 12. Estructura de Archivos y Directorios                                        169
LECCION 13. Tipos de sistemas de archivos, Protección de Ficheros y Administración 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
Introducción                                                                            199
Justificación                                                                           199
Intencionalidades Formativas                                                            200
Denominción de Capitulos                                                                200
Capítulo 1. Sistemas operativos Familia Windows                                         201
Introducción                                                                            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

                                                8
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. Sistema operativo UNIX/LINUX                                         253
Introducción                                                                     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 instalación de impresoras          303
Capítulo 3. Otros sistemas operativos                                            314
Introducción                                                                     314
LECCION 11. Sistema Operativo Novell Netware                                     314
LECCION 12. Características 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




                                               9
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                        18
Tabla 2. Evolucion de los sitemas operativos                         21
Tabla 3. Etapas del camino de ejcución de un programa                135
Tabla 4. Implementación de los mecanismos de asignación de memoria
virtual                                                              136
Tabla 5. Algortimos de Selección 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 asignación continúa 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 características de Versiones Windows XP        227
Tabla 13. Lista los nombres de diversos manejadores para Linux       271
Tabla 14. Variables de entorno más comunes                           294
Tabla 15. Tipos de sistemas de ficheros Linux                        305




                                     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 GRÁFICOS Y FIGURAS                 Pag.
Gráfica 1. Tecnología de discos                                   21
Gráfica 2. Concepción de sistema operativo                        24
Gráfica 3. Estructura de un sistema computacional                 27
Gráfica 4. Sistema de entrada/salida E/S (Input-output I/O)       28
Gráfica 5. Interrupciones de Hardware                             30
Gráfica 6. Acceso directo a memoria                               31
Gráfica 7. Organización de un disco                               32
Gráfica 8. Información de un sector                               33
Gráfica 9. El cilindro                                            33
Gráfica 10. Jerarquía de memoria                                  34
Gráfica 11. Protección de memoria                                 36
Gráfica 12. Control de la protección de memoria                   37
Gráfica 13. Flujo de una llamada al sistema                       38
Gráfica 14. Estructura monolítica                                 45
Gráfica 15. Estructura por capas.                                 47
Gráfica 16. Máquina virtual                                       48
Gráfica 17. Cliente-servidor                                      47
Gráfica 18. Cinco niveles arquitectura/cliente servidor           74
Gráfica 19. Distribución cliente/servidor                         75
Gráfica 20. Arquitectura cliente/servidor con interface común     83
Gráfica 21. Arquitectura cliente/servidor con gateway común       84
Gráfica 22. Arquitectura cliente/servidor con protocolo común     85
Gráfica 23. Estados de un proceso                                 98
Gráfica 24. Estados de un proceso: Modos kernel y usuario        100
Gráfica 25. Jerarquía de procesos                                101
Gráfica 26. Conmutación y la PCB                                 104
Gráfica 27. Estructura de un proceso                             105
Gráfica 28. Recursos de un thread                                106
Gráfica 29. Tarea con múltiples threads                          106
Gráfica 30. Interacción productor consumidor                     108
Gráfica 31. Direccionamiento asimétrico- Cliente/servidor        108
Gráfica 32. Sincronización Rendezvous                            109
Gráfica 33. Sincronización con buffers                           110

                                              11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS


Gráfica 34. Ejemplo de variables compartidas                       111
Gráfica 35. Ejemplo de sección crítica                             112
Gráfica 36. Implementación del semáforo                            113
Gráfica 37. Implementación de semáforo para la sincronización      114
Gráfica 38. Implementación de semáforo en productor/consumidor     114
Gráfica 39. Productor/consumidor: sincronización completa          115
Gráfica 40. Estructura de una cola                                 118
Gráfica 41. Cuándo se itinera                                      119
Gráfica 42. Orden de peluquería                                    121
Gráfica 43. El más corto primero                                   122
Gráfica 44. Por prioridad                                          123
Gráfica 45. Round Robin                                            124
Gráfica 46. Colas multinivel                                       125
Gráfica 47. Colas multinivel realimentadas                         126
Gráfica 48. Panorama del manejo de memoria                         128
Gráfica 49. Organización simple de memoria                         129
Gráfica 50. Proceso enlace de direcciones en memoria               135
Gráfica 51. Estrategia de mejor ajuste                             137
Gráfica 52. Estrategia de primer ajuste                            137
Gráfica 53. Estrategia de peor ajuste                              138
Gráfica 54. Traducción de direcciones de memoria                   139
Gráfica 55. Traducción de direcciones de memoria en segmentación   142
Gráfica 56. Entrada tipica de una tabla de páginas                 143
Gráfica 57. Traducción en la segmentación – paginación             145
Gráfica 58. Ejemplos de dispositivos                               154
Grafica 59. Bus                                                    157
Gráfica 60. Organización sistema Pentium. Buses                    157
Gráfica 61. Coordinación de la interacción                         158
Gráfica 62. Manejo de interrupciones                               159
Gráfica 63. Hardware DMA                                           160
Gráfica 64. Acceso secuencial                                      165
Gráfica 65. Acceso directo                                         165
Gráfica 66. Acceso indexado                                        166
Gráfica 67. Ejemplo de organización                                166
Gráfica 68. Directorio de un nivel                                 167
Gráfica 69. Directorio de dos niveles                              167


                                             12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS


Gráfica 70. Directorio de árbol                                        168
Gráfica 71. Grafo cíclico                                              168
Gráfica 72. Organización de un disco                                   170
Gráfica 73. Organización de un sistema de archivos                     170
Gráfica 74. Estructura de la tabla de archivos                         171
Gráfica 75. Asignación contigua de espacio                             172
Gráfica 76. Asignación de espacio enlazada                             173
Gráfica 77. FAT                                                        174
Gráfica 78. Asignación de espacio indexada                             174
Gráfica 79. Lista enlazada de bloques libres                           183
Gráfica 80. Dominios compartidos                                       185
Gráfica 81. Matriz de acceso                                           187
Gráfica 82. Matriz de acceso con dominios como objetos                 188
Gráfica 83. Codificación RSA                                           194
Gráfica 84. Arquitectura Windows 95 - Fuente: www.club.telepolis.com   203
Gráfica 85. Componentes de Windows 98                                  205
Gráfica 86. Recursos que necesita el sistema para VM                   207
Gráfica 87. Ejemplo de árbol de Hardware de Windows 98                 209
Gráfica 88. Arquitectura de Windows 2000                               211
Gráfica 89. Estructura del sistema operativo Windows 2003 Server       216
Gráfica 90. Arquitectura Windows NT                                    229
Gráfica 91. Arquitectura de Windows NT con Advanced Server             234
Gráfica 92. Arquitectura del sistema UNIX                              255
Gráfica 93. Arquitectura Sistema Operativo Linux                       258
Gráfica 94. Subsistema de ficheros                                     261
Gráfica 95. Subsistema de red                                          262
Grafico 96. Ventana de Configuración de XConfigurator                  280
Grafico 97. Panel de configuración 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 Dirección.                                       290
Grafico 103. Servidor de impresión                                     307
Gráfica 104. Sistema de archivos de VMS                                329



                                             13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS




                                  UNIDAD 1

Nombre de la Unidad   TEORIA DE LOS SISTEMAS OPERATIVOS
Introducció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
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 Operativos
capítulos            Capítulo 2. Características de los sistemas operativos
                     Capítulo 3. Arquitectura cliente servidor




                                     15
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 OPERATIVOS


INTRODUCCION
En este capitulo estudiaran los conceptos fundamentales de los sistemas
operativos así como las características y funciones, de igual forma se analizará
cronológicamente la historia y evolución 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 comprensión y
aprendizaje por parte del estudiante.


LECCION 1. Historia y Evolución de los Sistemas Operativos
Reconocimiento – Saberes Previos
Para abordar esta lección es necesario el estudio de las definiciones de Sistemas
Operativos, Sistemas Computacionales, y las funcionalidades y estructura de los
mismos.
Profundización
1.1. Historia de los sistemas operativos
Para tratar de comprender los requisitos de un S.O y el significado de sus
principales características, es útil considerar como han ido evolucionando éstos
con el tiempo.
Existen diferentes enfoques o versiones de cómo han ido evolucionando los
sistemas operativos.


La primera de estas versiones podría ser esta:




                                       16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS




  Periodo                                   Avance

Añ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 interactuaba
los años 40     de manera directa con el hardware de la computadora, no
hasta      la   existía realmente un sistema operativo; las primeras
mitad de los    computadoras utilizaban bulbos, la entrada de datos y los
añ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 50's, la compañía General's Motors implanto
años 50's y el primer sistema operativo para su IBM 170. Empiezan a surgir
60's        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 se
60's y 70's 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
                América. A finales de los años 80's 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 90's y el Entramos a la era de la computación distribuida y del
futuro        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
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 operativos

Se ha desarrollado otra versión, la cual se ha hecho con base a la evolución
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            Descripción
Sistemas Batch             Los primeros computadores eran grandes máquinas
Simples                    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 cuadro
Sistemas Batch             El Spooling mantiene una estructura de datos con
                                         18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
  CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Tipo de sistema          Descripción
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
                         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
                         nuevamente
Sistemas de tiempo       Los sistemas batch multiprogramados permiten usar
compartido – Time        recursos eficientemente, pero los usuarios no pueden
sharing – multitarea     interactuar con sus aplicaciones.
                         El tiempo compartido (time sharing) o multitarea es una
                         extensión de la multiprogramación. La CPU ejecuta
Job 1
                         múltiples jobs, pero la conmutación de un job a otro
Job 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 el
Computadores             mercado en la década del 70. El objetivo de los
personales               sistemas operativos de PC no es mejorar la eficiencia

                                      19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Tipo 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 usan
real                    cuando existen rígidos requerimientos de tiempo.
                        Ejemplos:
                        - Sistemas de Control Industrial

                                    20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
    ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
    CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Tipo 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 operativos

Algunos 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 discos

La introducción de la tecnología de discos entrega una solución: en vez de leer
del 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 similar
cuando necesita imprimir una línea, la escribe en el disco
Esta forma de procesamiento se denomina Spooling (Simultaneous peripheral
operation 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ón
A 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, recuerde
que esta, está ligada al hardware pero en esta actividad se requiere solo expresar
el software básico.

1
    Ibid. Capítulo 1. p. 8

                                                 21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO 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 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ón
2.1 Definiciones de sistema operativo

Conceptuar el término “sistema operativo” (ó S.O como se nombra en algunas
partes del módulo) no es simple, precisamente es el objetivo primordial del
módulo. Existen diversas definiciones de lo que es un sistema operativo, pero no
hay una definición exacta, es decir una que sea estándar; a continuación se
presentan 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
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 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
      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 puede
concluir que en general un sistema operativo se describe desde dos puntos de
vista:

                                       23
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 vista
corresponde 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 operativo

2.2 Funciones del sistema operativo
A continuación se muestran las funciones principales que realiza todo sistema
operativo. Se puede decir que son las características del sistema operativo:

- Conveniencia. Un sistema operativo hace más conveniente el uso de una
computadora.

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




                                           24
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 de
manera que permita el desarrollo, prueba o introducción 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.

- Administración de dispositivos (gestionar a través del kernel).
Coordinando y manipulando los dispositivos conectados al ordenador. El
sistema operativo se debe encargar de comunicar a los dispositivos periféricos,
cuando el usuario así lo requiera. Además debe organizar los datos para
acceso rápido y seguro.

- Manejar las comunicaciones en red. El sistema operativo permite al usuario
manejar con alta facilidad todo lo referente a la instalación y uso de las redes
de 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 al
usuario el acceso y manejo de los dispositivos de Entrada/Salida de la
computadora.

- Técnicas de recuperación de errores. Gestiona los errores de hardware y
la pérdida de los datos.

- Gestión 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,
informándoles si esa aplicación está siendo ocupada por otro usuario.

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

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

- Administración de memoria. Asigna memoria a los procesos y gestiona su
uso.

- Generación de estadísticas.




                                        25
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 conserva
hasta su finalización.

- Administración de periféricos.

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

El software de aplicación son programas que se utilizan para diseñar, tal como
el 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 un
conjunto de programas que facilitan el ambiente plataforma, y permite el diseño
del mismo.

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


Transferencia – Autoevaluación
Ahora que ya conoce el concepto y las funciones del sistema operativo,
compárelas con las que había estudiado en la actividad de presaberes, establesca
las diferencias.


LECCION 3. Sistema Computacional


Reconocimiento – Saberes Previos

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

Profundización

3.1. Estructura de un sistema computacional

Un sistema operativo es una parte importante de cualquier sistema de
computación.



                                        26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Un sistema computacional es una plataforma sobre la cual se construyen los
llamados sistemas de información, hoy en día, necesarios para la administración
exitosa 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 de
entrada/salida (E/S)) proporcionan los recursos de computación básicos.
Los programas de aplicación definen la forma en que estos recursos se emplean
para resolver los problemas de computación de los usuarios. Se pueden dividir en
programas de sistemas como compiladores, assembler, editores, herramientas de
monitoreo y mantención; y en aplicaciones propiamente dichas como sistemas de
bases 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 computacional



El sistema operativo se encuentra almacenado en la memoria secundaria. Primero
se carga y ejecuta un pedazo de código 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 aplicación 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 función 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.
También examinaremos los mecanismos de protección que provee la CPU para el
S.O.
Veamos:
3.2. Operación de un sistema computacional

                                                    27
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
    ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
    CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Un sistema computacional consiste en una CPU y un número de dispositivos que
tienen 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 por
el 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. 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
algún evento.
b. Interrupciones
Una interrupción es un evento que altera la secuencia en que el procesador
ejecuta las instrucciones. La interrupción es generada por el hardware del sistema
de cómputo.
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 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
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 la
operación del proceso) o puede ser causada por algún evento que puede estar
relacionado o no con el proceso en ejecución (en cuyo caso se dice que es
asíncrona con la operación 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 código de un byte y genera una interrupción para informar a la CPU
que un carácter 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 carácter.


Clases de Interrupciones
Existen 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
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 Hardware



3.3. Estructura del sistema de E/S

Para iniciar una operación de E/S, el S.O. carga registros apropiados de los
controladores de dispositivos. El controlador examina el registro, inicia la
operación e informa de su término a la CPU mediante una interrupción

3
    Ibid. Capítulo 2. p. 4

                                              30
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
    ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
    CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS



La 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 la
CPU del control de la transferencia del Buffer del controlador a la memoria
principal. De esta forma se genera sólo una interrupción por bloque en vez de una
interrupción por Byte




                                                                   4
                             Gráfica 6. Acceso directo a memoria



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. Capítulo 2. p. 8

                                             31
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 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 sólo 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 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 disco




5
    Ibid. Capítulo 2. p. 10

                                              32
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 cilindro

f. Jerarquía de memoria
En un sistema computacional existe una gran variedad de almacenamiento. El
almacenamiento está organizado jerárquicamente.
La jerarquía de almacenamiento responde al compromiso entre velocidad y costo
de almacenamiento: el costo de almacenar un bit en una memoria muy rápida es
caro.
Otro aspecto a considerar es la volatilidad.




6
    Ibid. Capítulo 2. p. 10
7
    Ibid. Capítulo 2. p. 11

                                               33
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 memoria



g. 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 medida
que 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 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 tamaño es limitado resulta muy importante su administración.
Transferencia - Autoevaluación
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. Protección en Sistemas Computacionales
Reconocimiento – Saberes Previos
Es necesario la comprensión y aprehensión de los sistemas computacionales, su
estructura y características.




8
    Ibid. Capítulo 2. p. 12

                                             34
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS




Profundización
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 operación se debe proteger al S.O. y los programas
frente a situaciones de error.
La protección se requiere para cualquier recurso compartido.
El hardware provee una importante protección llamada Modo Dual
Se agrega un bit al hardware llamado bit de modo para indicar dos modos posibles
de operación.


Los modos de operación son dos:
      Modo Monitor (también llamado kernel o modo sistema)
      Modo usuario


Modo 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 y
accesar 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. 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.

                                         35
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
    ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
    CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS



b. Protección de E/S
Para prevenir que un usuario realice una operación 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 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 en
modo 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
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 memoria


Por 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ón
A partir de lo aprendido en la lección, establezca algunos mecanismos de
protección del Hardware de la sala de sistemas de su CEAD, en esto deben
establecer al menos dos mecanismo para cada dispositivo estudiado en la lección.


LECCION 5. Conceptos de Sistemas Operativos
Reconocimiento – Saberes Previos
Para poder estudiar esta lección con dedicación y que pueda ser comprendida por
el estudiante se requiere de la aclaración y estudio de la definición de sistemas
operativos y sistemas computacionales.




10
     Ibid. Capítulo 2. p. 17

                                                  37
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
     ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
     CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Profundización
5.1. Llamadas al sistema
Hemos visto, por ejemplo, que las instrucciones de E/S son privilegiadas y por lo
tanto 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ífica
del vector de interrupciones.

Cuando se ejecuta una llamada al sistema, el hardware la trata como una
interrupción (excepción) de software. Los parámetros se pasan vía registro o
direcciones de memoria.

La siguiente gráfica muestra el flujo de una llamada al sistema.




                                                                             11
                               Gráfica 13. Flujo de una llamada al sistema

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 varían de un sistema operativo a otro (aunque los conceptos
fundamentales 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 de
archivo
- Por procesos: Un proceso es básicamente un programa en ejecución. Consta
del programa ejecutable y la pila o stack del programa, su contador de programa,

11
     Ibid. Capítulo 2. p. 19

                                                    38
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

apuntador de pila y otros registros, así como la otra información 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
periódica, el sistema operativo decide suspender la ejecución de un proceso y dar
inicio a la ejecución de otro, por ejemplo, porque el primero haya tomado ya más
de su parte del tiempo de la CPU, en terrenos del segundo.
Cuando un proceso se suspende temporalmente, debe reiniciarse después
exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto
significa que toda la información relativa al proceso debe guardarse en forma
explí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 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 núcleo (en honor de las memorias de
imagen de núcleo magnético 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 función 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 después de que se haya leído 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 pequeño llamado descriptor del archivo para utilizarse en operaciones
subsiguientes. 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 comandos
definitivamente 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 sistema
operativo (está íntimamente ligado con este), hace un uso intenso de muchas
características del sistema operativo y por tanto sirve como un buen ejemplo de la
forma en que se pueden utilizar las llamadas al sistema. También es la interfaz
primaria entre un usuario situado frente a su terminal y el sistema operativo.



                                        39
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Cuando algún usuario entra al sistema, un "shell" se inicia. El shell tiene la
terminal como entrada y como salida estándar. Este da inicio al teclear solicitud de
entrada, carácter 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 gráficas de Windows tienen la opción de Ejecutar, el cual es el shell
del sistema, normalmente en Inicio – Opción ejecutar.
En Linux se puede trabajar, la consola de comandos, como el intérprete de
comandos shell.


5.3. Procesos
Uno de los conceptos más importantes que gira entorno a un sistema operativo es
el de proceso. Un proceso es un programa en ejecución junto con el entorno
asociado (registros, variables,etc).
El corazón de un sistema operativo es el núcleo, un programa de control que
reacciona ante cualquier interrupción de eventos externos y que da servicio a los
procesos, creándolos, terminándolos y respondiendo a cualquier petición 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: 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 su
padre.
El SO provee medios de comunicación 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

                                        40
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

      Sobreescribir su .text


Otro medio de comunicación son las señales. (Análogas a las interrupciones, pero
a nivel software). Un programa puede mandar señales a otros programas, el SO
puede mandar señales al programa.


5.4. Archivos
Un Archivo es una unidad lógica de almacenamiento. Es una abstración sobre el
dispositivo 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 un
orden lógico y control sobre su información.
Los atributos normales de un archivo son: nombre, tipo, tamaño, tiempos y
credenciales.
El concepto de archivos y directorios se encuentra en prácticamente todos los
sistemas 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 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 más procesos se están
esperando mutuamente, en una situación sin salida.


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



                                       41
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

Transferencia – Autoevaluación
Recuerda lo que contesto en la revisión de presaberes de la lección 1, revise las
respuestas planteadas en ese momento y haga ajustes después de haber
estudiado la temática del capitulo.




                                       42
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 OPERATIVOS


INTRODUCCION


En este capitulo estudiaremos con detenimiento los tipos de sistemas operativos,
la estructura y los núcleos 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 características principales que a su juicio, tienen los sistemas
operativos Windows y Linux (los que Usted normalmente maneja. Distribución y
versión 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.


Profundización
6.1. Tipos de sistemas operativos
Según la perspectiva con la que se observen los sistemas operativos, pueden
realizarse 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
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
     ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
     CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

6.2. Sistemas operativos por su estructura – Visión interna12


Esta clasificación tiene en cuenta cómo se diseñan los sistemas a la hora de ser
creados. Hay que tener en cuenta que, en la mayoría de los casos estas
concepciones de diseño no se aplican aisladas, si no que puede haber
interrelación entre ellas.
Se deben observar dos tipos de requisitos cuando se construye un sistema
operativo, los cuales son:

Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y
adecuado 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 errores
y flexibilidad.

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


a. Estructura monolítica
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
caracterí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 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). Introducción a los Sistemas
Operativos. Madrid, Mc Graw Hill. p. 33.

                                         44
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ítica



b. Estructura jerárquica – Por capas
A medida que los sistemas operativos fueron creciendo, fue siendo necesaria una
mayor estructuración.
Se dividió el sistema operativo en pequeñas 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 entrarían
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: 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
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 en
múltiples plataformas hardware, por lo que debe adaptarse a las peculiaridades de
cada 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. De
esta forma, las zonas más internas del sistema operativo o núcleo del sistema
estarán más protegidas de accesos indeseados desde las capas más externas. Se
puede 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 veces
denominado simplemente “máquina pura” o los “hierros desnudos”. En seguida se
encuentran todos los anillos o capas propias del sistema operativo.




                                         46
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
 CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS

                                      USUARIO



                                                                   0. Hardware

                                       Gestión de la
                                       información
                                       Gestión de
                                       dispositivos
                                       Gestión de
                                        procesos
                                       Gestión de
                                        memoria

                                       Gestión del
                                       procesador
                                            1
                                                 2
                                                       3
                                                           4
                                                               5



                           Gráfica 15. Estructura por capas.



c. Máquina virtual
Se trata de un tipo de sistemas operativos que presentan una interfaz a cada
proceso, mostrando una máquina que parece idéntica a la máquina real
subyacente.
Estos sistemas operativos separan dos conceptos que suelen estar unidos en el
resto de sistemas: la multiprogramación y la máquina extendida.
El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos
sistemas operativos dando la sensación de ser varias máquinas diferentes.
El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como
misión llevar a cabo la multiprogramación, presentando a los niveles superiores
tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son
máquinas extendidas, sino una réplica de la máquina real, de manera que en cada
una de ellas se pueda ejecutar un sistema operativo diferente, que será el que
ofrezca la máquina extendida al usuario
La principal ventaja de esta estructura reside en que permite implementar varios
tipos de sistemas operativos sobre cada máquina virtual.
La principal ventaja de esta estructura reside en que permite implementar varios
tipos de sistemas operativos sobre cada máquina virtual. No obstante, presentan
                                           47
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos
Sistemas_operativos

Más contenido relacionado

La actualidad más candente

Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoSantiago Moha
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladoresJoOsee Kette
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebasnicolas2100
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 
Diseño de Software (Ensayo)
Diseño de Software (Ensayo)Diseño de Software (Ensayo)
Diseño de Software (Ensayo)icesarandres
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
4.5.3 operacion y seguridad seguridad en capas
4.5.3 operacion y seguridad   seguridad en capas4.5.3 operacion y seguridad   seguridad en capas
4.5.3 operacion y seguridad seguridad en capasJose Hernandez Landa
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareJesús E. CuRias
 

La actualidad más candente (20)

Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemático
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
Cocomo ii
Cocomo iiCocomo ii
Cocomo ii
 
Ingenieria Web
Ingenieria WebIngenieria Web
Ingenieria Web
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebas
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Diseño de Software (Ensayo)
Diseño de Software (Ensayo)Diseño de Software (Ensayo)
Diseño de Software (Ensayo)
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Etapa de estudio de viabilidad de un proyecto informático c4
Etapa de estudio de viabilidad de un proyecto informático c4Etapa de estudio de viabilidad de un proyecto informático c4
Etapa de estudio de viabilidad de un proyecto informático c4
 
4.5.3 operacion y seguridad seguridad en capas
4.5.3 operacion y seguridad   seguridad en capas4.5.3 operacion y seguridad   seguridad en capas
4.5.3 operacion y seguridad seguridad en capas
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de software
 

Similar a Sistemas_operativos

Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos Irauljide
 
Syllabus informática i 2014 semestre
Syllabus informática i 2014 semestreSyllabus informática i 2014 semestre
Syllabus informática i 2014 semestreadrianaruilova
 
Syllabus informática i 2014 semestre
Syllabus informática i 2014 semestreSyllabus informática i 2014 semestre
Syllabus informática i 2014 semestrenerearomero22
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestrebrylejo
 
Informática básica i semestre.
Informática básica i semestre.Informática básica i semestre.
Informática básica i semestre.joyvinmurilloz
 
Informática básica i semestre.
Informática básica i semestre.Informática básica i semestre.
Informática básica i semestre.joyvinmurilloz
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestrekatherineaguilarm
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestreTatiana Rosales
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestreMaritzaQ
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestrenelsonpfajardo
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestreTatiana Rosales
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestrekerly_ramon
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestreHeiidy Castillo
 
Sillabus Informatica Basica I
Sillabus Informatica Basica ISillabus Informatica Basica I
Sillabus Informatica Basica IFranciscaSerranoG
 

Similar a Sistemas_operativos (20)

Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos I
 
Syllabus informática i 2014 semestre
Syllabus informática i 2014 semestreSyllabus informática i 2014 semestre
Syllabus informática i 2014 semestre
 
Syllabus informática i 2014 semestre
Syllabus informática i 2014 semestreSyllabus informática i 2014 semestre
Syllabus informática i 2014 semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Majo
MajoMajo
Majo
 
Informática básica i semestre.
Informática básica i semestre.Informática básica i semestre.
Informática básica i semestre.
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
SYLLABUS
SYLLABUSSYLLABUS
SYLLABUS
 
SYLLABUS
SYLLABUSSYLLABUS
SYLLABUS
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre.
Informática básica i semestre.Informática básica i semestre.
Informática básica i semestre.
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Informática básica i semestre
Informática básica i semestreInformática básica i semestre
Informática básica i semestre
 
Silabo
SilaboSilabo
Silabo
 
Sillabus Informatica Basica I
Sillabus Informatica Basica ISillabus Informatica Basica I
Sillabus Informatica Basica I
 

Más de Vladimir Pomares

Conceptos Básicos de Geometría Plana
Conceptos Básicos de Geometría PlanaConceptos Básicos de Geometría Plana
Conceptos Básicos de Geometría PlanaVladimir Pomares
 
Textos continuos y discontinuos
Textos continuos y discontinuosTextos continuos y discontinuos
Textos continuos y discontinuosVladimir Pomares
 
Niveles de comprension lectora
Niveles de comprension lectoraNiveles de comprension lectora
Niveles de comprension lectoraVladimir Pomares
 
Manejo básico del computador
Manejo básico del computadorManejo básico del computador
Manejo básico del computadorVladimir Pomares
 
Instalacion de un servidor samba
Instalacion de un servidor sambaInstalacion de un servidor samba
Instalacion de un servidor sambaVladimir Pomares
 
Componentes de-la-computadora
Componentes de-la-computadoraComponentes de-la-computadora
Componentes de-la-computadoraVladimir Pomares
 
Historia de la Computacion
Historia de la ComputacionHistoria de la Computacion
Historia de la ComputacionVladimir Pomares
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Vladimir Pomares
 
TIC como Herramienta para la Informática Educativa
TIC como Herramienta para la Informática EducativaTIC como Herramienta para la Informática Educativa
TIC como Herramienta para la Informática EducativaVladimir Pomares
 
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación Vladimir Pomares
 

Más de Vladimir Pomares (17)

Conceptos Básicos de Geometría Plana
Conceptos Básicos de Geometría PlanaConceptos Básicos de Geometría Plana
Conceptos Básicos de Geometría Plana
 
Textos continuos y discontinuos
Textos continuos y discontinuosTextos continuos y discontinuos
Textos continuos y discontinuos
 
Propiedades del Texto
Propiedades del TextoPropiedades del Texto
Propiedades del Texto
 
Niveles de comprension lectora
Niveles de comprension lectoraNiveles de comprension lectora
Niveles de comprension lectora
 
asocir
 asocir asocir
asocir
 
El papa
El papaEl papa
El papa
 
Listado
ListadoListado
Listado
 
Manejo básico del computador
Manejo básico del computadorManejo básico del computador
Manejo básico del computador
 
Instalacion de un servidor samba
Instalacion de un servidor sambaInstalacion de un servidor samba
Instalacion de un servidor samba
 
Componentes de-la-computadora
Componentes de-la-computadoraComponentes de-la-computadora
Componentes de-la-computadora
 
Historia de la Computacion
Historia de la ComputacionHistoria de la Computacion
Historia de la Computacion
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 
Material
MaterialMaterial
Material
 
TIC como Herramienta para la Informática Educativa
TIC como Herramienta para la Informática EducativaTIC como Herramienta para la Informática Educativa
TIC como Herramienta para la Informática Educativa
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
Ppiosprogramacion 090925153826-phpapp01[1]Principios de Programación
 

Sistemas_operativos

  • 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 1
  • 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. PILAR Alexandra Moreno, docente de la UNAD, y ubicada en el CEAD de Duitama, la Ing. Moreno es Ingeniero de Sistemas, y Esp. en Pedagogía para el desarrollo del aprendizaje autónomo, se ha desempeñado como tutor de la UNAD en varios periodo académicos, actualmente es la coordinadora zonal de medios y mediaciones pedagógicas en la zona. El presente módulo ha tenido una actualización, la que se presenta en el periodo 2009-2 en su primera versión, esta fue realizada por el Ing. Yhon Pinzon quien ha sido tutor de la UNAD desde el año 2002, en el CEAD La Guajira y que se desempeña 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 administración de procesos, y en la unidad 3, al suprimir el capitulo de introducción a las redes, ya que este se desarrollo en el curso electivo del mismo nombre y en los cursos específicos del perfil de redes que se ven en el ciclo profesional. De la misma forma el modulo esta diseñado con la estructura establecidas por la VIMMEP, en el desarrollo de lecciones, lo que facilita el aprendizaje por parte del estudiante. Este mismo año (2009) el Ing. JAIME VALDES BENJUMEA, tutor del CEAD La Guajira, apoyó el proceso de revisión de estilo del módulo y dio aportes disciplinares, didácticos y pedagógicos en el proceso de acreditación de material didáctico desarrollado en el mes de JULIO de 2009. 2
  • 3. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS INTRODUCCIÓN Este módulo está diseñado para aquellas personas interesadas en abordar temáticas relacionadas con el campo de los sistemas operativos: teoría y aplicación. Trata de acercarlas a los aspectos más importantes que encierran los sistemas operativos, ubicando características básicas tanto a nivel de PC como a nivel de infraestructura de red. Por ello y para ello, se presenta el módulo “Sistemas Operativos”, como una alternativa de solución para esa búsqueda 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 ingeniería de sistemas en la que nos desempeñemos o queramos desempeñarnos vamos a trabajar con sistemas operativos: implementandolos, administrándolos, diseñandolos, desarrollandolos, utilizandolos, enseñandolos y resolviendo problemas que ahora serán más fáciles 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, aún más, la importancia de su conocimiento 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 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 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 relativa a las características, estructura, diseño, componentes que ayudan a conocer de 3
  • 4. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS forma integral un sistema operativo, para que podamos administrarlo de la mejor manera y sacar el máximo provecho a todas sus capacidades e incluso podamos enfrentarnos 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 las habilidades, a lo largo de los capítulos se incluyen ejercicios y/o ejemplos que sirven como activación cognitiva, para ubicar a los interesados en el contexto a desarrollar, también en algunos casos para reforzar o reafirmar una temática y al final de cada capítulo se encuentran ejercicios que servirán para la transferencia de los contenidos desarrollados a las diferentes prácticas de laboratorios ó a situaciones cotidianas o laborales y a sus intereses tanto profesionales como personales. Los ejercicios propuestos vienen diseñados 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 comunicación oral, comunicación escrita y trabajo colaborativo. Este módulo es el resultado de un trabajo extenso de consulta, investigación bibliográfica y sistematización de experiencias, el cual sirvió para la consolidación de 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 de trabajo y a las necesidades que pretende cubrir cada persona. Por ello en cada unidad didáctica se encuentra una sección bibliográfica recomendada, 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ón de cada una de las fases del proceso de aprendizaje como son: reconocimiento, profundización y transferencia, logrando una coherencia metodológica con la guía de actividades propuesta. Las unidades didácticas que lo conforman son tres, equivalentes al número de créditos asignados al curso académico. La primera y última unidad didáctica poseen 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 al interesado en los conceptos básicos y definición de lo que es un sistema operativo. En esta unidad se desarrollan capítulos como: Principios de los sistemas operativos, Características de los sistemas operativos y arquitectura cliente/servidor. Todos ellos para introducirnos al mundo de los sistemas 4
  • 5. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS operacionales, su historia, evolución, clasificación, estructura e infraestructura de aplicación. Ya revisadas las bases teóricas y funciones principales, estamos listos para continuar el tema de cómo gestionan y administran los diferentes recursos del sistema computacional, tema que le corresponde a la Unidad Didáctica 2. Administración de Recursos. Dichos recursos los aborda el curso así: En el cual estudiaremos 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 a cualquier sistema monosusuario o multisusuario que se nos presente. Ahora queda solamente aplicar toda la fundamentación teórica desarrollada en las dos unidades iniciales a los principales sistemas operativos del mercado. De esto se encarga la unidad didáctica 3. Principales sistemas operativos, que realiza una clasificación 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 agrupación Otros sistemas operativos se habla de sistemas como novell, OS/2 y VMS. Este módulo fue desarrollado tomando como referencia documentación y estudios realizados de los diferentes sistemas operativos, en cada una de las unidades, se relacionan las fuentes bibliográficas específicas sobre las cuales se trabajó. Además es importante recordar, que este módulo debe ir articulado con las diferentes actividades planteadas en la guía didáctica, pues es un curso metodológico, es decir tiene un componente de aplicación y trabajo en grupo. Por último, y como siempre, recomiendo que para facilitar el aprendizaje es importante consultar la bibliografía descrita, utilizar la biblioteca virtual y el acceso a Internet, con esto se está potenciando la capacidad de investigación y de auto gestión para llegar al conocimiento, según sean los logros y/o debilidades encontradas 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 y de sus necesidades. 5
  • 6. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO 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. 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 14 Introducción 14 Justificación 14 Intencionalidades Formativas 15 Denominción de Capitulos 15 Capitulo 1. Principios de los Sistemas Operativos 16 Introducción 16 LECCION 1. Historia y Evolución de los Sistemas Operativos 16 LECCION 2. Definiciones y Funciones de los Sistemas Operativos 22 LECCION 3. Sistema Computacional 26 LECCION 4. Protección en Sistemas Computacionales 34 LECCION 5. Conceptos de Sistemas Operativos 37 Capítulo 2. Características de los sistemas operativos 46 Introducción 46 LECCION 6. Tipos de Sistemas Operativos 46 LECCION 7. Sistemas operativos por los modos de explotación 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. Núcleos del Sistema Operativo 62 Capítulo 3. Arquitectura cliente servidor 66 Introducción 66 LECCION 11. Antecedentes y Definicion de la Arquitectura Cliente/Servidor 66 LECCION 12. Componentes y Característica 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 implantación 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 Introducción 94 Justificación 94 7
  • 8. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Intencionalidades Formativas 95 Denominción de Capitulos 95 Capítulo 1. Administración de los procesos 96 Introducción 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 Capítulo 2. Administración de la memoria y de Dispositivos 127 Introducción 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 Capítulo 3. Administración de archivos y Proteccion y Seguridad en los sistemas operativos 162 Introducción 162 LECCION 11. Sistema de Archivos y Directorios 162 LECCION 12. Estructura de Archivos y Directorios 169 LECCION 13. Tipos de sistemas de archivos, Protección de Ficheros y Administración 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 Introducción 199 Justificación 199 Intencionalidades Formativas 200 Denominción de Capitulos 200 Capítulo 1. Sistemas operativos Familia Windows 201 Introducción 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 8
  • 9. 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. Sistema operativo UNIX/LINUX 253 Introducción 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 instalación de impresoras 303 Capítulo 3. Otros sistemas operativos 314 Introducción 314 LECCION 11. Sistema Operativo Novell Netware 314 LECCION 12. Características 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 9
  • 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 18 Tabla 2. Evolucion de los sitemas operativos 21 Tabla 3. Etapas del camino de ejcución de un programa 135 Tabla 4. Implementación de los mecanismos de asignación de memoria virtual 136 Tabla 5. Algortimos de Selección 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 asignación continúa 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 características de Versiones Windows XP 227 Tabla 13. Lista los nombres de diversos manejadores para Linux 271 Tabla 14. Variables de entorno más comunes 294 Tabla 15. Tipos de sistemas de ficheros Linux 305 10
  • 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 21 Gráfica 2. Concepción de sistema operativo 24 Gráfica 3. Estructura de un sistema computacional 27 Gráfica 4. Sistema de entrada/salida E/S (Input-output I/O) 28 Gráfica 5. Interrupciones de Hardware 30 Gráfica 6. Acceso directo a memoria 31 Gráfica 7. Organización de un disco 32 Gráfica 8. Información de un sector 33 Gráfica 9. El cilindro 33 Gráfica 10. Jerarquía de memoria 34 Gráfica 11. Protección de memoria 36 Gráfica 12. Control de la protección de memoria 37 Gráfica 13. Flujo de una llamada al sistema 38 Gráfica 14. Estructura monolítica 45 Gráfica 15. Estructura por capas. 47 Gráfica 16. Máquina virtual 48 Gráfica 17. Cliente-servidor 47 Gráfica 18. Cinco niveles arquitectura/cliente servidor 74 Gráfica 19. Distribución cliente/servidor 75 Gráfica 20. Arquitectura cliente/servidor con interface común 83 Gráfica 21. Arquitectura cliente/servidor con gateway común 84 Gráfica 22. Arquitectura cliente/servidor con protocolo común 85 Gráfica 23. Estados de un proceso 98 Gráfica 24. Estados de un proceso: Modos kernel y usuario 100 Gráfica 25. Jerarquía de procesos 101 Gráfica 26. Conmutación y la PCB 104 Gráfica 27. Estructura de un proceso 105 Gráfica 28. Recursos de un thread 106 Gráfica 29. Tarea con múltiples threads 106 Gráfica 30. Interacción productor consumidor 108 Gráfica 31. Direccionamiento asimétrico- Cliente/servidor 108 Gráfica 32. Sincronización Rendezvous 109 Gráfica 33. Sincronización con buffers 110 11
  • 12. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Gráfica 34. Ejemplo de variables compartidas 111 Gráfica 35. Ejemplo de sección crítica 112 Gráfica 36. Implementación del semáforo 113 Gráfica 37. Implementación de semáforo para la sincronización 114 Gráfica 38. Implementación de semáforo en productor/consumidor 114 Gráfica 39. Productor/consumidor: sincronización completa 115 Gráfica 40. Estructura de una cola 118 Gráfica 41. Cuándo se itinera 119 Gráfica 42. Orden de peluquería 121 Gráfica 43. El más corto primero 122 Gráfica 44. Por prioridad 123 Gráfica 45. Round Robin 124 Gráfica 46. Colas multinivel 125 Gráfica 47. Colas multinivel realimentadas 126 Gráfica 48. Panorama del manejo de memoria 128 Gráfica 49. Organización simple de memoria 129 Gráfica 50. Proceso enlace de direcciones en memoria 135 Gráfica 51. Estrategia de mejor ajuste 137 Gráfica 52. Estrategia de primer ajuste 137 Gráfica 53. Estrategia de peor ajuste 138 Gráfica 54. Traducción de direcciones de memoria 139 Gráfica 55. Traducción de direcciones de memoria en segmentación 142 Gráfica 56. Entrada tipica de una tabla de páginas 143 Gráfica 57. Traducción en la segmentación – paginación 145 Gráfica 58. Ejemplos de dispositivos 154 Grafica 59. Bus 157 Gráfica 60. Organización sistema Pentium. Buses 157 Gráfica 61. Coordinación de la interacción 158 Gráfica 62. Manejo de interrupciones 159 Gráfica 63. Hardware DMA 160 Gráfica 64. Acceso secuencial 165 Gráfica 65. Acceso directo 165 Gráfica 66. Acceso indexado 166 Gráfica 67. Ejemplo de organización 166 Gráfica 68. Directorio de un nivel 167 Gráfica 69. Directorio de dos niveles 167 12
  • 13. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Gráfica 70. Directorio de árbol 168 Gráfica 71. Grafo cíclico 168 Gráfica 72. Organización de un disco 170 Gráfica 73. Organización de un sistema de archivos 170 Gráfica 74. Estructura de la tabla de archivos 171 Gráfica 75. Asignación contigua de espacio 172 Gráfica 76. Asignación de espacio enlazada 173 Gráfica 77. FAT 174 Gráfica 78. Asignación de espacio indexada 174 Gráfica 79. Lista enlazada de bloques libres 183 Gráfica 80. Dominios compartidos 185 Gráfica 81. Matriz de acceso 187 Gráfica 82. Matriz de acceso con dominios como objetos 188 Gráfica 83. Codificación RSA 194 Gráfica 84. Arquitectura Windows 95 - Fuente: www.club.telepolis.com 203 Gráfica 85. Componentes de Windows 98 205 Gráfica 86. Recursos que necesita el sistema para VM 207 Gráfica 87. Ejemplo de árbol de Hardware de Windows 98 209 Gráfica 88. Arquitectura de Windows 2000 211 Gráfica 89. Estructura del sistema operativo Windows 2003 Server 216 Gráfica 90. Arquitectura Windows NT 229 Gráfica 91. Arquitectura de Windows NT con Advanced Server 234 Gráfica 92. Arquitectura del sistema UNIX 255 Gráfica 93. Arquitectura Sistema Operativo Linux 258 Gráfica 94. Subsistema de ficheros 261 Gráfica 95. Subsistema de red 262 Grafico 96. Ventana de Configuración de XConfigurator 280 Grafico 97. Panel de configuración 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 Dirección. 290 Grafico 103. Servidor de impresión 307 Gráfica 104. Sistema de archivos de VMS 329 13
  • 14. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS UNIDAD 1 Nombre de la Unidad TEORIA DE LOS SISTEMAS OPERATIVOS Introducció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. 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 Operativos capítulos Capítulo 2. Características de los sistemas operativos Capítulo 3. Arquitectura cliente servidor 15
  • 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 OPERATIVOS INTRODUCCION En este capitulo estudiaran los conceptos fundamentales de los sistemas operativos así como las características y funciones, de igual forma se analizará cronológicamente la historia y evolución 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 comprensión y aprendizaje por parte del estudiante. LECCION 1. Historia y Evolución de los Sistemas Operativos Reconocimiento – Saberes Previos Para abordar esta lección es necesario el estudio de las definiciones de Sistemas Operativos, Sistemas Computacionales, y las funcionalidades y estructura de los mismos. Profundización 1.1. Historia de los sistemas operativos Para tratar de comprender los requisitos de un S.O y el significado de sus principales características, es útil considerar como han ido evolucionando éstos con el tiempo. Existen diferentes enfoques o versiones de cómo han ido evolucionando los sistemas operativos. La primera de estas versiones podría ser esta: 16
  • 17. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Periodo Avance Añ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 interactuaba los años 40 de manera directa con el hardware de la computadora, no hasta la existía realmente un sistema operativo; las primeras mitad de los computadoras utilizaban bulbos, la entrada de datos y los añ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 50's, la compañía General's Motors implanto años 50's y el primer sistema operativo para su IBM 170. Empiezan a surgir 60's 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 se 60's y 70's 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 América. A finales de los años 80's 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 90's y el Entramos a la era de la computación distribuida y del futuro 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. 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 operativos Se ha desarrollado otra versión, la cual se ha hecho con base a la evolución 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 Descripción Sistemas Batch Los primeros computadores eran grandes máquinas Simples 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 cuadro Sistemas Batch El Spooling mantiene una estructura de datos con 18
  • 19. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Tipo de sistema Descripción 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 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 nuevamente Sistemas de tiempo Los sistemas batch multiprogramados permiten usar compartido – Time recursos eficientemente, pero los usuarios no pueden sharing – multitarea interactuar con sus aplicaciones. El tiempo compartido (time sharing) o multitarea es una extensión de la multiprogramación. La CPU ejecuta Job 1 múltiples jobs, pero la conmutación de un job a otro Job 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 el Computadores mercado en la década del 70. El objetivo de los personales sistemas operativos de PC no es mejorar la eficiencia 19
  • 20. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Tipo 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 usan real cuando existen rígidos requerimientos de tiempo. Ejemplos: - Sistemas de Control Industrial 20
  • 21. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Tipo 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 operativos Algunos 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 discos La introducción de la tecnología de discos entrega una solución: en vez de leer del 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 similar cuando necesita imprimir una línea, la escribe en el disco Esta forma de procesamiento se denomina Spooling (Simultaneous peripheral operation 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ón A 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, recuerde que esta, está ligada al hardware pero en esta actividad se requiere solo expresar el software básico. 1 Ibid. Capítulo 1. p. 8 21
  • 22. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO 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 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ón 2.1 Definiciones de sistema operativo Conceptuar el término “sistema operativo” (ó S.O como se nombra en algunas partes del módulo) no es simple, precisamente es el objetivo primordial del módulo. Existen diversas definiciones de lo que es un sistema operativo, pero no hay una definición exacta, es decir una que sea estándar; a continuación se presentan 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. 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 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 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 puede concluir que en general un sistema operativo se describe desde dos puntos de vista: 23
  • 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 vista corresponde 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 operativo 2.2 Funciones del sistema operativo A continuación se muestran las funciones principales que realiza todo sistema operativo. Se puede decir que son las características del sistema operativo: - Conveniencia. Un sistema operativo hace más conveniente el uso de una computadora. - Eficiencia. Un sistema operativo permite que los recursos de la computadora se usen de la manera más eficiente posible. 24
  • 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 de manera que permita el desarrollo, prueba o introducción 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. - Administración de dispositivos (gestionar a través del kernel). Coordinando y manipulando los dispositivos conectados al ordenador. El sistema operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera. Además debe organizar los datos para acceso rápido y seguro. - Manejar las comunicaciones en red. El sistema operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de 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 al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora. - Técnicas de recuperación de errores. Gestiona los errores de hardware y la pérdida de los datos. - Gestión 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, informándoles si esa aplicación está siendo ocupada por otro usuario. - Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el software y la información almacenada en los sistemas. - Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el mismo recurso. - Administración de memoria. Asigna memoria a los procesos y gestiona su uso. - Generación de estadísticas. 25
  • 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 conserva hasta su finalización. - Administración de periféricos. - Permite que se puedan compartir el hardware y los datos entre los usuarios. El software de aplicación son programas que se utilizan para diseñar, tal como el 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 un conjunto de programas que facilitan el ambiente plataforma, y permite el diseño del mismo. El Software de base está compuesto por: • Cargadores. • Compiladores. • Ensambladores. • Macros. Transferencia – Autoevaluación Ahora que ya conoce el concepto y las funciones del sistema operativo, compárelas con las que había estudiado en la actividad de presaberes, establesca las diferencias. LECCION 3. Sistema Computacional Reconocimiento – Saberes Previos Para poder estudiar esta lección debe tener conocimiento claro de lo que es el sistema operativo y sus funcionalidades. Profundización 3.1. Estructura de un sistema computacional Un sistema operativo es una parte importante de cualquier sistema de computación. 26
  • 27. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Un sistema computacional es una plataforma sobre la cual se construyen los llamados sistemas de información, hoy en día, necesarios para la administración exitosa 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 de entrada/salida (E/S)) proporcionan los recursos de computación básicos. Los programas de aplicación definen la forma en que estos recursos se emplean para resolver los problemas de computación de los usuarios. Se pueden dividir en programas de sistemas como compiladores, assembler, editores, herramientas de monitoreo y mantención; y en aplicaciones propiamente dichas como sistemas de bases 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 computacional El sistema operativo se encuentra almacenado en la memoria secundaria. Primero se carga y ejecuta un pedazo de código 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 aplicación 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 función 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. También examinaremos los mecanismos de protección que provee la CPU para el S.O. Veamos: 3.2. Operación de un sistema computacional 27
  • 28. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Un sistema computacional consiste en una CPU y un número de dispositivos que tienen 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 por el 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. 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 algún evento. b. Interrupciones Una interrupción es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. La interrupción es generada por el hardware del sistema de cómputo. 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 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. 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 la operación del proceso) o puede ser causada por algún evento que puede estar relacionado o no con el proceso en ejecución (en cuyo caso se dice que es asíncrona con la operación 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 código de un byte y genera una interrupción para informar a la CPU que un carácter 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 carácter. Clases de Interrupciones Existen 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. 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 Hardware 3.3. Estructura del sistema de E/S Para iniciar una operación de E/S, el S.O. carga registros apropiados de los controladores de dispositivos. El controlador examina el registro, inicia la operación e informa de su término a la CPU mediante una interrupción 3 Ibid. Capítulo 2. p. 4 30
  • 31. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS La 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 la CPU del control de la transferencia del Buffer del controlador a la memoria principal. De esta forma se genera sólo una interrupción por bloque en vez de una interrupción por Byte 4 Gráfica 6. Acceso directo a memoria 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. Capítulo 2. p. 8 31
  • 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 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 sólo 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 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 disco 5 Ibid. Capítulo 2. p. 10 32
  • 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 cilindro f. Jerarquía de memoria En un sistema computacional existe una gran variedad de almacenamiento. El almacenamiento está organizado jerárquicamente. La jerarquía de almacenamiento responde al compromiso entre velocidad y costo de almacenamiento: el costo de almacenar un bit en una memoria muy rápida es caro. Otro aspecto a considerar es la volatilidad. 6 Ibid. Capítulo 2. p. 10 7 Ibid. Capítulo 2. p. 11 33
  • 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 memoria g. 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 medida que 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 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 tamaño es limitado resulta muy importante su administración. Transferencia - Autoevaluación 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. Protección en Sistemas Computacionales Reconocimiento – Saberes Previos Es necesario la comprensión y aprehensión de los sistemas computacionales, su estructura y características. 8 Ibid. Capítulo 2. p. 12 34
  • 35. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Profundización 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 operación se debe proteger al S.O. y los programas frente a situaciones de error. La protección se requiere para cualquier recurso compartido. El hardware provee una importante protección llamada Modo Dual Se agrega un bit al hardware llamado bit de modo para indicar dos modos posibles de operación. Los modos de operación son dos: Modo Monitor (también llamado kernel o modo sistema) Modo usuario Modo 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 y accesar 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. 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. 35
  • 36. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS b. Protección de E/S Para prevenir que un usuario realice una operación 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 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 en modo 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. 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 memoria Por 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ón A partir de lo aprendido en la lección, establezca algunos mecanismos de protección del Hardware de la sala de sistemas de su CEAD, en esto deben establecer al menos dos mecanismo para cada dispositivo estudiado en la lección. LECCION 5. Conceptos de Sistemas Operativos Reconocimiento – Saberes Previos Para poder estudiar esta lección con dedicación y que pueda ser comprendida por el estudiante se requiere de la aclaración y estudio de la definición de sistemas operativos y sistemas computacionales. 10 Ibid. Capítulo 2. p. 17 37
  • 38. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Profundización 5.1. Llamadas al sistema Hemos visto, por ejemplo, que las instrucciones de E/S son privilegiadas y por lo tanto 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ífica del vector de interrupciones. Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupción (excepción) de software. Los parámetros se pasan vía registro o direcciones de memoria. La siguiente gráfica muestra el flujo de una llamada al sistema. 11 Gráfica 13. Flujo de una llamada al sistema 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 varían de un sistema operativo a otro (aunque los conceptos fundamentales 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 de archivo - Por procesos: Un proceso es básicamente un programa en ejecución. Consta del programa ejecutable y la pila o stack del programa, su contador de programa, 11 Ibid. Capítulo 2. p. 19 38
  • 39. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS apuntador de pila y otros registros, así como la otra información 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 periódica, el sistema operativo decide suspender la ejecución de un proceso y dar inicio a la ejecución de otro, por ejemplo, porque el primero haya tomado ya más de su parte del tiempo de la CPU, en terrenos del segundo. Cuando un proceso se suspende temporalmente, debe reiniciarse después exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto significa que toda la información relativa al proceso debe guardarse en forma explí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 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 núcleo (en honor de las memorias de imagen de núcleo magnético 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 función 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 después de que se haya leído 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 pequeño llamado descriptor del archivo para utilizarse en operaciones subsiguientes. 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 comandos definitivamente 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 sistema operativo (está íntimamente ligado con este), hace un uso intenso de muchas características del sistema operativo y por tanto sirve como un buen ejemplo de la forma en que se pueden utilizar las llamadas al sistema. También es la interfaz primaria entre un usuario situado frente a su terminal y el sistema operativo. 39
  • 40. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Cuando algún usuario entra al sistema, un "shell" se inicia. El shell tiene la terminal como entrada y como salida estándar. Este da inicio al teclear solicitud de entrada, carácter 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 gráficas de Windows tienen la opción de Ejecutar, el cual es el shell del sistema, normalmente en Inicio – Opción ejecutar. En Linux se puede trabajar, la consola de comandos, como el intérprete de comandos shell. 5.3. Procesos Uno de los conceptos más importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno asociado (registros, variables,etc). El corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos, terminándolos y respondiendo a cualquier petición 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: 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 su padre. El SO provee medios de comunicación 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 40
  • 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 .text Otro medio de comunicación son las señales. (Análogas a las interrupciones, pero a nivel software). Un programa puede mandar señales a otros programas, el SO puede mandar señales al programa. 5.4. Archivos Un Archivo es una unidad lógica de almacenamiento. Es una abstración sobre el dispositivo 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 un orden lógico y control sobre su información. Los atributos normales de un archivo son: nombre, tipo, tamaño, tiempos y credenciales. El concepto de archivos y directorios se encuentra en prácticamente todos los sistemas 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 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 más procesos se están esperando mutuamente, en una situación sin salida. b. Memory Management (Manejo de Memoria): Estrategia de determinado S.O para el uso de memoria. Los problemas a resolver son protección y mapeo de programas. Ej. Memoria Virtual. 41
  • 42. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS Transferencia – Autoevaluación Recuerda lo que contesto en la revisión de presaberes de la lección 1, revise las respuestas planteadas en ese momento y haga ajustes después de haber estudiado la temática del capitulo. 42
  • 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 OPERATIVOS INTRODUCCION En este capitulo estudiaremos con detenimiento los tipos de sistemas operativos, la estructura y los núcleos 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 características principales que a su juicio, tienen los sistemas operativos Windows y Linux (los que Usted normalmente maneja. Distribución y versión 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. Profundización 6.1. Tipos de sistemas operativos Según la perspectiva con la que se observen los sistemas operativos, pueden realizarse 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. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS 6.2. Sistemas operativos por su estructura – Visión interna12 Esta clasificación tiene en cuenta cómo se diseñan los sistemas a la hora de ser creados. Hay que tener en cuenta que, en la mayoría de los casos estas concepciones de diseño no se aplican aisladas, si no que puede haber interrelación entre ellas. Se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los cuales son: Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado 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 errores y flexibilidad. A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren obtener. a. Estructura monolítica 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 caracterí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 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). Introducción a los Sistemas Operativos. Madrid, Mc Graw Hill. p. 33. 44
  • 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ítica b. Estructura jerárquica – Por capas A medida que los sistemas operativos fueron creciendo, fue siendo necesaria una mayor estructuración. Se dividió el sistema operativo en pequeñas 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 entrarían 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: 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. 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 en múltiples plataformas hardware, por lo que debe adaptarse a las peculiaridades de cada 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. De esta forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más protegidas de accesos indeseados desde las capas más externas. Se puede 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 veces denominado simplemente “máquina pura” o los “hierros desnudos”. En seguida se encuentran todos los anillos o capas propias del sistema operativo. 46
  • 47. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA CONTENIDO DIDÁCTICO DEL CUSO: 301402 – SISTEMAS OPERATIVOS USUARIO 0. Hardware Gestión de la información Gestión de dispositivos Gestión de procesos Gestión de memoria Gestión del procesador 1 2 3 4 5 Gráfica 15. Estructura por capas. c. Máquina virtual Se trata de un tipo de sistemas operativos que presentan una interfaz a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario La principal ventaja de esta estructura reside en que permite implementar varios tipos de sistemas operativos sobre cada máquina virtual. La principal ventaja de esta estructura reside en que permite implementar varios tipos de sistemas operativos sobre cada máquina virtual. No obstante, presentan 47