Informática
Estaciones de Trabajo
INTRODUCCION
.- ¿Qué es una estación de trabajo?
Una estación de trabajo, según el Diccionario de la Computación de Alan Freedman, se puede definir como:
"Micro o minicomputadora para un único usuario, de alto rendimiento, que ha sido especializada para gráficos, diseño asistido por computadora, ingeniería asistida por computadora o aplicaciones científicas".
Actualmente no es fácil, por difusa, la diferenciación entre los conceptos tradicionalmente aceptados de Ordenador Personal (PC), Estación de Trabajo y Miniordenador, ya que no es fácil asignar fronteras claramente definidas entre la funcionalidad, prestaciones y utilidad de los distintos equipos.
Las principales aplicaciones de las estaciones de trabajo son las siguientes:
-
Aplicaciones técnicas
-
CAD (Computer Aided Design, Diseño Asistido por Ordenador), destinadas al diseño y análisis de sistemas de ingeniería y arquitectura.
-
AEC (Architecture, Engineering and Construction, Sistemas para la arquitectura / ingeniería / construcción) aplicables a la edición de planos de construcción y arquitectura, elaboración de presupuestos y seguimiento de obras.
-
CAM (Computer Aided Manufacturing, Fabricación Asistida por Ordenador), aplicables en la ingeniería de producción, control de procesos y gestión de recursos.
-
EDA (Electronic Design Automation, Diseño Electrónico Automatizado), aplicables en el diseño, análisis y prueba de circuitos integrados, tarjetas y otros sistemas electrónicos.
-
CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Ordenador), que ayudan a la gestión completa de los ciclos de vida de los desarrollos de aplicaciones lógicas.
-
Aplicaciones científicas
-
GIS (Geographic Information System, Sistemas de Información Geográfica) para edición, captura y análisis de información sobre determinadas zonas geográficas, con base en referencias de mapas digitalizados.
-
Aplicaciones orientadas a la industria química y farmacéutica, aplicaciones de laboratorio tales como instrumentación analítica, modelado de experimentos químicos y sistemas de información de laboratorios químicos.
-
Aplicaciones dentro del campo de la medicina para la captura, manipulación y presentación de imágenes de rayos X, ultrasonidos y escáneres, así como sistemas de información propios de hospitales.
-
Sistemas de análisis de los recursos de la Tierra para análisis geológicos y sísmicos sobre mapas.
-
Sistemas expertos, basados en técnicas de programación de inteligencia artificial, para aplicaciones tales como detección electrónica de errores, funciones de diagnóstico o configuración de ordenadores.
-
Aplicaciones comerciales
El desarrollo de aplicaciones comerciales para
Conceptos y funcionalidades básicos
Como componentes básicos de la arquitectura de las estaciones de trabajo pueden distinguirse:
-
Unidad Central de Proceso (UCP)
-
Memoria Principal
-
Unidad de Entrada/Salida
Todos ellos se comunican entre sí por medio de buses y ejecutan sus funciones específicas sincronizados por un reloj.
Unidad Central de Proceso
La unidad central de proceso (UCP o CPU, Central Process Unit) es la encargada de interpretar ordenadamente las instrucciones almacenadas en la memoria para poder ser ejecutadas. La unidad central de proceso actúa como el cerebro de la estación de trabajo, y se encarga del control general y del envío de información a todos los demás elementos de la máquina (memoria principal y unidad de entrada/salida).
La unidad central de proceso está formada por la Unidad de Control (UC), incluyendo los registros en los que se almacena temporalmente la información manejada por la unidad central de proceso y la Unidad Operativa o Unidad Aritmético-Lógica (ALU).
Reloj
El ordenador posee un funcionamiento síncrono gobernado por un reloj, de tal manera que el tratamiento de la información se realiza con arreglo a una secuencia ordenada de operaciones en el tiempo.
El reloj genera los impulsos eléctricos que permiten sincronizar las operaciones, esto es, marca el principio, la duración y el final de cada operación. El número de impulsos generados se mide en Megahertzios (MHz) que indica el número de millones de pulsos generados por el reloj en un segundo.
La frecuencia de reloj determina la velocidad en la transferencia de un dato entre dos dispositivos conectados al mismo bus (por ejemplo, lectura de una palabra de memoria por parte de la UCP). Para la transferencia completa de un dato pueden ser necesarios varios ciclos de reloj, en cada uno de los cuales son ejecutadas las operaciones más elementales que conforman dicha transferencia.
El incremento de la velocidad de proceso en las estaciones de trabajo se ha conseguido gracias a:
-
La utilización de los últimos avances tecnológicos. Con el empleo de la tecnología VLSI (Very Large Scale Integration, Integración a Escala Muy Grande) disminuyen los costes asociados a todos los circuitos electrónicos.
-
La mejora de la arquitectura interna: la incorporación de múltiples procesadores y buses de alta capacidad incrementan la potencia de cálculo.
Longitud de la palabra de datos
La longitud de la palabra de datos determina la cantidad de información que es capaz de procesar simultáneamente la unidad central de proceso en cada pulso de reloj. Se mide en bits. A mayor longitud de palabra mayor complejidad y circuitería necesaria en la UCP, pero mayor potencia de proceso.
Unidad Aritmético-Lógica (UAL)
La unidad aritmética y lógica, llamada también unidad de cálculo, es la encargada de efectuar el conjunto de operaciones con las que está dotado el ordenador. Se compone de registros y de un conjunto de circuitos lógicos responsables de realizar las operaciones lógicas y aritméticas prefijadas desde la etapa de diseño del ordenador.
Unidad de Control (UC)
La unidad de control es la encargada de gobernar el funcionamiento del ordenador.
La UC tiene como responsabilidad recibir e interpretar cada instrucción a ejecutar por el ordenador, para posteriormente transformarla en una serie de microinstrucciones a muy bajo nivel, particulares para cada arquitectura de ordenador.
La UC dispone de la circuitería necesaria para leer la dirección de memoria que contiene la instrucción a ejecutar, localizar dicha instrucción y escribirla en un registro destinado para tal fin en la UC (registro de instrucción). Posteriormente otro elemento de la unidad de Control (Decodificador) transforma la información de este registro en una información más amplia e inteligible para el secuenciador.
El secuenciador analiza e interpreta la salida del decodificador, y en función de esta información ejecuta un microprograma contenido en la memoria de control, que produce las microinstrucciones necesarias para que se ejecute la instrucción.
Esta forma de ejecutar las instrucciones (por firmware) es propia de las UC programadas que son las más extendidas. Existen otro tipo de UC, llamadas UC cableadas donde las instrucciones están implementadas por hardware.
Al finalizar la ejecución de la instrucción en curso, el registro contador de programa contiene información sobre la dirección de memoria en que se encuentra la siguiente instrucción que debe ejecutarse. Por tanto, una vez finalizada la ejecución de una instrucción, la circuitería de la UC lee de este registro contador de programa la dirección de la instrucción siguiente para su ejecución, volviendo nuevamente a comenzar el ciclo.
Si la instrucción es compleja, generará muchas microinstrucciones y algunas de ellas necesitarán varios ciclos de reloj para completarse. Como la ejecución de la instrucción se dará por terminada cuando se hayan ejecutado todas las microinstrucciones, esta instrucción compleja necesitará varios ciclos de reloj para su finalización.
Técnicas de proceso en paralelo
Permiten la ejecución concurrente de procesos, tanto de diferentes programas, como de las distintas partes en que se descompone una instrucción. Esto se consigue mediante tres implementaciones: matricial, multiproceso y segmentación (pipe-line).
-
Matricial
Se basa en la explotación sincronizada de múltiples unidades aritmético-lógicas.
-
Multiproceso
Se basa en el uso de múltiples procesadores que cooperan coordinadamente para obtener un fin común, al mismo tiempo que comparten unos recursos comunes (memoria, interfaces de entrada/salida, teclados, monitores). Asimismo, el proceso en paralelo, gracias al uso de múltiples buses y procesadores, permite asegurar una mayor tolerancia a fallos.
Durante el análisis de la arquitectura de una estación de trabajo, deberá considerarse la posibilidad de que esta sea actualizada con la adición de nuevos procesadores para multiplicar el rendimiento de la misma y satisfacer las demandas de proceso de las aplicaciones instaladas a un coste razonable. Dentro del multiproceso existen dos implementaciones: asimétrico y simétrico.
-
En multiproceso asimétrico, cada tipo de tarea es direccionada a un procesador dedicado únicamente a ellas (por ejemplo, procesadores de entrada-salida, de aplicaciones...). En este caso, el administrador del sistema debe definir qué tipo de tareas se ejecutan en cada uno de los procesadores.
-
Con multiproceso simétrico, las tareas de usuario y del sistema se reparten equitativamente entre todos los procesadores, y existe un procesador que actúa como planificador de tareas o scheduler. Es decir, cada procesador puede ejecutar cualquier tipo de tarea y todos tienen la misma capacidad. Además, en multiproceso simétrico una tarea puede ser desplazada de un procesador a otro en función de las variaciones en la carga de trabajo. De este modo se evita que un procesador esté sobrecargado mientras otro permanece ocioso; en definitiva, mejora el rendimiento y permite escalar la estación de trabajo con procesadores adicionales, memoria u otros subsistemas.
Un sistema simétrico está configurado normalmente con múltiples procesadores y unidades de memoria caché que se conectan a un único bus de interconexión rápido y comparten la memoria principal del sistema.
Las arquitecturas con multiprocesador persiguen dos objetivos: escalabilidad y configurabilidad.
-
La escalabilidad permite aumentar el número de procesadores, mejorando el rendimiento de la estación y asegurando una compatibilidad absoluta para todas las aplicaciones que se desarrollen sobre esta plataforma en el futuro. La escalabilidad determina, en definitiva, la capacidad de crecimiento de la estación de trabajo.
Por tanto, durante el análisis de una estación de trabajo, un factor que debe ser tenido muy en cuenta es el máximo número de procesadores soportados.
-
La configurabilidad permite ajustar el rendimiento de la estación a las necesidades de las aplicaciones de usuario a través de su actualización.
-
Segmentación (pipe-line)
Se basa en el solapamiento de la ejecución de las subfunciones en que se descompone una instrucción o la operación de unos datos, especialmente si son en coma flotante. Para la aplicación de estructuras pipe-line es fundamental disponer de arquitecturas con idéntico tiempo de ejecución de cada subfunción. De este modo, en cada ciclo de reloj, los diferentes procesos cambian de subfunción simultáneamente y no se desaprovecha la velocidad de trabajo de las subfunciones más rápidas. Cuando la ejecución de una microinstrucción implica un salto, la última lectura ha sido inútil y hay que volver a leer.
En las gráficas siguientes se observa la ventaja de procesar instrucciones trabajando con segmentación:
Clasificación de arquitecturas con proceso en paralelo
Atendiendo a cómo se procesan los flujos de instrucciones y de datos se suele establecer la siguiente ordenación:
-
SISD (Single Instruction Single Data, Flujo único de instrucciones-Flujo único de datos)
En esta arquitectura se genera el único flujo de datos desde la memoria principal a la unidad de control, en donde tras decodificarse e interpretarse, se ordena su ejecución en la unidad operativa. Esta arquitectura es la que poseen la mayoría de las arquitecturas uniprocesadoras actuales.
-
SIMD (Single Instruction Multiple Data, Flujo único de instrucciones-Flujo múltiple de datos)
En esta arquitectura, el flujo de instrucciones parte de la memoria principal hacia la unidad de control, en donde después de decodificarse e interpretarse, se envían las correspondientes señales de control a las unidades operativas encargadas de su ejecución. Cada unidad operativa posee un flujo de datos con la memoria principal, la cual es compartida entre todas ellas. De este modo, tan pronto se inicia la ejecución de una instrucción, la unidad de control ya está en condiciones de recibir la siguiente instrucción. Esta arquitectura se corresponde con el proceso matricial.
-
MISD (Multiple Instruction Single Data, Flujo múltiple de instrucciones-Flujo único de datos)
Esta arquitectura consta de varias unidades de control, cada una de ellas con su propio flujo de instrucciones con la memoria principal, las cuales tras recibir y decodificar una instrucción, ordenan su ejecución en la correspondiente unidad operativa. Estas últimas unidades únicamente poseen un flujo de datos con la memoria principal. Con esta arquitectura cada procesador ejecuta una parte del proceso con los datos de modo similar a como se realiza con la técnica de segmentación.
-
MIMD (Multiple Instruction Multiple Data, Flujo múltiple de instrucciones-Flujo múltiple de datos)
Esta estructura es la única que posee un flujo múltiple de instrucciones y de datos. La arquitectura MIMD se corresponde con la estructura típica de un sistema con multiprocesador.
Coprocesador
La arquitectura de una estación de trabajo también puede contar con coprocesadores. Estos son microprocesadores especializados en la ejecución de determinados cálculos, que descargan de estas funciones a la unidad central de proceso. Su necesidad depende de la complejidad de las aplicaciones que van a ser ejecutadas.
Arquitecturas de procesadores: CISC/RISC
La arquitectura CISC (Complex Instruction Set Computer) se caracteriza por disponer de un grupo muy amplio de instrucciones muy complejas y potentes. Es más antigua que la arquitectura RISC y por tanto su diseño está marcado por la tecnología existente en los años 60.
En las primeras arquitecturas los ordenadores tendían a aumentar su potencia a base de ampliar su repertorio de instrucciones y de añadir instrucciones más potentes. El hecho de que el tiempo de ejecución de una instrucción fuera de varios ciclos de reloj no representaba un problema puesto que las velocidades de la memoria de control eran muy superiores a las velocidades de la memoria principal. Así, aunque el proceso de las microinstrucciones se completase en un ciclo de reloj, no se podría continuar con el proceso de la siguiente instrucción inmediatamente, ya que estaría alojada en la memoria principal, de velocidad mucho más lenta que la memoria de control.
En los años 70, las mejoras tecnológicas permitieron tener velocidades en la memoria principal similares a la memoria de control, lo que hizo posible trabajar con instrucciones simples (que se completan en un ciclo de reloj) y por tanto acelerar considerablemente la ejecución de instrucciones (nada más terminar la ejecución de todas las microinstrucciones se empieza con la ejecución de la siguiente instrucción).
Esta arquitectura, denominada RISC (Reduced Instruction Set Computer), se caracteriza por poseer un juego de instrucciones lo más reducido posible con un porcentaje alto de ellas que se completan en un ciclo de reloj. Si hubiese que ejecutar alguna instrucción compleja, necesitaría más de un ciclo de reloj, pero hay que insistir que la mayor parte de ellas se pueden realizar a partir de operaciones fundamentales. Por otra parte, es una constatación estadística que la potencia práctica de un ordenador reside en un conjunto pequeño de su repertorio de instrucciones, con lo cual si se reduce dicho repertorio se sigue conservando la potencia del ordenador, y disminuye la complejidad del diseño y el coste. Esto fue inspirado en el principio de Pareto: "El 80 % de los problemas puede resolverse con el 20 % del esfuerzo".
Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, ya que en RISC las instrucciones son más elementales. Pero el hecho de tener actualmente unos mecanismos rápidos de acceso a memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas, hace que los ordenadores RISC obtengan en general unos mejores rendimientos.
Ahora bien, algunas de las formas tradicionales de medir el rendimiento, como es el número de MIPS, no son adecuadas para comparar el rendimiento de máquinas CISC y RISC. Esto se debe a que los MIPS dan la cantidad de millones de instrucciones por segundo que desarrolla una máquina, pero no tienen en cuenta la potencia de esas instrucciones. Por el propio diseño de la arquitectura RISC, estas máquinas tienden a desarrollar más MIPS que las CISC.
Pruebas de rendimiento
El rendimiento de una estación de trabajo se mide para una serie de diferentes elementos físicos que lo limitan. Pero, a la hora de determinar el rendimiento global de un sistema, también hay que evaluar cómo el sistema operativo, el equipo básico lógico de red, los compiladores y las librerías gráficas aprovechan y utilizan eficientemente estos componentes físicos y transmiten la información de un subsistema a otro.
Para la evaluación del rendimiento de las estaciones de trabajo se utilizan las pruebas de rendimiento a priori, también conocidas como benchmarks. Estas son unas medidas que efectúa la industria para comparar factores de rendimiento y relaciones rendimiento/precio de diferentes modelos de estaciones de trabajo. No obstante, estas evaluaciones no son siempre directamente comparables y en ocasiones ofrecen poca información, porque las configuraciones con las que se realizan las evaluaciones no son expuestas con claridad.
A continuación, se relacionan las pruebas de rendimiento más ampliamente aceptadas, clasificadas según el entorno de trabajo en el que son aplicables:
-
Entornos de programación y cálculo científico-técnico:
-
Entornos de proceso transaccional y de gestión de bases de datos:
-
Entornos de aplicaciones gráficas:
-
Empleo de la tecnología ULSI (Ultra Large Scale Integration) lo que disminuye los costes asociados a los circuitos electrónicos.
-
Mejora de la portabilidad e interoperabilidad del equipo lógico mediante el soporte de interfaces estándares (POSIX) y de protocolos (TCP/IP, ISO/OSI).
-
Redundancia de componentes para conseguir sistemas tolerantes a fallos que aumentan la disponibilidad.
-
Gestión de memoria basada en caché, combinando chips de distintas potencias y velocidades.
-
Mejoras en las prestaciones de las arquitecturas multiproceso y proceso paralelo.
-
Las arquitecturas abiertas soportan toda la gama de potencias.
-
Los costes en las tecnologías abiertas disminuyen más rápidamente que en las propietarias.
-
Las nuevas prioridades de la política comunitaria obligan a reestructurar la mayoría de los Sistemas de Información ya existentes. Además los sistemas existentes están distribuidos en plataformas diferentes, y el hecho de disponer de una única plataforma constituye una ventaja evidente.
-
Las arquitecturas abiertas soportan toda la gama de potencias.
-
Los costes en las tecnologías abiertas disminuyen más rápidamente que en las propietarias.
-
Las nuevas prioridades de la política comunitaria obligan a reestructurar la mayoría de los Sistemas de Información ya existentes. Además los sistemas existentes están distribuidos en plataformas diferentes, y el hecho de disponer de una única plataforma constituye una ventaja evidente.
Nombre | Unidades | Objetivo | Entorno de Aplicación |
SPEC CFP92 | SPECfp92 | Medir el comportamiento de sistemas, con un uso intensivo de UCP de operaciones en coma flotante. | Científico y de Ingeniería |
SPECrate_FP92 | SPECrate_FP92 | Medir el nº de tareas, con un uso intensivo de UCP, que un sistema multiproceso puede completar en un intervalo de tiempo dado. | Científico y de Ingeniería |
SPEC SFS | . SPECnfs_A93 | Evaluar el rendimiento de servidores de ficheros NFS (sistema de ficheros distribuido). | Desarrollo de aplicaciones lógicas |
Linkpack | MFLOPS | Predecir el comportamiento del sistema, con el que se realizan operaciones en coma flotante. No es posible modificar el código fuente. | Científico y de Ingeniería |
Linkpack | MFLOPS | Predecir el comportamiento del sistema, con el que se realizan operaciones en coma flotante. | Científico y de Ingeniería |
Dhrystone | Dhrystone MIPS | Medir la eficiencia del procesador y del compilador para la ejecución de únicamente operaciones en coma fija. | Desarrollo de aplicaciones lógicas |
Whestone | KWIPS | Evaluar el rendimiento de sistemas que vayan a ejecutar pequeños programas científicos. | Científico y de Ingeniería |
AIM | . Tasa de rendimiento | Evaluar el rendimiento de sistemas multiusuario UNIX, fundamentalmente del gestor de tareas y de los subsistemas de entrada-salida. | Sistemas Multiusuario UNIX |
CERN | CERN | Medir el tiempo de UCP empleado por operaciones escalares, vectoriales, manipulación de caracteres y compilación | Científico y de Ingeniería |
DN&R Labs | MVUP | Medir el rendimiento del sistema con un uso intensivo de UCP en coma flotante. | Científico y de Ingeniería |
Livermore | MFLOPS | Medir el rendimiento en grandes ordenadores con operaciones en coma flotante escalares y vectoriales, incluyendo la gestión de memoria, gráficos y entradas-salidas. | Científico y de Ingeniería |
SLALOM | Patches | Medir las entradas-salidas y la resolución de un problema real completo, y en segundo orden el tiempo empleado en ello. | Científico y de Ingeniería |
Perfect | MFLOPS | Medir el rendimiento de supercomputadores y proceso en paralelo. | Científico y de Ingeniería |
ANSYS | Tiempo de UCP requerido para completar cada análisis (S) | Medir el rendimiento de sistemas con aplicaciones de análisis ANSYS. | Industria del automóvil, aeroespacial, etc... |
ABAQUS | Tiempo empleado en completar cada análisis (hor:min:s) | Predecir el comportamiento de sistemas con aplicaciones estándar ABAQUS. | Científico y de Ingeniería |
Nombre | Unidades | Objetivo | Entorno de aplicación |
SPEC CINT92 | SPECint92 | Medir el rendimiento de la UCP. | Comercial |
SPECrate_int92 | SPECrate_int92 | Medir el nº de tareas que un sistema multiproceso puede completar en un intervalo de tiempo dado. | Comercial |
TPC-A | . tpsA | Medir el rendimiento de los componentes del sistema necesarios para ejecutar proceso de transacciones en-línea. | Comercial |
TPC-B | . tpsB | Medir el rendimiento de bases de datos sencillas. | Comercial |
TPC-C | . tpmC | Medir el comportamiento de los componentes del sistema asociados con el comportamiento de transacciones en-línea y de entrada de órdenes | Comercial |
Nombre | Unidades | Objetivo | Entorno de aplicación |
X.11 perf | Unidades detiempo | Medir el tiempo empleado en resolver unamatriz de operaciones X.11, con especial atención a la gestiónde ventanas y de operaciones gráficas. | Gráficas |
Graphstone | Graphstones | Medir el rendimiento del subsistema de vídeo. | Gráficas |
Khornestone | Kstones | Medir el rendimiento del subsistema gráfico | Gráficas |
2.3.- Tendencias tecnológicas y del mercado
Las estaciones de trabajo están experimentando un espectacular incremento en cuanto a prestaciones. Entre sus características figuran estructuras propietarias de bus ultrarrápido, y tecnología de disco tolerante a fallos como las matrices de discos redundantes (RAID). La memoria se sitúa entre 128 Mb y 1 Gb. Incluyen facilidades de administración del equipo lógico que permiten la monitorización remota de todos los componentes esenciales (memoria, espacio en disco, etc.). Muchas de ellas incorporan también protección ante cortes de fluido eléctrico y de bajadas de tensión.
Hoy en día la mayoría de las estaciones de trabajo se basan en tecnologías RISC, aunque todavía se encuentran instaladas numerosas estaciones de trabajo basadas en tecnología CISC y existen algunos fabricantes que todavía ofrecen productos basados en esta última arquitectura. No obstante, el futuro parece dirigirse hacia arquitecturas RISC. Esta tecnología es la que en este momento ofrece mejores relaciones rendimiento/precio, planes de diseño más cortos, mayor grado de fiabilidad y mayor potencia de proceso con menores costes.
Las principales líneas de evolución de las estaciones de trabajo son:
El próximo futuro de las estaciones de trabajo y su éxito dependerán del número de aplicaciones que puedan soportar en diferentes entornos: técnicos, científicos, comerciales, comunicaciones, educación, financiero, administración, medicina, .... En este sentido, todos los proveedores de equipos lógicos están preocupados por adaptar desarrollos, concebidos inicialmente para el mercado de los PCs, a plataformas RISC, más propias de las estaciones de trabajo. Este dato permite augurar que las inversiones que se realicen en este tipo de tecnologías quedarán aseguradas durante varios años.
Las estaciones de trabajo también podrían introducirse en el mercado de los PCs conforme vayan ganando la batalla de los costes, ofreciendo facilidades de red que permiten compartir discos, impresoras, etc.
Lo mismo parece suceder en el entorno de los servidores, donde el incremento en la potencia de proceso los convertiría en el ordenador ideal para situarlo como servidor de grupos de trabajo, con una potencia de cálculo próxima a la de los miniordenadores y con unos costes que es posible ajustar mucho más respecto a las necesidades de proceso y de cálculo, precisamente debido a sus características de escalabilidad.
Una importante característica que predice el éxito de las estaciones de trabajo es su diseño conforme a los estándares lo que asegura, por un lado, el aprovechamiento de las inversiones realizadas por los usuarios, y por otro, la interoperabilidad con productos de otros fabricantes.
En este mismo sentido se está trabajando en el desarrollo de plataformas que aseguren la portabilidad de aplicaciones ya compiladas, desde una estación antigua a una más moderna sin necesidad de ninguna modificación sobre el código (compatibilidad a nivel binario).
Dentro de las líneas de actuación destaca la estrategia de Sistemas Abiertos de la Administración del Estado. Las administraciones europeas, tanto las comunitarias como las nacionales, vienen impulsando desde hace años la implantación de Sistemas Abiertos. Las razones fundamentales son:
CONCLUSIÓN
Las administraciones, tanto las comunitarias como las nacionales, vienen impulsando desde hace años la implantación de Sistemas Abiertos. Las razones fundamentales son:
13
Descargar
Enviado por: | Sergio Meléndez |
Idioma: | castellano |
País: | España |