Unidad III - Instituto

Anuncio
I.S.E.T.
(Instituto Superior de Educación Técnica) Nº
57
Salta 1880 1º Piso – ROSARIO – Santa Fé - TE: 0341-4250840
Carrera: Técnico Superior en Técnicas Digitales
Materia: Introducción a la Computación
Curso:
Primer Año
UNIDAD I I I
APLICACIONES
Sistema Operativo
Lenguaje Máquina
Microprogramación
HARDWARE
INDICE
SOFTWARE DE LAS COMPUTADORAS...............................................................................................................3
1. LOS SISTEMAS OPERATIVOS.......................................................................................................................4
1.1
HISTORIA DE LOS SISTEMA OPERATIVO...........................................................................................5
1.2
FUNCIONES DEL SISTEMA OPERATIVO.............................................................................................6
1.3
CLASIFICACIÓN DE LOS SISTEMA OPERATIVO................................................................................6
1.3.1
Sistemas Operativos por Lotes........................................................................................................6
1.3.2
Sistemas Operativos de Tiempo Real .............................................................................................7
1.3.3
Sistema Operativo de Multiprogramación (o Sistemas Operativos de Multitarea)..........................8
1.3.4
Sistema Operativo Monotarea .........................................................................................................8
1.3.5
Sistema Operativo de Tiempo Compartido .....................................................................................8
1.3.6
Sistema Operativo Distribuido .........................................................................................................8
1.3.7
Sistema Operativo de Red.............................................................................................................10
1.3.8
Sistema Operativo Paralelos .........................................................................................................10
1.3.9
Sistema Operativo Uniproceso (o Monoproceso)..........................................................................10
1.3.10
Sistema Operativo Multiproceso....................................................................................................10
1.3.11
Sistema Operativo Monousuario ...................................................................................................10
1.3.12
Sistema Operativo Multiusuarios ...................................................................................................10
2. SOFTWARE DE APLICACIÓN ......................................................................................................................11
2.1
SOFTWARE de USO ESPECÍFICO......................................................................................................11
2.2
SOFTWARE de USO GENERAL. .........................................................................................................11
Página 2 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
SOFTWARE DE LAS COMPUTADORAS
El software es el conjunto de programas y documentación que permiten el adecuado funcionamiento,
operación y programación de las computadoras.
Las computadoras se diseñaron para funcionar con una parte física (hardware) y otra parte lógica
(software) imprescindiblemente, por lo que se puede afirmar que una computadora es una construcción
indivisible de hardware y software, que sencillamente no funciona correctamente, si una cualquiera de las
partes se encuentra dañada total o parcialmente.
En sus orígenes, el software no fue tal como hoy lo conocemos ya que el mismo era parte del hardware,
por lo cual, cada vez que se necesitaba realizar una tarea o calculo distinto con el computador, a este se le
debía modificar o reemplazar parte del hardware. Por este motivo los primeros computadores eran
programados por los mismos científicos que los construían para propósitos muy específicos, como por
ejemplo el cálculo de la trayectoria de los proyectiles usados en la II Guerra Mundial.
Ante este problema se interesó el matemático Húngaro-Americano John Von Neumann, quien ante el
problema de la necesidad de "recablear" la máquina para cada nueva tarea, propuso en 1949 una solución
con un nuevo modelo de estas maquinas, dando origen a lo que hoy conocemos como “Arquitectura de Von
Neumann”. La solución consistía en poner la información sobre las operaciones a realizar en la misma
memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario, este hecho
permitió dar un giro importantísimo a como se programan las computadoras modernas y la implementación
del software tal como hoy lo conocemos.
Dada la diversidad de tareas que debe realizar una computadora desde el momento que se la enciende y
posteriormente para llevar cabo las ordenes encomendadas por el o los usuarios, no es difícil pensar que en
su interior se ejecutan grandes cantidades de instrucciones (programas) o software, pudiendo agruparlas en
dos grandes categorías:
•
•
Software de sistema: es el conjunto de instrucciones y programas que se ejecutan
automáticamente cuando se enciende el ordenador y se encarga de controlar el Hardware de las
computadoras y está compuesto por:
•
Las microinstrucciones del BIOS (Basic Input Output System), residente en memora ROM
•
Herramientas de programación, programas Intérpretes, programas Compiladores (estos
últimos son los encargados de traducir las instrucciones escritas en lenguajes de alto
nivel por el programador, a lenguaje de máquina para que puedan ser interpretadas por
el microprocesador).
•
Sistema operativo, es un software que actúa de interfaz entre los dispositivos de
hardware y los usuarios del sistema informático, dando apoyo a los programas de
aplicación para su ejecución y resolución de problemas.
Software de aplicación, es aquel que hace que el computador coopere con el usuario en la
realización de tareas típicamente humanas, tales como gestionar una contabilidad o escribir un
texto, etc.
Un sistema informático puede ser visto por niveles, según se muestra en la siguiente figura:
APLICACIONES
Sistema Operativo
Lenguaje Máquina
Microprogramación
HARDWARE
Página 3 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
•
El primer nivel es el hardware, compuesto por los dispositivos físicos.
•
Luego sigue un nivel de software primitivo que controla directamente los dispositivos físicos,
llamado microprogramación. Generalmente localizado en la ROM
•
A continuación le sigue el software de sistema con las herramientas de programación, el lenguaje
máquina, y el Sistema Operativo (S.O.). En este nivel se esconde toda la complejidad del sistema
y da soporte al programador con un conjunto de instrucciones más conveniente para trabajar.
Sobre el S.O. está el resto del software del sistema, donde se encuentra el intérprete de
comandos (shell para ejecución de programas, dar formato a un disco, copiar información de un
disco a otro, etc.), compiladores, editores y programas independientes de las aplicaciones.
•
Finalmente, sobre los programas del sistema vienen los programas de aplicación, son escritos
por un usuario programador para solucionar problemas particulares, como por ej.: procesamiento
de datos comerciales, cálculos de ingeniería, juegos, etc.
1. LOS SISTEMAS OPERATIVOS
Los SISTEMAS OPERATIVOS (S.O.) son conjuntos de programas (o rutinas de instrucciones) que
ayudan a los programadores y usuarios de las computadoras a interactuar con las mismas, presentando una
interface agradable y simple bajo la cual se oculta la complejidad del hardware, disimulando también mucho
del trabajo concerniente a: interrupciones, manejo de relojes o cronómetros, administración de memoria y
otras características de bajo nivel.
La función del S.O. es la de presentar al usuario el equivalente de una máquina ampliada o máquina
virtual que sea más fácil de programar que el hardware implícito.
Desde los primeros computadores, los diseñadores y creadores, se dieron cuenta que se necesitaba algo
que permitiera la fácil interpretación de las instrucciones así como de los resultados obtenidos, para lo cual
crearon un Programa básico que toda computadora debían cargar primero en su memoria para poder
comunicarse y comprenderse con el ser humano. Así surge el Sistema Operativo (S.O.), programa básico
que se carga al momento de encender la máquina y sirve de intérprete entre el frío lenguaje de las máquinas
electrónicas y el complejo idioma humano, el S.O. es el gobierno interno de la máquina.
Los programas del S.O. son activos cuando se encuentran en la memoria principal pero debido a que
gran parte de la misma es volátil, se diseñó una estrategia de ahorro de recursos y eficiencia de operación,
donde parte del S.O. se encuentra residiendo en la ROM (memoria de solo lectura que es parte de la
memoria principal) y parte en un medio de almacenamiento masivo, habitualmente en un disco duro o rígido.
El programa que se encuentra en la ROM se denomina BIOS (Basic Input Output System), por eso a esta
ROM se la llama ROMBIOS. Múltiples son las funciones de la misma, pero, tal vez, la tarea clave es el
momento del arranque de la computadora.
En ese momento, la BIOS pone en funcionamiento un programa que le permite cargar otros programas
que se encuentran en Memorias Auxiliares a la Memoria RAM, a este programa cargador se lo llama
genéricamente "bootstrap" (nótese que el arrancar la computadora se denomina "buteo"). El Bootstrap, tiene
distintos nombres según el S.O., es el responsable de cargar el resto del sistema en Memoria Principal y la
máquina queda lista para operar.
Antes de convocar al bootstrap, el BIOS tiene un programa de chequeo de la arquitectura de la
computadora y su contrastación con el inventario que se encuentra en la memoria del Set Up, y en caso de
no coincidir, emite mensajes para que el usuario tome los recaudos que crea son necesarios.
Además la BIOS, tanto la parte que está en ROM, como la otra parte que se agrega después del buteo
en memoria RAM, intervienen en las operaciones de conexión de entrada y salida de datos e información.
Los programas del S.O. suelen tener comandos internos, que se encuentran durante toda la operatoria
en memoria principal, y comandos externos, que son convocados a memoria principal en el momento que
sea necesario utilizarlos y luego de ser usados, el lugar de la memoria que era ocupado por estos comandos
se puede utilizar con otra aplicación.
En la actualidad existen varios sistemas operativos para diferentes necesidades y tipos de computadoras,
entre los más conocidos y utilizados actualmente se encuentran los siguientes:
• MS-DOS Microsoft (Disk Operative System). El sistema operativo con cual de una u otra forma hemos
estado más familiarizados desde la aparición de las Computadoras Personales y sobre el cuál
trabajan la mayoría de los programas usados tanto en la pequeña, mediana y grande empresa, así
como en Industrias, Instituciones y hogares por millones de gentes alrededor del mundo. Su versión
más nueva a la fecha es la 6.22. Una característica de este S.O. era que los archivos se podían
nombrar solo con 8 caracteres (solo 53 caracteres eran validos) para el nombre + 3 caracteres para la
extensión que definía el tipo de archivo, como por ejemplo:
Página 4 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
APLICACIÓN.BAS
APLICACIÓN.OBJ
APLICACIÓN.EXE
ARCHIVO.TXT
ARCHIVO.RTF
ARCHIVO.DOC
ARCHIVO.VBS
=
=
=
=
=
=
=
Archivo Fuente escrito en lenguaje BASIC
Archivo objeto (necesario para su compilación)
Programa Ejecutable
Archivo de texto ASCII "texto plano"
Archivo de texto con formato
Archivo de texto con formato de Microsoft Word
Archivo fuente escrito en lenguaje Visual Basic.
• Windows de Microsoft, fue el sucesor del MS-DOS 6.22, con su versión Windows ’95 fue el primer S.O
nato de Microsoft, ya que las versiones anteriores eran solamente entornos gráficos del MS-DOS.
Además con Windows 95 se empezó a dar soporte a aplicaciones de 32 bits, multitarea, soporte de red
incorporado, los sistemas operativos de Microsoft siguieron su camino de actualización y así pasaron el
Windows 98, Windows NT4, Windows CE, hasta llegar al Windows XP, Windows Vista y Windows 7. A
la hora de poner nombre a un archivo, hay que saber que Windows cuenta para los 255 caracteres
todas las carpetas que hay en su ruta. Por ejemplo, en un archivo puede llamarse:
textos_que_debería_borrar_pero_que_no
• LINUX es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del
resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa
que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso
del mismo, la segunda, es que el sistema viene acompañado del código fuente. El sistema lo forman el
núcleo del sistema (kernel) más un gran número de programas / librerías que hacen posible su
utilización. Día a día, más y más programas / aplicaciones están disponibles para este sistema, y la
calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen
acompañados del código fuente y se distribuyen gratuitamente bajo los términos de licencia de la GNU
Public License.
• OS/2 WARP (Diseñado por IBM) es el competidor más cercano de MS-DOS sobre todo por sus
grandes capacidades de interconexión de equipos y facilidad de uso bajo ambiente gráfico.
• Netware (diseñado por Novell, líder mundial en sistemas operativos para redes de computadoras) es
un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso
seguro y continuado a la red y los recursos de información, sobre todo en cuanto a servidores de
archivos.
• Unix Sistema Operativo de alto rendimiento utilizado actualmente en grandes proyectos y para
necesidades de intercomunicación a nivel internacional y de gran volumen de operaciones diarias.
En resumen, podemos afirmar que ninguna computadora obedecerá las instrucciones de ningún
programa independientemente de su utilidad sin haber cargado en su memoria dicho intérprete al momento
de encenderse, ya que de esto dependerá su funcionamiento y eficiencia.
1.1
HISTORIA DE LOS SISTEMA OPERATIVO.
Los sistemas operativos, al igual que el hardware, han sufrido cambios a través del tiempo, los cuales se
pueden agrupar en generaciones. La evolución del hardware ha marcado el paralelismo de la evolución de
los sistemas operativos. Se puede decir que hardware y el software deben ir:
• 1945-1955, Primera Generación: Válvulas
Los primeros sistemas computacionales no poseían sistemas operativos. Para los usuarios eran
complejos por que trabajaban con lenguaje de máquina. Todas las instrucciones eran codificadas
manualmente.
• 1955-1965, Segunda Generación: Transistores y Sistemas Batch
Los sistemas operativos fueron diseñados para que sean más ágiles. Antes de que los sistemas fueran
diseñados, se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente.
Este fue el comienzo de los sistemas de procesamiento por lotes (sistemas Batch), donde los trabajos
se reunían por grupos o lotes. Cuando el trabajo estaba en ejecución, este tenía control total de la
maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y leía e
iniciaba el trabajo siguiente.
• 1965-1980, Tercera Generación: Circuitos Integrados y Multiprogramación
La característica de estos S.O. fue el desarrollo de los sistemas compartidos con multiprogramación, y
los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de
usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia
rápidamente de un trabajo a otro.
Página 5 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
La técnica de multiprogramación (multitasking) divide la memoria en varias partes con un trabajo
diferente en cada partición. Mientras un trabajo está inactivo esperando datos I/O otro trabajo puede
utilizar la CPU para ejecutarse. La técnica de spooling (Simultaneous Peripheral Operation On Line)
permite leer y escribir en los periféricos cuando se necesita, en lugar de tener que esperar a que todos
los trabajos estén listos. Para ello el sistema operativo mantiene una cola de impresión, es decir, con la
información de los trabajos listos a ser impresos.
• 1980-1990, Cuarta Generación: Computadoras Personales
El desarrollo de chips que contenían miles de transistores en un centímetro de silicio, comenzó la era
de los ordenadores personales (PC), constituyen el estado actual de la tecnología.
Entre los S.O. dominantes de esta generación podemos encontrar:
En el ámbito de las computadoras personales, se destacó el MS-DOS (Microsoft) para máquinas IBM
PC basadas en los microprocesadores Intel 8088 y sus sucesores.
En el ámbito de los grandes sistemas, como por ejemplo las basadas en los microprocesadores de la
familia Motorola 68000, el S.O. dominante fue el UNIX.
A mediados de los 80 comienza el crecimiento de redes de computadores con S.O. de red y S.O.
distribuidos.
1.2
FUNCIONES DEL SISTEMA OPERATIVO.
Una de las tareas más complejas que enfrenta el S.O. en una máquina es la administración de las
memorias, tanto principal como auxiliar, al punto tal que se señala que el sistema DOS de Microsoft estuvo
concebido fundamentalmente para manejar adecuadamente a los discos rígidos, de ahí su nombre de Disk
Operation System, que podría pensarse como el Sistema Operativo para el Disco, posteriormente se opinó
que era el Sistema Operativo en Disco.
De todas formas es cierto, también, que los S.O. han sido diseñados para trabajar con el hardware de la
computadora y realizar las tareas del usuario con la mayor facilidad. Por este motivo también se dice, que el
usuario no ve a la máquina real sino que ve a una máquina virtual, precisamente la que el S.O. le muestra.
Asimismo, desde los inicios hasta la actualidad, los S.O. han ido evolucionando y cambiando sus
prestaciones, siempre procurando facilitar la tarea del operador.
Entre las funciones básicas de un S.O. se encuentran:
•
•
•
•
•
1.3
Ejecución de programas.
Operaciones de I/O.
Manejo de sistema de archivos.
Detección de errores.
Gestión recursos:
a. CPU: puede ser compartida entre varios programas que se ejecutan al mismo tiempo
(multitarea). Para ello el sistema operativo tiene alguna política, por ejemplo “roundrobing”:
atiende una cola circular de programas asignando la CPU durante un lapso de tiempo
limitado al primer programa en la cola, y al terminar el tiempo asignado pasa el programa
al último lugar de la cola de programas.
b. Memoria: gestiona la memoria para poder ser compartida entre diferentes programas que
se ejecutan al mismo tiempo.
c. Periféricos: gestiona por ej. Una impresora compartida por varios programas que se
ejecutan al mismo tiempo en la misma máquina o incluso en máquinas diferentes que
comparten el periférico. Para ello mantiene una cola de impresión (spooling de impresora)
con los trabajos a ser impresos.
d. Manejo de cuentas y permisos: esto es fundamental en sistemas multiusuario donde
varios usuarios se conectan al mismo ordenador central pero necesitan protección de sus
datos, o tienen acceso restringido a ciertos recursos del sistema.
CLASIFICACIÓN DE LOS SISTEMA OPERATIVO.
Con el paso del tiempo, los S.O. fueron clasificándose de diferentes maneras, dependiendo del uso o de
la aplicación que se les daba. En la actualidad existen diversos tipos de Sistemas Operativos que se los
pueden clasificar según algunas de sus características:
1.3.1
Sistemas Operativos por Lotes
Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna
interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos comunes
Página 6 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el
procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron introducidos
alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto,
porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la
secuenciabilidad de la ejecución de los trabajos.
Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual
está orientado a procesamiento científico pesado, y el EXEC II para el UNIVAC 1107, orientado a
procesamiento académico.
™ Algunas otras características con que cuentan los S.O. por lotes son:
•
•
•
•
•
•
•
•
•
1.3.2
Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de
lote.
Permiten poca o ninguna interacción usuario/programa en ejecución.
Mayor potencial de utilización de los recursos, que procesamiento serial simple en sistemas
multiusuario.
No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de
línea.
Conveniente para programas de largos tiempos de ejecución (Ej.: análisis estadísticos, nóminas de
personal, etc.).
Se encuentra en muchos computadores personales combinados con procesamiento serial.
Planificación del procesador sencilla, típicamente procesados en orden de llegada.
Planificación de memoria sencilla, generalmente se divide en dos partes, una donde residente del
S.O. y la otra de programas transitorios.
Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca protección y ningún
control de concurrencia para el acceso.
Sistemas Operativos de Tiempo Real
Los Sistemas Operativos de tiempo real son aquellos en los cuales se da prioridad a los
procesos. Por lo general, hacen una subutilización de los recursos, con la finalidad de prestar atención
a los procesos en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran
número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy específicas
como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores. Las
aplicaciones de tiempo real están creciendo muy rápidamente, principalmente en el ramo
automovilístico y de la electrónica de consumo.
™ Otros campos de aplicación de los S.O. de tiempo real son los siguientes:
•
•
•
•
•
•
Control de trenes.
Telecomunicaciones.
Sistemas de fabricación integrada.
Producción y distribución de energía eléctrica.
Control de edificios.
Sistemas multimedia.
Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y
Spectra.
™ Los S.O. de tiempo real, cuentan con las siguientes características:
•
•
•
•
•
•
Se dan en entornos donde deben ser procesados, en breve tiempo o dentro de ciertos plazos,
grandes cantidades de sucesos, la mayoría externos al sistema computacional.
Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo
real., aplicaciones militares, etc.
Objetivo es proporcionar rápidos tiempos de respuesta.
Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.
Poco movimiento de programas entre almacenamiento secundario y memoria.
Gestión de archivos se orienta más a velocidad de acceso que a utilización eficiente del recurso.
Página 7 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
1.3.3
Sistema Operativo de Multiprogramación (o Sistemas Operativos de Multitarea).
Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos
(que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de
Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización.
Su objetivo es tener varias tareas en la memoria principal, de manera que cada uno está usando
el procesador, o un procesador distinto, esto último involucra máquinas con más de una UCP.
Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, etc.
soportan la multitarea.
™ Las características de un Sistema Operativo de multiprogramación o multitarea son las
siguientes:
•
•
•
•
•
•
Mejora la productividad del sistema y utilización de los recursos.
Generalmente soportan múltiples usuarios (multiusuario).
Proporcionan facilidades para mantener el entorno de usuarios individuales.
Requieren validación de usuario para seguridad y protección.
Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
Multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en
sistemas de tiempo real.
• Sistemas con multiprocesadores son sistemas multitareas por definición ya que soportan la
ejecución simultánea de múltiples tareas sobre diferentes procesadores.
En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas
activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.
1.3.4
Sistema Operativo Monotarea
Los sistemas monotarea son aquellos que sólo 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.
1.3.5
Sistema Operativo de Tiempo Compartido
Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario
hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta
aparecerá en la terminal del usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son
continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el
sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema
Operativo, principalmente en la administración de memoria principal y secundaria.
Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.
™ Características de los Sistemas Operativos de tiempo compartido:
•
•
•
•
•
•
1.3.6
Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseño
asistido por computador, procesamiento de texto, etc.
Dan la ilusión de que cada usuario tiene una máquina para sí.
La mayoría utilizan algoritmo de reparto circular.
Evitan la monopolización del sistema asignando tiempos de procesador (time slot).
La gestión de memoria proporciona protección a programas residentes.
La gestión de archivo debe proporcionar protección y control de acceso debido a que pueden existir
múltiples usuarios accediendo un mismo archivo.
Sistema Operativo Distribuido
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser
que este conjunto de procesadores esté en un mismo equipo o en diferentes, en este caso es
transparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente
acoplado es a aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares
para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni
memoria ni reloj, ya que cada uno cuenta con su memoria local.
Página 8 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se
descompone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes S.O. distribuidos que existen tenemos los siguientes: Solaris-MC, Mach,
Chorus, Spring, Amoeba, Taos, etc.
™ Características de los Sistemas Operativos distribuidos:
•
•
•
•
Colección de sistemas autónomos con capacidades de comunicación y cooperación mediante
interconexiones hardware y software.
El objetivo clave es la transparencia.
Generalmente proporcionan medios para compartir globalmente los recursos.
Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para
distribución de cálculos (a través de comunicación de procesos internodos, llamadas a
procedimientos remotos, etc.).
™ Ventajas de los Sistemas Distribuidos
En general, los sistemas distribuidos exhiben algunas ventajas sobre los sistemas centralizados:
•
Economía: El cociente precio/desempeño de la suma del poder de los procesadores separados
contra el poder de uno solo centralizado es mejor cuando están distribuidos.
•
Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior.
•
Confiabilidad: Si una sola máquina falla, el sistema total sigue funcionando.
•
Crecimiento: El poder total del sistema se ir puede incrementando al añadir pequeños sistemas, lo
cual es mucho más difícil y caro en un sistema centralizado.
•
Distribución: Algunas aplicaciones requieren de por sí una distribución física.
Por otro lado, los sistemas distribuidos también exhiben algunas ventajas sobre sistemas aislados.
™ Estas ventajas son:
•
Compartir datos: Un sistema distribuido permite compartir datos más fácilmente que los sistemas
aislados, que tendrían que duplicarlos en cada nodo para lograrlo.
•
Compartir dispositivos: Un sistema distribuido permite acceder a dispositivos desde cualquier nodo
en forma transparente, lo cual es imposible con los sistemas aislados.
•
Comunicaciones: La comunicación persona a persona es factible en los sistemas distribuidos, en
los sistemas aislados no.
•
Flexibilidad: La distribución de las cargas de trabajo es factible en los sistemas distribuidos, se
puede incrementar el poder de cómputo.
™ Desventajas de los Sistemas Distribuidos
Así como los sistemas distribuidos exhiben grandes ventajas, también se pueden identificar
algunas desventajas tan serias que han frenado la producción comercial de sistemas operativos en la
actualidad. El problema más importante en la creación de sistemas distribuidos es el software: los
problemas de compartir datos y recursos es tan complejo que los mecanismos de solución generan
mucha sobrecarga al sistema haciéndolo ineficiente.
Otros problemas de los sistemas operativos distribuidos surgen debido a la concurrencia y al
paralelismo. Tradicionalmente las aplicaciones son creadas para computadoras de ejecución
secuencial, de manera que el identificar secciones de código `paralelizable' es un trabajo arduo, pero
necesario de dividir un proceso grande en sub-procesos, para poder enviarlos a diferentes unidades de
procesamiento. Con la concurrencia se deben implantar mecanismos para evitar las condiciones de
competencia, las postergaciones indefinidas, el ocupar un recurso y estar esperando otro, las
condiciones de espera circulares y, finalmente, los "interbloqueos" (deadlocks). Estos problemas de por
sí se presentan en los sistemas operativos multiusuario o multitareas, y su tratamiento en los sistemas
Página 9 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
distribuidos es aún más complejo, y por lo tanto, necesitará de algoritmos más complejos con la
inherente sobrecarga esperada.
1.3.7
Sistema Operativo de Red
Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún
medio de comunicación (alámbrico o inalámbrico), con el objetivo primordial de poder compartir los
diferentes recursos e información del sistema.
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 más ampliamente usados son: Novell Netware, Personal
Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.
1.3.8
Sistema Operativo Paralelos
En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más procesos que
compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.
En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma
interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un
mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría
normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso.
Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es
utilizado en los sistemas RS/6000 de IBM.
1.3.9
Sistema Operativo Uniproceso (o Monoproceso)
Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de
la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más
típico de este tipo de sistemas es el DOS y MacOS.
1.3.10
Sistema Operativo Multiproceso
Un sistema operativo multiproceso es de utilización en sistemas con varios procesadores, siendo
capaz de usarlos a todos para distribuir la carga de trabajo. Generalmente estos sistemas trabajan de
dos formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, 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 demás procesadores, que reciben el nombre de esclavos. Cuando
se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a
cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio
en la carga de trabajo bajo este esquema.
Se dice que un thread es la parte activa en memoria y que se está ejecutando de un proceso, lo
cual puede consistir de un área de memoria, un conjunto de registros con valores específicos, 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 código 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 opción las más de las veces es costosa en horas hombre y
muy tediosa, obligando al programador a ocupar tanto o más tiempo a la paralelización que a elaborar
el algoritmo inicial.
1.3.11
Sistema Operativo Monousuario
Los sistemas operativos monousuario son aquellos que soportan a un usuario a la vez, sin
importar el número de procesadores que tenga la computadora o el número de procesos o tareas que
el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente
se han clasificado en este renglón.
1.3.12
Sistema Operativo Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más 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 número de procesadores en la máquina ni el número de
procesos que cada usuario puede ejecutar simultáneamente.
Página 10 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
2. SOFTWARE DE APLICACIÓN
El software de aplicación, es el conjunto de programas informáticos diseñados para ser
ejecutados en las computadoras electrónicas, con la finalidad de facilitar a los usuarios la resolución
de problemas específicos o la realización de una determinada tarea.
Al software de aplicación lo podemos clasificar según su uso en:
2.1
SOFTWARE de USO ESPECÍFICO.
Hablar de este tipo de software nos referimos a un software dedicado que es desarrollado
específicamente para un problema especifico de alguna organización o persona, la implementación de este
software requiere de un experto en informática para su creación o adaptación, su uso está limitado a un
grupo reducido de personas. Dentro de este grupo se encuentra los programas de:
•
•
•
•
2.2
Investigación Científica,
los programas que usan las escuelas para registrar las calificaciones de los alumnos y generar
certificados,
los que usan los bancos para el control de las cuentas,
etc.
SOFTWARE de USO GENERAL.
El software de uso general son aquellos que nos sirven para resolver problemas muy variados del mismo
tipo, de muy diferentes empresas o personas, con adaptaciones realizadas por un usuario. Como ejemplos
podemos encontrar programas de:
- Tratamiento de Textos (Procesadores de Texto): Un buen paquete de tratamiento de textos aparte de
tener todas las funciones de una moderna máquina de escribir, debe tener entre otras, características tales
que permitan componer el texto en la pantalla, corregirlo, borrar o insertar nuevas palabras y párrafos en
cualquier punto del texto, y por supuesto imprimirlo. Además debe permitir definir el formato de presentación
(texto por página, distribución de columnas y márgenes, espaciado entre líneas y párrafos), el tipo de letra
a aparecer en cada zona del texto (caracteres normales, en negrita, cursiva, etc.). A todas estas
posibilidades se debe agregar el hecho de almacenar los textos desarrollados, lo que permite su posterior
utilización, modificación o inserción de un documento o parte del mismo en otros documentos.
Existen en el mercado una gran cantidad de paquetes destinados al tratamiento de textos, entre los que
podemos mencionar, WORDSTAR, VOLKSWRITER, CHI-WRITER, MICROSOFT WORD, WORD-PERFECT,
entre los más importantes para microcomputadoras que trabajen bajo sistema operativo MS-DOS. (Este
apunte está realizado con MICROSOFT WORD PARA WINDOWS).
- Hojas Electrónicas (Hojas de Cálculo): La introducción de las Hojas Electrónicas o Planillas Electrónicas
de Cálculo, ha sido una de las ideas más revolucionarias en el campo del desarrollo del software. Parten de
la base que existen una gran cantidad de problemas en diversas especialidades que se resuelven con lápiz,
papel y calculadora. A partir de allí se debía generar un programa que fuera versátil, y que fuera el usuario el
encargado de buscar las aplicaciones concretas del programa; además debía ser de fácil uso ya que
normalmente el usuario no sería un experto en informática.
A partir de allí se trabajó en el tema y se diseñó un programa que pudiera resolver problemas tales como
Planificaciones financieras, de Personal, Gestión de Procesos de Fabricación, Seguimiento de Costos,
Preparación de Ofertas, Estadísticas.
Para ello se dispuso que la hoja electrónica fuese una gran matriz con filas numeradas (1, 2, 3, ...) y
columnas denominadas (A, B, C, .... ,Z, AA, AB, ...). De forma tal que cada uno de los elementos de la hoja
viene definido por un número y una letra que identifican la fila y la columna donde se encuentra ese
elemento. A partir de esa estructura básica es el usuario el que define el contenido de cada elemento de la
matriz con:
o
o
o
Literales alfabéticos, que sirven únicamente para efectuar descripciones.
Datos numéricos, que representan la información numérica independiente.
Fórmulas de Cálculo, que relaciona los datos numéricos.
De esta manera cuando el usuario ingresa un literal alfabético, el programa simplemente se limita a
almacenar dicha información, cuando se ingresa o modifica un elemento numérico, o una fórmula de cálculo
el programa se encarga de almacenarlo y recalcular en forma automática todos los elementos relacionados.
Esta característica de recálculo es la que le da potencia a este software.
Entre las hojas electrónicas desarrolladas para trabajar en microcomputadoras con sistema operativo MSDOS podemos mencionar VISICALC, LOTUS 1-2-3, MULTIPLAN, QUATTRO, QUATTRO-PRO,
MICROSOFT EXCEL, etc.
- Gestores de Archivos y de Bases de Datos: Muy a menudo es necesario almacenar una determinada
cantidad de información y luego tener acceso a esa información, modificarla, actualizarla, utilizarla o
imprimirla.
Página 11 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
La organización y tratamiento de todo este repertorio de datos está a cargo de paquetes denominados
DBMS (Data Base Management System) o Sistemas para la Gestión de Bases de Datos. Además de permitir
trabajar sobre un determinado archivo (se entiende por archivo un conjunto de datos interrelacionados entre
sí, por ejemplo, un archivo podría ser los libros de una biblioteca, donde se debería almacenar todos los
libros existentes, y de cada uno de ellos la información que se considere necesaria, esto es, nombre, autor,
editorial, edición, etc.) un buen gestor de base de datos debe permitir interrelacionar archivos. (Siguiendo
con el ejemplo de la biblioteca, se podría generar otro archivo que registre los movimientos, préstamos,
devoluciones, etc. y que debe operar en relación directa con el anterior). Entre las bases de datos más
comunes del mercado podemos mencionar DBase III+, DBase IV, Fox Base, Clipper, PFS File/Report,
Access, etc.
- Generación de Gráficos: A menudo cuando se realiza la presentación de un trabajo es conveniente
complementarlo con información gráfica. Existen programas que pueden realizar una diversa variedad de
gráficos, entre ellos, curvas, barras, histogramas, círculos de fraccionamiento proporcional, etc. La impresión
de gráficos se puede realizar a través de una impresora, pero la calidad de presentación se ve ampliamente
superada con la utilización de trazadores gráficos o plotters. A pesar que las hojas electrónicas permiten la
generación de gráficos, esta posibilidad se ve potenciada con la utilización de programas especialmente
diseñados para tal fin. Entre los principales paquetes de tratamiento de gráficos podemos mencionar: PFS
Graph, MICROSOFT CHART, HARVARD PRESENTATION GRAPHICS, 3D GRAPHS, COREL DRAW, etc.
- Paquetes de Comunicaciones: Las computadoras personales no sólo permiten el trabajo autónomo, sino
que permiten la intercomunicación entre ellas o con mini o macrocomputadoras. Para poder realizar esta
comunicación, es necesaria la utilización de software especialmente diseñado para tal fin. A los paquetes de
comunicación lo podemos agrupar de la siguiente manera:
o Convertidores de protocolo para comunicación con periféricos.
o Emuladores de terminales, que permiten que una microcomputadora actúe como terminal de una
computadora de mayor potencia.
o Paquetes de creación de redes locales. Se denomina red a un grupo de microcomputadoras
interconectadas entre sí y que pueden compartir información.
o Paquetes para comunicación remota, por ejemplo, vía módem a través de línea telefónica o vía
satélite.
Entre los paquetes de comunicaciones más conocidos podemos mencionar: PROCOMM, PC-TALK,
REMOTE ACCES, CROSSTALK XVI, NETSCAPE, etc.
- Diseño Asistido por Computadora: Dentro de las aplicaciones de un Programa de Diseño Asistido por
Computadora se pueden mencionar:
o
o
o
o
o
o
o
Diseños de todo tipo aplicados a la arquitectura.
Producción de planos para el diseño de interiores.
Diagramas de flujo y organizativos.
Diseño en Ingeniería de distintas ramas.
Representación de funciones matemáticas.
Diseños de dibujo artístico.
Producción de cualquier tipo de gráficos.
Para realizar los diseños anteriormente descritos los programas de diseño asistido proveen dos
herramientas básicas: entidades y comandos. Las entidades se utilizan para construir los gráficos y son
puntos, líneas, círculos, arcos, polilíneas, textos, etc. Los comandos permiten al usuario manejar las
entidades y por lo tanto ubicarlas y dimensionarlas convenientemente.
Además de los comandos para el manejo de entidades existen una serie de comandos auxiliares que
permiten una mayor facilidad en el diseño, tales como ampliar o reducir la vista de un dibujo en pantalla
(ZOOM), comandos de ayuda en pantalla (HELP), comandos de manejo de archivos (FILES), además de los
comandos necesarios para imprimir o graficar un dibujo.
Entre los paquetes de diseño asistido más comunes entre las microcomputadoras con sistema operativo MSDOS podemos mencionar AutoCAD, DesignCAD, ProDesign, etc.
- Programas de Autoedición: Los programas de Autoedición son una herramienta basada en PC que permite
realizar cualquier composición de documentos de forma rápida, sencilla y limpia, olvidándose de la cuchilla,
la escuadra y la goma de pegar.
Los programas que cumplen estas funciones, generalmente trabajan bajo un entorno gráfico, combinando
textos y gráficos bajo la filosofía WYSIWYG: What you see is what you get (lo que ves es lo que obtienes)
editando los distintos componentes sobre la pantalla.
Estos programas son cada vez más populares ya que la mayoría de las organizaciones crea sus propias
publicaciones, consistentes en libros, revistas, catálogos, resúmenes, etc.
Entre los paquetes más importantes para microcomputadoras podemos mencionar VENTURA PUBLISHER y
PAGE MAKER. Estos dos sistemas monopolizan el sector alto del mercado de la Autoedición, existiendo
programas de recursos más limitados pero muy convenientes para introducirse en este concepto, como GEM
DESKTOP PUBLISHER, BYLINE y PFS: First Publisher.
- Paquetes Integrados: Un paquete integrado lo podemos definir como la sumatoria de una hoja electrónica,
un gestor de bases de datos, un procesador de textos, gráficos de gestión y programas de comunicaciones.
Página 12 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
La pregunta obligada que surge es ¿para qué integrarlos?. La respuesta a esto es la migración de datos
entre aplicaciones. Es común que en una empresa tengan que interactuar los datos provenientes de una
base de datos, con una hoja electrónica, o con un procesador de textos para enviar una correspondencia. O
bien tomar datos de cualquiera de estos y enviarlos a una computadora ubicada en algún lugar remoto.
Para hacer ello es necesario pasar o migrar datos de un programa a otro, lo cual no siempre es posible
realizarlo en forma sencilla, o simplemente no es posible realizarlo.
En los paquetes integrados los datos generados en una aplicación están siempre disponibles para utilizarlos
en cualquier otra, con lo que se aleja el problema de las migraciones.
Como contracara del software integrado, es válida su aplicación siempre que se justifique, porque cada una
de sus aplicaciones no tiene la potencia que tiene un programa especialmente desarrollado para esa
función, y obviamente porque un paquete integrado resulta más costoso que un paquete de aplicación
simple. Además de ello un paquete integrado necesita normalmente un hardware de mayor capacidad,
fundamentalmente en lo referente a memoria, tanto principal como de almacenamiento.
Entre los paquetes integrados más comunes del mercado podemos encontrar: FRAMEWORK, OPEN
ACCESS, SYMPHONY, WORKS, MS Office, etc.
• Software multimedia: El software multimedia se refiere a los programas utilizados para presentar de una forma
integrada textos, gráficos, sonidos y animaciones, este tipo de software es considerado como una nueva
tecnología. Las ventajas que se le atribuyen al software multimedia es en la educación, especialmente en
escuelas primarias, porque realizando presentaciones con software multimedia, los alumnos prestan mas
intención a la presentación realizada.
Este tipo de software suele utilizarse para el desarrollo de proyectos específicos multimedios, utilizar
software multimedia requiere de tiempo, capacidades, dedicación y recursos.
•
Aplicaciones en Educación/Autoestudio: Considerando que la informática no sólo es
utilizada por los informáticos, sino por cualquier disciplina y que cada vez se hace más
extenso su uso, es necesario introducir esta materia en los planes de estudio de otras carreras,
e incluso incluirla en los programas de enseñanza a nivel primario y secundario.
Esto trae como consecuencia el hecho que las empresas productoras de software comiencen
a desarrollar software educativo.
Además de ello se desarrollan programas destinado a la enseñanza asistida por ordenador, esto
es que el usuario pueda adquirir conocimientos de una determinada materia.
Al software educativo lo podemos clasificar básicamente de la siguiente forma:
o
Programas de Autoestudio: permiten al usuario estudiar una determinada materia en
forma autónoma. Evidentemente al ser destinados a autodidactas el afinamiento y la claridad de
estos programas deben ser máximas. La forma de estructura de un programa de autoestudio
depende mucho de la materia a estudiar, pero básicamente deben existir en el una
Introducción, una Exposición y un Test de Control.
o
Programas de Apoyo: Estos programas están pensados para servir de apoyo a un
profesor humano. Su objetivo es complementar la labor del profesor y por tanto no deben
ser tan minuciosamente depurados como los programas de autoestudio.
o
Programas de Educación Informática: Pueden considerarse un caso especial de los
anteriores, donde la materia a estudiar es precisamente informática. En este caso el
ordenador se utiliza a si mismo para realizar exposiciones teóricas o ejercicios prácticos.
•
Aplicaciones de utilería: ayudan a administrar y dar mantenimiento a la computadora,
ayudan a correr los diferentes programas, recuperar información, aumentar la eficiencia de
la máquina y organizar la información del sistema etc. por ejemplos: antivirus, antispywares,
limpiadores de registros como el ccleaner. etc.
•
Aplicaciones Personales: son programas diseñados para gestión de tareas personales
que le encomendamos a la maquina y también hace más eficiente este tipo de trabajo. ej.
agenda de direcciones, envío de correo electrónico. etc. ejemplo: Outlook, Thunderbird, etc.
•
Aplicaciones en Entretenimiento: Los programas destinados a entretenimiento tuvieron su
origen cuando se llevó a las microcomputadoras los videojuegos. Posteriormente esta
industria tomó vida propia y se extendió a distinto tipo de aplicaciones lúdicas, en algunos
casos de simulación y educativos muy interesantes.
Página 13 de 13
Prof.: Jorge N Delfino
Prof.: Héctor D Calzada
Descargar