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