domingo, 17 de marzo de 2013

CONCEPTO DE SISTEMA OPERATIVO




Para que el hardware o parte material de un ordenador pueda funcionar, es necesario tener un conjunto de normas y órdenes para coordinar todos los procesos que se realicen. Este conjunto recibe la denominación de software o parte inmaterial del sistema. Todo el conjunto de programas que conforman el software puede ser dividido en dos grupos bien diferenciados:

SOFTWARE BÁSICO O DE SISTEMA.

Conjunto de programas imprescindibles para el funcionamiento del sistema.

SOTWARE DE APLICACIÓN.

Conjunto de programas que van a ser utilizados por el usuario para realizar una deter­minada tarea.
El Software Básico es el que constituye el Sistema Operativo.
Existen muchas otras definiciones del concepto de Sistema Operativo, de entre las que se deduce la siguiente:
`Sistema Operativo es un conjunto de programas que controlan los programas de los usuarios (cargándolos, ejecutándolos, etc.) y los dispositivos de entrada/salida (repartiéndolos entre varios usuarios), y que tiene por objeto facilitar el uso de la computadora y conseguir que ésta se utilice eficientemente.'
Dicho de otra forma, un sistema Operativo es un conjunto de programas que controlan permanentemente todos los recursos del sistema y que tienen por objeto minimizar el tiempo de respuesta de la computadora y maximizar su rendimiento. Así, el sistema operativo hace asignaciones en memoria, controla las operaciones de E/S, maneja errores, coordina la comunicación entre el usuario y el sistema, etc.
Por otra parte, una computadora es una máquina que posee un conjunto de elementos denominados recursos, que deben ser racionalmente distribuidos y uti­­­lizados, para obtener de ellos el mejor rendimiento. Estos recursos son los siguientes:

El procesador. Es el lugar donde se ejecutan las instrucciones y por tanto, el encargado de controlar los programas y su secuenciamiento.

La memoria interna. Es donde se almacenan todos los datos e instrucciones que se desean procesar.

La entrada/salida. Son las operaciones de transmisión de datos entre las unidades periféricas al ordenador y su memoria o viceversa (entrada/salida).

La información. Son los datos que manipula el ordenador.
Así, desde el punto de vista del control de los recursos de una computadora, un Sistema Operativo es el administrador de los recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos.
Para que el hardware o parte material de un ordenador pueda funcionar, es necesario tener un conjunto de normas y órdenes para coordinar todos los procesos que se realicen. Este conjunto recibe la denominación desoftware o parte inmaterial del sistema. Todo el conjunto de programas que conforman el software puede ser dividido en dos grupos bien diferenciados:
EVOLUCIÓN HISTÓRICA DE LOS SISTEMAS OPERATIVOS.

1. Primera generación (1945 - 1955)

En esta época no existían los sistemas operativos. Utilización de 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 enorme coste.

2. Segunda generación (1955 - 1965)

Aparecen los transistores que hacen que las máquinas se reduzcan de tamaño, facilitando la creación de los sistemas operativos. Aparecen los lenguajes de bajo nivel (assembler) y el lenguaje JCL. En esta época se estandariza el código para una mayor divulgación. Aparece un “embrión” de programa, dando lugar al IOCS(sistema de control de entrada/salida).
Aparecen los lenguajes de alto nivel que tenían que cargar un compilador que convertía el lenguaje en assembler (ensamblador) de la máquina en la que se compilaba.
Se crean dos estados del S.O.:
  •  El estado Superusuario: que permite ejecutar las instrucciones sin pararse a valorarlas (las instrucciones que sólo se pueden ejecutar de este modo se llaman privilegiadas.
  •  Estado Usuario: Se restringe el uso de las instrucciones.

necesitamos una orden privilegiada que sólo se puede dar en modo Superusuario; para esto está el gestor de interrupciones:
  •   Interrupciones Hardware
  •   Interrupciones Software

Comienzan a aparecer más periféricos como las unidades de cinta magnética y una mejora notable de las impresoras.
Aparecen los buffer que son memorias intermedias donde pasa la información, el dispositivo leerá del buffer, eliminando así el dispositivo off-line.

3. Tercera generación (1965 - 1980)

Había ordenadores especializados para multitud de cosas concretas, IBM resolvió este problema y creó un software compatible paraordenadores de propósito general. Creó las familias de ordenadores; la primera fue la 360, luego la 370, la 4330, la 3080 y la 3090. La 360 utiliza los circuitos integrados LSI (Large Scale Integration).
Aparece la escalabilidad, que es la posibilidad de ampliar en un momento determinado las funciones de un sistema.
Aparece la multiprogramación
Aparecen también 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.
Aparecen los sistemas de tiempo compartido que suponían volver a interactuar con el sistema.
Aparecen los sistemas de tiempo real que funcionan mediante una serie de sensores que tienen una respuesta inmediata.

4. Cuarta generación (1980- 1990)

Se utilizan circuitos integrados VLSI (Very Large Scale Integration) con una enorme potencia. Aparecen los microprocesadores que son el fundamento de los ordenadores. Son como las antiguas estaciones de trabajo, pero ahora a nivel personal. Aparecen grandes desarrollos:
  • Conectividad que permite una gran libertad de comunicación pero hace que aparezcan problemas en la Seguridad.


Tb. aparecen dos tipos de SSOO:

Los de Red, en los que elijo implícitamente que quiero hacer.
Los Distribuidos, que son transparentes para el usuario.
  •   Concepto de Máquina Virtual
  •   Uso de Sistemas de Gestión de Bases de datos

3. TÉCNICAS HARDWARE UTILIZADAS POR EL S.O
  •   Interrupciones

En un ordenador existen muchos dispositivos conectados al bus, y por medio de este al microprocesador. El microprocesador puede recibir datos o enviar datos a los periféricos (excepto la memoria y el propio micro) por medio de los puertos de entrada y salida.
Cuando algún dispositivo como el teclado requiere que el microprocesador lo atienda (por ej: la pulsación de una tecla, y es necesario almacenar la pulsación en un buffer, antes de que se pulse otra y se pierda la pulsación actual), genera una interrupción hardware para notificar al microprocesador. En realidad el teclado envía una señal a un chipo denominado 8259 PIC(Programmable Interruption Controller, Controlador de interrupciones programable), y este es el que envía la señal de interrupción al micro.
El resultado es que el micro recibe una señal por la patilla INTR (INTeRrupt, Interrumpir) y un código por los ocho bits de menor peso del bus de datos, que identifica al dispositivo
El objetivo fundamental de las operaciones de e/s es el de transferir datos desde el interior del ordenador (un reg de la UCP o una determinada posición de la memoria principal) a un dispositivo exterior (pantalla, disco, etc).
Para ello será necesario realizar 3 operaciones básicas:
  • Saber a qué dispositivo de E/S se desea acceder, por lo que será necesario identificar cada periférico mediante una dirección de E/S.
  • Determinar el estado actual de dicho dispositivo de E/S. Si una impresora esta encendida o apagada.
  •  Indicar la función de E/S que se desea que realice el periférico.
  • De forma general, la estructura de un dispositivo de E/S es la que se muestra en la fig. 1
  • Podemos apreciar la existencia de 3 elementos:
  • Interface. Es la parte del dispositivo que se encarga de gestionar el intercambio de información entre el dispositivo periférico y la UCP. Reconoce si la dirección del dispositivo al que quiere acceder la UCP es la del dispositivo de E/S al que está asociada, reconoce también de qué tipo de operación de E/S se trata, se encarga de almacenar temporalmente los datos de E/S y de dar cuenta del estado del dispositivo de E/S a la UCP.
  • Controlador. Es el que gestiona directamente el dispositivo periférico. Por ejemplo, en un disco se encarga de generar las órdenes de movimiento de la cabeza de lectura-escritura. En una pantalla se encarga de controlar la circuitería de vídeo, etc.
  •  Perífericos. Entendemos por éste al dispositivo de E/S propiamente dicho: el sistema de cabezas de lectura-escritura y motor de giro en un dispositivo de disco, o la circuitería de vídeo y la pantalla en una consola.
  • La realización de una operación de E/S responde a la ejecución por el procesador de una instrucción de E/S. El efecto de dicha instrucción, e incluso su formato dependen de la organización física de la E/S.

Aunque son muchas las variantes que existen en los equipos reales, mencionar sólo dos:
  • Organización en bús único
  • Organización en bus dedicado de entrada salida.

Para provocar una operación de entrada/salida se pueden definir 3 procedimientos básicos:

 E/S controlada por programa.

Todo ordenador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo lo que se conoce como el lenguaje máquina del ordenador.
El algoritmo de solución de cualquier problema consiste en realizar una serie de pasos en una secuencia específica. Para implantar tal algoritmo en el ordenador, hay que descomponer estos pasos en pasos más pequeños, cada uno de los cuales representa una instrucción del ordenador. La secuencia de instrucciones resultante es un programa en lenguaje máquina, que representa el algoritmo en cuestión.
Dentro de este conjunto de instrucciones hay algunas relativas a entrada/salida.
El formato de dichas instrucciones de e/s esta formado por 3 campos:
  • Código de operación (CO). El contenido de los bits de este campo indica al procesador que se trata de una operación de E/S.

2. Código de orden (COR). El contenido de este campo indica el tipo de operación de E/S a realizar. Distinguiremos fundamentalmente cuatro tipos de operaciones:
  • Operaciones de entrada de datos
  • Operaciones de salida de datos
  • Operaciones de control (situar la cabeza de lectura/escritura de un disco en un determinado sector de una determinada pista.
  • Operaciones de prueba de estado. (Comprueba si el periférico está preparado para aceptar información)

La ejecución desde la UCP de una instrucción de este tipo desencadena la transferencia de una palabra de datos entre el ordenador y el periférico mediante una operación de E/S.
Resumiendo: cuando se quiere realizar una operación de E/S desde o hacia un dispositivo periférico, el programa pregunta el estado del mismo, para ver si se puede realizar la transferencia. Si esta es posible, se realiza; en caso contrario, se espera en un bucle, comprobando constantemente el estado del dispositivo, hasta que se puede realizar la operación de E/S. El principal inconveniente es que en dispositivos de E/S de fuerte demanda (discos), lo habitual es que haya que esperar para poder realizar la transferencia, y durante ese tiempo la UCP no está haciendo trabajo útil.
  •  E/S controlada por interrupciones.

La idea base es que la CPU pueda seguir trabajando mientras el periférico se prepara para recibir o aceptar otro dato..
Este es un mecanismo más sofisticado en el que el propio periférico es el que solicita el inicio de una operación de transferencia de E/S. Cuando el periférico se encuentra en disposición de realizar una trasferencia se lo indica a la UCP mediante una señal de control denominada “solicitud de interrupción”, que es la que contiene la orden concreta de realizar la transferencia de E/S. Una vez efectuada la transferencia elemental, la UCP continúa el programa en curso por la instrucción que lo suspendió, hasta que se produzca una nueva interrupción.
  •  E/S por acceso directo a memoria (DMA).

Hay dispositivos periféricos de alta velocidad que necesitan transferir grandes bloques de datos hacia y desde la unidad de memoria del computador. El empleo de la E/S, controlada por programa es, en el mejor de los casos, altamente ineficiente.
En estos casos es preciso liberar a la UCP de las tareas de E/S, incluyendo el control de transferencia, lo que se consigue con una interface especial denominada de acceso directo a memoria (Direct Memory Access) que es capaz de realizar las mismas operaciones que hace la UCP en relación con la lectura/escritura en memoria.
Cuando se tiene que efectuar una transferencia de un bloque de datos, la UCP informa a la interface de DMA del origen en memoria a partir del cual se comenzará la transferencia y del tamaño total del bloque de datos a transferir, y se desentiende de la operación, que entra a ser responsabilidad directa de la interface.

ADMINISTRACION DE LA C.P.U. MULTIPORGRAMACION, MULTITAREA O MULTITASKING.

Las grandes computadoras, las minicomputadoras y las computadoras personales están trabajando con técnicas de proceso avanzado, como la multiprogramación, el tiempo compartido, tratamiento o proceso paralelo . . .
Todas estas técnicas hacen que la computadora manifieste mucha mas potencia al operar y sobre todo permiten que se pueda ejecutar varios programas de forma concurrente.

Multiprogramacion CLASICA.

Se trata de un sistema operativo que permite que un mismo procesador este ejecutando a la vez dos procesos diferentes sobre un mismo procesador. En realidad no se ejecutan varias tareas a la vez, lo que ocurre que al ser la velocidad del microprocesador mayor que la del periferico de entrada y salida de datos, reparte el tiempo libre que le queda en la realizacion de otras actividades.
Ejemplo:
 UN SISTEMA OPERATIVO CON MULTIPROGRAMACION.
  • Comparación con un salón de peluquería.

Cada una de las peluqueras seria la unidad central de proceso (C.P.U), atienden a los clientes y cuando una de estas está en el secador por ejemplo, tienen tiempo a atender a otra cliente y así sucesivamente. La encargada de la peluquería seria el sistema operativo y decidiría el orden por el que se atenderá a los clientes, repondría material cuando fuese necesario, etc.

Tratamiento Paralelo.

Una vía que se esta explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de realimentación, aproximación y evaluación que caracteriza al ser humano.
Otra forma de proceso paralelo que se esta investigando es el uso de computadoras moleculares en estas computadoras, los símbolos lógicos se expresan por unidades químicas de ADN en vez de por el flujo de electrones, estas podrían llegar a resolver problemas complicados mucho mas rápidamente que las actuales supercomputadoras y consumir mucho menos energía.

Tiempo COMPARTIDO

Un sistema que trabaja de esta forma cuando el procesador reparte sus tiempo atendiendo las instrucciones de diversos programas para que estos se realicen de forma simultanea. Así, si hay que ejecutar diez programas, la CPU ejecutara el primer programa durante dos segundos ( por ejemplo ); una vez agotado el tiempo, interrumpirá la ejecución del primer programa e iniciara la ejecución del segundo programa durante otros dos segundos y así sucesivamente hasta llegar a la ejecución del décimo programa, momento que, una vez finalizada su ejecución, volverá a empezar con el primer programa.
NOTA: Esta técnica varia sustancialmente de la multiprogramación ya que la técnica de tiempo compartido fija un tiempo de CPU para cada programa, mientras que la multiprogramación, el tiempo puede ser variable según las entradas y salidas que tengan los procesos con los periféricos de E/S.
Con las técnicas un sistema operativo consigue ejecutar varios trabajos simultáneamente y como consecuencia, aumentar sus potencia.
ADMINISTRACIÓN DE LA MEMO

 Particiones estáticas

La memoria se divide cierto numero de particiones cada una de las cuales contendrá un proceso el tamaño de cada partición es determinado por el operador o por el S.O cada partición contiene la posición base, su longitud y el estado de la partición (ocupada o no), El planificador de trabajo una vez que una partición esta libre hace que se introduzca el programa de máxima prioridad que haya en la cola de espera y que queda en dicha posición.

No hay comentarios:

Publicar un comentario