martes, 29 de julio de 2008
INTRODUCCION
QUE ES UNIX?
PARA QUE SIRVE UNIX?
UNIX presta (desde sus primeras versiones en los años 70) una especial atención a las comunicaciones, uso remoto de los equipos y compartición de recursos. Esto lo ha mantenido en cabeza siempre conforme estos aspectos de la informática se han popularizado.
UNIX es un sistema abierto: no sólo es posible acceder a las diferentes versiones desarrolladas para cada máquina conforme han ido creándose éstas, sino también a los programas originales (en C, porsupuesto) que son el código fuente de UNIX. Por otro lado, siendo un sistema operativo moderno y sencillo es la base del estudio del puntode partida del cómo funcionan (a nivel pedagógico) los sistemas operativos en general; típicamente el libro de texto de la mayoría de universidades de todo el mundo para la introducción al estudio de sistemas operativos es "Minix" una forma simplificada, pero operativa y compilable, de UNIX.
UNIX es un sistema especialmente robusto. Particularmente son elogiadas en este aspecto las versiones de UNIX con un microkernel más pequeños como son las implantadas en el UNIX Mach del ya abandonado sistema Next o el constantemente en desarrollo UNIX FreeBSD. La ventaja de este tipo de UNIX es que la parte protegida del sistema es menor y está menos acoplada con partes no esenciales del sistema. Esta ha sido siempre la filosofía de protección de este sistema. Y así es realmente. Cuando una aplicación se bloquea por algún tipo de error de funcionamiento, el resto del sistema permanece en correcto funcionamiento sin verse afectado, siendo fácil, en general, el volver al punto en el que se estaba trabajando.
CARACTERISTICAS
- Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo.
- Tiene facilidad para redireccionamiento de Entradas/Salidas.
- Garantiza un alto grado de portabilidad.
El sistema se basa en un Núcleo llamado Kernel, que reside permanentemente en la memoria, y que atiende a todas las llamadas del sistema, administra el acceso a los archivos y el inicio o la suspensión de las tareas de los usuarios.
La comunicación con el sistema UNIX se da mediante un programa de control llamado SHELL. Este es un lenguaje de control, un intérprete, y un lenguaje de programación, cuyas características lo hacen sumamente flexible para las tareas de un centro de cómputo.
Como lenguaje de programación abarca los siguientes aspectos:
- Ofrece las estructuras de control normales: secuenciación, iteración condicional, selección y otras.
- Paso de parámetros.
- Comunicación bidireccional entre órdenes de shell.
- El shell permite modificar en forma dinámica las características con que se ejecutan los programas en UNIX
- Las entradas y salidas pueden ser redireccionadas o redirigidas hacia archivos, procesos y dispositivos
- Es posible interconectar procesos entre sí.
Unix es uno de los sistemas operativos más ampliamente usados en computadoras que varían desde las personales hasta las macro. Existen versiones para máquinas un procesador hasta multiprocesadores.
Debido a su historia, que evoluciona en los Laboratorios Bell de AT&T con un simulador de un viaje espacial en el sistema solar, pasando por su expansión en universidades y la creación de las versiones más importantes que son la de la Universidad de Berkeley y el Sistema V de la misma AT&T.
HISTORIA
Hasta 2008, el propietario de la marca UNIX® es The Open Group, un consorcio de normalización industrial. Sólo los sistemas que cumplen a cabalidad y se encuentran certificados por la especificación Single UNIX Specification pueden ser denominados "UNIX®" (otros reciben la denominación "similar a un sistema Unix" o "similar a Unix").
REQUERIMIENTOS
- Procesador Pentium 200 2.0 MHz de velocidad
- 64MB de memoria ram
- 20GB de disco duro
- Main board basica
Estos requerimientos se deben a que unix era un sistema operativo muy pequeño.
VENTAJAS
- El kernel (normalmente llamado /unix) es un ejecutable. Esto hace que sea imposible que se corrompa o que pierda el driver o parte de un driver de algún dispositivo de la computadora. Parte del sistema operativo Unix viene precompilado. Esto permite al usuario poder modificar, eliminar o incluir nuevas características o drivers para adicionar más periféricos al servidor de Unix. Si la compilación de un nuevo kernel /unix termina sin problemas, es que éste correrá eficientemente.
- El Unix es el único Sistema Operativo diseñado en un lenguaje de alto nivel lo cual lo ha convertido en un Sistema Operativo independiente del Hardware o CPU. Gracias a esto, es el Sistema Operativo que corre en más arquitecturas de hardware diferentes. O sea que el Unix NO ESTA LIMITADO A LA ARQUITECTURA INTEL. El usuario puede escoger entre los más antiguos o los más avanzados CPU's INTEL hasta los más poderos procesadores RISC disponibles en el mercado.
- Los componentes más importantes en un servidor de Unix son la memoria y el CPU. Por ello, podemos tener un servidor con varios procesadores ejecutando los procesos con las técnicas m s avanzadas del multiprocesamiento simétrico y multi-enlazado (Multithreading). Actualmente hay microprocesadores RISC de 64 bits y que operan a más de 600Mhz.
- Es practicamente imposible insertar virus en un servidor de Unix. Esto lo hace uno de los servidores de red más seguros y estables. Lo que podría insertarse en un servidor de Unix son los llamados "caballos de Troya" que pueden ser evitados fácilmente.
- El Unix utiliza muy eficientemente la memoria. Permite a las aplicaciones reservar grandes segmentos de memoria (hasta de varios megabytes) llamados Memoria Compartida (Shared Memory) de modo que esa memoria pueda ser usada por las aplicaciones para poner datos que puedan ser compartidos entre muchos usuarios sin necesidad entonces, de tener que buscarlos en los discos fijos. El Unix respeta esos segmentos de memoria y no los toca hasta que las aplicaciones dejen de usarlos y se lo devuelvan.
- Por la forma en que el Unix maneja la memoria, permite correr programas que sean más grandes que la memoria RAM total. Gracias a eso, el Unix es usado para correr aplicaciones que son muy exigentes con el uso de la memoria, especialmente aquellas aplicaciones gráficas usadas para el diseño de películas y videos animados o de diseño ayudado por computadora.
- El Unix es un maletín de herramientas para el procesamiento de textos y está repleto de ellas. Hay más de 500 comandos para el procesamiento de textos, administración de código fuente y otros. Inclusive hay sistemas operativos que corren sobre Unix.
- En Unix se puede hacer programas en lenguaje Shell muy poderosos para el manejo de datos en formato ASCII.
- Gracias a los mecanismos de seguridad, un usuario que no sepa una cuenta de usuario ("login") y su correspondiente clave de acceso ("password") no puede tener acceso en absoluto al sistema. Hay niveles de seguridad muy estrictos y otros más relajados.
- Debido a que todas versiones de Unix cumplen con los estándares tecnológicos, podemos transferir fácilmente datos e incluso aplicaciones de una versión a otra. Podemos decir que es de una arquitectura muy abierta.
- El acceso a los discos no es intensivo. Esto hace que los discos fijos duren más.
- Debido a que cada usuario puede tener su propia Zona Horaria, permite tener usuarios conectados desde cualquier parte del mundo.
- El Sistema Operativo Unix es muy estable. Es típico ver servidores de Unix que tienen meses, incluso años de funcionamiento continuo sin la necesidad de tener que apagarlos.
- En Unix no se requiere reinstalar el Sistema Operativo o las Aplicaciones a cada rato... Esa no es la solución a los problemas que pudieran presentarse.
- Por su eficiencia, existen actualmente más de 7,000 aplicaciones, la mayoría gráfica, disponible para cualquier versión de Unix.
- La Administración de un servidor de Unix se puede hacer desde cualquier terminal, incluso remota para lo cual no se requiere estar frente al servidor.
DESVENTAJAS
- Carencia de soporte técnico.
- No ofrece mucha seguridad
- Problemas de hardware, no soporta todas las plataformas, y no es compatible con algunas marcas específicas
- No existe un control de calidad al momento de elaborar software para Linux, pues muchas veces las aplicaciones se hacen y se liberan sin control alguno.
- Es poco probable que aplicaciones para DOS y OS/2, se ejecuten correctamente bajo Linux.
- No hay forma segura de instalarlo sin reparticionar el disco duro
- El reparticionar el disco duro, implica borrar toda la información del mismo y después restablecerla
- Se requiere experiencia y conocimiento del sistema para administrarlo, pues como es un sistema por línea de comandos, estos poseen muchas opciones y en ocasiones es difícil realizar algunas tareas, que en otros sistemas operativos de red son triviales
INSTALACION
Instalación integrada
Este procedimiento es apropiado para la instalación integrada
- Especificar el argumento--with-odbc en la la de comandos para src/configure:
% ./configure --with-odbc
% make - Reconstruir la distribuciSPAN CLASS="PRODUCTNAME" >Postgres:
% make install
Una vez configurado, el driver ODBC ser construido e instalado dentro de las definidas para otros componentes del sistema Postgres. El fichero de configuracie instalaciSPAN CLASS="ACRONYM" >ODBC serᠣolocado en el directorio principal del Ტol de destino Postgres (POSTGRESDIR). Esto puede ser cambiado en la la de comandos de make como
% make ODBCINST=filename install
Instalación integrada Pre-v6.4
Si usted tiene una instalacion SPAN CLASS="PRODUCTNAME" >Postgres mas antigua que la v6.4, tiene disponible el Ტol de fuentes original, y desea usar la version actualizada del driver ODBC, entonces desear esta modalidad de instalacion/P >
- Copie el fichero tar de salida a su sistema y desempaquelo en un directorio vacio
- Desde el directorio donde se encuentran los fuentes, teclee:
% ./configure
% make
% make POSTGRESDIR=PostgresTopDir install - Si desea instalar los componentes en diferentes roles, entonces puede especificar varios destinos explicitamente:
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
Instalacion aislada
Una instalacion aislada no esta configurada en la distribución SPAN CLASS="PRODUCTNAME" >Postgres habitual. Debe realizarse un ajuste mejor para la construccion del driver ODBC para clientes normales y y heterogeneos que no tienen instalado un rol de fuentes Postgres de forma local.
La ubicación por defecto para las librerias y ficheros de cabecera y para la instalacion aislada es /usr/local/lib y /usr/local/include/iodbc, respectivamente. Existe otro fichero de configuración de sistema que se instala como /share/odbcinst.ini (si /share exists) o como /etc/odbcinst.ini (si /share no existe).
La instalacion de ficheros en /share o /etc requiere privilegios de root. Muchas etapas de la instalacie Postgres no necesitan de este requerimiento, y usted puede elegir otra ubicacin que su cuenta de superusuario Postgres tenga permisos de escritura.
- La instalacione la distribución aislada puede realizarse desde la distribución SPAN CLASS="PRODUCTNAME" >Postgres o puede ser obtenida a traves de Insight Distributors, los mantenedores actuales para distribuciones no Unix.
Copie el fichero zip o el fichero tar comprimido en un directorio vac Si usa el paquete zip, descomprimirlo con el comando
% unzip -a packagename
La opcion TT CLASS="OPTION" >-a es necesaria para deshacerse de los pares CR/LF de DOS en los ficheros fuente
Si tiene el paquete tar comprimido, simplemente ejecute
tar -xzf packagename
Para crear un fichero tar para una instalacion aislada completa desde el rol principal de fuentes de Postgres: - Configure la distribución principal Postgres.
- Cree el fichero tar:
% cd interfaces/odbc
% make standalone - Copie el fichero tar de salida al sistema de destino. Aseg? de transferirlo como un fichero binario usando ftp.
- Desempaquete el fichero tar en un directorio vac
- Configure la instalacion aislada:
% ./configure - La configuración puede realizarse con las opciones:
% ./configure --prefix=rootdir --with-odbc=inidir - donde --prefix instala las bibliotecas y ficheros de cabecera en los directorios rootdir/lib y rootdir/include/iodbc, y --with-odbc instala odbcinst.ini en el directorio especificado.
- ambas opciones se pueden usar desde la construccintegrada pero tenga en cuenta que cuando se usan en la construccion integrada --prefix tambien se aplica al resto de su instalacion Postgres. --with-odbc se aplica al fichero de configuración odbcinst.ini.
- Compile and link the source code:
% make ODBCINST=instdir - Tambien puede obviar la ubicación por defecto en la instalacion la unidad de comandos de 'make'. Esto se aplica a la instalacion de las librerias y los ficheros de cabecera. Desde que el driver necesita saber la ubicacion del fichero odbcinst.ini el intento de sustituir la variable de que especifica el directorio de instalacion probablemente le causa quebraderos de cabeza. Es mas seguro y simple permitir al driver que instale el fichero odbcinst.ini en el directorio por defecto o el directorio especificado por usted en en la lista de comandos de la orden './configure' con --with-odbc.
- Instala el codigo fuente:
% make POSTGRESDIR=targettree install - Para sustituir la librer y los directorios principales de instalacion por separado necesita pasar las variables de instalacion correctas en la lista de argumentos make install. Estas variables son LIBDIR, HEADERDIR and ODBCINST. Sustituyendo POSTGRESDIR en la la de argumentos de make se originan LIBDIR y HEADERDIR puedan ser ubicados en el nuevo directorio que usted especifique. ODBCINST es independiente de POSTGRESDIR.
- Aquí es donde usted podra especificar varios destinos explicitamente:
% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir install - Por ejemplo, tecleando
% make POSTGRESDIR=/opt/psqlodbc install - (después de haber usado ./configure y make) tendremos consecuencia que las bibliotecas y ficheros de cabecera sean instalados en los directorios /opt/psqlodbc/lib y /opt/psqlodbc/include/iodbc respectivamente.
- El comando
% make POSTGRESDIR=/opt/psqlodbc HEADERDIR=/usr/local install - ocasionar que las bibliotecas sean instaladas en /opt/psqlodbc/lib y los ficheros de cabecera en /usr/local/include/iodbc. Si esto no funciona como se espera por favor contacte con los mantenedores.