martes, 30 de septiembre de 2014

SISTEMAS MULTIUSUARIO Y DE RED UT3

SISTEMAS OPERATIVOS



INTRODUCCIÓN

Desde que encendemos el ordenador ya estamos utilizando el sistema operativo. Aunque por otra parte el sistema operativo por sí solo no tiene mucha utilidad, puesto que su función no es otra que hacer de enlace entre el hardware de nuestra máquina y los programas de aplicación que utilicemos:



Vamos a ver a continuación algunas definiciones de sistema operativo, puedes tener una idea bastante completa de lo que estamos estudiando si combinas todas estas definiciones.

• Un Sistema Operativo (SO) es un conjunto de programas y funciones que gestionan y coordinan el funcionamiento del hardware y software, ofreciendo al usuario una forma sencilla de comunicarse con el ordenador.

• Puedes imaginar un sistema operativo como los programas que hacen utilizable el hardware. El hardware proporciona la "capacidad bruta de proceso"; los sistemas operativos ponen dicha capacidad de proceso 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 ordenador.

• Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware del ordenador y su propósito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un sistema operativo es, lograr que el sistema informático se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.

AUTOEVALUACION

Un sistema operativo:
a) Administra los recursos hardware de la máquina
b) Es un conjunto de programas y funciones que gestionan y coordinan el funcionamiento del hardware y software
c) Actúa como intermediario entre el usuario y el hardware del ordenador
d) Todas las respuestas son correctas

CARACTERÍSTICAS

Las características generales de los sistemas operativos son las siguientes:
• Concurrencia
Consiste en la existencia de varias actividades simultáneas y su solución.
• Compartición de recursos
Las principales razones para permitir la compartición de recursos son la reducción de coste, reutilización, compartición de datos, y eliminación de redundancia.
• Almacenamiento a largo plazo
Para un almacenamiento de los datos a plazo largo se utilizarán medios no volátiles.
• Indeterminismo

El sistema operativo puede ser:

• Determinista – Un mismo programa ejecutado en momentos diferentes produce los mismos resultados.
• Indeterminista –Tiene que responder a circunstancias que pueden ocurrir en un orden impredecible.
• Eficiencia
El sistema operativo tiene que ejecutar rápidamente los procesos y optimizar la utilización de recursos.
• Fiabilidad
El sistema operativo tiene que estar libre de errores.
• Facilidad de corrección
El sistema operativo tiene que ofrecer modularidad, buenas interfaces y documentación suficiente para facilitar las tareas, para mejorar las prestaciones o para corregir errores.
• Tamaño reducido
Cuanta menos memoria utilice el sistema operativo, será más eficiente.

COMPONENTES

El sistema operativo proporciona un entorno en el cual se ejecutan los programas. Dicho entorno divide lógicamente el sistema en pequeños módulos creando un interfaz bien definido para los programas que se ejecutarán. A continuación revisamos algunos de los componentes que debe incluir todo sistema operativo:

• El núcleo

Transforma los recursos reales del ordenador en recursos estándares y cómodos de usar.
Sus funciones son:
·         Controlar las interrupciones
·         Gestionar las E/S
·         Gestionar los procesos
·         Sincronización de procesos

• La API (Interfaz de Programación de Aplicaciones) del núcleo

Es el conjunto de servicios que ofrece el sistema a las aplicaciones de usuarios de ese sistema. Las aplicaciones invocan estos servicios a través de llamadas a procedimientos. 
La API queda definida por lo tanto por los nombres de estos procedimientos, sus argumentos y el significado de cada uno de ellos.

Si por ejemplo el usuario ordena guardar un dato en memoria, se llama al procedimiento “procedimiento_guardar_dato” – que indica los pasos a seguir para guardar ese dato en memoria.

El conjunto de servicios que ofrece el núcleo a los procesos se denomina la API del núcleo. Está formada por procedimientos pertenecientes al núcleo, pero que se invocan desde un proceso cualquiera. 
La invocación de uno de estos procedimientos es un llamada al sistema.



  • Los drivers para dispositivos
Un driver o controlador hace que el sistema operativo de una computadora pueda entenderse con cualquier periférico, como es el caso de una impresora, una placa de video, un mouse, un módem, etc. Un driver es como un traductor entre el ordenador y el periférico.

• El sistema de archivos

Se encarga de estructurar un disco en una estructura jerárquica de archivos y directorios.

• El intérprete de comandos (shell)

Se encarga de leer las órdenes interactivas de usuario y ejecutar los programas que el usuario indique.

ESTRUCTURA

Objetivo: Interpretar las funciones que realizan los niveles o capas de un Sistema Operativo


Los sistemas operativos se organizan en capas o niveles en torno a un núcleo principal. Cada una de estas capas o niveles realiza una función determinada y, dependiendo de esa función, tienen más o menos prioridad. La capa principal y la de mayor prioridad es el núcleo.

Un sistema operativo se puede estructurar o dividir en cuatro capas o niveles:


• Nivel usuario

Recoge las órdenes que el usuario da al ordenador.


• Nivel supervisor

Se encarga de realizar la comunicación de cada proceso entre el sistema y el usuario. O sea comprueba las ordenes que da el usuario.
Controla y coordina la gestión de entrada/salida de los diferentes procesos hacia los periféricos.


• Nivel ejecutivo

Realiza la administración y gestión de la memoria. Se encarga de almacenar los procesos en páginas, tanto en memoria principal como en disco. Ya veremos que esta gestión es la llamada “gestión de memoria virtual”.


• Nivel núcleo

Es el que se encarga de controlar todo lo que ocurre en el ordenador. Gestionan los procesos que llegan para ser ejecutados. Son fundamentalmente, sistemas operativos multiusuario. Este nivel se encarga de realizar tareas básicas del sistema, comunicación con el hardware, planificación de procesos, etc.

Las capas de un sistema operativo, relacionadas con los niveles, son las siguientes:


Dependiendo del SO que tengamos instalado este va a tener mas o menos niveles.

EJEMPLO:

Vamos a ver como funcionan los niveles del SO en el caso de que el usuario ordene poner en negrita un texto:



• La orden se pasa al “Nivel de usuario” y el nivel de usuario recoge la orden.
• Lo pasa al “Nivel supervisor” y el supervisor comprueba que esa orden es correcta.
Ejemplo de orden incorrecta – No haber seleccionado el texto, entonces no puede cumplir la orden porque no tiene nada que poner en negrita.



• Se pasa al “Nivel ejecutivo” y el nivel ejecutivo selecciona ese texto en memoria y lo prepara para ponerlo en negrita.
• El “núcleo” le comunica al microprocesador que tiene que mostrar en pantalla el texto en negrita.
• El “microprocesador” – Ejecuta la orden, o sea pone el texto en negrita. Esa orden consta de dos partes:

o Mostrar el texto (en negrita) en pantalla.

o Y almacenarlo en memoria ya puesto en negrita.



• El resultado lo pasa al Núcleo, este al Nivel Ejecutivo, este al Nivel Supervisor, este al Nivel Usuario, que muestra al usuario el texto en negrita


EVOLUCIÓN HISTÓRICA

PRIMERA GENERACIÓN (1945-1955)


En esta época se utilizaba la tecnología de las válvulas o tubos de vacío que hacían que los ordenadores fuesen enormes. El usuario tenía que hacer todos los programas en código binario. Las máquinas eran de un gran costo.

Estos primeros sistemas operativos se limitaban a controlar y secuenciar la ejecución de programas y sus datos, que en aquella época estaban escritos en tarjetas perforadas. Las tarjetas perforadas llevaban escritas las instrucciones de programa en forma de agujeros en una cartulina, que una máquina lectora de tarjetas comunicaba al sistema operativo. Este iba obteniendo las diferentes instrucciones en secuencia y controlando su ejecución.






SEGUNDA GENERACIÓN (1955-1965)


En esta época aparecen:


• Los transistores que hacen que las máquinas se reduzcan de tamaño.

• Los lenguajes de bajo nivel (assembler) y el lenguaje JCL.

• Los lenguajes de alto nivel que tenían que cargar un compilador que convertía el lenguaje en assembler de la máquina en la que se compilaba. Había que quitar el compilador de la cinta magnética e insertar el traductor, más tarde carga el programa objeto en memoria y lo ejecuta. Todos estos recursos aumentaban el número de pasos que había que dar.

• Más periféricos como las unidades de cinta magnética y una mejora notable de las impresoras. Una forma de reducir el tiempo de parada del procesador es pasar de los dispositivos más lentos a otros más rápidos con un sistema off-line. Si había una lectura de fichas se pasaba la información a una cinta y el procesador leía de ella. El procesador volcaba la información sobre otra cinta y después off-line pasaba de la cinta a la impresora. Este procesamiento, en general es más rápido, pero para un solo programa es más lento.



Los buffer que son memorias intermedias donde pasa la información, el dispositivo leerá del buffer, eliminando así el dispositivo off-line.



TERCERA GENERACIÓN (1965-1980)

En esta época aparece:


• La escalabilidad, que es la posibilidad de ampliar en un momento determinado las funciones de un sistema.

• La multiprogramación, es decir, que el procesador está trabajando continuamente. Consiste en dividir el espacio de memoria en varias partes, pudiendo tener un programa en cada una de esas partes. Cuando hay un proceso de E/S el S.O. comienza otro trabajo.

• Las unidades de disco. Ahora se utiliza el disco para realizar la función del buffer. Este disco se llama spool y sólo lo utilizaba el sistema operativo.



• Los sistemas de tiempo compartido, en donde el procesador reparte su tiempo entre los usuarios que están utilizándolo. Con el sistema de tiempo compartido el paso de los sistemas procesamiento por lotes es más reducido.



• Los sistemas de tiempo real que funcionan mediante una serie de sensores que tienen una respuesta inmediata. Son tiempos de respuesta inmediata.


CUARTA GENERACIÓN (1980 - hasta nuestros días)


En esta época aparece:

 • Conectividad, que permite una gran libertad de comunicación pero hace que aparezcan problemas en la Seguridad, lo que impulsa el desarrollo de la criptografía que intenta asegurar la privacidad, la integridad del mensaje y la autentificación del mismo.

 • El concepto de Máquina Virtual que simula otras máquinas en una plataforma concreta (Emuladores). Esto alcanza su mayor desarrollo con la plataforma Java que es un Lenguaje y una Máquina Virtual.

• Los Sistemas de Gestión de Bases de datos


TIPOS DE SISTEMAS OPERATIVOS

Para ver los tipos de sistemas operativos hemos de tener en cuenta el número de usuarios que pueden utilizar el sistema. También tenemos que considerar los procesos que dicho sistema pueda realizar a la vez: uno o varios. Igualmente, dependerá del número de procesadores con los que cuente el ordenador. Por último tendremos en cuenta el tiempo de respuesta del sistema. A continuación vamos a clasificar a los sistemas operativos según esos puntos de vista.

SEGÚN EL NÚMERO DE USUARIOS
  • MONOUSUARIO

  • MUTIUSUARIO
SEGÚN EL NÚMERO DE TAREAS ( PROCESOS ventanas)
  • MONOTAREA ( monoprogramación)
  • MULTITAREA ( multiprogramación)
SEGÚN EL NÚMERO DE PROCESADORES ( Microprocesadores)
  • MONOPROCESADOR ( MONOPROCESO)
  • MULTIPROCESADOR ( MULTIPROCESO)
SEGÚN EL TIEMPO DE RESPUESTA
  • PROCESOS POR LOTES (BATCH)
  • TIEMPO REAL ( REAL TIME)   
  • TIEMPO COMPARTIDO

SEGÚN EL NÚMERO DE USUARIOS

Según el número de usuarios que pueden acceder a un ordenador y de acuerdo con el sistema operativo que les de servicio, nos encontramos con los siguientes sistemas:

  • MONOUSUARIO

Sólo un usuario trabaja con un ordenador. En este sistema todos los dispositivos de hardware están a disposición de dicho usuario y no pueden ser utilizados por otros hasta que éste no finalice su sesión.

⇒ Sólo ese usuario puede utilizar los dispositivos hardware del ordenador: grabadora, impresora, ...



Ejemplos de sistemas operativos monousuario: MS-DOS, Windows 95, Windows 98, Windows ME ≅ Windows Millennium Edition ≅ Windows Millenium Edition, IBM-DOS, DR-DOS, PCOS, etc.




MULTIUSUARIO

Este tipo de sistemas se emplean especialmente en redes ⇒ Cuando aparece la palabra “Server” indica que es Multiusuario, pues en el servidor se crean cuentas para los diferentes usuarios.


Varios usuarios pueden utilizar simultáneamente los recursos y dispositivos hardware del ordenador “Servidor”, bien sea:

• Por medio de varias terminales conectadas al ordenador



Los terminales 1 y 2 están compuestos de un monitor y un teclado el cual lleva incorporado una tarjeta de red para que los usuarios puedan conectarse al servidor.

• Mediante sesiones remotas en una red de comunicaciones




En ambos casos Cada usuario tiene una cuenta en el servidor, por lo tanto pueden utilizar los recursos hardware del servidor.



Ejemplos de sistemas operativos multiusuario: UNIX, Novel, Windows NT Server, Windows 2003 Server, Windows 2003 Advanced Server (Es igual que el Windows 2003 Server pero con la posibilidad de conectar mas terminales), VMS (Dígital), MVS (grandes equipos IBM), OS/400 (del IBM AS/400), windows XP (no puede ser servidor), windows 2000 Profesional (no puede ser servidor), etc.



Se pueden compartir, sobre todo, los dispositivos externos de almacenamiento y los periféricos de salida, fundamentalmente impresoras:




 SEGÚN EL NÚMERO DE TAREAS ( PROCESOS ventanas)
Esta clasificación se hace atendiendo al número de programas o procesos que puede realizar simultáneamente el ordenador o sistema informático.
  • MONOTAREA ( monoprogramación)

El ordenador sólo puede ejecutar un programa a la vez. De esta forma, los recursos del sistema estarán dedicados al programa hasta que finalice su ejecución.


Esto no impide que el sistema pueda ser multiusuario; es decir, varios usuarios pueden intentar ejecutar sus programas en el mismo ordenador, pero de forma sucesiva. Para ello, se tienen que establecer las correspondientes colas o prioridades en la ejecución de los trabajos.


En este sistema, la atención del procesador estará dedicada a un solo programa hasta que finalice.


Ejemplo de sistema operativo monotarea: MS-DOS

  • MULTITAREA ( multiprogramación)
El ordenador puede ejecutar varios programas o procesos a la vez. Para ello la UCP compartirá el tiempo de uso del procesador (≅ microprocesador) entre los diferentes programas que se van a ejecutar.








Ejemplo de sistema operativo multitarea: Windows NT Workstation, Windows NT Server, Windows 2000 Profesional, Windows 2003 Server, Windows 2003 Advanced Server, UNIX, Novell, etc. En general, la mayoría son sistemas multitarea.


 SEGÚN EL NÚMERO DE PROCESADORES ( Microprocesadores)
Según que el ordenador cuente con uno o varios procesadores para realizar los procesos:
  • MONOPROCESADOR ( MONOPROCESO)

El ordenador tiene un único procesador. ⇒ Si se abren 2 programas no los puede ejecutar a la vez. Primero ejecuta uno y luego otro, aunque como lo hace tan rápido, da la sensación de que se están ejecutando a la vez


Todos los trabajos pasarán por él. El ordenador que tenga este sistema operativo puede ser monousuario, multiusuario, monotarea, multitarea, etc.

Ejemplos de sistemas operativos monoprocesador: MS-DOS, Windows 95, Windows 98, etc.


  • MULTIPROCESADOR ( MULTIPROCESO)

El ordenador tiene varios procesadores, con objeto de distribuir su carga de trabajo.




Otra ventaja de tener mas Mp en un ordenador, es que si se estropea uno de los Mp, se puede seguir trabajando (por tener mas Mp).



Ejemplos de sistemas operativos multiproceso (según el ordenador y teniendo en cuenta otras muchas condiciones): UNIX, Windows NT, Windows 2000, LINUX, etc.

Normalmente los equipos que son servidores tienen más de un procesador.

SEGÚN EL TIEMPO DE RESPUESTA

Esta clasificación se hace teniendo en cuenta el tiempo que tarda el sistema en obtener los resultados después de lanzar un programa en ejecución:
  • PROCESOS POR LOTES (BATCH)

Ejecuta varios procesos (programas) a la vez y hasta que no termine con todos no muestra el resultado de cada uno de esos procesos.


P1 P2 P3

R1 R2 R3

⇒ En los procesos por lotes, (la respuesta) los resultados no se obtienen hasta transcurrido un tiempo.

Este proceso en lotes se utilizaba antiguamente cuando sólo había un ordenador para 5 o 6 informáticos.

Ejemplos de sistemas operativos por lotes: Todos.
  • TIEMPO REAL ( REAL TIME)

Ejecuta un proceso y devuelve el resultado al instante.


Luego ejecuta otro proceso y devuelve el resultado al instante.

Luego ejecuta otro proceso y devuelve el resultado al instante.

Y así sucesivamente.

P1 􀃆 R1

P2 􀃆 R2

P3 􀃆 R3

……………

⇒ En los procesos en tiempo real, (la respuesta) los resultados se obtienen al momento tras lanzar un proceso.

Los ordenadores que funcionan en tiempo real son más rápidos que los que funcionan por lotes.

Este tipo de procesos en tiempo real tiene relación con los S.O. monousuario ya que existe 1 sólo usuario y no necesita compartir el microprocesador entre varias solicitudes.

Ejemplos de sistemas operativos en tiempo real: Todos.
  • TIEMPO COMPARTIDO
Comparte el tiempo del microprocesador entre los procesos lanzados. Cada proceso utilizará fracciones de tiempo de ejecución de la UCP hasta que finalice. En este caso, parece que el usuario dedica la UCP exclusivamente para él; pero esto no es cierto, ya que, aunque el usuario no lo perciba, la UCP está dedicada a varios procesos a la vez.



Ejemplos de sistemas operativos en tiempo compartido: Todos los actuales.
En el caso de tener 2 microprocesadores (s.o. multiprocesador) – Si lanzamos 3 tareas seguirá compartiendo el microprocesador. Por lo tanto aunque haya mas de un microprocesador, en algún momento, va a tener que trabajar en tiempo compartido.









No hay comentarios:

Publicar un comentario