Anda di halaman 1dari 16

Apunte Mantenimiento de Software

Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Apunte Mantenimiento de Software 2009


Lic. Alejandro R. Gonzlez Conno
1,- Evolucin de los ambientes de software
(operacin centralizada mono o multiusuario, operacin distribuida y multiprocesamiento).
Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware
de un computador y su propsito es proporcionar un entorno simple y agradable en el cual el
usuario pueda ejecutar programas. El objetivo principal de un Sistema Operativo es, entonces,
lograr que el Sistema de computacin se use de manera cmoda, y el objetivo secundario es que el
hardware del computador se emplee de manera eficiente y coordinar el uso de este entre diferentes
programas de aplicacin y los diferentes usuarios, ofreciendo una distribucin ordenada y
controlada de los procesadores, memorias y dispositivos de E / S entre los diversos programas que
compiten por ellos.
El sistema operativo resguarda al programador del hardware del disco y presenta una interfaz
simple orientada al archivo, tambin disimula mucho el trabajo referido a interrupciones, relojes o
cronmetros, manejo de memoria y otras caractersticas de bajo nivel.
Es el conjunto de programas que ordenadamente relacionados dan coherencia a las acciones que
lleva a cabo una computadora. Oculta al usuario la complejidad interna del sistema y manifiesta su
tarea de dos formas:
1- consiguiendo eficacia en la gestin de los recursos.
2- permitiendo una comunicacin entre el usuario y el ordenador controlando los procesos en
Curso.
Caractersticas de los sistemas operativos
En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:
- Conveniencia. hace ms conveniente el uso de una computadora.
- Eficiencia. permite que los recursos de la computadora se usen de la manera ms eficiente
posible.
- Habilidad para evolucionar. deber construirse de manera que permita el desarrollo, prueba
o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.
- Encargado de administrar el hardware. se encarga de manejar de una mejor manera los
recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso
una parte del procesador para poder compartir los recursos.
- Encargado de Relacionar dispositivos (gestionar a travs del kernel). se debe encargar de
comunicar a los dispositivos perifricos, cuando el usuario as lo requiera.
- Organizar datos para acceso rpido y seguro.
- Manejar las comunicaciones en red. permite al usuario manejar con alta facilidad todo lo
referente a la instalacin y uso de las redes de computadoras.
- Procesamiento por bytes de flujo a travs del bus de datos.
- Facilitar las entradas y salidas. debe hacerle fcil al usuario el acceso y manejo de los
dispositivos de Entrada/Salida de la computadora
- Generacin de estadsticas. Permite que se puedan compartir el hardware y los datos entre
los usuarios
.
Funciones y caractersticas de los sistemas operativos.
1. Aceptar todos los trabajos y conservarlos hasta su finalizacin.
2. Interpretacin de comandos: Interpreta los comandos que permiten al usuario
comunicarse con el ordenador.
3. Control de recursos: Coordina y manipula el hardware de la computadora, como la
memoria, las impresoras, las unidades de disco, el teclado o el Mouse.
4. Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de
almacenamiento, como discos flexibles, discos duros, discos compactos o cintas
magnticas.
5. Manejo de errores: Gestiona los errores de hardware y la prdida de datos.
6. Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten
los procesos. Definir el orden. (Quien va primero y quien despus).
7. Proteccin: Evitar que las acciones de un usuario afecten el trabajo que esta realizando
otro usuario.
8. Multiacceso: Un usuario se puede conectar a otra mquina sin tener que estar cerca de
ella.
9. Contabilidad de recursos: establece el costo que se le cobra a un usuario por utilizar
determinados recursos.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Evolucin de los sistemas operativos.


1- Primera generacin (1945 1955):
En esta poca no existan los sistemas operativos. Utilizacin de la tecnologa de las
vlvulas o tubos de vaco que hacan que los ordenadores fuesen enormes. El usuario
tena que hacer todos los programas en cdigo binario. Las mquinas eran muy caras.
2- Segunda generacin (1955 1965):
Aparecen los transistores que hacen que las mquinas se reduzcan de tamao,
facilitando la creacin de los sistemas operativos. Aparecen los lenguajes de bajo nivel
(assembler) y el lenguaje JCL. En esta poca se estandariza el cdigo para una mayor
divulgacin. Aparece un "embrin" de programa, dando lugar al IOCS (sistema de
control de entrada/salida).
Aparecen los lenguajes de alto nivel que tenan que cargar un compilador que converta
el lenguaje en assembler de la mquina en la que se compilaba. Haba que quitar el
compilador de la cinta magntica e insertar el traductor, ms tarde carga el programa
objeto en memoria y lo ejecuta. Todos estos recursos aumentaban el nmero de pasos
que haba que dar.
Aparece el JCL (Lenguaje de control de trabajo) para definir esos pasos perfectamente.
Cada vez se separa ms el programador del centro de proceso de datos.
El operador era el que valoraba los trabajos en el orden ms indicado. Aparece la
secuencia automtica de trabajo, se disea una secuencia que realice lo que realiza el
operador. Aparece un sistema operativo llamado monitor residente que ordena los
trabajos y se ejecutan automticamente.
El monitor residente tiene que estar protegido. Por esta razn aparecen dos medidas:
1)- Impedir que cualquier usuario acceda directamente a los programas.
2)- Impedir que un usuario en su programa altere las posiciones de memoria donde
est el monitor residente.
Para esto se crean dos estados del S.O.:
El estado Superusuario: que permite ejecutar las instrucciones sin pararse a valorarlas
(las instrucciones que slo se pueden ejecutar de este modo se llaman privilegiadas.
Estado Usuario: Se restringe el uso de las instrucciones.
Comienzan a aparecer ms perifricos como las unidades de cinta magntica y una
mejora notable de las impresoras. Una forma de reducir el tiempo de parada del
procesador es pasar de los dispositivos ms lentos a otros ms rpidos con un sistema
off-line. Si haba una lectura de fichas se pasaba la informacin a una cinta y el
procesador lea de ella. El procesador volcaba la informacin sobre otra cinta y despus
off-line pasaba de la cinta a la impresora. Este procesamiento, en general es ms rpido,
pero para un solo programa es ms lento.
Aparecen los buffer que son memorias intermedias donde pasa la informacin, el
dispositivo leer del buffer, eliminando as el dispositivo off-line.
El bffering es la tcnica que se comienza a aplicar y que tiene una ventaja: solapan los
dispositivos y almacenan la informacin. Sigue Existiendo un pequeo parn; este
sistema amortigua el proceso de E/S con el de ejecucin. Existen dos tipos de
procesamientos:
3- Tercera generacin (1965 1980):
Haba ordenadores especializados para multitud de cosas concretas, IBM resolvi este
problema y cre un software compatible para ordenadores de propsito 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 multiprogramacin, 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 SSOO
comienza otro trabajo.
Aparecen tambin las unidades de disco. Ahora se utiliza el disco para realizar la
funcin del buffer. Este disco se llama spool y slo lo utilizaba el sistema operativo.
Con el spool se permite, por lnea telefnica, mandar datos a otros lugares. Podemos
introducir una serie de trabajos en el spool y es el sistema operativo el que planifica que
trabajo se realiza antes que otro.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

La diferencia del bffering y del spooling es que en el bffering solapamos la E/S de un


trabajo con su proceso, mientras que en el spooling solapamos la E/S de varios procesos
con otro proceso distinto.
Aparecen los sistemas de tiempo compartido que suponan volver a interactuar con el
sistema.
Desde unos terminales podamos interactuar en el sistema. El procesador reparte su
tiempo entre los usuarios que estn utilizndolo. Con el sistema de tiempo compartido
el paso de los sistemas procesamiento por lotes es ms reducido.
Aparecen los sistemas de tiempo real que funcionan mediante una serie de sensores que
tienen una respuesta inmediata. Son tiempos de respuesta inmediata. Estos sistemas se
combinan pero atienden primero a los sistemas de tiempo real.
4- Cuarta generacin (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:
a) Conectividad que permite una gran libertad de comunicacin pero hace que
aparezcan problemas en la Seguridad, lo que impulsa el desarrollo de la criptografa que
intenta asegurar la privacidad, la integridad del mensaje y la autentificacin del mismo.
Tambin. aparecen dos tipos de SSOO: - Los de Red, en los que elijo implcitamente
que quiero hacer y los Distribuidos, que son transparentes para el usuario, son en los
que el SSOO se encarga de gestionar todo.
b) Concepto de Mquina Virtual que simula otras mquinas en una plataforma concreta
(Emuladores) Esto alcanza su mayor desarrollo con la plataforma Java que es una
Lenguaje y una Mquina Virtual.
c) Uso de Sistemas de Gestin de Bases de datos Existen SSOO que apoyan
directamente las bases de datos (seguros, bancos...)
Tipos de Sistemas Operativos.
Actualmente los sistemas operativos pueden clasificarse de tres maneras:
por la forma en que ofrecen sus servicios (visin externa).
por su estructura (visin interna)
por los servicios que ofrecen
Sistemas Operativos por la Forma en que ofrecen sus Servicios(Visin Externa).
Esta clasificacin es la ms comnmente usada y conocida desde el punto de vista del usuario final.
Por Nmero de Usuarios:
Sistema Operativo Monousuario.
Los sistemas operativos monousuarios son aqullos que soportan a un usuario a la vez, sin
importar el nmero de procesadores que tenga la computadora o el nmero de procesos o
tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras
personales tpicamente se han clasificado en este rengln.
En otras palabras los sistemas monousuarios son aquellos que nada ms puede atender a un
solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de
aplicacin que se este ejecutando.

Sistema Operativo Multiusuario.

Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la


vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de
sesiones remotas en una red de comunicaciones. No importa el nmero de procesadores en
la mquina ni el nmero de procesos que cada usuario puede ejecutar simultneamente.
En esta categora se encuentran todos los sistemas que cumplen simultneamente las
necesidades de dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas
se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del
tiempo (timesharing).
Por el Nmero de Tareas:

Sistema Operativo Monotarea.


Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario.
Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la
vez.
Los sistemas operativos monotareas son ms primitivos y, solo pueden manejar un proceso
en cada momento o que solo puede ejecutar las tareas de una en una.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Sistema Operativo Multitarea.

Por

Un sistema operativo multitarea es aqul que le permite al usuario estar realizando varias
labores al mismo tiempo.
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual
una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas.
La conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el
que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se esta
procesando la aplicacin que se encuentra en primer plano (la que ve el usuario. En la
multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en
segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se
encuentra en primer plano (por ejemplo, cuando esta aplicacin esta esperando informacin
del usuario), y siempre que esta aplicacin lo permita. En los sistemas multitarea de tiempo
compartido, como OS/2, cada tarea recibe la atencin del microprocesador durante una
fraccin de segundo.
Un sistema operativo multitarea puede estar editando el cdigo fuente de un programa
durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo
electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas
orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas
para el usuario, mejorando su productividad.
Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecucin
concurrente de dos o ms procesos activos. La multitarea se implementa generalmente
manteniendo el cdigo y los datos de varios procesos simultneamente en memoria y
multiplexando el procesador y los dispositivos de E/S entre ellos.
La multitarea suele asociarse con soporte hardware y software para proteccin de memoria
con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento
de otros procesos residentes.
el Nmero de Procesadores:

Sistema Operativo de Uniproceso.


Un sistema operativo uniproceso es aqul que es capaz de manejar solamente un procesador
de la computadora, de manera que si la computadora tuviese ms de uno le sera intil. El
ejemplo ms tpico de este tipo de sistemas es el DOS y MacOS.

Sistema Operativo de Multiproceso.


Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es
ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo.
Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente.
Asimtrica.
Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de
los procesadores el cual jugar el papel de procesador maestro y servir como
pivote para distribuir la carga a los dems procesadores, que reciben el nombre de
esclavos.
Simtrica.
Cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads) son
enviados indistintamente a cual quiera de los procesadores disponibles, teniendo,
tericamente, una mejor distribucin y equilibrio en la carga de trabajo bajo este
esquema.
Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo
cual puede consistir de un rea de memoria, un conjunto de registros con valores
especficos, la pila y otros valores de contexto.
Un aspecto importante a considerar en estos sistemas es la forma de crear
aplicaciones para aprovechar los varios procesadores. Existen aplicaciones que
fueron hechas para correr en sistemas monoproceso que no toman ninguna ventaja
a menos que el sistema operativo o el compilador detecte secciones de cdigo
paralelizable, los cuales son ejecutados al mismo tiempo en procesadores
diferentes. Por otro lado, el programador puede modificar sus algoritmos y
aprovechar por s mismo esta facilidad, pero esta ltima opcin las ms de las
veces es costosa en horas hombre y muy tediosa, obligando al programador a
ocupar tanto o ms tiempo a la paralelizacin que a elaborar el algoritmo inicial.

Sistemas Operativos por su Estructura (Visin Interna).


Para esta clasificacin se deben observar dos tipos de requisitos cuando se construye un
sistema operativo, los cuales son:
Requisitos de usuario: Sistema fcil de usar y de aprender, seguro, rpido y
adecuado al uso al que se le quiere destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma
de operacin, restricciones de uso, eficiencia, tolerancia frente a los errores y
flexibilidad.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Las siguientes son las distintas estructuras que presentan los actuales sistemas operativos
para satisfacer las necesidades que de ellos se quieren obtener.

Estructura Monoltica.
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un
solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una
puede llamar a cualquier otra. Las caractersticas fundamentales de este tipo de estructura
son:
Construccin del programa final a base de mdulos compilados separadamente que se
unen a travs del ligador.
Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que
puede provocar mucho acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes
aspectos de los recursos de la computadora, como memoria, disco, etc.
Generalmente estn hechos a medida, por lo que son eficientes y rpidos en su ejecucin y
gestin, pero por lo mismo carecen de flexibilidad para soportar diferentes ambientes de
trabajo o tipos de aplicaciones.
Estructura Jerrquica.
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los
sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo,
donde una parte del sistema contena subpartes y esto organizado en forma de niveles.
Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas
estuviera perfectamente definida y con un claro interface con el resto de elementos.
Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero
de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que
se utiliz con fines didcticos. Se puede pensar tambin en estos sistemas como si fueran
`multicapa'. Multics y Unix caen en esa categora.
En la estructura anterior se basan prcticamente la mayora de los sistemas operativos
actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o
"rings".
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap),
por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms
internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos
indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms
privilegiadas que las externas.
Mquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso,
mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas
operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la
multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de
mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser
varias mquinas diferentes.
El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin
llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas
virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una
rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema
operativo diferente, que ser el que ofrezca la mquina extendida al usuario
Cliente-Servidor(Microkernel).
El tipo ms reciente de sistemas operativos es el denominado Cliente-servidor, que puede
ser ejecutado en la mayora de las computadoras, ya sean grandes o pequeas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propsito general y
cumple con las mismas actividades que los sistemas operativos convencionales.
El ncleo tiene como misin establecer la comunicacin entre los clientes y los servidores.
Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de
aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un
archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. A su vez,
un proceso cliente puede actuar como servidor para otro." [Alcal92]. Este paradigma ofrece
gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el ncleo
provee solamente funciones muy bsicas de memoria, entrada/salida, archivos y procesos,
dejando a los servidores proveer la mayora que el usuario final o programador puede usar.
Estos servidores deben tener mecanismos de seguridad y proteccin que, a su vez, sern
filtrados por el ncleo que controla el hardware. Actualmente se est trabajando en una
versin de UNIX que contempla en su diseo este paradigma.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Sistemas Operativos por la Forma de Ofrecer sus Servicios


Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la del
usuario, el cmo accede a los servicios. Bajo esta clasificacin se pueden detectar dos tipos
principales: sistemas operativos de red y sistemas operativos distribuidos.

Sistema Operativo de Red.


Los sistemas operativos de red se definen como aquellos que tiene la capacidad de
interactuar con sistemas operativos en otras computadoras por medio de un medio de
transmisin con el objeto de intercambiar informacin, transferir archivos, ejecutar
comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es
que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para
ejecutar estas operaciones, adems de la ubicacin de los recursos que desee accesar. Por
ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se
localiza en el directorio /software/codigo en la computadora morelos bajo el sistema
operativo UNIX, dicho usuario podra copiarlo a travs de la red con los comandos
siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo%. En este
caso, el comando rcp que significa "remote copy" trae el archivo indicado de la
computadora morelos y lo coloca en el directorio donde se ejecut el mencionado comando.
Lo importante es hacer ver que el usuario puede accesar y compartir muchos recursos.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola
68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal
Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Sistemas Operativos Distribuidos.


Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar
recursos ( impresoras, unidades de respaldo, memoria, procesos, unidades centrales de
proceso ) en una sola mquina virtual que el usuario accesa en forma transparente. Es decir,
ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por
nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo
habitual. Todo lo anterior es el marco terico de lo que se deseara tener como sistema
operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la
complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento,
reintegrar sub-resultados, resolver problemas de concurrencia y paralelismo, recuperarse de
fallas de algunos recursos distribuidos y consolidar la proteccin y seguridad entre los
diferentes componentes del sistema y los usuarios. Los avances tecnolgicos en las redes de
rea local y la creacin de microprocesadores de 32 y 64 bits lograron que computadoras
mas o menos baratas tuvieran el suficiente poder en forma autnoma para desafiar en cierto
grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la
oportunidad de partir procesos muy pesados en clculo en unidades ms pequeas y
distribuirlas en los varios microprocesadores para luego reunir los sub-resultados, creando
as una mquina virtual en la red que exceda en poder a un mainframe. El sistema
integrador de los microprocesadores que hacer ver a las varias memorias, procesadores, y
todos los dems recursos como una sola entidad en forma transparente se le llama sistema
operativo distribudo. Las razones para crear o adoptar sistemas distribuidos se dan por dos
razones principales: por necesidad ( debido a que los problemas a resolver son
inherentemente distribuidos ) o porque se desea tener ms confiabilidad y disponibilidad de
recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros automticos en
diferentes estados de la repblica. Ah no es posible ni eficiente mantener un control
centralizado, es ms, no existe capacidad de cmputo y de entrada/salida para dar servicio a
los millones de operaciones por minuto. En el segundo caso, supngase que se tienen en
una gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades
de informacin en disco duro con una alta confiabilidad y disponibilidad. La solucin puede
ser que para cada grupo de trabajo se asigne una particin de disco duro en servidores
diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos,
sino slo a unos cuantos y, ms an, se podra tener un sistema con discos en espejo ( mirror
) a travs de la red, de manera que si un servidor se cae, el servidor en espejo contina
trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en
forma transparente.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema
se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes:
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Sistemas operativos (WIN CE, NetPC), en particular con caractersticas de multiusuario (WIN NT,
UNIX, etc.) y multiprocesamiento. Problemas de compatibilidad histrica. Tendencias actuales en
ambientes de software (sistemas operativos, bases de datos y otro software de base que facilita y
condiciona a las aplicaciones).
Diferentes ambientes de trabajo (estructuras de archivos generadas, base de datos, motor de
programas, etc.) de las aplicaciones.
Instalacin de software con caractersticas particulares y que cuenta con escasa documentacin
(problemas de identificacin, compatibilidad y dificultad en discernir eventuales consecuencias).
Instalacin y actualizacin de software a medida. Identificacin de sus componentes. Reemplazo o
agregado de componentes. Actualizacin de archivos de parmetros y configuracin.
Agregado de componentes de otro origen. Problemas de compatibilidad operativa entre software de
distinto origen.
Diagnstico de fallas. Estrategias y criterios para determinar el origen del problema (hardware,
software u operacin). Mtodos para ubicar qu mdulo o rutina origina el problema, reemplazo o
reinstalacin. La proteccin (integridad y confidencialidad) de los datos del usuario en el proceso.
Diagnstico de problemas de software (criterios de ensayo y descarte para determinar su origen,
estrategias para resolverlos, economa de la solucin).
Fuentes de informacin tcnica, de actualizacin y referencia. Consultas al soporte tcnico del
software, su formulacin e interpretacin.

Qu es un Sistema Operativo?.
El Sistema Operativo es un software que permite administrar los recursos de un computador:
Estos recursos son
Memoria
Procesadores (llamados tambin microprocesadores),
Dispositivos de Entrada/Salida,
Dispositivos de comunicacin y datos,
Dispositivos multimedia.
Un Sistema Operativo es una serie de programas que actan como intermediario entre el usuario y
el hardware de un computador y su propsito es proporcionar un entorno en el cual el usuario pueda
ejecutar programas. El objetivo principal de un Sistema Operativo es, entonces, lograr que el
Sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del
computador se emplee de manera eficiente.
Un Sistema Operativo es una parte importante de cualquier sistema de computacin. Un sistema de
computacin puede dividirse en cuatro componentes: el hardware, el Sistema Operativo, los
programas de aplicacin y los usuarios. El hardware (Unidad Central de Procesamiento(UCP),
memoria y dispositivos de entrada/salida (E/S)) proporciona los recursos de computacin bsicos.
Los programas de aplicacin (compiladores, sistemas de bases de datos, juegos de vdeo y
programas para negocios) definen la forma en que estos recursos se emplean para resolver los
problemas de computacin de los usuarios.

Caracterstica de un Sistema Operativo.


En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:
Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la
manera ms eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el
desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el
servicio.
Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor
manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada
proceso una prte del procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo se debe encargar de
comunicar a los dispositivos perifricos, cuando el usuario as lo requiera.
Organizar datos para acceso rpido y seguro.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta
facilidad todo lo referente a la instalacin y uso de las redes de computadoras.
Procesamiento por bytes de flujo a travs del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y
manejo de los dispositivos de Entrada/Salida de la computadora.
Tcnicas de recuperacin de errores.
Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen
entre ellos, informndoles si esa aplicacin esta siendo ocupada por otro usuario.
Generacin de estadsticas.
Permite que se puedan compartir el hardware y los datos entre los usuarios.

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

CLASIFICACION
Por Nmero de Usuarios:
Sistema Operativo Monousuario.
Los sistemas operativos monousuarios son aqullos que soportan a un usuario a la vez, sin
importar el nmero de procesadores que tenga la computadora o el nmero de procesos o
tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras
personales tpicamente se han clasificado en este rengln.
En otras palabras los sistemas monousuarios son aquellos que nada ms puede atender a un
solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de
aplicacin que se este ejecutando.
Sistema Operativo Multiusuario.
Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la vez, ya
sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en
una red de comunicaciones. No importa el nmero de procesadores en la mquina ni el nmero de
procesos que cada usuario puede ejecutar simultneamente.
En esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de
dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean
especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

Por el Nmero de Tareas:


Sistema Operativo Monotarea.
Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse
el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo
tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.
Los sistemas operativos monotareas son ms primitivos y, solo pueden manejar un proceso en cada
momento o que solo puede ejecutar las tareas de una en una.

Sistema Operativo Multitarea.


Un sistema operativo multitarea es aqul que le permite al usuario estar realizando varias labores al
mismo tiempo.
Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una
computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La
conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o
ms aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicacin
que se encuentra en primer plano (la que ve el usuario. En la multitarea cooperativa, la que se utiliza
en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante
los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta
aplicacin esta esperando informacin del usuario), y siempre que esta aplicacin lo permita. En los
sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencin del
microprocesador durante una fraccin de segundo.
Un sistema operativo multitarea puede estar editando el cdigo fuente de un programa durante su
depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un
proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens
y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su
productividad.
Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecucin
concurrente de dos o ms procesos activos. La multitarea se implementa generalmente manteniendo
el cdigo y los datos de varios procesos simultneamente en memoria y multiplexando el
procesador y los dispositivos de E/S entre ellos.
La multitarea suele asociarse con soporte hardware y software para proteccin de memoria con el
fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros
procesos residentes.

Por el Nmero de Procesadores:


Sistema Operativo de Uniproceso.
Un sistema operativo uniproceso es aqul que es capaz de manejar solamente un procesador de la
computadora, de manera que si la computadora tuviese ms de uno le sera intil. El ejemplo ms
tpico de este tipo de sistemas es el DOS y MacOS.

Sistema Operativo de Multiproceso.

10

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es ms de


uno y ste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas
trabajan de dos formas: simtrica o asimtricamente.
Asimtrica.
Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de los
procesadores el cual jugar el papel de procesador maestro y servir como pivote para
distribuir la carga a los dems procesadores, que reciben el nombre de esclavos.
Simtrica.
Cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads) son enviados
indistintamente a cual quiera de los procesadores disponibles, teniendo, tericamente, una
mejor distribucin y equilibrio en la carga de trabajo bajo este esquema.
Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede
consistir de un rea de memoria, un conjunto de registros con valores especficos, la pila y
otros valores de contexto.
Un aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para
aprovechar los varios procesadores. Existen aplicaciones que fueron hechas para correr en sistemas
monoproceso que no toman ninguna ventaja a menos que el sistema operativo o el compilador
detecte secciones de cdigo paralelizable, los cuales son ejecutados al mismo tiempo en
procesadores diferentes. Por otro lado, el programador puede modificar sus algoritmos y aprovechar
por s mismo esta facilidad, pero esta ltima opcin las ms de las veces es costosa en horas hombre
y muy tediosa, obligando al programador a ocupar tanto o ms tiempo a la paralelizacin que a
elaborar el algoritmo inicial.

11

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Otra Clasificacin de los Sistemas Operativos


Sistema Operativo Monousuario
El Sistema Operativo Monousuario es aquel que administra un solo computador. Por
ejemplo el MS-DOS, OS/2.
Sistema Operativo Monousuario y Multitarea
Es cuando se ejecutan varias tareas o programas simultneamente, en un solo
computador. Por ejemplo (Windows 3.1, 3.11, 95).
Sistema Operativo Multiusuario y Multitarea (distribuidos)
El sistema operativo Multiususario es aquel que administra simultneamente gran
nmero de computadores y ejecuta a la vez varias tareas. Por ejemplo UNIX,
Windows NT.
La Multitarea es sinnimo de multiprograma, donde se ejecutan varias tareas, es decir se ejecuta
una porcin del programa. La tarea es una parte del programa, que puede ser una funcin o
procedimiento.

12

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

WIN CE
Microsoft Windows CE es un Sistema Operativo de 32 bits abierto y escalable, diseado para
cubrir las necesidades de un amplio espectro de artefactos inteligentes, como controladores
industriales, hubs de comunicaciones y terminales de punto de venta.
Se basa en los Sistemas Operativos de Windows, pero est diseado para incluirse en mviles y
otros artefactos. Microsoft define el CE como originalmente diseado para aparatos Electrnicos.
Es utilizado en una amplia gama de computadoras manuales y como parte de programas para
control de cajas de TV por cable.
As como la gama completa de Sistemas Windows, Windows CE es un sistema operativo Multitarea
y multiproceso.
Microsoft destaca que este sistema fue diseado para aprovechar(scratch) ya que aprovecha todas
las ventajas de los conceptos e interfase de la arquitectura de Windows; argumentan que a los
usuarios de Windows de PC de Escritorio les resultar familiar el uso de Windows CE.

NetPC
The Net PC (also referred to as the Network PC)
is an industry specification for a low-cost personal
computer designed for businesses and their
network applications. A Net PC, which is a
design for what is also sometimes known as a thin
client, is intended to be centrally managed and to
lack a diskette drive, CD-ROM drive, or
hardware expansion slots. It is designed to
support specific business tasks and applications.
Typical uses for Net PCs would be online
transaction processing (OLTP) applications, retail
point-of-sale, and banking services.
Among companies that sell or plan to sell Net PCs
are Acer, Compaq, Dell, Hewlett-Packard, NEC,
and Unisys. Other companies including IBM plan
to accomodate their existing personal computer
line to compete. Net PCs are expected to cost
$1,000 or less and offer Pentium microprocessor,
16 to 32 megabytes of random access memory,
and at least 1.2 gigabyte hard drives. At its
inception, the Net PC was forecast to achieve
about 15% of total desktop PC sales.
A concept similar to the Net PC but with different
ideas about what a low-cost network PC should
be built with is called the network computer (NC).
The NetPC is a form of thin client, which is a stripped-down computer that
relies on computing resources in central servers for most of its functions.
The NetPC conforms to a design specification developed by Microsoft and
Intel. The concept was to create a very inexpensive sealed computer that
was easy for network administrators to set up and manage. However, the
NetPC concept has failed to catch on and is no longer important. In its
place, Microsoft has developed Windows 2000 Terminal Services and the
Windows-based terminal (WBT). See "Thin Clients" and "Terminal Services"
for more information.
Also called a
Network PC, a type
of network computer
designed
13

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

cooperatively by
Microsoft and Intel. In
some respects, the
Net PC is really just a
scaled-down PC
since it is able to
execute Windows
applications locally.
However, it also
includes features to
simplify connecting it
to a network and to
administer it remotely.
Net PCs are based on the Wintel platform, but are configured to be as inexpensive
as possible and to discourage users from configuring the machines themselves (the
cases also are sealed to discourage users from altering the hardware).
Consequently, they have no floppy disk drive or CD-ROM drive. They do have a
hard disk though it's meant to be used as a temporary cache to improve
performance rather than for permanently storing data. Configuration and
management of a Net PC is performed through a network server and Microsoft's
Zero Administration Windows (ZAW) system.
IBM, co-developer of the NetPC specification with Microsoft, has
scrapped plans to build their own NetPC, citing lack of demand from
customers. As reported in Friday's WinInfo, many computer
manufacturers are starting to realize that the NetPC is a non-event,
despite Microsoft's assurances that its a viable platform.
"We won't be introducing a NetPC this year," an IBM spokeswoman
said.
"IBM's position is that customers don't want a unique footprint box."
That won't stop IBM from releasing a NetPC-like sealed computer in
October, however, that includes proprietary management features. IBM
will use concepts from this box to make all of their computers easier to
use and cheaper to maintain, the spokesman said.
More importantly, however, is IBM's plan to release a line full-featured
PCs that will cost around $1000. This was to be the NetPC price-point
and IBM reasons that customers would prefer the real thing over a
stripped NetPC model.

Intel, Microsoft detail NetPC


specifications
What will NetPCs include -- and when will they actually
ship?
March 1997

14

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

Mail this
article to
a friend
Hanover, Germany (March 12, 1997) -- Intel Corp. and Microsoft Corp. at the CeBIT
show here today pushed their case for lowering business computing costs using NetPCs, but
the two industry giants did not reveal much.
While the NetPC System Design Guideline was released to selected industry partners today
"for feedback," it won't be made available to the public until the end of this month, said Pat
Gelsinger, vice president and general manager of desktop products at Intel. The baseline
specifications support both Intel's Wired for Management and Microsoft's Zero
Administration initiatives, and will allow PC vendors to deliver compliant NetPCs at prices
starting below
$1,000, he added.
NetPCs will come in sealed boxes with all management, upgrading and software
installation to be deployed
remotely from a server. By not letting the individual end user tamper with the NetPC, Intel
and Microsoft are
delivering a computing device requested by corporate customers, said Moshe Dunie, vice
president of
Windows operating systems at Microsoft.
A number of PC vendors are expected to start shipping NetPCs by the end of the second
quarter, said
Gelsinger. Compaq Computer Corp., the world's number one PC vendor, however, will not
be among them.
Intel's time frame is "very aggressive," and Compaq is expecting to ship its first NetPC
models first early in the
second half, said Ken Willett, desktop business manager of Europe, the Middle East, and
Africa at Compaq.
The Houston-based Compaq's first batch of NetPCs are likely to be powered by 133-MHz
and 166-MHz
Pentium processors, said Willett.
In addition, the NetPC hardware configuration guidelines are expected to include the
following: a sealed case;
at least 16 megabytes of RAM; an internal hard drive; support for VGA graphics; and
support for one or more
communications standards, such as 10-megabits-per-second Ethernet, token ring, or a
modem.
NetPCs will be text book examples of plug-and-play compatibility, since they will not
feature 16-bit ISA
expansion slots, but only 32-bit PCI slots that ensures that all hardware can be recognized
and managed
remotely, officials said.
Device drivers and software installation deployment are specified to meet Microsoft's
Windows 95 and
Windows NT standards.
However, PC vendors are also expected to ship higher-end NetPCs, including models
powered by the
forthcoming Pentium II processor, by June, said Intel's Gelsinger.

15

Apunte Mantenimiento de Software


Escuela N 713

2009
Lic Alejandro Gonzlez Conno

In the future, Intel also plans to migrate the manageability features built into the baseline
NetPC onto other
platforms, including notebooks, servers and workstations, said Gelsinger.
Here in Hanover, Intel also made what Gelsinger called the first-ever public demonstration
of the Pentium II
family of processors, the MMX-enhanced version of the Pentium Pro, and announced that it
will ship the chip
in the second quarter.
Around 16 of Intel's OEM customers will also show Pentium II demos when the CeBIT
show floor officially
opens tomorrow, according to Gelsinger.
Intel competitors Advanced Micro Devices Inc. and Cyrix Corp. later this week will also
demonstrate their
forthcoming Pentium II-class processors, code named K6 and M2, respectively.

16

Anda mungkin juga menyukai