You are on page 1of 16

Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 1
UNIDAD II. SOFTWARE

Una computadora es a la vez hardware y software. Uno es intil sin el otro y, a su vez, ambos se
regulan entre s. El diseo del hardware especifica qu tipo de instrucciones pueden ejecutarse,
luego las instrucciones le dicen a la computadora qu tarea hacer. El hardware es como un
conjunto de Instrumentos musicales: sin partitura y sin msicos no hay msica. Para que una
computadora funcione pasa algo parecido, necesita para producir de ambos elementos, hardware
y software y por supuesto del usuario.

El software, entonces, es otro de los componentes bsicos de un sistema de computacin, sus
elementos constituyentes son los programas: conjunto de instrucciones que se suministran a la
mquina para que resuelva un problema.

Bajo el concepto de software se incluyen a los conjuntos de instrucciones, agrupadas en 'rutinas
o programas que indican cmo debe trabajar la computadora.

Bajo la denominacin de software se incluye a todo tipo de programas, tanto los preparados por el
propio usuario (aplicaciones) como los provistos por terceros: sistema operativo, lenguajes de
programacin, utilitarios, procesadores de texto, planillas de clculo, administradores de bases de
datos y otros productos de esta naturaleza.

En los ltimos tiempos el software ha ido cobrando una participacin cada vez ms significativa en
las inversiones que las empresas realizan en productos relacionados con la informtica. En las
primeras generaciones de la computacin, las mayores erogaciones se realizaban en la compra de
equipamiento, asignndosele al software un rol de elemento complementario, incluso era corriente
que el proveedor lo entregara en forma gratuita o, lo que es lo mismo, incluido en el costo del
equipamiento, dado su intangibilidad.

Paulatinamente fue cobrando importancia como rubro en s mismo, y las licencias de software
comenzaron a ser tenidas en cuenta como un elemento ms a considerar dentro de las inversiones
a realizar en un proyecto informtico. Hoy la relacin ha cambiado y las erogaciones destinadas al
software -en cualquiera de sus tipos- tienen una participacin mayor que el hardware dentro del
total de gastos asignados a un proyecto Informtico, y se espera que siga an creciendo. La
seleccin del software pasa a ser el factor primordial para determinar la arquitectura informtica
que adopta una entidad.

El software es un elemento Intangible; por consiguiente, cuando se lo adquiere, en realidad se
pago un derecho de uso, estando normalmente prohibida la transmisin de este derecho a
terceros. Al comprador de un producto de software bsicamente se le entrega un certificado que lo
habilita para trabajar con el producto; en forma complementaria, acompaan al producto los
manuales de uso e Instalacin y los soportes magnticos -en disquetes o CD ROM- con la copia de
instalacin y respaldo de los programas que integran el paquete de software adquirido.

Para describir el software identificaremos dos categoras de productos de software:

a. SOFTWARE BASE.

Es el conjunto de programas que se encarga de controlar el funcionamiento de los programas que
se ejecutan y de la gestin interna de los recursos fsicos de la computadora. El software de base,
normalmente es provisto por empresas fabricantes de equipos de computacin y en otros casos
por empresas dedicadas especficamente al desarrollo de software de base.
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 2
Este a su vez se divide en Software de sistema operativo, Software de Programacin y
Software de diagnostico y Mantenimiento.

SOFTWARE DE SISTEMA OPERATIVO: contempla los programas diseados para controlar y
administrar el equipamiento. El sistema operativo es el primer programa que se cargo cuando se
enciende la computadora, queda en la memoria administrando la mquina mientras est
encendida, se encarga de cargar y ejecutar los programas requeridos por el usuario. Tiene tres
grandes funciones: coordina y manipula el hardware del ordenador o computadora, como la
memoria, las impresoras, las unidades de disco, el teclado o el mouse; organiza los archivos en
diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o
cintas magnticas, y gestiona los errores de hardware y la prdida de datos.

SOFTWARE DE PROGRAMACIN: Esta formado por los programas y utilidades que facilitan la
construccin de aplicaciones de usuarios. Por ejemplo: los interpretes, compiladores, montadores,
los mdulos de gestin de ficheros, cargadores etc. Mediante los programas se indica a la
computadora que tarea debe realizar y cmo efectuarla, pero para ello es preciso introducir estas
rdenes en un lenguaje que el sistema pueda entender. En principio, el ordenador slo entiende
las instrucciones en cdigo mquina, es decir, el especfico de la computadora. Sin embargo, a
partir de stos se elaboran los llamados lenguajes de alto y bajo nivel.


SOFTWARE DE DIAGNOSTICO Y MANTENIMIENTO. Es utilizado por el personal encargado
de la puesta a punto de los equipos, su objetivo es localizar averas de un perifrico o encontrar el
mal funcionamiento de un paquete software.


b. SOFTWARE DE APLICACIN.
Lo forman los programas que controlan el funcionamiento de la computadora para realizar
una funcin especfica. Se divide en Software Estndar y Software a medida.

SOFTWARE ESTANDAR. Son aquellas aplicaciones de uso general especialmente diseadas para
su lanzamiento al mercado. Son programas y/o sistemas de uso general, aplicables para cualquier
tipo de empresa. En general sirven para crear y trabajar con documentos de oficina (procesadores
de texto, planillas de clculo, gestin de bases de datos, comunicaciones, grficos entre otros.

SOFTWARE A MEDIDA. Est constituido por aquellas aplicaciones especficas que se refieren a
actividades mas especializadas. Estas aplicaciones van destinadas a un usuario en particular. Los
programas que procesan las operaciones de una organizacin, por ejemplo: sistemas de
inventario, personal, contabilidad, cuentas corrientes, facturacin, etc. Su propsito es automatizar
la operacin rutinaria de la empresa, dando solucin a los problemas relacionados con el
procesamiento de sus transacciones.
Las necesidades particulares de los usuarios de computadoras normalmente no se limita a lo que
provee el software de base, generalmente stas necesidades derivan en la construccin de
programas de carcter especfico para solucionar la problemtica de la organizacin en donde se
utiliza. A stos programas se los clasifica como software de aplicacin a medida, e involucran
actividades tan variadas como pueda imaginarse, a modo de ejemplo puede nombrarse
contabilidad, facturacin, gestin histrica de clnicas, control de pacientes, sueldos y jornales,
cuentas corrientes, control de trfico, etc. (cabe apuntar que la lista de aplicaciones mencionadas
puede hacerse tan amplia como actividades particulares existan).
Este tipo de software se desarrolla utilizando algn lenguaje de programacin y es tarea propia de
los analistas de sistemas y programadores. En otro sentido, y en una perspectiva amplia, el
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 3
software de base puede ser considerado como software de aplicacin destinado a usuarios
expertos y especialistas en informtica.


Desarrollo histrico

El software se ha desarrollado paralelamente al avance de las computadoras adquiriendo
caractersticas especiales con cada generacin.
Para las computadoras de la primera generacin, los programas se escriban en cdigo de
maquina, debiendo saber las direcciones absolutas de memoria de todos los datos.

Luego aparecen los primeros lenguajes simblicos, los que obligaba a decodificar los programas
mediante programas traductores (software traductor). Aparece tambin el software de rutinas de
utilidad, el que permita por ej. clculo de funciones trigonomtricas, raz cuadrada, etc.

Con la segunda generacin aparecen los autocoder (lenguajes ensambladores bsicos) y el
lenguaje Cobol (destinado a la gestin), y sus compiladores.
Tambin aparecen sistemas de explotacin, programas que permiten el encadenamiento rpido de
los programas de usuarios (primeros sistemas operativos).

En la tercera generacin ya encontramos SO para todas las computadoras, se disean nuevos
lenguajes, y avanzan los paquetes de programas de aplicacin (software especfico).


Generaciones de Sistemas Operativos

Los S. O. han estado relacionados histricamente con la arquitectura de las computadoras en las
cuales se ejecutan, razn por la cual su historia puede analizarse segn las siguientes
generaciones y sus principales caractersticas:

Generacin Cero (dcada de 1940):
Carencia total de S. O. Completo acceso al lenguaje de mquina.

Primera generacin: bulbos y conexiones:
Carencia de S. O. En los aos cincuenta comienzan como transicin entre trabajos, haciendo la
misma ms simple.

Segunda generacin: transistores y sistemas de procesamiento por lotes (batch):
En los aos sesenta aparecen los S. O. para sistemas compartidos con:
Multiprocesamiento: varios procesadores se utilizan en un mismo sistema para incremen-
tar el poder de procesamiento.
Posteriormente aparece la independencia de dispositivo: El programa del usuario especifica las
caractersticas de los dispositivos que requieren los archivos.
El S.O. asigna los dispositivos correspondientes segn los requerimientos y las disponibilidades.

Tercera generacin: circuitos integrados y multiprogramacin:
Difusin de la multiprogramacin:
Multiprogramacin: varios programas de usuarios se encuentran al mismo tiempo en el
almacenamiento principal, cambiando el procesador rpidamente de un trabajo a otro Particin de
la memoria en porciones, con trabajos distintos en cada una de ellas.
Aprovechamiento del tiempo de espera consecuencia de operaciones de e/s para utilizar la CPU
para otros procesos.
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 4
Proteccin por hardware del contenido de cada particin de memoria.
Aparicin de tcnicas de spooling (Simultaneous Peripheral Operation On Line): operacin
simultnea y en lnea de perifricos.
Almacenamiento de trabajos de entrada y de salida en dispositivos transi torios rpidos (discos),
para disminuir el impacto de los perifricos mas lentos.
Son sistemas de modos mltiples, es decir que deben soportar sistemas de propsitos generales;
son grandes y complejos pero muy poderosos.
Interponen una capa de software entre el usuario y el hardware.
Aparecen los lenguajes de control de trabajos, necesarios para especificar el trabajo y los recursos
requeridos.
Soportan timesharing (tiempo compartido), variante de la multiprogramacin con usuarios
conectados mediante terminales en lnea, permitiendo la operacin en modo interactivo o
conversacional.
Aparecen los sistemas de tiempo real, que requieren tiempos de respuesta muy exigentes,
especialmente para usos industriales o militares.
Se difunden las computadoras de rango medio.

Cuarta generacin: computadoras personales:
Aparicin de software amigable con el usuario, destinado a usuarios no profesionales y con una
interfase grfica muy desarrollada.
Desarrollo de sistemas operativos de red y sistemas operativos distribuidos.
Sistemas operativos de red: los usuarios estn conscientes de la existencia de varias
computadoras conectadas.
Cada mquina ejecuta su propio S. O. local.
Son similares a los S. O. de un solo procesador pero con el agregado de: Controlador de interfaz
de la red y su software de bajo nivel.
Software para conexin y acceso a archivos remotos, etc.
Sistemas operativos distribuidos: Aparece ante los usuarios como un S. O. de un solo procesador,
an cuando de soporte a varios procesadores.
Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se
encuentran sus archivos, ya que lo debe administrar el S. O. automticamente.
Deben permitir que un programa se ejecute mediante varios procesadores a la vez, maximizando
el paralelismo.
Aparicin de emuladores de terminal para el acceso a equipos remotos desde computadoras
personales (PC).
Gran nfasis en la seguridad, en especial por el desarrollo de los sistemas de
comunicaciones de datos.
El S. O. crea un ambiente de trabajo segn el concepto de mquina virtual, que lo asla del
funcionamiento interno de la mquina.
Proliferacin de sistemas de bases de datos, accesibles mediante redes de comunicacin.


SISTEMA OPERATIVO

Se denomina sistema operativo al conjunto de programas encargados de administrar los
dispositivos y recursos de una computadora.

Sistema operativo tambin puede ser definido como el conjunto de programas, rutinas,
procedimientos y mdulos que controlan los recursos de una instalacin informtica, -En su
concepcin ms amplia, el sistema operativo se ocupa de hacer funcionar todos los elementos de
un sistema de computacin en forma armnica: el equipamiento fsico (hardware) junto con los
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 5
programas del usuario (software de aplicacin) y las herramientas de productividad, con la
finalidad de administrar los datos de la entidad (archivos o bases de datos).

El sistema operativo es uno de los componentes ms importantes en un ambiente informtico,
quiz el determinante del xito de un proyecto, ya que es el que determina los estndares (la
compatibilidad), para los utilitarios, lenguajes y programas de aplicacin que se ejecutarn all. En
sntesis, los programas que el usuario quiera ejecutar deben cumplir con la condicin de
compatibilidad con el sistema operativo.


La calidad de un sistema operativo se basa en su confiabilidad (estabilidad) y en el grado de
eficiencia con que aprovecha el equipamiento disponible, es el responsable principal de la
optimizacin en el uso del procesador y los perifricos.

El conjunto de programas que forman el sistema operativo normalmente reside en forma
permanente en un medio magntico de acceso directo por ejemplo en disco o disquete- y desde
all se lo carga a la memoria principal cada vez que se enciende la computadora. A veces tambin
reside en una memoria ROM especial del equipo.

Como dijimos, en las primeras generaciones de computadoras el sistema operativo era provisto
por el propio fabricante del hardware, esta modalidad hoy recreada en la categora de grandes
computadores (mainframes) configura los ambientes de arquitectura propietario. En la
actualidad la tendencia es que el sistema operativo de un equipo sea provisto por terceras partes,
es decir, por proveedores especializados en el desarrollo de este tipo de productos. Estas nuevas
polticas favorecieron el desarrollo de los ambientes abiertos, donde el sistema de computacin
se configura con productos provistos por varios fabricantes, en estas configuraciones un
proveedor aporta el procesador, otro un perifrico, un tercero el sistema operativo, otro las
herramientas de productividad.

Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos
simultneamente. En la mayora de los ordenadores slo hay una UCP; un sistema operativo
multitarea crea la ilusin de que varios procesos se ejecutan simultneamente en la UCP. El
mecanismo que se emplea ms a menudo para lograr esta ilusin es la multitarea por
segmentacin de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo
de tiempo determinado. Si el proceso no finaliza en el tiempo asignado, se suspende y se ejecuta
otro proceso. Este intercambio de procesos se denomina conmutacin de contexto. El sistema
operativo se encarga de controlar el estado de los procesos suspendidos. Tambin cuenta con un
mecanismo llamado planificador que determina el siguiente proceso que debe ejecutarse. El
planificador ejecuta los procesos basndose en su prioridad para minimizar el retraso percibido por
el usuario. Los procesos parecen efectuarse simultneamente por la alta velocidad del cambio de
contexto.

Componentes del sistema operativo

a) Monitor residente

Al encender el equipo, el procesador carga una porcin del sistema operativo en la memoria
principal. Esta parte del sistema operativo residir en forma permanente mientras est encendida
la computadora.

El monitor residente se encarga de ir trayendo a la memoria los mdulos (programas) requeridos
por el sistema operativo para cada fase del trabajo en ejecucin. Los mdulos del sistema
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 6
operativo no incluidos en el monitor residente estn en un medio magntico externo (disco),
donde reside todo el producto. Estos se cargan en la memoria cuando son convocados por el
monitor residente para efectuar una tarea especial que l no puede resolver. En el caso del
sistema operativo MS-DOS, el monitor residente esta grabado en el archivo COMMAND.COM, ste
se carga en la memoria RAM cuando se enciende la computadora y slo se descarga cuando se
apaga.

Las tareas principales que ejecuta el monitor residente son:

Supervisar la ejecucin de los programas cargados en la memoria.

Controlar las funciones de entrada y salida de cada programa y ceder el control de un
programa al siguiente de acuerdo a sus prioridades.

Interpretar los comandos ingresados por el operador y las instrucciones de control que indican
y describen el trabajo que ha de realizar la computadora.

Gobernar la operatoria de los utilitarios y otros software que deba ejecutar.

Asignar los dispositivos fsicos de Entrada/Salida a los archivos de datos usados por los
programas del usuario.

Proveer servicios de diagnsticos ante fallas del equipamiento.


b) Comandos

La comunicacin entre el operador de la computadora y el sistema operativo se logra a
travs de instrucciones propias del sistema operativo, llamadas comandos. El conjunto de
comandos forma parte del lenguaje de control de trabajos, llamado tambin lenguaje de operacin
o comandos del sistema, tambin se los identifica con la siglo SCL (System Command Language).


c) Utilitarios

En algunos casos, especialmente cuando se trata de sistemas operativos para computadoras, de
arquitectura propietaria, adems de los comandos del SCL suelen acompaar al producto otros
programas o mdulos que si bien no pertenecen a esta categora, son provistos por el fabricante
del equipamiento. Por ejemplo, es comn que se incluyan programas utilitarios para ayudar a
administrar la computadora o compiladores para los lenguajes de programacin u otros programas
de productividad; es decir incluye software que el proveedor dispone y considera conveniente
distribuir.

Su funcin est asociada a las funciones del sistema operativo. Estn preparados para ejecutar
tareas tpicas de operacin del equipo, como por ejemplo: SORT (clasifica los registros de un
archivo); SELECT (selecciona y muestra registros dentro de un archivo), etc.






Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 7
FUNCIONES DEL SISTEMA OPERATIVO

Hemos visto que un sistema operativo tiene como funciones administrar los recursos fsicos de la
computadora (el hardware) y gobernar la ejecucin de las tareas contempladas por los programas
de aplicacin o las herramientas de productividad.

Agruparemos las tareas bsicas que realiza un sistema operativo identificando cinco funciones:

Administrar el uso del procesador
Administrar el uso de la memoria
Administrar las unidades de entrada/salida
Administrar el sistema de archivos
Administrar la interfaz con el usuario

Las funciones de administracin del procesador se desarrolla en la unidad de control y en la unidad
aritmtica-lgica, la administracin de memoria en la memoria principal o RAM, la funcin de
administracin de las unidades de entrada/salida se ocupa de la gestin de los perifricos y la
funcin de administracin del sistema de archivo se ocupa de gestionar el espacio de los discos
(perifricos de almacenamiento secundario). Por ltimo, la quinta funcin del sistema operativo,
administracin de la Interfaz con el usuario se relaciona en especial con el modo en que se
comunica el S.O. con el usuario.

















Administracin del procesador

La necesidad de administracin del procesador surge porque en principio slo es posible ejecutar
al mismo tiempo un programa en la computadora. Para ejecutar varios programas es necesario
asignar el tiempo del procesador a los trabajos que demanden su intervencin. La asignacin de
tiempo del procesador a los trabajos cargados en la memoria es asumida por el sistema operativo,
quien procura distribuir su uso en forma equilibrada, asegurando un tiempo de respuesta
adecuado a todos los procesos.

En computadoras con sistema operativo monousuario y monotarea, el sistema operativo tiene
como misin atender un solo proceso, es decir asigna todo el tiempo del procesador a un nico
programa. En el caso de ambientes multitarea multiusuarios, el sistema operativo es responsable
de la operacin de uno o ms programas, donde todos demandan la atencin del procesador al
mismo tiempo. Los sistemas operativos para estos ambientes utilizan la tcnica de asignacin de
Administra el procesador
Administra
Unidades de
E/S
Administra
Unidades de
E/S
Administra el sistema de archivos
Administra la interfaz con el usuario
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 8
prioridades a los programas cargados en la memoria, de modo tal que se ejecuta un trabajo antes
de otro, procurando que todos los programas en ejecucin sean atendidos en su momento.


Estados de un proceso

Un programa cargado en la memoria para ser atendido por el procesador puede estar en uno de
los siguientes estados: Corriendo, Bloqueado o disponible

a) Corriendo: se dice que un proceso se encuentra corriendo o en estado de corrida cuando se
halla en ejecucin, es decir, cuando tiene el control de la CPU. Un proceso est en ejecucin
(corriendo), cuando tiene el control del procesador para s en esta situacin puede cambiar de
estado por dos razones:

a. Porque agot el lapso de tiempo durante el cual se le permite correr sin ser interrumpido.

b. Por requerir funciones de Entrada/Salida, en este caso pasa a estado de bloqueado.

b) Bloqueado: un proceso est bloqueado cuando est esperando la ejecucin de una operacin
de E/S; en este caso no puede continuar trabajando con el procesador hasta tanto reciba una
seal de que dicha operacin de E/S termin. Esta seal lo *desbloquea* y le permite pasar a la
siguiente categora de procesos: en lista de espera o en estado disponible.

c) lista de espera: los procesos en lista de espera o en estado disponible son aquellos que se
encuentran desbloqueados y listos para ser corridos, formando una cola de trabajos esperando ser
atendidos por el procesador.

En sntesis, el sistema operativo en su funcin de administrar en un ambiente de
multiprogramacin (mltiples tareas y/o usuarios estn cargados en memoria componiendo el uso
del procesador), llevar un control del estado de cada trabajo en ejecucin. Seleccionar los
procesos a correr, enviar seales de bloqueo y desbloqueo y asignar los recursos para cada
trabajo


Lista de Espera bloqueados










Administracin de la memoria

Cuando hablamos de la funcin administracin de memoria realizada por el sistema operativo nos
estamos refiriendo a la asignacin de la memoria principal (memoria RAM) a los distintos procesos
que se van a ejecutar.

Procesador
Proceso 1

Proceso 10

Proceso 4
Proceso 20
Proceso 3

Proceso 2

Proceso 5
Ejecucin
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 9
Cuando se trabaja en un ambiente de monoprogramacin, la funcin de administracin de la
memoria se simplifica enormemente dado que slo reside en lo misma un proceso de usuario por
vez, dejando ocioso el espacio sobrante.
En un proceso monousuario la RAM se divide en dos grandes particiones, una para el monitor
residente y otra asignada al proceso de usuario. Cada proceso requiere espacio de memoria para
la carga de las instrucciones (el programa) y los datos que debe procesar (registros en proceso):










Cuando se trabaja en un ambiente multiusuario-multitarea, la administracin de la memoria
principal de la computadora se vuelve ms compleja, dado que ahora debe ser compartida por
varios procesos a cada uno de los cuales se debe asignar una porcin de la misma.

Para poder almacenar varios programas en la memoria, sta se divide en segmentos y se los
asigna a los programas a ejecutar. Estos segmentos (particiones) son lgicos, ya que no existen
demarcaciones fsicas en la memoria, cada uno puede contener un programa o porcin del mismo.
Las particiones son realizadas y operan bajo el control del sistema operativo.

El monitor residente ocupa su propia particin y desde all controla las actividades de las dems,
en especial de las asignadas para contener los programas de los usuarios. La particin que
contiene el software ejecutivo se denomina particin del sistema.

Pero, a veces, la memoria fsica no alcanza para mantener todas las particiones que los usuarios
demandan al sistema. En estos casos el sistema operativo puede recurrir a una tcnica especial
para multiplicar el espacio disponible, para hacer una memoria virtual, esa tcnica se llama
swapping.


Swapping

El swapping es una tcnica muy difundida para optimizar la administracin de la memoria
principal. Este mecanismo hace posible el alojamiento de procesos que requieren mayor tamao
de memoria de la que realmente dispone la computadora.

El swapping es un mtodo de gran sencillez y consiste en que algunos o todos los programas
cargados (residentes en la memoria principal y que no se estn ejecutando -ya sea porque se
encuentran en lista de espera o bloqueados por operaciones de E/S) sean desplazados desde la
memoria principal hacia un dispositivo de almacenamiento secundado, generalmente un disco
magntico fijo. Cuando son requeridos para continuar con su ejecucin, los procesos que se
enviaron al rea de swapping del disco fijo, son trados nuevamente a la memoria principal.


Mediante la tcnica de swapping se logra que residan en la memoria principal slo aquellos
programas que requieren el uso del procesador, mientras que las reas de memoria
- Programas de usuario
- Datos
- Espacio disponible (libre)


Monitor residente
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 10
correspondientes a aquellos procesos que no lo estn utilizando son transferidos a un dispositivo
de almacenamiento secundario (disco fijo).













Administracin de las unidades de entrada/salida

Las operaciones de entrada y salida de un sistema de computacin no son realizadas por el
procesador central, sino por dispositivos especializados en efectuar tareas de E/S llamados
comnmente canales.

Estos dispositivos comunican el/los perifricos bajo su responsabilidad directamente con la CPU y
se caracterizan por tener capacidad de procesamiento propio, es decir, son capaces de ejecutar
sus propios comandos e instrucciones, ya que normalmente poseen procesadores especializados y
dedicados exclusivamente a la tarea de administrar los perifricos que controlan.


Obviamente, al disponer de procesadores especializados para efectuar todas las tareas
involucradas en la Entrada/Salida de datos, la CPU queda liberado para seguir realizando sus
funciones propias e indelegables: los clculos y comparaciones lgicas correspondientes a los
programas cargados en su memoria principal, en proceso de ejecucin.

El sistema operativo de la computadora se comunica con los canales o controladores mediante
instrucciones especiales, llamados interrupciones de Entrada/Salida por ejemplo: comenzar a
trabajar con el perifrico, leer o grabar registros de datos, terminar la tarea, probar el estado de
perifrico (status), etc. Es decir, los canales de E/S se comunican con la CPU mediante rdenes
llamadas Interrupciones y no mediante Instrucciones como se denominan las operaciones
indicadas por los programas de aplicacin.

Finalizada la tarea encomendada, el canal de E/S interrumpir a la CPU para avisarle que ha
terminado su trabajo (y as pueda desbloquear el programa que efectu la peticin de E/S). El
sistema de interrupciones es responsabilidad del sistema operativo y lo maneja a travs de un
mdulo especial llamado rutina de interrupciones.

Una vez finalizado el trabajo encargado a la rutina de interrupciones, el procesador central
continuar con el procesamiento del programa original -bloqueado por la operacin de E/S- a
partir de la instruccin donde se interrumpi. Para saber en qu punto reiniciar el programa, el
sistema operativo consulta con un registro interno del procesador que le indica la direccin de la
prxima instruccin del programa en ejecucin.



Prog 1 Prog 2
Prog 17

Prog FZ Prog HB

Prog. 34

Monitor residente

Dispositivo
De
almacenamiento Swapping
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 11
Spooling

Es un mdulo (programa) especial de algunos sistemas operativos que pertenece a las funciones
de administrar la E/S, destinado a administrar los trabajos de impresin. Algunos sistemas
operativos (la mayora en la actualidad) disponen de programas especializados para administrar las
tareas de impresin son denominados genricamente como sistemas de spooling.

Por ejemplo, puede suceder que exista una sola impresora en el sistema y que varios programas al
mismo tiempo requieran de la misma como unidad de salida; lo que hace el sistema de spooling,
en estos casos, es mandar toda la salida de datos para impresin a un rea del sistema de
almacenamiento en disco, en forma temporal, luego el subsistema de spooling ir imprimiendo de
a un trabajo por vez segn las prioridades y la disponibilidad de servicios de las impresoras que
administra. Para ello dispone de listas o colas de trabajos pendientes de impresin manejadas por
el subsistema de spool, utilizando espacio en disco para almacenar temporalmente las imgenes
de los listados que esperan su turno para ser impresos.


Administracin del sistema de archivos

Para administrar el sistema de archivos lleva cuenta de la ubicacin de los datos grabados y de los
espacios disponibles en los dispositivos de almacenamiento secundario (discos, disquetes,
CR-ROM, cintas, etc.). Los programas de aplicacin no saben dnde se encuentran almacenados
sus archivos y registros de datos en los dispositivos de almacenamiento auxiliar ni cmo obtenerlos
cuando los necesitan.

El sistema de administracin de archivos es un conjunto de mdulos y rutinas (programas) del
sistema operativo encargados de realizar todas las operaciones relacionadas con el
almacenamiento y recuperacin fsica de los datos correspondientes a los archivos. Por ejemplo, se
ocupa de la asignacin del espacio fsico para los datos a grabar, determinar las formas de
almacenamiento, ubicar los datos necesarios para el proceso en ejecucin. Son de gran ayuda
para las tareas de programacin, ya que liberan al programador de ocuparse dnde y cmo
guardar o leer los datos. Tambin se ocupa de la proteccin de los archivos (control de accesos),
as como de proveer los comandos para administrar los mismos (borrar, copiar, renombrar, etc.).

Un buen sistema de administracin de archivos debe permitir a los operadores crear, modificar y
borrar archivos y directorios, compartir archivos con otros usuarios, controlar el acceso a los
registros de datos de sus archivos, etc.


Cmo se administra el sistema de archivos?

Cuando un programa est listo para recibir datos, le pasa un requerimiento al sistema operativo
mediante un mensaje codificado. El sistema operativo a travs de rutinas de interrupciones
especialmente programadas para administrar el sistema de archivos, busca el dato y se lo entrega
al programa. A la inversa, cuando el programa est listo para grabar datos, el sistema operativo
transfiere esta informacin desde el programa a la rutina que administra el espacio disponible en
el disco y le ordena que guarde dichos datos en el archivo indicado.

Para controlar toda la informacin referida al estado de un sistema de archivos, el sistema
operativo lleva distintas tablas especiales en la memoria con la informacin necesaria para
administrar el espacio de los discos. Entre ellos se destacan: el directorio de los discos, las tablas
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 12
de espacios libres y ocupados, los registros bloqueados de los archivos, errores de
lectura/grabacin, las seguridades de acceso, etc.

Administracin de la interface con el usuario

Otra funcin es administrar los mecanismos, modos, estilos con que la computadora se comunica
con el usuario, este modo de relacionarse se llama interfaz.

Los comandos (SCL) son las instrucciones que el operador enva al sistema operativo para
solicitarle que ejecute las tareas que requiere de la computadora, en respuesta el sistema
operativo enva mensajes al usuario para avisarle que realiz las acciones encomendados, ayudarlo
y guiarlo en caso de errores o dudas, aclararle las alternativas disponibles y advertirle las
consecuencias de sus acciones.


Comandos




Mensajes

Casi todo los sistemas operativos actuales se comunican con el operado en modo interactivo o
"conversacional", esto permite ir enviando comandos u rdenes de ejecucin en forma 'on line'; el
sistema operativo responde a cada comando ejecutndolo o rechazndolo por errores o
imposibilidad de atenderlo.

Los primeros sistemas operativos reciban los comandos a travs de tarjetas perforadas y
contestaban (cuando lo hacan) a travs de la impresora de consola, esta situacin cambi cuando
aparecieron las pantallas de video, ya que estos dispositivos fueron los que permitieron mantener
una conversacin on line, entre el operador y la computadora, en realidad, con el sistema
operativo.

El SO utiliza distintas maneras de relacionarse con el operador:

A modo comando la comunicacin se realiza a travs de mensajes de caracteres, como los
comandos de MS-DOS. En este caso el operador debe conocer la sintaxis de los comandos que
desea ejecutar. Esta modalidad es ms difcil de aprender pero brinda gran libertad al especialista
para ejecutar cualquier clase de tareas en el sistema operativo.


Por medio de menes donde el sistema operativo presenta al usuario una lista (men) con
todos las alternativas disponibles para ejecutar una tarea. El operador slo puede ejecutar tareas a
travs de la seleccin de opciones que le presenten los menes. Son ms fciles de aprender pero
limitan la accin del operador a las alternativas que le presentan las pantallas de menes.
Ejemplos de sistemas operativos administrados por menes son Netware de Novell, OS 400, etc.

A modo grfico, utilizan iconos, figuras para representar los elementos del sistema
(perifricos, usuarios, archivos, etc.). Para ejecutar tareas y procesos slo debe hacerse 'clic' con
el mouse en la imagen de los elementos que se desean activar. Sistemas operativos de estas
caractersticas son Windows 95, Windows NT, la versin 4.1 de Netware, etc.

Usuario Sistema Operativo
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 13
Por reconocimiento de voz, es lo ms nuevo en cuanto a relacin operador- mquina. En
este caso las rdenes son instrumentadas por la voz del operador, la nueva versin del IBM OS/2
Warp trae esta caracterstica.


SISTEMAS OPERATIVOS ACTUALES

Categorizaremos a los sistemas operativos en dos grandes grupos:

Sistemas operativos para ambientes propietarios
Sistemas operativos para ambientes abiertos


Sistemas operativos para ambientes propietarios

A esta categora corresponden los productos diseados para administrar computadoras de
tecnologa propietaria, es decir, aquellas arquitecturas cerradas a la participacin de la
competencia. Pertenecen a esta clase los sistemas operativos provistos junto con la computadora
en un nico paquete. Son de adquisicin obligada, se los elige cuando se selecciona una marca y
modelo de equipos. Algunos productos de esta categora son:

MVS (Multiple Virtual Storage): presentado en 1974, es uno de los sistemas operativos
utilizados en los grandes sistemas de computadoras (mainframes) de IBM (los otros son VM y
DOS/VSE). MVS es un sistema operativo muy probado y estable, orientado al procesamiento por
lotes, que maneja una gran cantidad de memoria y espacio de disco.
VMS: es un sistema operativo interactivo multiusuario, desarrollado para la familia de
minicomputadores VAX de Digital. Fue un sistema operativo muy avanzado para su poca. Soporto
mltiples productos de software para ambientes comerciales e industriales.
OS/400: es un sistema operativo de moderna concepcin, interactivo, multiusuario y
orientado al manejo de bases de datos relacionales. Fue desarrollado para la familia de
minicomputadoras AS 400 de IBM de gran difusin en las medianas y grandes empresas.



Sistemas operativos para ambientes abiertos

Est integrado por productos diseados para funcionar en computadoras de arquitectura abierta.
Son versiones que funcionan en varios tipos de procesadores, de marcas y modelos distintos.

Un usuario que elija esta arquitectura puede invertir el orden de seleccin de los productos con los
configurar su plataforma de procesamiento. En este caso, para armar su sistema de computacin
podr seleccionar primero el sistema operativo y luego seleccionar la configuracin de la CPU ms
conveniente para su empresa. Esta solucin est primando en las empresas debido a que los
costos involucrados son menores y brinda ms opciones tcnicas para configurar el sistema de
procesamiento de datos.

Clasificamos los productos que se ofrecen en este mercado en:





Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 14
Sistemas operativos para PC


MS-DOS es el sistema operativo ms popular. Est diseado para operar en los PC
compatibles, es un sistema operativo monotarea, con un lenguaje de comandos muy sencillo. Fue
desarrollado por Microsoft, su xito la transform en la empresa de software ms grande del
mundo, actualmente posee una gran base de herramientas de productividad disponibles (supera
en mucho a las disponibles para otros sistemas operativos estndares), soporta soluciones para
todo tipo de necesidades: administrativos, cientficos, entretenimiento, educacin, etc.


Windows en 1995 Microsoft descontinu al MS-DOS y lanz en su reemplazo o Windows 95;
con capacidad multitarea, procesa 32 bits y soporta aplicaciones de DOS, es el producto que
pretende reemplazar al exitoso y ya obsoleto DOS (ya salieron nuevas versiones de Windows:
98/2000, XP).

Las principales caractersticas de Windows son:
Tiene una nueva interface con el usuario, tendiendo a agilizar y/o automatizar tareas,
otorgando mayor poder a los expertos.
Provee capacidad de multitarea real y mayor proteccin de la memoria.

Incorpora tecnologa plug and play (enchufar y usar), sta pretende integrar cualquier
dispositivo (impresoras, telfonos, scanners, etc.) a la PC en forma automtica, es decir, sin tener
que configurarlo manualmente.

Trae facilidades incorporadas para la conexin a Internet.

Trae soporte para trabajo en todo tipo de redes LAN. Provee operabilidad para ser cliente de
Novell Netware y todos los servicios para conectarse a otras PC corriendo Windows 3.11 o
Windows 95 (redes entre pares) o como cliente de Windows NT o Lan Manager de IBM.

0S/2 es el sistema operativo para PC de IBM, naci para competir con los productos de
Microsoft. Se destaca por brindar capacidad multitarea y compatibilidad para correr las
aplicaciones que trabajan en MS-DOS y las diferentes versiones de Windows.



Sistemas operativos para redes

Una alternativa muy difundida en las arquitecturas abiertas, es la conexin de computadoras en
redes, esta posibilidad permite que las estaciones de trabajo (PC) funcionen con su propio
procesador pudiendo compartir archivos de datos o servicios de impresin de otras computadoras
(Servidores) conectados a la red. Para administrar los servidores de redes LAN existen en el
mercado varios productos:

Netware de Novell es un sistema operativo para redes LAN diseado pura correr en PC
compatibles, trabaja con equipos configurados con procesadores Intel (a partir del modelo 80286 y
superiores), soporta estaciones de trabajo que funcionan bajo sistemas operativos MS-DOS,
Windows, 0S/2 y Macintosh. Netware ha sido por muchos aos el sistema operativo de red ms
robusto, confiable y eficiente para administrar las redes LAN pequeas y grandes.


Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 15
Todas las versiones de Novell se han destacado por su buen rendimiento y confiabilidad, bajos
requerimientos de hardware y memoria, habilidad como servidores de impresin y de
comunicaciones, situacin que lo han llevado a dominar el mercado de sistemas operativos para
LAN (hoy discutido por Windows NT de Microsoft). Comercialmente estn vigentes versiones de
Netware 3.x y 4.x con licencias que van de los 5 a los 250 usuarios, con un escalonado nivel de
costos.

Windows NT: desde hace aos Microsoft procura ingresar con un producto exitoso al
mercado de sistemas operativos para redes LAN, con Windows NT lo est consiguiendo. Es un
sistema operativo de 32 bits, seguro, escalable y portable, diseado para correr en PC y
arquitecturas de procesadores no Intel (RISC).

Est disponible en dos versiones: NT Workstation (para las estaciones de trabajo) y NT Server
(servidor de redes). Este producto se caracteriza porque el usuario debe adquirir licencias para el
servidor de datos y para los clientes, tantos como PC se conecten al servidor que administra
(Netware no tiene una versin especial para clientes).

Las ltimas versiones poseen grandes facilidades para la conexin a Internet y para el desarrollo
de Intranets, por lo que -junto con Unix- se los considera como los sistemas operativos de
Internet.



Sistemas operativos para ambientes multiusuarios

De prestaciones muy similares a los sistemas operativos de la anterior categora, administran
minicomputadoras y PC de distintos modelos y marcas. Se caracterizan por permitir conectar
terminales bobas a travs de lneas de comunicacin punto a punto y PC en redes. Existe en el
mercado una gran variedad de sistemas operativos para equipos de arquitectura abierta con
caractersticas multiusuario/multitarea, el ms popular es UNIX.

Fue el primer sistema operativo concebido para funcionar en cualquier tipo de arquitectura de
hardware. UNIX fue diseado para ser transportable, es decir para funcionar en todo tipo de
procesadores. Con el tiempo se convirti en el modelo para disear los nuevos sistemas operativos
que fueron apareciendo en el mercado.

UNIX es un sistema operativo programado en un 90 % en lenguaje C; esta caracterstica permite
su portabilidad, es decir la posibilidad de estar disponible para una gran variedad de equipos de
diversas marcas y caractersticas. En general, los sistemas operativos estn programados en
lenguaje ensamblador o de mquina, lenguaje que es especifico para cada tipo de procesador, lo
que hace imposible su transportabilidad, si queremos que funcione en otro modelo de procesador,
debemos re-escribir todos los programas que forman el sistema operativo en el lenguaje
ensamblador propio de la CPU de que se trate.

La ventaja del sistema operativo UNIX de estar escrito en un lenguaje de programacin de tercera
generacin (el C) que posibilita a sus usuarios poder escribir sus propios comandos o modificar los
existentes, puesto que algunas versiones de UNIX proporcionan el cdigo fuente del sistema
operativo en lenguaje C. Esta caracterstica ha ocasionado que distintos proveedores de UNIX
agreguen diversas posibilidades a sus versiones.

El sistema operativo UNIX fue diseado con caractersticas multiusuario-multitarea, incluye una
eficiente administracin de la memoria, con manejo de swapping, administracin del procesador
Informtica (6137). Ao 2008.

________________________________________________________________________
Mgter. Lilian Vera 16
por tiempo compartido, subsistemas de seguridad para acceder al sistema y a los archivos de
datos, subsistema de spooling, etc. Estas caractersticas hacen que UNIX sea hoy un sistema
operativo estable y confiable, de gran aceptacin en el mercado. Los largos aos de desarrollo que
lleva incorporado (ms de 25), aseguran su eficiente funcionamiento, posicionndolo como
candidato ideal para gestionar los potentes servidores de bases de datos y de comunicaciones que
necesita una gran empresa.

Versiones muy difundidas de UNIX son Solaris de Sun Microsystem, Linux.