Beruflich Dokumente
Kultur Dokumente
ADMINISTRACINDE
SISTEMASINFORMTICOS
ENRED
INSTALACIN DE SOFTWARE DE UTILIDAD
Y PROPSITO GENERAL
PARA UN SISTEMA INFORMTICO
ndice de contenido
Tipos de aplicaciones segn su licencia, distribucin y propsito. .....................................................4
Considerando el tipo de licencia software.
.........................................................................................................................................................4
Entornos operativos. ............................................................................................................................6
Sistemas operativos (Tipos y caractersticas)..................................................................................6
Gestin de procesos................................................................................................................6
Gestin de la memoria principal...........................................................................................6
Gestin del almacenamiento secundario................................................................................6
El sistema de E/S...................................................................................................................7
Sistema de archivos...............................................................................................................7
Sistemas de proteccin...........................................................................................................7
Sistema de comunicaciones....................................................................................................7
Programas de sistema............................................................................................................7
Gestor de recursos.................................................................................................................8
Instalacin y prueba de aplicaciones en sistemas operativos libres y propietarios. ............................8
Formas de instalacin en sistemas Windows...................................................................................8
Formas de instalacin en sistemas Linux-Unix-MAC.....................................................................9
Gestin de paquetes.........................................................................................................................9
Necesidades de los entornos de explotacin. .....................................................................................10
Requerimiento de las aplicaciones. ...............................................................................................10
Comparacin de aplicaciones. Evaluacin y rendimiento. ...........................................................11
Software de propsito general. .....................................................................................................16
Procesador de texto..............................................................................................................16
Hojas de clculo...................................................................................................................16
Bases de datos......................................................................................................................16
Visores pdf, postscript y libros electrnicos.........................................................................17
Programas de maquetacin. .................................................................................................17
Paquetes Ofimticos.............................................................................................................17
Ofimtica in the cloud (En la nube).....................................................................................17
Aplicaciones de trabajo con Imgenes.................................................................................18
Trabajo con sonido y audio..................................................................................................18
Trabajo con vdeo.................................................................................................................19
Programacin. ...............................................................................................................................19
LENGUAJES DE MQUINA.............................................................................................20
LENGUAJES ENSAMBLADORES...................................................................................21
LENGUAJES DE ALTO NIVEL.........................................................................................22
LENGUAJES COMPILADOS............................................................................................22
LENGUAJES INTERPRETADOS .....................................................................................23
LENGUAJES DE PROGRAMACIN DECLARATIVOS................................................23
PROGRAMACIN LGICA.............................................................................................23
PROGRAMACIN FUNCIONAL.....................................................................................24
PROGRAMACIN ORIENTADA A BASES DE DATOS.................................................24
LENGUAJES DE PROGRAMACIN IMPERATIVOS ...................................................25
LENGUAJES DE PROGRAMACIN ORIENTADOS A OBJETOS ...............................25
Clientes para servicios de Internet. ...............................................................................................26
Software a medida. .......................................................................................................................26
Instalacin de utilidades. ...................................................................................................................26
Compresores. ................................................................................................................................26
Diferencias entre compresin con y sin prdida..................................................................27
Monitorizacin y optimizacin del sistema. .................................................................................28
Autopistas de la
informacin
La licencia Debian es parte del contrato realizado entre Debian y la comunidad de usuarios
de software libre, y se denomina Debian Free Software Guidelines (DFSG). En esencia, esta
licencia contiene criterios para la distribucin que incluyen, adems de la exigencia de
publicacin del cdigo fuente: (a) la redistribucin libre ; (b) el cdigo fuente debe ser
incluido y debe poder ser redistribuido; (c) todo trabajo derivado debe poder ser
redistribuido bajo la misma licencia del original; (d) puede haber restricciones en cuanto a la
redistribucin del cdigo fuente, si el original fue modificado; (e) la licencia no puede
discriminar a ninguna persona o grupo de personas, as como tampoco ninguna forma de
utilizacin del software; (f) los derechos otorgados no dependen del sitio en el que el
software se encuentra; y (g) la licencia no puede 'contaminar' a otro software.
Open Source. La licencia de Open Source Initiative deriva de Debian.
BSD. La licencia BSD cubre las distribuciones de software de Berkeley Software
Distribution, adems de otros programas. sta es una licencia considerada 'permisiva', ya
que impone pocas restricciones sobre la forma de uso, alteraciones y redistribucin del
software. El software puede ser vendido y no hay obligaciones de incluir el cdigo fuente.
Esta licencia garantiza el crdito a los autores del software pero no intenta garantizar que las
modificaciones futuras permanezcan siendo software libre.
X.org. El Consorcio X distribuye X Window System bajo una licencia que lo hace software
libre, aunque sin adherirse al copyleft. Existen distribuciones bajo la licencia de la X.org que
son software libre, y otras distribuciones que no lo son. Existen algunas versiones no-libres
del sistema de ventanas X11 para estaciones de trabajo y ciertos dispositivos de IBM-PC
que son las nicas funciones disponibles, sin otros similares que sean distribuidos como
software libre.
Software con Dominio Pblico. El Software con dominio pblico es software sin
copyright. Algunos tipos de copia o versiones modificadas pueden no ser libres si el autor
impone restricciones adicionales en la redistribucin del original o de trabajos derivados.
Software Semi-libre. El Software semi-libre es un software que no es libre pero permite
que otros individuos lo usen, lo copien, lo distribuyan y hasta lo modifiquen. Ejemplos de
software semi-libre son las primeras versiones de Internet Explorer de Microsoft, o algunas
versiones de browsers de Netscape, y StarOffice.
Freeware. El trmino freeware no posee una definicin ampliamente aceptada, pero es
utilizada para programas que permiten la redistribucin pero no la modificacin, y que
incluyen su cdigo fuente. Estos programas no son software libre.
Shareware. Shareware es el software disponible con el permiso para que sea redistribuido,
pero su utilizacin implica el pago. Generalmente, el cdigo fuente no se encuentra
disponible, y por lo tanto es imposible realizar modificaciones.
Software Propietario. El Software propietario es aquel cuya copia, redistribucin o
modificacin estn, en alguna medida, prohibidos por su propietario. Para usar, copiar o
redistribuir, se debe solicitar permiso al propietario o pagar.
Software Comercial. El Software comercial es el software desarrollado por una empresa
con el objetivo de lucrar con su utilizacin. Ntese que "comercial" y "propietario" no son lo
mismo. La mayor parte del software comercial es propietario, pero existe software libre que
es comercial, y existe software no-libre que no es comercial.
Entornos operativos.
El entorno operativo es el responsable fundamental de todos los elementos que
conforman la comunicacin bsica del hombre con la mquina. Adems, el desarrollo del
interfaz hombre-mquina ha cobrado una importancia fundamental en los ltimos aos.
Los usuarios que tienen ms problemas de accesibilidad son las personas con ceguera.
Todo lo que se ve en una pantalla est pensado y diseado para ser visto, especialmente
con los interfaces grficos, donde puede haber un sinfn de aplicaciones abiertas
simultneamente en diferentes ventanas y cada ventana tiene la complejidad que antes
tena toda una pantalla.
Pero tambin los usuarios con dificultades fsicas que utilizan dispositivos o programas
especiales (reconocimiento de voz, emulador de teclado, etc.) pueden tener limitado el
acceso, sobre todo por problemas de compatibilidad entre estas ayudas y el entorno
operativo o las aplicaciones.
Un proceso es simplemente, un programa en ejecucin que necesita recursos para realizar su tarea:
tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:
La gestin de procesos podra ser similar al trabajo de oficina. Se puede tener una lista de tareas a
realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las
tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y despus
las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja
prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para
solucionar esto, se puede asignar alta prioridad a las tareas ms antiguas.
Gestin de la memoria principal
La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una
direccin nica. Este almacn de datos de rpido accesos es compartido por la CPU y los
dispositivos de E/S, es voltil y pierde su contenido en los fallos del sistema. El SO es el
responsable de:
(almacenamiento primario) es voltil y adems muy pequea para almacenar todos los programas y
datos. Tambin es necesario mantener los datos que no convenga mantener en la memoria principal.
El SO se encarga de:
El sistema de E/S
Los archivos son colecciones de informacin relacionada, definidas por sus creadores. stos
almacenan programas (en cdigo fuente y objeto) y datos tales como imgenes, textos, informacin
de bases de datos, etc. El SO es responsable de:
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO
se encarga de:
Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envo y
recepcin de informacin a travs de las interfaces de red. Tambin hay que crear y mantener
puntos de comunicacin que sirvan a las aplicaciones para enviar y recibir informacin, y crear y
mantener conexiones virtuales entre aplicaciones que estn ejecutndose localmente y otras que lo
hacen remotamente.
Programas de sistema
Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de l. Ofrecen un
entorno til para el desarrollo y ejecucin de programas, siendo algunas de las tareas que realizan:
Gestor de recursos
Actualizaciones ServicePack.
Los programas denominados como Service Pack (o en la sigla en ingls SP) consisten en un grupo
de parches que actualizan, corrigen y mejoran aplicaciones y sistemas operativos. Esta
denominacin fue popularizada por Microsoft cuando comenz a empaquetar grupos de parches que
actualizaban su sistema operativo Windows.
Se pueden clasificar en dos tipos:
Una en la que cada SP no contiene las actualizaciones anteriores, por lo que debe instalarse
el SP anterior antes de instalar el SP siguiente.
Y otra ms cmoda en la que cada SP contiene el SP anterior, lo que hace mucho ms fcil y
rpida la actualizacin. Microsoft Windows posee esta tcnica.
GESTIN DE PAQUETES
La organizacin del software en sistemas Linux viene dada por la organizacin y utilizacin de
paquetes de software, un paquete software es un conjunto de software (programas o libreras) que se
instalan en el sistema segn los requerimientos. Para cada distribucin tendremos un conjunto de
lugares en Internet llamados repositorios que es donde de una forma especfica se encuentran los
paquetes precompilados para nuestra distribucin especfica y listos para su instalacin en el
sistema. Los paquetes suelen estar relacionados entre s por lo que cuando instalamos uno nos el
sistema nos solicita instalar tambin sus dependencias (normalmente libreras)
Un sistema de gestin de paquetes, tambin conocido como gestor de paquetes, es una coleccin
de herramientas que sirven para automatizar el proceso de instalacin, actualizacin, configuracin
y eliminacin de paquetes de software. El trmino se usa comnmente para referirse a los gestores
de paquetes en sistemas Unix-like, especialmente GNU/Linux, ya que se apoyan considerablemente
en estos sistemas de gestin de paquetes.
En estos sistemas, el software se distribuye en forma de paquetes, frecuentemente encapsulado en
un solo fichero. Estos paquetes incluyen otra informacin importante, adems del software mismo,
como pueden ser el nombre completo, una descripcin de su funcionalidad, el nmero de versin, el
distribuidor del software, la suma de verificacin y una lista de otros paquetes requeridos para el
correcto funcionamiento del software. Esta metainformacin se introduce normalmente en una base
de datos de paquetes local.
Los sistemas de gestin de paquetes tienen la tarea de organizar todos los paquetes instalados en el
sistema y se encargan de mantener su usabilidad. Esto se consigue combinando las siguientes
tcnicas:
Comprobacin de la suma de verificacin para evitar que haya diferencias entre la versin
local de un paquete y la versin oficial
Comprobacin de la firma digital
Instalacin, actualizacin y eliminacin simple de paquetes
Resolucin de dependencias para garantizar que el software funcione correctamente
Bsqueda de actualizaciones para proveer la ltima versin de un paquete, ya que
normalmente solucionan bugs y proporcionan actualizaciones de seguridad.
Agrupamiento de paquetes segn su funcin para evitar la confusin al instalarlos o
mantenerlos
Muchos de los sistemas de gestin de paquetes ampliamente utilizados utilizan backends simples
para instalar los paquetes. Por ejemplo, YUM utiliza RPM como backend y APT utiliza dpkg.
Repositorios
El software normalmente se pone a disposicin de los usuarios en los repositorios, con el fin de
proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a
instalar en su sistema y, en ocasiones, debido a razones legales o conveniencias por parte de los
distribuidores.
Bsqueda de software
El proceso de bsqueda de software en sistemas Linux se basa en la bsqueda en las bases de datos
de los repositorios mediante herramientas como por ejemplo apt o synaptic para sistemas debian
yast2 para Suse , Yum para sistemas red-hat etc.
10
Requerimientos de hardware.
En aplicaciones de software y hardware, los requerimientos de hardware son las caractersticas que
debe tener el hardware de una computadora para poder soportar y/o ejecutar una aplicacin o un
dispositivo especficos. Contrasta con los requerimientos de software.
Los requerimientos pueden ser:
* Requerimientos mnimos de hardware, que son las caractersticas mnimas (mnimo costo, y
mnima antigedad) indispensables para ejecutar la aplicacin correctamente.
* Requerimientos recomendados de hardware, que son las caractersticas ms apropiadas que debe
tener el hardware para poder ejecutar una aplicacin especfica.
Los requerimientos pueden ser:
* Requisitos de placa madre y de CPU.
* Requisitos de memoria.
* Requisitos de espacio disponible en disco duro.
* Requisitos de monitor y adaptador de video.
* Requisitos de unidades de CD, DVD, ratn, impresora, mdem, tarjeta de red, puertos
disponibles.
* Otros requisitos de hardware.
Los requerimientos de hardware de una aplicacin suelen prestarse a discusin entre los expertos;
por ejemplo, mientras los desarrolladores de la aplicacin dicen que la memoria RAM recomendada
para ejecutar una aplicacin es de 512 MB, otros expertos aseguran que la aplicacin slo
funcionara bien teniendo ms de 1 GB.
Ejemplo de requerimientos de hardware:
* Procesador Pentium 4 de 1 GHz con 256KB de cache (o superior)
* 256 MB SDRAM DIMM expandible a 1 GB
* 1 disco Ultra ATA100 de 100 GB de capacidad a 7200 rpm.
* Floppy Disk 3.5" y 1.44MB de capacidad.
* Unidad de CD-ROM de 48x.
* 1 placa Fast Ethernet 10/100.
* Placa aceleradora.
11
respuesta aceptable.
Es fundamental para alcanzar un buen nivel de rendimiento de un nuevo sistema, que los esfuerzos
en estas pruebas comiencen en el inicio del proyecto de desarrollo y se amplie durante su
construccin. Cuanto ms se tarde en detectar un defecto de rendimiento, mayor es el coste de la
solucin. Esto es cierto en el caso de las pruebas funcionales, pero mucho ms en las pruebas de
rendimiento, debido a que su mbito de aplicacin es de principio a fin.
En las pruebas de rendimiento, a menudo es crucial (y con frecuencia difcil de conseguir) que las
condiciones de prueba sean similares a las esperadas en el uso real. Esto es, sin embargo, casi
imposible en la prctica. La razn es que los sistemas en produccin tienen un carcter aleatorio de
la carga de trabajo y aunque en las pruebas se intente dar lo mejor de s para imitar el volumen de
trabajo que pueda tener el entorno de produccin, es imposible reproducir exactamente la
variabilidad de ese trabajo, salvo en el sistema ms simple.
Los nuevos conceptos en la implementacin de la arquitectura (por ejemplo: SOA) han aadido
complejidad adicional a las pruebas de rendimiento. Los servicios o recursos de la empresa (que
comparten infraestructura o plataforma) requieren pruebas de rendimiento coordinadas (con la
creacin del volumen y carga de todos los sistemas que comparten la infraestructura o plataformas)
para reproducir realmente el estado del entorno de produccin. Debido a la complejidad, coste y
tiempo necesario en torno a esta actividad, algunas organizaciones emplean herramientas que
pueden mostrar y crear condiciones (tambin conocido como "ruido") en los entornos de pruebas de
rendimiento para comprender la capacidad y las necesidades de recursos y verificar/validar los
niveles de calidad.
Pruebas de carga
Este es el tipo ms sencillo de pruebas de rendimiento. Una prueba de carga se realiza generalmente
para observar el comportamiento de una aplicacin bajo una cantidad de peticiones esperada. Esta
carga puede ser el nmero esperado de usuarios concurrentes utilizando la aplicacin y que realizan
un nmero especfico de transacciones durante el tiempo que dura la carga. Esta prueba puede
mostrar los tiempos de respuesta de todas las transacciones importantes de la aplicacin. Si la base
de datos, el servidor de aplicaciones, etc tambin se monitorizan, entonces esta prueba puede
mostrar el cuello de botella en la aplicacin.
Prueba de estrs
Esta prueba se utiliza normalmente para romper la aplicacin. Se va doblando el nmero de
usuarios que se agregan a la aplicacin y se ejecuta una prueba de carga hasta que se rompe. Este
tipo de prueba se realiza para determinar la solidez de la aplicacin en los momentos de carga
extrema y ayuda a los administradores para determinar si la aplicacin rendir lo suficiente en caso
de que la carga real supere a la carga esperada.
12
Tecnologa
La tecnologa de las pruebas de rendimiento utiliza uno o ms PCs o servidores para actuar como
peticionarios. Cada uno emula la presencia de un nmero de usuarios y cada uno ejecuta una
secuencia automtica de las interacciones (registrada como una secuencia de comandos, o como una
serie de scripts para simular los distintos tipos de uso por parte de los usuarios) con la aplicacin
cuyo rendimiento se pone a prueba. Por lo general, un PC acta como gestor de prueba,
coordinando, recopilando las mtricas de cada uno de los ejecutores y acumulando los datos de
rendimiento para la realizacin de los informes. La secuencia habitual es incrementar la carga,
comenzando con un pequeo nmero de usuarios virtuales y aumentando el nmero durante un
periodo hasta alcanzar el mximo. El resultado de la prueba muestra la forma en que el rendimiento
vara con la carga, mostrando como el nmero de usuarios modifica el tiempo de respuesta. Existen
diversas herramientas disponibles para la realizacin de tales pruebas. Estas herramientas suelen
ejecutar un conjunto de pruebas que simulan usuarios reales utilizando el sistema. A veces los
resultados pueden revelar curiosidades, por ejemplo, si el promedio de tiempo de respuesta puede
ser aceptable, si existen valores anmalos en las peticiones que necesitan tiempos
considerablemente ms largo para ejecutarse - algo que puede ser causado por peticiones poco
13
14
Siempre es til disponer de una estimacin del pico de nmero de usuarios que se espera que
utilicen el sistema en las horas punta. Si puede ser tambin una estimacin del mximo tiempo de
respuesta permitido en el percentil 95, para que la configuracin de la ejecucin de las pruebas se
ejuste a estas especificaciones.
La especificacin de rendimiento, como mnimo, debera responder a las siguientes preguntas:
Para las interfaces de usuario involucradas, Cual es el nmero de usuarios concurrentes que
se esperan para cada uno (especificando picos y medias?
Cul es la estructura objetivo del sistema (hardware, especificandor todos los servidores de
red y configuraciones de dispositivo)?
Cul es la distribucin del volumen de trabajo de la aplicacin para cada componente? (por
ejemplo: 20% login, 40% buscando, 30% seleccionando elemento, 10% comprando).
Cual es la distribucin del trabajo del sistema? [Las cargas de trabajo mltiples pueden ser
simuladas en una sola prueba de eficacia] (por ejemplo: 30% del volumen de trabajo para A,
20% del volumen de trabajo para B, 50% del volumen de trabajo para C)
Cules son los requisitos de tiempo para cada uno y para todos los procesos por lotes
(especificando picos y medias)?
Tareas a realizar
Las tareas para realizar una prueba de este tipo seran las siguientes:
Decidir usar recursos internos o externos para ejecutar las pruebas, en funcin de la
experiencia de la casa (o falta de ella).
Reunir u obtener requisitos de rendimiento (especificaciones) de los usuarios y/o analistas.
Desarrollar un plan de alto nivel, incluyendo los requisitos, recursos, plazos e hitos.
Elaborar un plan de pruebas de rendimiento detallado (incluyendo los escenarios detallados
y casos de prueba, cargas de trabajo, informacin del entorno, etc).
Elegir la/s herramienta/s de prueba.
Especificar los datos de prueba necesarios y la distribucin de ellos (a menudo pasado por
alto, y a menudo el fracaso de una prueba de rendimiento vlida).
Desarrollar scripts de prueba de concepto para cada aplicacin/componente sometido a la
prueba, utilizando la herramienta de prueba elegida y estrategias.
Desarrollar un plan de prueba de rendimiento detallado, incluyendo todas las dependencias y
los plazos.
Instalar y configurar los simuladores de peticiones y controladores.
Configurar el entorno de prueba (lo ideal es que sea idntico hardware a la plataforma de
produccin), configurar los router, aislar la red (no queremos alterar los resultados por parte
de otros usuarios), desplegar la aplicacin en el servidor, desarrollar la base de datos de
prueba, etc.
Ejecutar las pruebas, probablemente en repetidas ocasiones (iterativamente), a fin de ver si
el desconocimiento de cualquier factor podra afectar a los resultados.
Analizar los resultados - ya sea de aceptando/rechazando, o investigacin el camino crtico y
recomendando medidas correctivas .
15
amplio de usuarios. Podemos clasificar estas aplicaciones atendiendo a las funcionalidades para las
que han sido diseadas.
No debe confundirse con editor de texto.(Escritura de texto sin formato utilizando un cdigo para
caracteres como Asccii , Unicode, etc.)
Un procesador de texto es una aplicacin informtica destinada a la creacin o modificacin de
documentos escritos por medio de una computadora. Representa una alternativa moderna a la
antigua mquina de escribir, siendo mucho ms potente y verstil que sta.
Funciones
Los procesadores de textos nos brindan una amplia gama de funcionalidades, ya sean tipogrficas,
idiomticas u organizativas, con algunas variantes segn el programa de que se disponga. Como
regla general, todos pueden trabajar con distintos tipos y tamaos de letra, formato de prrafo y
efectos artsticos; adems de brindar la posibilidad de intercalar o superponer imgenes u otros
objetos grficos dentro del texto.
Como ocurre con la mayora de las herramientas informticas, los trabajos realizados en un
procesador de textos pueden ser guardados en forma de archivos, usualmente llamados documentos,
as como impresos a travs de diferentes medios.
Los procesadores de texto tambin incorporan desde hace algunos aos correctores de ortografa y
gramtica, as como diccionarios multilinges y de sinnimos que facilitan en gran medida la labor
de redaccin.
Hojas de clculo
Una hoja de clculo es un programa que permite manipular datos numricos y alfanumricos
dispuestos en forma de tablas (la cual es la unin de filas y columnas). Habitualmente es posible
realizar clculos complejos con frmulas y funciones y dibujar distintos tipos de grficas.
Debido a la versatilidad de las hojas de clculo modernas, se utilizan a veces para hacer pequeas
bases de datos, informes, grficos estadsticos, clasificaciones de datos, entre otros usos. Las
operaciones ms frecuentes se basan en clculos entre celdas, las cuales son referenciadas
respectivamente mediante la letra de la columna y el nmero de la fila, por ejemplo =B1*C1.
Bases de datos
Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura
b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente
para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos
compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta.
En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica,
la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango
16
Para el diseo editorial, revistas, panfletos, cartelera y otros tipos de publicaciones, normalmente
no se utilizan los procesadores de texto, sino otro tipo software ms especfico para estas funciones,
a este software se le denomina programas de maquetacin. En la actualidad los programas ms
utilizados para este cometido son los siguientes: Adobe InDesign ,QuarkXPress, Scribus (libre),
Macromedia Freehand , PageMaker .
Paquetes Ofimticos.
Una suite ofimtica o suite de oficina es una recopilacin de programas, los cuales son utilizados
en oficinas y sirve para diferentes funciones como crear, modificar, organizar, escanear, imprimir,
etc. archivos y documentos. Son ampliamente usados en varios lugares, ya que al ser eso (una
recopilacin), hace que sea asequible adquirir toda la suite, que programa por programa, lo cual es
ms complejo, al tener que conseguir programa por programa, y en caso del software pagado, ms
caro.
Generalmente en las suites ofimticas, al incluir los programas en estas, no hay un estndar sobre
los programas a incluir; pero la gran mayora incluyen al menos un procesador de textos y una hoja
de clculo. Adicionalmente, la suite puede contener un Programa de presentacin, un sistema de
gestin de base de datos, herramientas menores de grficos y comunicaciones, un gestor de
informacin personal (agenda y cliente de correo electrnico) y un navegador web.
En la actualidad las suites ofimticas dominantes en el mercado son, por parte del software
propietario, Microsoft Office, la cual posee sus propios formatos cerrados de documentos para cada
uno de sus programas. Respecto al software libre, est OpenOffice, desarrollado por Sun
Microsystems, tambin con un formato para cada programa, pero de cdigo abierto. Debido a esto y
a la pobre compatibilidad entre las suites de Microsoft con otros formatos abiertos (como
OpenDocument), en cada suite ofimtica se hacen desarrollos que, generalmente, son poco
adaptables a los cambios que hace una y otra suite.
Ofimtica in the cloud (En la nube).
Cada vez es ms frecuente encontrar sitios web dedicados proporcionar aplicaciones ofimticas online capces de almacenar y organizar nuestros documentos, hojas de clculo,etc. Este tipo de
herramientas proporcionan la posibilidad de trabajar desde cualquier equipo con acceso a Internet,
as como la posibilidad de la construccin colaborativa de documentacin. Como ejemplos ms
17
Existe la posibilidad de trabajar con distintos tipos de aplicaciones para las imgenes. Si vamos a
trabajar y editar archivos de mapa de bits (fotos e imgenes) o si vamos a disear imgenes o logos
mediante grficos vectoriales. Disponemos de un conjunto amplio de aplicaciones entre las que
caben destacar.
Visores de imgenes. Normalmente vienen incorporados con los propios entornos operativos
y permiten la visualizacin y pequeas modificaciones de las imgenes como la rotacin la
impresin o el cambio de formato.
Editores de grficos vectoriales. Una imagen vectorial es una imagen digital formada por
objetos geomtricos independientes (segmentos, polgonos, arcos, etc.), cada uno de ellos
definido por distintos atributos matemticos de forma, de posicin, de color, etc. Por
ejemplo un crculo de color rojo quedara definido por la posicin de su centro, su radio, el
grosor de lnea y su color. Este formato de imagen es completamente distinto al formato de
los grficos rasterizados, tambin llamados imgenes matriciales, que estn formados por
pxeles. El inters principal de los grficos vectoriales es poder ampliar el tamao de una
imagen a voluntad sin sufrir el efecto de escalado que sufren los grficos rasterizados.
Asimismo, permiten mover, estirar y retorcer imgenes de manera relativamente sencilla. Su
uso tambin est muy extendido en la generacin de imgenes en tres dimensiones tanto
dinmicas como estticas. Todos los ordenadores actuales traducen los grficos vectoriales a
grficos rasterizados para poder representarlos en pantalla al estar sta constituida
fsicamente por pxeles.
Este tipo de grficos son muy utilizados para el diseo grfico, tanto en 2D como en 3D.
Los formatos ms comunes de este tipo de grficos son los siguientes DXF, Drawing
eXchange Format y DWG, formatos de Autodesk AutoCAD,. SVG Scalable Vector
Graphics ,OpenOffice.org Draw (ODG) formatos libres.
En cuanto a los programas ms comunes de trabajo con este tipo de archivos podemos citar
AutoCAD (propietario), Adobe Ilustrator (propietario), DIA (libre) sagcad(libre) OpenOffice
Draw (libre) etc.
Tenemos la posibilidad de trabajar y modificar sonidos de distintos formatos, dentro del software
para trabajar con este tipo de archivos vamos a destacar
18
reproductores no puedan reproducir todos los formatos, por ello, en no pocas ocasiones
necesitaremos descargarlos para que nuestro sistema los pueda entender o realizar
conversiones entre tipos (conversores de audio).
De la misma forma que con el audio, disponemos de la posibilidad de trabajar con distintos
formatos de video,
PROGRAMACIN.
La programacin es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de
programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El
propsito de la programacin es crear programas que exhiban un comportamiento deseado. El
proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems
del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no
involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero si el
diseo del cdigo), aunque si suelen estar fusionadas en el desarrollo de pequeas aplicaciones.
19
En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de diferencias, un
dispositivo mecnico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la
mquina analtica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas
perforadas, gracias a la creacin de Charles Jacquard (francs). Este hombre era un fabricante de
tejidos y haba creado un telar que poda reproducir automticamente patrones de tejidos, leyendo la
informacin codificada en patrones de agujeros perforados en tarjetas de papel rgido. Entonces
Babagge intento crear la mquina que se pudiera programar con tarjetas perforadas para efectuar
cualquier clculo con una precisin de 20 dgitos. Pero la tecnologa de la poca no bastaba para
hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma
definitiva, su contribucin es decisiva, ya que los ordenadores actuales responden a un esquema
anlogo al de la mquina analtica. En su diseo, la mquina constaba de cinco unidades bsicas: 1)
Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos
y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecucin de las
operaciones; 4) Unidad Aritmtico-Lgica, que efecta las operaciones; 5) Unidad de salida,
encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la
informtica" no pudo completar en aquella poca la construccin del computador que haba soado,
dado que faltaba algo fundamental: la electrnica. El camino sealado de Babbage, no fue nunca
abandonado y siguindolo, se construyeron las primeras computadoras.
El lenguaje mquina de una computadora consta de cadenas de nmeros binarios (ceros y unos) y
es el nico que "entienden" directamente los procesadores. Todas las instrucciones preparadas en
cualquier lenguaje de mquina tienen por lo menos dos partes. La primera es el comando u
operacin, que dice a la computadora cul es la funcin que va a realizar. Todas las computadoras
tienen un cdigo de operacin para cada una de sus funciones. La segunda parte de la instruccin es
el operando, que indica a la computadora dnde hallar o almacenar los datos y otras instrucciones
que se van a manipular; el nmero de operandos de una instruccin vara en las distintas
computadoras. En una computadora de operando nico, el equivalente binario de "SUMAR 0814"
podra hacer que se sume el valor que se encuentra en la localidad de almacenamiento o direccin
0814 al valor que se encuentra en la unidad aritmtica lgica. En una mquina de dos operandos, la
representacin binaria de "SUMAR 0814 8672" podra hacer que se sume el valor que est en la
localidad 8672 al valor que est en la direccin 0814. El formato de operando nico es popular en
las microcomputadoras ms pequeas; la estructura de dos operandos se encuentra en casi todas las
dems mquinas.
Segn los estndares actuales, las primeras computadoras eran poco tolerantes. Los programadores
tenan que traducir las instrucciones de manera directa a la forma de lenguaje de mquina que
comprendan las computadoras. Por ejemplo, un programador que escribiera la instruccin
"SUMAR 0814" para una de las primeras mquinas IBM hubiera escrito:
000100000000000000000000000010111000
Adems de recordar las docenas de cdigos numricos para los comandos del conjunto de
instrucciones de la mquina, el programador tena que conocer las posiciones donde se almacenan
los datos y las instrucciones. La codificacin inicial muchas veces requera meses, por lo que era
costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era casi
tan tedioso como escribirlas por primera vez. Adems, si era necesario modificar un programa
posteriormente, la tarea poda llevarse meses.
20
LENGUAJES ENSAMBLADORES
Ms adelante se hizo otra mejora. Se dej a la computadora la tarea de asignar y recordar las
direcciones de las instrucciones. Lo nico que tena que hacer el programador era indicar a la
computadora la direccin de la primera instruccin, y el programa ensamblador se encargaba de
almacenar, de manera automtica, todas las dems en forma secuencial a partir de ese punto. As, si
se agregaba ms tarde otra instruccin al programa, no era necesario modificar las direcciones de
todas las instrucciones que seguan al punto de insercin (como tendra que hacerse en el caso de
programas escritos en lenguaje de mquina). En vez de ello, el procesador ajustaba
automticamente las localidades de memoria la prxima vez que se ejecutaba el programa.
En la actualidad, los programadores no asignan nmeros de direccin reales a los datos simblicos,
simplemente especifican dnde quieren que se coloque la primera localidad del programa, y el
programa ensamblador se encarga de lo dems: asigna localidades tanto para las instrucciones como
para los datos.
Estos programas de ensamble, o ensamblador, tambin permite a la computadora convertir las
instrucciones en lenguaje ensamblador del programador en su propio cdigo de mquina. Un
programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa
fuente. Despus de que el ensamblador convierte el programa fuente en cdigo de mquina a ste se
le denomina programa objeto. Para los programadores es ms fcil escribir instrucciones en un
lenguaje ensamblador que en cdigos de lenguajes de mquina, pero es posible que se requieran dos
corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para
producir las salidas deseadas.
21
Los lenguajes ensambladores tienen ventajas sobre los lenguajes de mquina. Ahorran tiempo y
requieren menos atencin a detalles. Se incurren en menos errores y los que se cometen son ms
fciles de localizar. Adems, los programas en lenguaje ensamblador son ms fciles de modificar
que los programas en lenguaje de mquina. Pero existen limitaciones. La codificacin en lenguaje
ensamblador es todava un proceso lento. Una desventaja importante de estos lenguajes es que
tienen una orientacin a la mquina. Es decir, estn diseados para la marca y modelo especfico de
procesador que se utiliza, y es probable que, para una mquina diferente, se tengan que volver a
codificar los programas.
LENGUAJES DE ALTO NIVEL
Los primeros programas ensambladores producan slo una instruccin en lenguaje de mquina por
cada instruccin del programa fuente. Para agilizar la codificacin, se desarrollaron programas
ensambladores que podan producir una cantidad variable de instrucciones en lenguaje de mquina
por cada instruccin del programa fuente. Dicho de otra manera, una sola macroinstruccin poda
producir varias lneas de cdigo en lenguaje de mquina. Por ejemplo, el programador podra
escribir "LEER ARCHIVO", y el programa traductor producira una serie detallada de instrucciones
al lenguaje de mquina previamente preparadas, con lo que se copiara un registro del archivo que
estuviera leyendo el dispositivo de entrada a la memoria principal. As, el programador no se tena
que ocupar de escribir una instruccin por cada operacin de mquina realizada.
El desarrollo de las tcnicas nemotcnicas y las macroinstrucciones condujo, a su vez, al desarrollo
de lenguajes de alto nivel que a menudo estn orientados hacia una clase determinada de problemas
de proceso. Por ejemplo, se han diseado varios lenguajes para procesar problemas cientficomatemtico, asimismo han aparecido otros lenguajes que hacen hincapi en las aplicaciones de
proceso de archivos.
A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden
utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables.
Esto permite reducir sustancialmente el costo de la reprogramacin cuando se adquiere equipo
nuevo. Otras ventajas de los lenguajes de alto nivel son:
Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que traducirse
a un cdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta
operacin se llaman compiladores. stos, como los programas ensambladores avanzados, pueden
generar muchas lneas de cdigo de mquina por cada proposicin del programa fuente. Se requiere
una corrida de compilacin antes de procesar los datos de un problema.
Los compiladores son aquellos cuya funcin es traducir un programa escrito en un determinado
lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft),
el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber
compilado el programa, ya no aparecen errores en el cdigo.
22
LENGUAJES INTERPRETADOS
Se puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes de
alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que
se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el
programador slo carga el programa fuente en la computadora junto con los datos que se van a
procesar. A continuacin, un programa intrprete, almacenado en el sistema operativo del disco, o
incluido de manera permanente dentro de la mquina, convierte cada proposicin del programa
fuente en lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos. No
se graba el cdigo objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir a lenguaje
mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada
instruccin del ciclo tendr que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual
hace que el programa sea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en
tiempo de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando
a cada momento el cdigo completo). El intrprete elimina la necesidad de realizar una corrida de
compilacin despus de cada modificacin del programa cuando se quiere agregar funciones o
corregir errores; pero es obvio que un programa objeto compilado con antelacin deber ejecutarse
con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de
produccin.
23
Las bases de datos son programas que administran informacin y hacen ms ordenada la
informacin, aparte de hacer la fcil de buscar y por supuesto de encontrar.
Las caractersticas de las bases de datos pueden ser ventajosas o desventajosas: pueden ayudar a
almacenar, organizar, recuperar, comunicar y manejar informacin en formas que seran imposibles
sin las computadoras, pero tambin afecta de alguna manera ya que existen enormes cantidades de
informacin en bases de datos de las que no se tiene control del acceso.
Las bases de datos tienen muchos usos: facilitan el almacenamiento de grandes cantidades de
informacin; permiten la recuperacin rpida y flexible de informacin, con ellas se puede
organizar y reorganizar la informacin, as como imprimirla o distribuirla en formas diversas.
Es claro que los lenguajes orientados a bases de datos son declarativos y no imperativos, pues el
problema es "qu" se quiere hacer o "qu" se necesita buscar y encontrar en la base de datos, y no
se enfatiza el "cmo".
Una base de datos tambin se puede definir como un banco de datos o conjunto de datos que
pertenecen al mismo contexto, almacenados sistemticamente para su posterior uso. En este sentido,
una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y
textos impresos en papel e indexados para su consulta.
24
En la Programacin Orientada a Objetos (POO u OOP segn siglas en ingls) se definen los
programas en trminos de "clases de objetos", objetos que son entidades que combinan estado (es
decir, datos) comportamiento (esto es, procedimientos o mtodos) e identidad (propiedad del objeto
que lo diferencia del resto). La programacin orientada a objetos expresa un programa como un
conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los
programas mdulos ms fciles de escribir, mantener y reutilizar.
De esta forma, un objeto contiene toda la informacin, (los denominados atributos) que permite
definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos
de la misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de
mecanismos de interaccin (los llamados mtodos) que favorecen la comunicacin entre objetos (de
una misma clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta
caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben
separarse) informacin (datos) y procesamiento (mtodos).
Dada esta propiedad de conjunto de una clase de objetos, que al contar con una serie de atributos
definitorios, requiere de unos mtodos para poder tratarlos (lo que hace que ambos conceptos estn
ntimamente entrelazados), el programador debe pensar indistintamente en ambos trminos, ya que
no debe nunca separar o dar mayor importancia a los atributos a favor de los mtodos, ni viceversa.
Hacerlo puede llevar al programador a seguir el hbito errneo de crear clases contenedoras de
informacin por un lado y clases con mtodos que manejen esa informacin por otro (llegando a
una programacin estructurada camuflada en un lenguaje de programacin orientada a objetos).
25
Esto difiere de los lenguajes imperativos tradicionales, en los que los datos y los procedimientos
estn separados y sin relacin, ya que lo nico que se busca es el procesamiento de unos datos y los
procedimientos estn separados y sin relacin, ya que lo nico que se busca es el procesamiento de
unos datos de entrada para obtener otros de salida. La programacin estructurada anima al
programador a pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en
las estructuras de datos que esos procedimientos manejan. Los programadores de lenguajes
imperativos escriben funciones y despus les pasan los datos. Los programadores que emplean
lenguajes orientados a objetos definen objetos con datos y mtodos y despus envan mensajes a los
objetos diciendo que realicen esos mtodos por s mismos.
Un objeto se puede definir como un grupo de procedimientos que comparten un estado. Se define al
conjunto de datos como "estado", y "mtodos" como el conjunto de procedimientos que pueden
alterar ese estado. Un programa orientado a objetos es un mtodo de implementacin en el que los
programas estn organizados como colecciones de objetos, donde cada uno es una instancia de
alguna clase, y donde todas las clases son miembros de una jerarqua de clases conectadas por
relaciones de herencia. Este tipo de lenguajes son muy recientes en comparacin a los primeros
lenguajes de programacin que aparecieron.
Navegadores web (tambin llamados browsers). En general son para el acceso al servicio de
protocolo de acceso a hipertexto mediante el protocolo http.
Clientes para acceso al servicio de ficheros, permiten montar y utilizar distintos tipos de
acceso a ficheros mediante distintos tipos de protocolos , ftp, sftp, ssh, etc...
SOFTWARE A MEDIDA.
Esta constituido por aquellas aplicaciones especificas que se refieren a actividades mas
especializadas del cliente (empresa). Estas aplicaciones van destinadas a un cliente especfico, por
lo que el proceso de creacin del software se realizar mediante el anlisis y diseo especfico de
las necesidades de la empresa para la que se est desarrollando.
Instalacin de utilidades.
Dentro del software que debemos tener en el sistema, existe un conjunto de utilidades comunes con
ciertas funcionalidades necesarias en cualquier sistema.
COMPRESORES.
La compresin de datos consiste en la reduccin del volumen de informacin tratable (procesar,
transmitir o grabar). En principio, con la compresin se pretende transportar la misma informacin,
26
Por un lado, algunos buscan series largas que luego codifican en formas ms breves.
Por otro lado, algunos algoritmos, como el algoritmo de Huffman, examinan los caracteres
ms repetidos para luego codificar de forma ms corta los que ms se repiten.
Otros, como el LZW, construyen un diccionario con los patrones encontrados, a los cuales
se hace referencia de manera posterior.
Tambin esta una forma de comprimir que es codificando los bytes pares es muy sencillo y
fcil de entender.
27
la calidad de la informacin:
Compresin sin prdida: los datos antes y despus de comprimirlos son exactos en la
compresin sin prdida. En el caso de la compresin sin prdida una mayor compresin solo
implica ms tiempo de proceso. El bitrate siempre es variable en la compresin sin prdida.
Se utiliza principalmente en la compresin de texto.
Un algoritmo de compresin con prdida puede eliminar datos para reducir an ms el
tamao, con lo que se suele reducir la calidad. En la compresin con prdida el bit rate
puede ser constante o variable. Hay que tener en cuentaa que una vez realizada la
compresin, no se puede obtener la seal original, aunque s una aproximacin cuya
semejanza con la original depender del tipo de compresin. Se utiliza principalmente en la
compresin de imgenes, videos y sonidos.
Formatos ms comunes de compresin sin prdidas: ZIP, RAR, CAB, LHA, DGCA, GCA, Bzip2,
gzip, lzip, KGB Archiver, 7z, AFA.
Los programas ms comunes que soportan distintos formatos para comprimir y descomprimir son
los siguientes, WinZip, WinRar, 7Zip, FileRoller, etc.
28
Una particin de disco, es el nombre genrico que recibe cada divisin presente en una sola
unidad fsica de almacenamiento de datos. Toda particin tiene su propio sistema de archivos
(formato); generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula cada
particin como un disco fsico independiente, a pesar de que dichas particiones estn en un solo
disco fsico.
A toda particin se le da formato mediante un sistema de archivos como FAT, NTFS, ext4 ,ext3,
ext2, FAT32, ReiserFS, Reiser4 u otro. En Windows, las particiones reconocidas son identificadas
con una letra seguida por un signo de doble punto (p.ej. C:\) hasta cuatro particiones primarias;
prcticamente todo tipo de discos magnticos y memorias flash (como pendrives) pueden
particionarse. Sin embargo, para tener la posibilidad de ms particiones en un solo disco, se utilizan
las particiones extendidas, las cuales pueden contener un nmero ilimitado de particiones lgicas en
su interior. Para este ltimo tipo de particiones, no es recomendado su uso para instalar ciertos
sistemas operativos, sino que son ms tiles para guardar documentos o ejecutables no
indispensables para el sistema. Los discos pticos (DVD, CD) no soportan particiones .Es necesario
tener en cuenta que solo las particiones primarias y lgicas pueden contener un sistema de archivos
propio.
Representacin grfica de un disco particionado. Cada recuadro blanco representa algn sistema de
archivos vaco. Los espacios en gris representan los espacios sin particionar del disco. Las
particiones rodeadas por lneas moradas o violetas representan las particiones primarias. Las
particiones rodeadas por bordes rojos representan la particin extendida (que es un tipo de particin
primaria); y en su interior, se encuentran las particiones lgicas, rodeadas por los bordes de color
verde.
Es comn que los sistemas basados o similares a UNIX generalmente se usan hasta con 3
particiones: la principal, montada en el directorio raz (/); a veces hay tambin una segunda que se
usa para montar el directorio /home, el cual contiene las configuraciones de los usuarios, y
finalmente, una tercera llamada swap, que se usa para la memoria virtual temporal. Sin embargo, 2
particiones (/, y swap); es el mnimo suficiente en estos sistemas operativos. Cabe decir adems que
las particiones de intercambio (swap) pueden instalarse sin problemas dentro de una particin
29
lgica. Las particiones de intercambio, al igual que a la memoria RAM, no se les asigna un
directorio; este tipo de particiones se usa para guardar ciertas rplicas de la memoria RAM, para
que de esta forma la RAM tenga ms espacio para las tareas en primer plano, guardando las tareas
en segundo plano dentro de la particin de intercambio. Algunos sistemas tipo UNIX estn
diseados para funcionar con una sola particin, sin embargo, estos diseos no son muy comunes.
Tipos de particiones
El formato o sistema de archivos de las particiones (p. ej. NTFS) no debe ser confundido con el tipo
de particin (p. ej. particin primaria), ya que en realidad no tienen directamente mucho que ver.
Independientemente del sistema de archivos de una particin (FAT, ext3, NTFS, etc.), existen 3
tipos diferentes de particiones:
Particin primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de
stas o 3 primarias y una extendida. Depende de una tabla de particiones. Un disco fsico
completamente formateado consiste, en realidad, de una particin primaria que ocupa todo el
espacio del disco y posee un sistema de archivos. A este tipo de particiones, prcticamente
cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el
sistema operativo reconozca su formato (sistema de archivos).
Particin extendida: Tambin conocida como particin secundaria es otro tipo de particin
que acta como una particin primaria; sirve para contener infinidad de unidades lgicas en
su interior. Fue ideada para romper la limitacin de 4 particiones primarias en un solo disco
fsico. Solo puede existir una particin de este tipo por disco, y solo sirve para contener
particiones lgicas. Por lo tanto, es el nico tipo de particin que no soporta un sistema de
archivos directamente.
Particin lgica: Ocupa una porcin de la particin extendida o la totalidad de la misma, la
cual se ha formateado con un tipo especfico de sistema de archivos (FAT32, NTFS, ext2,...)
y se le ha asignado una unidad, as el sistema operativo reconoce las particiones lgicas o su
sistema de archivos. Puede haber un mximo de 23 particiones lgicas en una particin
extendida. Linux impone un maximo de 15, incluyendo las 4 primarias, en discos SCSI y en
discos IDE 8963.
Particiones primarias
En los equipos PC, originales de IBM, estas particiones tradicionalmente usan una estructura
llamada Tabla de particiones, ubicada al final del registro de arranque maestro (MBR, Master
Boot Record). Esta tabla, que no puede contener ms de 4 registros de particiones (tambin
llamados partition descriptors), especifica para cada una su principio, final y tamao en los
diferentes modos de direccionamiento, as tambin como un solo nmero, llamado partition type, y
un marcador que indica si la particin est activa o no (slo puede haber una particin activa a la
vez). El marcador se usa durante el arranque; despus de que el BIOS cargue el registro de
arranque maestro en la memoria y lo ejecute, el MBR de DOS comprueba la tabla de particin a su
final y localiza la particin activa. Entonces carga el sector de arranque de esta particin en
memoria y la ejecuta. A diferencia del registro de arranque maestro, generalmente independiente
del sistema operativo, el sector de arranque est instalado junto con el sistema operativo y sabe
cmo cargar el sistema ubicado en ese disco en particular.
Notar que mientras la presencia de un marcador activo se estandariza, no se utiliza en todos los
gestores de arranque. Por ejemplo, los gestores LILO, GRUB (muy comunes en el sistema Linux) y
XOSL no buscan en la tabla de particines del MBR la particin activa; simplemente cargan una
segunda etapa (que puede ser contenida en el resto del cilindro 0 en el sistema de archivos).
Despus de cargar la segunda etapa se puede cargar el sector de arranque de cualquiera de las
particiones del disco (permitiendo al usuario seleccionar la particin), o si el gestor conoce cmo
localizar el kernel (ncleo) del sistema operativo en una de las particiones (puede permitir al
30
Cualquier versin del DOS puede leer slo una particin FAT primaria en el disco duro. Esto unido
al deterioro de la FAT con el uso y al aumento de tamao de los discos movi a Microsoft a crear un
esquema mejorado relativamente simple: una de las entradas de la tabla de particin principal pas
a llamarse particin extendida y recibi un nmero de tipo de particin especial (0x05). El campo
inicio de particin tiene la ubicacin del primer descriptor de la particin extendida, que a su vez
tiene un campo similar con la ubicacin de la siguiente; as se crea una lista enlazada de
descriptores de particin. Los dems campos de una particin extendida son indefinidos, no tienen
espacio asignado y no pueden usarse para almacenar datos. Las particiones iniciales de los
elementos de la lista enlazada son las llamadas unidades lgicas; son espacios asignados y pueden
almacenar datos. Los sistemas operativos antiguos ignoraban las particiones extendidas con nmero
de tipo 0x05, y la compatibilidad se mantena. Este esquema reemplaza al antiguo ya que todas las
particiones de un disco duro se pueden poner dentro de una sola particin extendida. Por alguna
razn, Microsoft no actualiz su sistema operativo DOS para arrancar desde una particin
extendida, debido a que la necesidad para particiones primarias se preservaron.
Razones para el uso de particiones
Algunos sistemas de archivos (p.e. versiones antiguas de sistemas FAT de Microsoft) tienen
tamaos mximos ms pequeos que los que el tamao que proporciona un disco, siendo
necesaria una particin de tamao pequeo, para que sea posible el adecuado
funcionamiento de este antiguo sistema de archivos.
Se puede guardar una copia de seguridad de los datos del usuario en otra particin del
mismo disco, para evitar la prdida de informacin importante. Esto es similar a un RAID,
excepto en que est en el mismo disco.
En algunos sistemas operativos aconsejan ms de una particin para funcionar, como por
ejemplo, la particin de intercambio (swap) en los sistemas operativos basados en Linux.
A menudo, dos sistemas operativos no pueden coexistir en la misma particin, o usar
diferentes formatos de disco nativo. La unidad se particiona para diferentes sistemas
operativos.
Uno de los principales usos que se le suele dar a las particiones (principalmente a la
extendida) es la de almacenar toda la informacin del usuario (entindase msica, fotos,
vdeos, documentos), para que al momento de reinstalar algn sistema operativo se formatee
nicamente la unidad que lo contiene sin perder el resto de la informacin del usuario.
A lo largo de los aos han aparecido numerosos sistemas de particionamiento, para casi todas las
arquitecturas de ordenadores existentes. Muchos son relativamente transparentes y permiten la
manipulacin conveniente de las particiones de disco; algunos, sin embargo, son obsoletos.
Las tablas de particiones (MBR) slo admiten hasta 2,2 TB por particin. Dado que slo soportan 4
particiones primarias, el tamao mximo admisible para un disco duro sera de 8,8 TB (el resto de
capacidad no se podra utilizar). Como la arquitectura IBM PC es muy comn, las tablas de
particin probablemente subsistirn cierto tiempo. Sin embargo, existe un proyecto de Intel llamado
Extensible Firmware Initiative (EFI) con el sistema GPT, que soporta tericamente hasta 9,4 9,4
ZB.
31
NT e incluso OS/2) son capaces de arrancar desde una unidad lgica. Sin embargo, el MBR por
defecto utilizado por Windows y DOS slo es capaz de continuar el proceso de arranque con una
particin primaria. Cuando se utiliza este MBR, es necesario que exista por lo menos una particin
primaria que contenga un cargador de arranque (comnmente el NTLDR de Windows). Otros
cargadores de arranque que reemplazan el MBR, como por ejemplo GRUB, no sufren de esta
limitacin.
Gparted
Artculo principal: GParted
GParted.
GParted es el editor de particiones de GNOME. Esta aplicacin es usada para crear, destruir,
redimensionar, inspeccionar y copiar particiones, como tambin sistemas de archivos. Esto es til
para crear espacio para nuevos sistemas operativos, para reorganizar el uso del disco y para crear
imgenes de un disco en una particin. KDE Partition Manager es la contraparte de GParted pero
para entornos de escritorios KDE.
Gparted se encuentra disponible en un LiveCD, basado en Slackware y construido sobre la ltima
rama estable ncleo Linux (2.6). El LiveCD es actualizado con cada lanzamiento de GParted. El
LiveCD de Ubuntu incluye esta aplicacin entre sus utilidades. Tambin se encuentra disponible en
una versin LiveUSB.
Fragmentacin
La fragmentacin es la memoria que queda
desperdiciada al usar los mtodos de gestin de
memoria. Tanto el primer ajuste, como el mejor y
el peor producen fragmentacin externa
(Conocidos como estrategias de Colocacin).
La fragmentacin es generada cuando durante el
reemplazo de procesos quedan huecos entre dos o
ms procesos de manera no contigua y cada hueco
no es capaz de soportar ningn proceso de la lista de espera. Tal vez en conjunto si sea espacio
suficiente, pero se requerira de un proceso de desfragmentacin de memoria o compactacin para
lograrlo. Esta fragmentacin se denomina fragmentacin externa.
Existe otro tipo de fragmentacin conocida como fragmentacin interna, la cual es generada cuando
se reserva ms memoria de la que el proceso va realmente a usar. Sin embargo a diferencia de la
externa, estos huecos no se pueden compactar para ser utilizados. Se debe de esperar a la
finalizacin del proceso para que se libere el bloque completo de la memoria.
32
Fragmentacin interna
Fragmentacin externa
Este tipo de fragmentacin aparece como consecuencia de las distintas polticas de ajuste de
bloques que tiene un sistema de ficheros, o al utilizar asignaciones dinmicas de bloques en el caso
de la memoria. En el sistema de ficheros, la sucesiva creacin y eliminacin de ficheros de distintos
tamaos puede conducir al aislamiento de los bloques libres de un disco y, dependiendo de la
poltica de ajuste, su no eleccin para futuros ficheros.
En la memoria del sistema la fragmentacin se produce cuando los procesos asignados han ocupado
posiciones no contiguas de memoria dejando demasiados bloques libres de pequeo tamao, en los
que no "caben" nuevos procesos.
En sistemas de ficheros la desfragmentacin trata de resolver este problema, alineando los bloques
de datos contiguos y juntando los bloques libres, produciendo as fragmentos mayores que s sern
elegidos para futuros ficheros. En la memoria principal se soluciona compactando los procesos para
que estos ocupen posiciones contiguas y dejar los bloques libres juntos, o tambin se soluciona con
la paginacin de memoria.
Desfragmentacin
Este proceso consta de ordenar los trozos de informacin distribuida a travs de todo el disco, para
mejorar la velocidad de acceso y distribuir de mejor forma el espacio libre del dispositivo. Como
este proceso consta en la reorganizacin de partes de archivos, requiere de suficiente memoria para
realizar los movimientos de los trozos de informacin. Al mover en forma fsica la informacin, la
estructura lgica no sufre alteraciones.
Aspectos de la desfragmentacin
33
para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un
buen porcentaje de desfragmentacin en el disco.
Ciertos sistemas de archivos son ms susceptibles a cambios por desfragmentacin que otros. Por
ejemplo, una particin del tipo FAT se fragmenta ms rpido que una de particin del tipo NTFS
(Windows) , EXT 4 (Linux) o HFS + (MacOSX).
Utilidades
Existen dos grandes grupos de propagacin: los virus cuya instalacin el usuario en un momento
34
dado ejecuta o acepta de forma inadvertida, o los gusanos, con los que el programa malicioso acta
replicndose a travs de las redes.
En cualquiera de los dos casos, el sistema operativo infectado comienza a sufrir una serie de
comportamientos anmalos o no previstos. Dichos comportamientos son los que dan la traza del
problema y tienen que permitir la recuperacin del mismo.
Dentro de las contaminaciones ms frecuentes por interaccin del usuario estn las siguientes:
Mensajes que ejecutan automticamente programas (como el programa de correo que abre
directamente un archivo adjunto).
Ingeniera social, mensajes como: Ejecute este programa y gane un premio.
Entrada de informacin en discos de otros usuarios infectados.
Instalacin de software que pueda contener uno o varios programas maliciosos.
Unidades extrables de almacenamiento (USB).
Existen numerosos medios para combatir el problema; Sin embargo, a medida que nuevos
programas y sistemas operativos se introducen en el mercado, ms difcil es tener controlados a
todos y ms sencillo va a ser que a alguien se le ocurran nuevas formas de infectar sistemas.
Ante este tipo de problemas, estn los softwares llamados antivirus. Estos antivirus tratan de
descubrir las trazas que ha dejado un software malicioso para detectarlo o eliminarlo, y en algunos
casos contener o parar la contaminacin (cuarentena).
Los mtodos para contener o reducir los riesgos asociados a los virus pueden ser los denominados
activos o pasivos.
Antivirus (activo)
Estos programas, como se ha mencionado, tratan de encontrar la traza de los programas maliciosos
mientras el sistema est funcionando.
Tratan de tener controlado el sistema mientras funciona parando las vas conocidas de infeccin y
notificando al usuario de posibles incidencias de seguridad.
Como programa que est continuamente funcionando, el antivirus tiene un efecto adverso sobre el
sistema en funcionamiento. Una parte importante de los recursos se destinan al funcionamiento del
mismo. Adems, dado que estn continuamente comprobando la memoria de la mquina, dar ms
memoria al sistema no mejora las prestaciones del mismo.
Otro efecto adverso son los falsos positivos; es decir, notificar al usuario de posibles incidencias en
la seguridad. De esta manera, el antivirus funcionando da una sensacin de falsa seguridad.
Tipos de vacunas
CA:Slo deteccin: Son vacunas que solo detectan archivos infectados sin embargo no
pueden eliminarlos o desinfectarlos.
CA:Deteccin y desinfeccin: son vacunas que detectan archivos infectados y que pueden
desinfectarlos.
CB:Comparacin por firmas: son vacunas que comparan las firmas de archivos
sospechosos para saber si estn infectados.
35
CB:Por mtodos heursticos: son vacunas que usan mtodos heursticos para comparar
archivos.
CC:Invocado por el usuario: son vacunas que se activan instantneamente con el usuario.
CC:Invocado por la actividad del sistema: son vacunas que se activan instantneamente
por la actividad del sistema windows xp/vista
Mantener una poltica de copias de seguridad garantiza la recuperacin de los datos y la respuesta
cuando nada de lo anterior ha funcionado.
As mismo las empresas deberan disponer de un plan y detalle de todo el software instalado para
tener un plan de contingencia en caso de problemas.
Planificacin
La planificacin consiste en tener preparado un plan de contingencia en caso de que una emergencia
de virus se produzca, as como disponer al personal de la formacin adecuada para reducir al
mximo las acciones que puedan presentar cualquier tipo de riesgo. Cada antivirus puede planear la
defensa de una manera, es decir, un antivirus puede hacer un escaneado completo, rpido o de
vulnerabilidad segn elija el usuario.
Consideraciones de software
El software es otro de los elementos clave en la parte de planificacin. Se debera tener en cuenta la
siguiente lista de comprobaciones:
1. Tener el software imprescindible para el funcionamiento de la actividad, nunca menos pero
tampoco ms. Tener controlado al personal en cuanto a la instalacin de software es una
medida que va implcita. As mismo tener controlado el software asegura la calidad de la
procedencia del mismo (no debera permitirse software pirata o sin garantas). En todo caso
un inventario de software proporciona un mtodo correcto de asegurar la reinstalacin en
caso de desastre.
2. Disponer del software de seguridad adecuado. Cada actividad, forma de trabajo y mtodos
de conexin a Internet requieren una medida diferente de aproximacin al problema. En
general, las soluciones domsticas, donde nicamente hay un equipo expuesto, no son las
mismas que las soluciones empresariales.
3. Mtodos de instalacin rpidos. Para permitir la reinstalacin rpida en caso de
contingencia.
4. Asegurar licencias. Determinados softwares imponen mtodos de instalacin de una vez,
que dificultan la reinstalacin rpida de la red. Dichos programas no siempre tienen
alternativas pero ha de buscarse con el fabricante mtodos rpidos de instalacin.
5. Buscar alternativas ms seguras. Existe software que es famoso por la cantidad de agujeros
de seguridad que introduce. Es imprescindible conocer si se puede encontrar una alternativa
36
Disponer de una visin clara del funcionamiento de la red permite poner puntos de verificacin
filtrado y deteccin ah donde la incidencia es ms claramente identificable. Sin perder de vista
otros puntos de accin es conveniente:
1. Mantener al mximo el nmero de recursos de red en modo de slo lectura. De esta forma se
impide que computadoras infectadas los propaguen.
2. Centralizar los datos. De forma que detectores de virus en modo batch puedan trabajar
durante la noche.
3. Realizar filtrados de firewall de red. Eliminar los programas que comparten datos, como
pueden ser los P2P; Mantener esta poltica de forma rigurosa, y con el consentimiento de la
gerencia.
4. Reducir los permisos de los usuarios al mnimo, de modo que slo permitan el trabajo diario.
5. Controlar y monitorizar el acceso a Internet. Para poder detectar en fases de recuperacin
cmo se ha introducido el virus, y as determinar los pasos a seguir.
Es conveniente disponer de una licencia activa de antivirus. Dicha licencia se emplear para la
generacin de discos de recuperacin y emergencia. Sin embargo no se recomienda en una red el
uso continuo de antivirus.
El motivo radica en la cantidad de recursos que dichos programas obtienen del sistema, reduciendo
el valor de las inversiones en hardware realizadas.
Aunque si los recursos son suficientes. Este extra de seguridad puede ser muy til.
Sin embargo los filtros de correos con detectores de virus son imprescindibles, ya que de esta forma
se asegurar una reduccin importante de decisiones de usuarios no entrenados que pueden poner en
riesgo la red.
Firewalls
Los puntos de entrada en la red son generalmente el correo, las pginas WEB, y la entrada de
ficheros desde discos, o de PC que no estn en la empresa (porttiles...)
Muchas de estas computadoras emplean programas que pueden ser reemplazados por alternativas
ms seguras.
Es conveniente llevar un seguimiento de cmo distribuyen bancos, y externos el software, valorar
37
La centralizacin de recursos y garantizar el backup de los datos es otra de las pautas fundamentales
en la poltica de seguridad recomendada.
La generacin de inventarios de software, centralizacin del mismo y la capacidad de generar
instalaciones rpidas proporcionan mtodos adicionales de seguridad.
Es importante tener localizado donde tenemos localizada la informacin en la empresa. De esta
forma podemos realizar las copias de seguridad de forma adecuada.
Control o separacin de la informtica mvil, dado que esta est ms expuesta a las contingencias
de virus.
Empleo de sistemas operativos ms seguros
Para servir ficheros no es conveniente disponer de los mismos sistemas operativos que se emplean
dentro de las estaciones de trabajo, ya que toda la red en este caso est expuesta a los mismos retos.
Una forma de prevenir problemas es disponer de sistemas operativos con arquitecturas diferentes,
que permitan garantizar la continuidad de negocio.
Temas acerca de la seguridad
Existen ideas instaladas parte por las empresas de antivirus parte en la cultura popular que no
ayudan a mantener la seguridad de los sistemas de informacin.
Estoy protegido pues no abro archivos que no conozco. Esto es falso, pues existen
mltiples formas de contagio, adems los programas realizan acciones sin la supervisin del
usuario poniendo en riesgo los sistemas.
Como tengo antivirus estoy protegido. nicamente estoy protegido mientras el antivirus
sepa a lo que se enfrenta y como combatirlo. En general los programas antivirus no son
capaces de detectar todas las posibles formas de contagio existentes, ni las nuevas que
pudieran aparecer conforme las computadoras aumenten las capacidades de comunicacin.
38
Las plataformas mas atacadas por virus informticos son la lnea de sistemas operativos Windows
de Microsoft. Respecto a los sistemas derivados de Unix como GNU/Linux, BSD, Solaris, MacOS,
stos han corrido con mejor suerte debido en parte al sistema de permisos. No obstante en las
plataformas derivadas de Unix han existido algunos intentos que ms que presentarse como
amenazas reales no han logrado el grado de dao que causa un virus en plataformas Windows.
39
La mayora de los programas para Microsoft Windows no estn diseados para ser porttiles. El
registro de Windows, dada la manera en que se gestionan las libreras dll, y la estructura del
instalador de Windows, tienden a hacer que la instalacin de los programas sea de sentido nico.
Muchas aplicaciones populares como Adobe Photoshop o Microsoft Word, por ejemplo, utilizan el
registro de manera intensiva, y almacenan informacin en muchos directorios del sistema de
ficheros, a pesar de que se recomienda utilizar el registro slamente para almacenar la
configuracin bsica de la aplicacin, y el directorio personal del usuario para almacenar ficheros
ms grandes.
Para crear aplicaciones porttiles, los desarrolladores deben conseguir que la aplicacin deje el
ordenador donde se ha ejecutado completamente "limpio". Esto implica que la aplicacin no debe
usar el registro, ni guardar ficheros en ningn lugar que no sea su directorio de instalacin.
Macintosh
Los programas suelen estar diseados alrededor de la variable HOME para guardar las preferencias
del usuario (e.g. $HOME/.w3m para el navegador w3m). Esto hace que los programas diseados
para los entornos UNIX sean especialmente porttiles. NO obstante algunos programas no
demasiado bien diseados no respetan esta convencin.
40
Virtualizacin
Una estrategia alternativa para conseguir la portabilidad de las aplicaciones en Windows, sin tener
que modificar el cdigo fuente de la aplicacin, es la virtualizacin. Para utilizar la virtualizacin,
una aplicacin puede ser rodeada de dll's que intercepten todas las llamadas al sistema. Esta capa de
virtualizacin puede interceptar todas las llamadas no porttiles y hacer que una aplicacin se
ejecute sin problemas y sin instalarse previamente en el sistema operativo.
Programas Java
Dentro de la portabilidad cabe destacar las aplicaciones escritas en el lenguaje Java, este lenguaje,
por definicin tiene la portabilidad incluida debido a su funcionamiento. Todo programa hecho en
java est compilado para una mquina especial que es la java virtual machine, para poder
ejecutar aplicaciones hechas en este lenguaje solamente debemos instalar el entorno Java Runtime
Enviroment para el sistema operativo particular que tengamos.
Dentro de las aplicaciones porttiles, tenemos programas de navegacin de Internet, correo
electrnico, procesador de texto, hoja de clculo, presentaciones grficas, etc. Si adems de las
aplicaciones, copiamos nuestros archivos de datos, podemos llevarnos una "oficina" en la palma de
la mano, y trabajar en cualquier ordenador sin necesidad de instalar de nuevo nuestras aplicaciones.
Podemos ver una lista de aplicaciones portables en estas direcciones
http://es.wikipedia.org/wiki/Lista_de_aplicaciones_port%C3%A1tiles
http://appsportables.blogspot.com/
http://hacktolive.org/wiki/Portable_Applications_%28Linux%29
Referencias Bibliogrficas
La referencia bibliogrfica ms utilizada ha sido la wikipedia en castellano.
Haciendo bsqueda en los artculos y los enlaces referenciados por los
mismos.
http://es.wikipedia.org/