10
Sistemas Operativos

Sistemas operativos

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Sistemas operativos

Sistemas

Operativos

Page 2: Sistemas operativos

Informática Tics

1

2. FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Sin el software, una computadora es en esencia una masa metálica sin utilidad. Con el software, una computadora puede almacenar, procesar y recuperar información, encontrar errores de ortografía en manuscritos, entre otras cosas.

El software para computadoras puede clasificarse en general en dos clases: los programas de sistema, que controlan la operación de la computadora en sí y los programas de aplicación, los cuales resuelven problemas para sus usuarios.

El programa fundamental de todos los programas de sistema es el sistema operativo, que controla todos los recursos de la computadora y proporciona la base sobre la cual pueden escribirse los programas de aplicación.

2.1 ¿QUÉ ES UN SISTEMA OPERATIVO?

Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.

2.2 EVOLUCION DE LOS SISTEMAS OPERATIVOS

2.2.1 AÑOS 40

En ese entonces no existían los Sistemas Operativos y los programadores debían interactuar con el hardware de la computadora sin ayuda externa. Todo se hacía en lenguaje máquina.

2.2.2 AÑOS 50

Los sistemas operativos de los años cincuenta fueron diseñados para hacer más fluida la transición entre trabajos, antes de que los sistemas fueran diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente, este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes, cuando el trabajo estaba en ejecución, este tenía control total de la máquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e iniciaba el trabajo siguiente.

Page 3: Sistemas operativos

Informática Tics

2

Al inicio de los 50 esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina), puesto que ya no había necesidad de utilizar los tableros enchufables.

También aparecieron conceptos tales como el monitor residente y el almacenamiento temporal.

2.2.3 AÑOS 60

En los años 1960 hubo cambios notables en varios campos de la informática, con la aparición del circuito cerrado la mayoría orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban técnicas de lo más diversas:

Multiprogramación: En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. El CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa.

Tiempo compartido: En este punto tenemos un sistema que usa la electrónica disponible, pero carece de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido.

Tiempo real: Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador.

Multiprocesador: Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj.

Page 4: Sistemas operativos

Informática Tics

3

2.2.4 AÑOS 70 y 80

Los sistemas de los años 70 y 80 constituyen el estado actual de la tecnología.

Con la ampliación del uso de redes de computadores y del procesamiento en línea los usuarios obtienen acceso a computadores alejados geográficamente a través de varios tipos de terminales.

Los sistemas de Bases de Datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la información, y el trabajo de las Bases de Datos es hacer que esta información sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso.

Surgen los conceptos de interfaces amigables intentando así atraer al público en general al uso de las computadoras como herramientas cotidianas.

En esta época dos sistemas operativos eran mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y el sistema UNIX.

También es común encontrar clones de computadoras personales y una multitud de empresas pequeñas ensamblándolas por todo el mundo.

2.2.5 AÑOS 90 en adelante

En 1991 aparece la primera versión del núcleo de Linux. Creado por Linus Torvalds y un sinfín de colaboradores a través de Internet. Este sistema se basa en Unix, un sistema que en un principio trabajaba en modo de comandos, estilo MS-DOS.

Page 5: Sistemas operativos

Informática Tics

4

2.3 CONCEPTOS DE LOS SISTEMAS OPERATIVOS

2.3.1 Procesos

Un proceso es básicamente, un programa en ejecución.

2.3.2 Archivos

La otra gran categoría de llamadas al sistema se relaciona con el sistema de archivos.

Para poder proporcionar un espacio donde almacenar los archivos, la mayoría de los sistemas operativos soportan el concepto de directorio como una forma de agrupar los archivos.

Cada proceso tiene activo un directorio de trabajo, en el que se buscan aquellos nombres de las rutas de acceso que no comiencen con una diagonal.

2.3.3 Llamadas al sistema

Los programas del usuario se comunican con el sistema operativo y le solicitan servicio mediante las llamadas al sistema.

Este procedimiento pone los parámetros de la llamada al sistema en un lugar específico, como pueden ser los registros de la máquina, para después ejecutar una instrucción.

2.3.4 El Shell

Es la interfaz principal entre un usuario sentado frente a una terminal y el sistema operativo.

2.4 ELEMENTOS DE LOS SISTEMAS OPERATIVOS

Un sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware, estos elementos se incluyen por lo general en este conjunto de software:

El núcleo, que representa las funciones básicas del sistema operativo, por ejemplo, la gestión de memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.

El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizando, la gestión de las direcciones físicas, etc.

El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

Page 6: Sistemas operativos

Informática Tics

5

2.5 Tipos de Sistemas Operativos

Los sistemas operativos se clasifican en tres: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión externa).

2.5.1 Sistemas Operativos por su Estructura

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.

b) Estructura Jerárquica.

Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente definida.

Esta estructura se basa prácticamente la mayoría de los sistemas operativos actuales.

c) Máquina Virtual.

Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. 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.

Sistemas Operativos por su Estructura

Monolítica Jerárquica Maquina

Virtual Cliente - Servidor

Page 7: Sistemas operativos

Informática Tics

6

d) Cliente-servidor

Este tipo de sistemas es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.

2.5.2 Sistemas Operativos por Servicios

Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final, esta clasificación se comprende fácilmente con el cuadro sinóptico que a continuación se muestra en la figura.

a) 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.

Sist

emas

Op

era

tivo

s p

or

Serv

icio

s

Por el número de Usuarios

Monousuarios

Multiusuarios

Por el número de Tareas

Monotareas

Multitareas

Por el número de Procesadores

Uniproceso

Multiproceso

Simétricos

Asimétricos

Page 8: Sistemas operativos

Informática Tics

7

b) Multiusuarios

Los sistemas operativos Multiusuarios son capaces de dar servicio a más de un usuario a la vez, no importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

c) 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.

d) Multitareas

Un sistema operativo multitarea es aquél que le permite al usuario realizar varias labores al mismo tiempo, por ejemplo, puede estar en un editor de texto y a la vez editar una foto en otro programa, es común encontrar 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.

e) Uniproceso

Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.

f) 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 distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas:

Simétrica: Los procesos o partes de ellos son enviados indistintamente a cualquiera de los procesadores disponibles.

Asimétrica: El sistema operativo selecciona a uno de los procesadores el cual distribuirá la carga a los demás procesadores, que reciben el nombre de esclavos.

2.5.3 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, cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.

a) Sistemas Operativos de Red

Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. 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 que desee accesar.

b) Sistemas Operativos Distribuidos

Los sistemas operativos distribuidos integran los recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual que el usuario accesa en forma transparente, es decir, ahora el usuario ya no necesita 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 trabajo habitual.

Page 9: Sistemas operativos

Informática Tics

8

2.6 Funciones de los Sistemas Operativos.

Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.

Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la Memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.

Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o de entrada/salida).

Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir".

Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.

Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.

Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

2.7 Características de los Sistemas Operativos.

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.

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.

Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.

Organizar 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.

Page 10: Sistemas operativos

Informática Tics

9

Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo ocupada por otro usuario.

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

2.8 Sistema Operativo como administrador de recursos

La otra tarea de un sistema operativo consiste en administrar los recursos de un computador cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso (como tiempo de CPU, memoria o impresora).

Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del Sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otro computador). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.

2.9 Recursos administrados por los Sistemas Operativos

Procesadores.

Almacenamiento.

Dispositivos de entrada y salida.

Datos.

2.10 Tareas que realiza un Sistema Operativo

Realizar el interfaz sistema-usuario.

Compartir los recursos de Hardware entre los usuarios.

Permitir a los usuarios compartir sus datos entre ellos.

Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.

Calendarizar los recursos de los usuarios.

Facilitar el acceso a los dispositivos de E/S.

Recuperarse de fallas o errores.

Llevar el control sobre el uso de los recursos.