Tema 45 – Sistemas Operativos.

Tema 45 – Sistemas Operativos.

Tipos. Características. Funciones. Estructura y componentes. Instalación.

– INDICE

1. INTRODUCCIÓN

2. SISTEMAS OPERATIVOS

3. TIPOS

4. CARACTERÍSTICAS

5.FUNCIONES DE UN S.O.

6.ESTRUCTURA Y COMPONENTES

6.1. Núcleo (Kermel)

6.2. Administración de memoria

6.3. Sistema de entrada/salida (E/S)

6.4. Sistema de archivos de S.O.

7. INSTALACIÓN

1. INTRODUCCIÓN

Sólo con el Hardware no hay bastante para que un equipo informático fun­cione, es necesario que a este equipo se le suministren los datos que ha de gestionar y las instrucciones para la manipulación de estos datos.

Es lo que se llama el software del equipo. Dentro de esta definición entra­rían todos los programas y las aplicaciones, desde programas de contabilidad, hojas de cálcu­lo, bases de datos hasta vídeo juegos.

Dentro del software se ha de diferenciar dos grupos, el que acabamos de describir, llamado software de aplicaciones y el software básico o sistema operativo.

El sistema operativo es, junto con el microprocesador, la parte más impor­tante de un equipo informático.

La función de un sistema operativo es básicamente la de establecer la co­municación lógica entre los diferentes elementos del ordenador para que puedan funcionar las diferentes aplicaciones, intentando mejorar la relación entre el usuario y la máquina y optimi­zando al máximo los recursos de todo el sistema.

Las funciones de sistema operativo dependen de cual se utilice básica­mente son las siguientes.

• Planificación, iniciación y supervisión de los programas.

• Asignación de memoria i gestión de los dispositivos del sistema. • Inicialización y control de las operaciones de entrada-salida.

• Control de errores del sistema.

• Coordinar la comunicación entre todos los elementos del sistema i entre el usuario y el sistema.

• Si soporta multiproceso y tiempo compartido, gestionar estas operacio­nes.

2. SISTEMAS OPERATIVOS

Un Sistema Operativo es un “programa” cargado al encender el ordenador, que actúa como intermediario entre el usuario y el hardware de la máquina, cuyo objetivo es proporcionar unas utilidades que permitan ejecutar diversos procesos de manera cómoda y fácil.

Los sistemas operativos, al igual que el hardware, han sufrido cambios a través del tiempo, los cuales se pueden agrupar en generaciones. La evolución del hardware ha marcado el paralelismo de la evolución de los sistemas operativos.

• Primera Generación (Finales de la década de los 50)

En esta década aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes. Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea. Aparece el concepto de nombres de archivo del sis­tema para lograr independencia de información.

• Segunda Generación (Mitad de la década de los 60)

En esta generación se desarrollan los sistemas compartidos con multipro­gramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densi­dad. El sistema operativo localizaba entonces una unidad de cinta disponible con las caracte­rísticas deseadas, y le indicaba al operador que montara una cinta en esa unidad.

• Tercera Generación

En esta época surge la familia de ordenadores IBM/360 diseñados como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, proce­samiento en tiempo real y multiproceso.

• Cuarta Generación (Mitad de la década de los 70 hasta nuestros días)

Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del pro­cesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales.

Con estos sistemas operativos aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware del ordenador con el que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sis­tema operativo.

• Futuro Próximo

Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es convertirse en sistemas’ opera­tivos distribuidos.

Los sistemas operativos distribuidos están diseñados para su uso en un grupo de computadoras conectadas pero independientes que comparten recursos. En un sis­tema operativo distribuido, un proceso puede ejecutarse en cualquier ordenador de la red (normalmente, un ordenador inactiva en ese momento) para aumentar el rendimiento de ese proceso. En los sistemas distribuidos, todas las funciones básicas de un sistema operativo, como mantener (os sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan más complejas.

Se ha progresado mucho en el desarrollo de los sistemas operativos Estos progresos han sido paralelos a la aparición de nuevas tecnologías y de nuevos algoritmos para las tareas de los sistemas operativos.

Actualmente, hay solamente dos paradigmas fundamentales del sistema operativo: el intérprete de la línea de comando (UNIX, DOS), y la interfaz gráfica (Macintosh os, OS/2, Windows 95).

3. TIPOS DE SISTEMAS OPERATIVOS

Los sistemas operativos se pueden clasificar en:

– Sistemas operativos por los servicios que ofrecen.

– Sistemas operativos por la forma en que ofrecen sus servicios (visión ex­terna).

A,) Sistemas Operativos por Servicios

Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final.

• Monousuarios

Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.

• Multiusuarios

Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunica­ciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

• Monotareas

Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

• Multitareas

Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar edi­tando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

• Uniproceso

Un sistema operativo uniproceso es aquél que es capaz de manejar sola­mente un procesador de la computadora, de manera que si la computadora tuviese más de uno le seria inútil. El ejemplo más típico de este tipo de sistemas es el dos y macOs

• Multiproceso

Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para dis­tribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimé­trica, el sistema operativo selecciona a uno de los procesadores el cual ju­gará el papel de procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualesquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.

Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable, los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces es costosa en horas hombre y muy te­diosa, obligando al programador a ocupar tanto o más tiempo a la paraleli­zación que a elaborar el algoritmo inicial.

B) Sistemas Operativos por la Forma de Ofrecer sus Servicios

Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.

• Sistemas Operativos de Red

Los sistemas operativos de red se definen como aquellos que tiene la ca­pacidad eje interactuar con sistemas operativos en otros ordenadores a tra­vés de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras activi­dades. El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar

estas operaciones, además de la ubicación de los recursos a los que desee acceder. Lo importante es hacer ver que el usuario puede acceder y com­partir muchos recursos.

– Sistemas Operativos Distribuidos

Los sistemas operativos distribuidos abarcan los servicios de los de red, lo­grando integrar recursos (impresoras, unidades de respaldo, memoria, pro­cesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accede en forma transparente. Es decir, ahora el usuario ya no ne­cesita saber la ubicación de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de tra­bajo habitual.

No hay que confundir un Sistema Operativo de Red con un Sistema Opera­tivo Distribuido. En un Sistema Operativo de Red los ordenadores están interconectados por medios de comunicación: software y hardware. En este tipo de red los usuarios saben donde están ejecutando su trabajo y guar­dando su información. En carnbio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de ordenadores y para los usuarios es transparente donde realizan sus ta­reas y guardan su información.

4. CARACTERÍSTICAS

Los Sistemas Operativos tienen ciertos objetivos que cumplir y deben reali­zar una serie de tareas. Pero además deben de tener una serie de características, entre las que se señalan­

Eficacia: Es la característica principal, que el Sistema Operativo ejecute sus funciones de forma rápida y utilizando pocos recursos del ordenador optimizando. El tiempo que emplea en su funcionamiento se mide con di­versas magnitudes, entre ellos destacan: Tiempo con la CPU no utilizada, tiempo de respuesta en multiusuario, etc.

– Fiabilidad: Es crucial, ya que un fallo en el Sistema Operativo puede inu­tilizar el ordenador que está controla.

– Facilidad: Es fácil de mantener cuando es sencillo modificarlo para adaptarlo.

– Tamaño: Pequeño, menos espacio, menos propensión a fallos.

– Portabilidad: Un Sistema Operativo es portable cuando se puede trans­portar de un ordenador a otro físicamente. (Sistemas Abiertos).

– Multitarea: En un Sistema Operativo monotarea el microprocesador del ordenador dedica todo su tiempo a una única tarea, mientras que un Siste­ma Operativo multitarea se pueden ejecutar varios a la vez. No es que el ordenador realice varias operaciones al mismo tiempo, si no que se divide el tiempo que el microprocesador dedica a cada tarea, lo cual debido a la velocidad, ofrece la impresión de que se están ejecutando a la vez.

– Monousuario/Multiusuario: En los Sistemas Operativos monousuarios todos los datos y recursos están en cualquier momento a disposición del único usuario que trabaja con ese Sistema Operativo. Por el contrario en los Sistemas Operativos multiusuario existe compartición de datos y de re­cursos; es decir, el sistema contempla la posibilidad de que dos o más usuarios intentar acceder al mismo dato, o las características que permiten a varios usuarios utilizar la misma impresora.

5. FUNCIONES DE UN S.O.

El sistema operativo gestiona recursos y programas. El hecho de introducir un sistema operativo nos permite utilizar el software de una manera más cómoda y gestionar adecuadamente los recursos del hardware.

Las funciones más importantes que debe cumplir un sistema operativo son las siguientes:

• Aceptar los trabajos y conservarlos hasta su finalización.

• Detectar errores y actuar de modo apropiado en caso de que se produz­can.

• Controlar las operaciones de E/S.

• Controlar las interrupciones.

• Planificar la ejecución de tareas.

• Entregar recursos a las tareas.

• Retirar recursos de las tareas.

• Proteger la memoria contra el acceso indebido de los programas.

• Soportar el multiacceso.

• Proporcionar al usuario un sencillo manejo de todo el sistema.

• Aprovechar los tiempos muertos del procesador.

• Compartir los recursos de la máquina entre varios procesos al mismo tiempo.

• Administrar eficientemente el sistema de cómputo como un todo armóni­co.

• Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros.

• Permitir a los usuarios almacenar información durante plazos medianos o largos.

• Dar a los usuarios la facilidad de utilizar de manera sencilla todos los re­cursos, facilidades y lenguajes de que dispone la computadora.

• Administrar y organizar los recursos de que dispone una computadora pa­ra la mejor utilización de la misma, en beneficio del mayor número posible de usuarios.

• Controlar el acceso a los recursos de un sistema de computadoras.

6. ESTRUCTURA Y COMPONENTES DEI. S.O.

Un sistema operativo está conformado básicamente por cuatro módulos:

• Núcleo o Kernel.

• Administrador de memoria. • Sistema de entrada/salida. • Administrador de archivos.

R veces se considera un quinto módulo: el intérprete de comandos o intér­prete de instrucciones, el cual 5e encarga de “traducir” las órdenes que el usuario ingresa mediante el teclado u otros dispositivos a un “lenguaje” que la máquina pueda entender.

6.1. NÚCLEO

Es el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware del ordenador. Entre las tareas que desempeña se incluyen el manejo de las interrupciones, la asignación de trabajo al procesador y el proporcionar una vía de comunica­ción entre los distintos programas, En general, el núcleo se encarga de controlar el resto de los

sidades de sincronizar, atrapar interrupciones y ofrecer llamadas a1 sistema para los programa­dores.

6.4. ADMINISTRADOR DE ARCHIVOS

Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los me­dios de almacenamiento masivo. El administrador de archivos también supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada rnomento y coopera con el módulo administrador de memo­ria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.

Los archivos almacenados en los dispositivos de almacenamiento masivo tienen dis­tintos propósitos. Algunos contienen información que puede ser compartida. Otros son de ca­rácter privado, e incluso secreto. Por tanto, cada archivo está dotado de un conjunto de privile­gios de acceso, que indican la extensión con la que se puede compartir la información conteni­da en el archivo. El sistema operativo comprueba que estos privilegios no sean violados.

Un sistema de archivos (file system) es una estructura de directorios con algún tipo de organización el cual nos permite almacenar, crear y borrar archivos en diferentes formatos. En esta sección se revisarán conceptos importantes relacionados a los sistemas de archivos.

7. INSTALACION

Los programas de instalación de sistemas operativos existentes se limitan a simples procedimientos para copiar archivos al disco, agregar claves de registro y crear shortcuts (accesos directos).

Por lo que si el usuario prefiere la opción de instalación típica, el programa de instalación se ejecuta a través de un programa simple, de principio a fin, el cual determina qué archivos deben copiarse y dónde, agrega claves de registro y crea accesos directos a las aplicaciones. Una vez ejecutado este programa, la instalación habrá terminado y el programa la aplicación .

Si un usuario tuviera que instalar un componente adicional más tarde, ten­drá que saber cómo iniciar el programa de instalación otra vez, cómo agregar o eliminar com­ponentes, y exactamente qué componentes necesita.

Por otra parte, los servicios avanzados de instalación (p.e. Windows insta­ller), consideran que todas las aplicaciones son como tres bloques de creación lógica:

• Componentes. • Funciones.

• Productos.

Un componente es un grupo de archivos, claves de registro y otros recur­sos que se instalan como una unidad. A pesar de que los usuarios no ven estos componentes, con tener unidades discretas que trabajen juntas, tanto el desarrollador como el administrador obtienen mayor flexibilidad y control.

Debido a que los recursos se administran en el ámbito del componente y no a nivel de archivo, el servicio avanzado monitoriza con precisión aquellos archivos, claves de registro o accesos directos que están compartidos

Documentas de una instalación

Estos documentos tienen como objetivo, proporcionar una descripción ge­neral de una tecnología particular.

Algunos de los documentos relacionados con la instalación incluyen lo si­guiente:

* Enfoque de instalación. Este documento proporciona un enfoque para planear una instalación y tomar decisiones de instalación del sistema ope­rativo.

• Guías y programas de instalación de un sistema operativo. Estas guías y programas proporcionan rutas y recomendaciones específicas para instalar el sistema operativo en un entorno determinado.

• Manual de Configuración.

• Manual de Administración. se recogen las tareas y labores del equipo de administración para el mantenimiento y conservación del sistema operativo.

RESUMEN

El estudio de los sistemas operativos desde dos puntos de vista: controladores de re­cursos y máquinas extendidas.

Desde el punto de vista de controlador de recursos, +a labor del sistema operativo es la de controlar con eficacia las distintas partes del sistema. Desde el punto de vista de máquina extendida, su labor es la de proporcionar a los usuarios una máquina virtual que tenga un uso más conveniente que la máquina real.

Después puntualizamos la historia de los ordenadores y sus sistemas operativos para saber como llegamos hasta dónde estamos. Se exhibieron cuatro épocas, desde los inicios hasta los ordenadores personales.

Examinamos distintas formas de estructurar un sistema operativo: como sistema mo­nolítico, como una jerarquía de capas, como un modelo cliente-servidor.

Se estudia la estructura y los componentes de los sistemas operativos, el núcleo, ad­ministrador de memoria, el administrador de entrada/salida, y el administrador de archivos; así como las funciones.