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 determinada 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 utilizados, 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