Está en la página 1de 35

Resumen del Primer Parcial: Fundamentos del Sistema Operativo.

Resumen de Unidad 1 Hugo Reyes Flores.


Tipos de sistemas Operativos, Virtualizacin, Multiprocesadores, Servidores, etc.

Fundamentos del sistema operativo

Un Sistema Operativo (SO) es el software bsico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Las funciones bsicas del Sistema Operativo son administrar los recursos de la mquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento. Los Sistemas Operativos ms utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.

Definicin de Sistema Operativo El sistema operativo es el programa (o software) ms importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas bsicas, tales como reconocimiento de la conexin del teclado, enviar la informacin a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos perifricos tales como impresoras, escner, etc. En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un polica de trfico, se asegura de que los programas y usuarios que estn funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo tambin es responsable de la seguridad, asegurndose de que los usuarios no autorizados no tengan acceso al sistema. Clasificacin de los Sistemas Operativos Los sistemas operativos pueden ser clasificados de la siguiente forma:

Multiusuario: Permite que dos o ms usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo. Multiprocesador: soporta el abrir un mismo programa en ms de una CPU. Multitarea: Permite que varios programas se ejecuten al mismo tiempo. Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo. Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.

Cmo funciona un Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la eleccin del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Los sistemas operativos ms utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que tambin se utilizan, como por ejemplo Linux. Cmo se utiliza un Sistema Operativo Un usuario normalmente interacta con el sistema operativo a travs de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar ypegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intrprete de la lnea de comandos. Las interfaces grficas permiten que utilices los comandos sealando y pinchando en objetos que aparecen en la pantalla. Ejemplos de Sistema Operativo A continuacin detallamos algunos ejemplos de sistemas operativos: Familia Windows

Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows 2000 server Windows XP Windows Server 2003 Windows CE Windows Mobile Windows XP 64 bits Windows Vista (Longhorn) Familia Macintosh Mac OS 7 Mac OS 8

Mac OS 9 Mac OS X Familia UNIX AIX AMIX GNU/Linux GNU / Hurd HP-UX Irix Minix System V Solaris UnixWare

Cabe destacar que los sistemas operativos no funcionan slo en las computadoras. Por el contrario, este tipo de sistemas se encuentran en la mayora de los dispositivos electrnicos que utilizan microprocesadores: el software de sistema posibilita que el aparato cumpla con sus funciones (por ejemplo, un telfono mvil o un reproductor de DVD). El sistema operativo cumple con cinco funciones bsicas: el suministro de interfaz al usuario, la administracin de recursos, la administracin de archivos, la administracin de tareas y el servicio de soporte y utilidades. En cuanto a la interfaz al usuario, el sistema se encarga de que el sujeto pueda cargar programas, acceder a archivos y realizar otras tareas con la computadora. La administracin de recursos permite la direccin del hardware, incluyendo los perifricos y la red. El software de sistema tambin se encarga de la gestin de archivos, al controlar la creacin, la eliminacin y el acceso a los mismos, y de la administracin de las tareas informticas que llevan adelante los usuarios finales. Por ltimo, podemos mencionar que el servicio de soporte se encarga de actualizar las versiones, mejorar la seguridad del sistema, agregar nuevas utilidades, controlar los nuevos perifricos que se agregan a la computadora y corregir los errores del software.

El sistema operativo Linux y sus principales caractersticas 32 Bits: Gracias a los 32 bits el sistema operativo es rpido eficaz, seguro y fiable, sin que una aplicacin pueda causar problemas a las otras, al no tener que guardar compatibilidad con los sistemas operativos anteriores de 16 bits. En la actualidad ya soporta 64 bits. Multitarea: El ordenador puede estar haciendo varias cosas a la vez, y no tendrs que esperar a que acabe una para hacer otra, la multitarea est controlada por el sistema operativo no por las aplicaciones, por lo que a diferencia de otros sistemas operativos nunca se quedara parado por culpa de una mala aplicacin que consuma todos los recursos del ordenador. Con el sistema operativo Linux si podrs bajar correo de Internet, formatear un disco, imprimir 100 hojas y jugar al Quake a la vez, y sin problemas. Multiusuario: Si has manejado antes un ordenador, seguramente usaras MAC OS o Windows. En estos sistemas operativos t eres el nico que lo usas, en Linux, puedehaber varias personas usando el ordenador, compartiendo el microprocesador, as puedes ponerle un par de pantallas y teclados y estar otra persona navegando por Internet, escribiendo una carta, jugando en su pantalla, mientras tu estas en otra haciendo otra cosa completamente diferente, y estarn ambos en el mismo ordenador. Linux garantiza la privacidad y la seguridad de los datos entre usuarios. POSIX: Aunque para los usuarios normales esto importa poco, POSIX es un estndar de la industria, que asegura una calidad mnima en ciertas partes del sistema operativo y asegura su compatibilidad, a nivel de cdigo, es decir, programas POSIX que funcionan en otros Unix, no tendrn problema para compilarse y ejecutarse en Linux, Para muchas empresas esto es muy importante, a la hora de decantarse por un sistema operativo u otro (por eso Windows NT es compatible POSIX). Compatibilidad: Cuando tocamos este tema, siempre pasa lo mismo, la gente desconfa. No puedo ejecutar mi aplicacin favorita XXXX para Windows 95, etc. Ten en cuenta que tampoco alguien que utiliza MAC, ni con IRIX, etc. En Linux debemos tener en cuenta que:

Ficheros: Linux No tiene ningn problema para tragarse cualquier tipo de disco de cualquier cosa que exista, leerlo y usar su contenido, adems existen Suites como OpenOffice o Corel WordPerfect que permiten leer y usar ficheros de aplicaciones comunes como puedan ser Word o Excel. Adems cuando se trabaja en red, Linux es capaz de entenderse y de

mediar entre todo tipo de redes, permitiendo entornos heterogneos sin ningn problema. Programas: Si puedes ejecutar programas de otros sistemas operativos para MAC tienes basilisk2, capaz de crear un Macintosh virtual y ejecutar Mac Os para M68K sin problemas. Para Windows existen varios programas que permiten hacer funcionar programas de Windows, Cross office para entornos de oficina, wineX para juegos, y la versin libre de estos Wine, que permite ejecutar la mayora de los programas. Si el programa es para MS-Dos existe DosEmu, un emulador de MS-Dos donde podrs ejecutar a pantalla completa, como en la realidad, o en ventana de X Windows, cualquier programa para este sistema operativo. Adems de estos existen vmware (comercial) y bosh que crean PC virtuales donde ejecutar cualquier sistema operativo.

Estabilidad: Linux es robusto, no se colgara ( el sistema operativo una aplicacin si est mal hecha por supuesto que se colgara, pero no afectara al resto del sistema, nunca tendrs que reiniciar el ordenador por que un programa lo ha colgado), hay que notar que es posible bloquear el teclado o la pantalla, pero eso no significa que se cuelgue el ordenador, puedes entrar al ordenador por otro sitio ( un terminal, por red) y desbloquearlo, y seguir usndolo, o si se te bloquea un programa mientras estabas conectado a Internet y leyendo el correo, quizs no puedas usar el ordenado, pero seguir bajando el correo sin problemas. Es libre: Es decir no te costara nada, no tendrs que pagar licencias, podrs copiarlo, venderlo, instalarlo donde quieras sin problemas, pero lo ms importante es que dispones del cdigo fuente, esto significa que si un da te encontrases con un problema del sistema operativo no tendras que esperar intilmente a que su creador decidiese que era un problema importante y crease un service pack para el sistema operativo, t mismo puedes solucionar el problema. O puedes indicarle a una 3 personal el problema, y esta no tendr que ser de la empresa que creo el sistema operativo para poder solucionrtelo. Soporte: Las empresas que venden cd's de Linux como Mandrake, SUSE, o RedHat ofrecen soporte tcnico, y existen miles de personas que te ayudarn a solucionar cualquier problema que tengas con Linux en foros, blogs y listas de correo. No dudes de unirte a las listas de distribucin que hay en Internet, no solo aprenders, podrs ayudar a otros en los problemas que tengan. Adaptacin: Linux es uno de los sistemas operativos que ms rpido evoluciona, se adapta al mercado y soluciona los problemas rpidamente, como por ejemplo el bug F00F del Pentium, Linux fue el primero en tener solucin.

Prcticamente las mayores dificultades que se le puede atribuir al Sistema Operativo Linux son:

Dificultad de Configuracin No es exacto, simplemente no hay botones, se hace todo por ficheros de configuracin ASCII, adems actualmente las distribuciones incluyen su propio GUI (Interfaz Grfica para el Usuario) para la configuracin del equipo, aunque esta depende de cada distribucin. Hay pocos juegos - Si hay juegos para Linux como Quake I & II, Doom, Abuse, Freeciv, Descent, etc.

Linux es un sistema en modo texto, como puede serlo el MS-Dos. Adems, incluye una extensin, el sistema X Windows versin 11, conocido como las X, o como X11. Este sistema se carga encima desde modo texto, pero s Linux un sistema multitarea de 32 bits. Por lo anterior dicho, es conveniente empezar a aprender a manejar Linux desde modo texto. Adems hay que tener en cuenta que el sistema de ventanas de Linux, se basa en una arquitectura Cliente-Servidor, ms o menos esto significa que el programa no tiene por qu ejecutarse en el mismo ordenador en que lo ests viendo, y que un mismo ordenador puede ejecutar varios programas o sesiones X para una o ms pantallas. En la prctica esto simplemente significa que si tuvieses que proporcionar ordenadores a 10 personas que en un determinado momento necesitasen mucha potencia, podras darles 10 ordenadores muy potentes, o 10 ordenadores normales y un gran ordenador que todos compartirn cuando necesiten potencia (que suele ser lo ms barato, quizs no con 10 pero s con 100). El sistema X Windows, en un principio se cre para solucionar la necesidad de ciertas personas de ver grficos de sus aplicaciones, o de tener ms de una a diferencia de lo

que sucede con MS-Dos + windows no disminuye su rendimiento, al ser ya de por

pantalla a la vez, estas personas normalmente eran cientficos o programadores, as que las X se limitan a dar un trozo de pantalla donde puedes dibujar o leer. Ms tarde la gente descubri que lo del ratn era intuitivo y que en lugar de teclear largas lneas de comandos era ms fcil hacer clic con el ratn apuntando sobre un cuadrado con unas letras (botn). Adems como les quedaba muy pobre lo de los tres o cuatro trozos en la pantalla decidieron aadir un marco a esos trozos llamados ventanas. Surgen as dos temas, bastante controvertidos en Linux.

Los Widget, o ven artilugios, como alguien llamo ( los botones y dems) Los Windows Manager, los administradores de ventanas ( lo bordes)

Los Windows Manager son el programa que se encarga de dar marco a las ventanas, como cada uno hace lo que quiere, hay cientos, desde bsicos como el TWM, eficaces como el Fvwm 2. A vistosos y barrocos como el Enlightment. Adems suelen proporcionar unos mens y alguna aplicacin para hacer un poco menos inhspitas las X, (principalmente mens, o una barra de herramientas para ejecutar aplicaciones). Los widget son los que dan aspecto a los programas, es lo que diferencia un botn de Mac de uno de Win95 y de uno de SCO. Aqu ya no depende de lo que t elijas, si no de lo que elija el programador, aunque se puede cambiar a travs de temas, algunos de los ms conocidos son el polmico QT, Motif, Gtk, Athena, Xform. Como cada programador hace loque quiere, suele pasar que t engas varias aplicaciones y no se parezcan nada entre ellas. ltimamente ha surgido una serie de movimientos que intentan cambiar esto, as aparecen los gestores de escritorio.

Entorno Grafico Un gestor de ventanas, una librera de widgets, un montn importante de aplicacio nes tontas( el buscaminas, el reloj, la agenda), y algunas ms importantes, ( Procesador de Textos, Hoja de Calculo, Base de Datos, Navegador de Internet, Programa de Presentaciones) y algunas utilidades para configurar todo esto a base de ventanas. Su inters es conseguir unas X atractivas y fciles de manejar, algunos como OpenStep, un entorno que imita NextStep, o xfce que intenta hacer un gnome ms liviano, aunque hay dos que destacan sobre los dems en cuanto a porcentaje de utilizacin: Kde Ya en su versin 3.1 junto con Koffice, su principal achaque es que el widget esta desarrollado por una empresa privada, y puede cortar su futuro desarrollo, aunque esta posibilidad es mnima gracias a que QT ya es software libre, el aspecto es soberbio. Entre Qcad: Scribus: K3B: Programa Programa los Est programado que en su mayora de de similar de CD al Quark similar al en KDE C++ estn: CAD Express Nero programas destacan

Quanta: Editor de pginas Web, con opcin wysiwyg, similar a dreamweber Programa de de autoedicin grabacin

Gnome Est basado en gtk, un widget completamente libre, y con unas vistas un poco ms altas (gnome no solo da las aplicaciones con un aspecto nico, intenta dar toda una serie de objetos para el desarrollo de aplicaciones, programables en una multitud de lenguajes) Ya vapor la versin 2.0, y tambin tiene un conjunto ofimtico tipo Office, aunque menos integrado que este y con la falta de algunos programas. Interesa destacar que OpenOffice.org va a sacar prximamente una versin nativa de su suite ofimtica para Gnome, adems de la propia que gnome desarrolla.

Uno de sus productos estrella es Evolution, un clon del Microsoft Outlook, del que es compatible y superen prestaciones. Gimp, un programa a la altura de photoshop para el retoque grfico. GnuCash es un excelente programa de contabilidad tanto a nivel empresarial como del hogar. Shell y Comandos del sistema operativo Linux - Bash Una vez entrado en una sesin en Linux, si esta es en modo texto, lo primero que nos encontramos es el prompt del sistema, y esto es debido a que se esta ejecutando un Shell, y este espera rdenes. Este Shell, es el programa que interacta con nosotros, y transforma nuestras rdenes en acciones para el S.O. En la mayora de los casos suele ser BASH, Bourne Again SHell, una versin mejorada del shell creado en la universidad de Bourne y que se considera un estndar dentro de Unix. Si en este shell escribimos una palabra, el shell comprobara primero si es un coma ndointerno, y lo ejecutara, o despus buscara, a travs de una serie de directorios predefinidos un archivo con ese nombre, y si es ejecutable lo ejecutara, pasndole el control de la sesin hasta que le programa acabe y volvamos al Shell en espera de otra orden. Hay que destacar que no sirve que un programa este en el directorio en el que estamos, yaqu por seguridad, el Shell no busca el programa en el directorio actual, solo en una lista de sitios (directorios) donde sabe que hay programas seguros, evitando as una de las formas de entrada de virus. Para saber por qu sitios busca podemos escribir set | grep PATH que nos mostrara la lista separada por :. Configuracin de redes en Linux La configuracin de las redes en Linux se realiza principalmente en el archivo etc./Newark/interfaces, donde se especificaran las caractersticas de las tarjetas de red, su IP si es fija, puerta de acceso, redes, etc en la pgina man (man 1 interfaces) hay una completa gua de cada uno de los parmetros que se le pueden poner. La IP de los servidores de nombrede dominio se pondrn en elarchivo /etc/resolv.conf as como el dominio al que pertenece ese ordenador. El nombre de la red debe estar tambin en /etc/networks

El nombre del PC debe estar en /etc./host ame, el par nombre IP debera estar tambin en el archivo /etc./hosts para asegurar el correcto funcionamiento de todos los programas. Impotables: En caso de que el PC tenga varias tarjetas de red, o que proporcione servicios de red a otros ordenadores, debe activarse las opciones de iptables y ipforwarding en el ncleo y pasarle al inicio las reglas de funcionamiento. Todo esto se realiza a travs de ficheros en /etc./init.d Servicios SAMBA: Samba es un conjunto de programas que permiten la integracin de Linux con otros Unix o con los sistemas operativos de Microsoft, gracias a samba es posible sustituir un Servidor NT o XP Profesional con un servidor Linux, principalmente proporciona dos servicios:

Compartir Archivos Compartir Impresoras

Adicionalmente proporciona acceso a archivos e impresoras en sistemas con Windows, servicios de identificacin, gestin de dominios, y otras opciones. Se controla desde el archivo /etc/samba/smb.conf, y si esta instalado swat, tiene un interfazgrafico funcionando como un servidor web en http://localhost:691, ademas tambien estadisponible un simple interfaz grfico. Servicios de DNS: DNS es el sistema que convierte las direcciones IP en nombre de dominio, ms fciles de recordar. Configuracin local: La resolucin de nombres en Linux se controla con dos archivos: /etc./resolv.conf controla el orden de los sistemas a los que se preguntara, aqu es donde hay que poner las IP de los DNS /etc/hosts contiene una lista de pares, IP Nombre de dominio que pueden ser resueltos sin falta de consultar al dns, til en pequeas intranets donde no merezca la pena montar un dns. En cuanto a los servidores de DNS, tenemos dos opciones en funcin de las necesidades: Pdns: Es un proxy dns, su misin es reducir y acelerar el trfico entre la intranet e internet, es util en pequeas intranets con acceso a internet. Sirve adems para resolver nombres de dominio a pequea escala, cogindolos del archivo /etc./hosts.

Su principal ventaja es su pequeo tamao y fcil configuracin, en contra su limitada funcionalidad Bind: En el caso de necesitar servicios de resolucin de nombres ms avanzadas, bien portener que proporcionar un gran nmero de respuestas, por servir varios dominios u otras caractersticas se utiliza bind. Bind se controla a travs de una serie de archivos, de sintaxis concreta. Servicios de web y ftp Servicios Web Existen una gran multitud de servidores web disponibles bajo Linux, aunque el ms ampliamente utilizado es apache. La configuracin de apache se realiza a travs de varios archivos localizados en /etc./apache/siendo el principal /etc/apache/httpd.conf donde se configura los posibles servidores virtuale s (apache puede responder a distintos nombres y proporcionar webs diferentes a cada uno de ellos), y todo lo relacionado con su funcionamiento. Apache tiene una serie de mdulos que le permiten aumentar o mejorar las caractersticas que trae, son controlados desde /etc./apache/modules.conf Servicios de FTP Entre todos los servidores de ftp disponibles, porFTPD destaca por ser seguro y fcil de administrar. En /etc/protfpd.conf en archivo con una estructura similar a la de los HTML, es posible controlar por un lado el aspecto del servidor, nombre, puerto que escucha, etc Por defecto deja entrar a los usuarios no root, y navegar por el sistema de ficheros como si estuviesen en una sesin de shell. Limitarlos a su propio directorio es tan simple como aadir una lnea que ponga DefaultRoot ~ y reiniciar el demonio. Es posible controlar adems el acceso de usuarios annimos, a que directorios pueden acceder, subir cosas, etc... As mismo se puede controlar la velocidad, numero de accesos simultneos, cuota de disco y al igual que en apache, crear servidores virtuales que respondan de manera diferente a distintos nombres. Servicios de Acceso Remoto Existen cuatro posibilidades de acceso remoto a un ordenador con Linux

Servidor X Un ordenador ejecutando un servidor X, puede recibir peticiones desde otro conect ado en red para mostrar en su pantalla un programa, este sistema solo es til en equipos conectados en la misma red local. VNC Este sistema es similar al anterior, pero adems permite ser utilizado en conexiones lentas, incluso de modem y tiene persistencia, esto es, si desconectas el cliente, y conectas desde otro sitio, todo sigue como lo dejaste. Telnet Es el sistema ms simple y antiguo, abre una sesin en modo texto en otro ordenador, el principal problema es que todo viaja por Internet sin seguridad, incluyendo contraseas u otros datos sensibles. SSH SSH permite la ejecucin remota de programas, incluyendo el Shell, lo que en la prctica lo hace una alternativa a Telnet, su diferencia est en que todo viaja por la red de forma cifrada, lo que aumenta la seguridad, tambin es posible comprimir los datos o utilizarlo como tnel y as tener p.e. una sesin de VNC segura gracias al ssh. Las distribuciones de Linux Linux es libre, eso significa que cualquiera puede bajarlo y vendrtelo, o regalrtelo, pero Linux adems es solo un pequeo programa, el kernel, que solo no vale de nada, as que existen una serie de empresas, o grupos de gente que se dedica a unir Linux a un grupo de aplicaciones, en muchos casos libres tambin, en otros no, meterlo todo en un CD o discos y distribuirlo. Eso es lo que llamamos distribuciones Linux Distribuciones Linux Las principales distribuciones del sistema operativo Linux que hay son: Red Hat: Red Hat es una de las empresas que ms influye en el mundo Linux actualmente, tiene dos tipos de distribucin. Una, la de pago, que incluye software comercial, y otra, la gratuita que sustituye este software comercial por otro con licencia Libre. A Red Hat hay que agradecerle el sistema de paquetes RPM, que es el adoptado por el LBS ( Linux Base Standar es un conjunto de normas para conseguir que un programa funcione perfectamente sin importar en que distribucin se instale). La instalacin de Red Ha muy sencillo con mens que guan al usuario en la instalacin, y una instalacin grfica permiten, junto a una gua bastante bien hecha, que cualquiera pueda instalar esta distribucin. El nico problema es cierta costumbre de red hat a apurarse al sacar las distribuciones, lo que hace que sea necesario recoger varios parches de Internet si tienes una versin vieja.

Deban: Esta distribucin siempre ha sido famosa por su fiabilidad, estabilidad y por ser completamente gratuita (el resto de las distribuciones suelen incorporar programas shareware, o con licencias restrictivas). Tiene el sistema de paquetes.deb, bastante ms potente que el RPM, aunque menos extendido. Incorpora la herramienta Alien que le permite utilizar paquetes de cualquier otra distribucin. Su instalacin es sencilla, destacando sobre las otras en que dispone de varios paquetes de programas para una misma tarea, llegando a acumular ms de 7000 paquetes. SUSE: Esta distribucin alemana, basada en RPM, es la segunda opcin empresarial ms utilizada, Incluye KDE y la herramienta de configuracin YAST, muy cmoda de usar. Recientemente ha sido adquirida por Novell, he IBM tiene una gran influencia sobre ella. Slackware: Esta distribucin tiene el mrito de haber sido mantenida por una nica persona, usa el sistema de paquetes TGZ (este sistema es muy rudimentario, he incluye muy pocas facilidades para el usuario). No cumple la organizacin estndar de ficheros deLinux, y no incorpora ningn pro grama de configuracin con lo que todo se configura a mano. As todo es una de las ms veteranas, y la gente que la instalo (normalmente por primera vez) es reacia a cambiar, adems es ideal para experimentar. Mandrake: Esta distribucin francesa est basada en red hat y se diferencia de esta en:

Esta compilada para Pentium, con lo que todo funciona ms fluido, en contra no podrs instalarla en un 486. Tiene el sistema de instalacin ms cmodo y automatizado, auto detectando y configurando la mayora del hardware.

Esta distribucin est muy indicada para entornos de escritorio. Gentoo: Esta distribucin, de reciente aparicin, se diferencia de las dems por instalar todos los programas desde el cdigo fuente, recompilndolos, lo cual es lento, pero asegrala mxima optimizacin y estar a la ltima en cuanto a versiones, requiere amplios conocimientos de Linux. Ubuntu, KUbuntu, etc.: esta distribucin basada en deban, est siendo muy popular en la actualidad por ser de fcil uso / aprendizaje, por lo que es recomendada para los principiantes. Que distribucin Linux elegir

Esa es una pregunta complicada, lo ideal sera que probases varias y eligieses en funcin de con cual estas ms a gusto. Si un usuario de escritorio probablemente la mejor sea Mandrake, Ubuntu o Kubuntu. Otra opcin es red hat, tan fcil como mandrake pero con mucha ms experiencia en el mercado, esta es tambin la recomendada si necesitas instalar un servidor, o requieres el respaldo y soporte de una empresa detrs. Caractersticas

Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. Biblioteca nativa de funciones sumamente amplia e incluida. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes.

Inconvenientes

Como es un lenguaje que se interpreta en ejecucin, para ciertos usos puede resultar un inconveniente que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del cdigo pero no necesariamente impide que el cdigo sea examinado. Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente ms lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con tcnicas de cache tanto de en archivos y memoria. Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipeado del cdigo, aunque esto no es realmente un inconveniente del lenguaje en s. Esto es solventado por Zend Studio aadiendo un comentario con el tipo a la declaracin de la variable.

PHP es un lenguaje de programacin interpretado (Lenguaje de alto rendimiento), diseado originalmente para la creacin de web dinmicas. Se usa principalmente para la interpretacin del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt oGTK+.

Servidor HTTP Web Apache Apache Una alternativa importante y clara al servidor web IIS, incluido con Windows 2000 Server, es el servidor web Apache; este servidor web es actualmente el ms implantado entre los distintos servidores que ofertan servicios web en Internet.

Servidor web de cdigo abierto. Su desarrollo comenz en febrero de 1995, por Rob McCool, en una tentativa de mejorar el servidor existente en el NCSA. La primera versin apareci en enero de 1996, el Apache 1.0. Hacia el 2000, el servidor Web Apache era el ms extendido en el mundo. El nombre Apache es

un acrnimo de a patchy server -un servidor de remiendos-, es decir un servidor construido con cdigo preexistente y piezas y parches de cdigo. Es la autntica kill app del software libre en el mbito de los servidores y el ejemplo de software libre de mayor xito, por delante incluso del kernel Linux. Desde hace aos, ms del 60% de los servidores web de Internet emplean Apache. La primera versin del servidor web Apache fue desarrollada por Robert McCool, quien desarrollaba el servidor NCSA HTTPd (National Center for Supercomputing Aplicaciones). Cuando Robert dej el NCSA a mediados de 1994, el desarrollo de httpd se detuvo. Robert McCool busc otros desarrolladores para que lo ayudaran, formando el Apache Group. Algunos miembros del grupo original fueron Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters y Nicolas Pioch. La versin 2 del servidor Apache fue una reescritura sustancial de la mayor parte del cdigo de Apache 1.x, enfocndose en una mayor popularizacin y el desarrollo de una capa de portabilidad, el Apache Portable Runtime. Apache 2.x incluy multitarea en UNIX, mejor soporte para plataformas no Unix (como Windows), una nueva API Apache y soporte para IPv6. La versin 2 estable de Apache, fue lanzada el 6 de abril de 2002. Caractersticas * * * Soporte Mdulos de para autenticacin: de Apache

los lenguajes perl, python, tcl y PHP. mod_access, mod_auth y mod_digest.

Soporte

para SSL y TLS.

* Permite la configuracin de mensajes de errores personalizados y negociacin de contenido. * Uso Permite autenticacin de base de de datos basada en SGBD. Apache

Apache es principalmente usado para servir pginas web estticas y dinmicas en la WWW. Apache es el servidor web del popular sistema XAMP, junto con MySQL y los lenguajes de programacinPHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es Windows: WAMP, si es el Linux: LAMP, etc.

Windows Server 2008 Introduccin Introduccin Microsoft Windows Server 2008 est diseado para ofrecer a las organizaciones la plataforma ms productiva para virtualizacin de cargas de trabajo, creacin de aplicaciones eficaces y proteccin de redes. Ofrece una plataforma segura y de fcil administracin, para el desarrollo y alojamiento confiable de aplicaciones y servicios web. Del grupo de trabajo al centro de datos, Windows Server 2008 incluye nuevas funciones de gran valor y eficacia y mejoras impactantes en el sistema operativo base. Ms control Windows Server 2008 proporciona a los profesionales de TI ms control sobre sus servidores e infraestructura de red y les permite centrarse en las necesidades crticas del negocio. Capacidades mejoradas en secuencias de comandos y automatizacin de tareas, como las que ofrece Windows PowerShell, ayudan a los profesionales de TI a automatizar tareas comunes de TI. La instalacin y administracin basadas en funciones con Administrador del Servidor facilita la tarea de administrar y proteger las mltiples funciones de servidor en una empresa. La nueva consola del Administrador del servidor proporciona un nico origen para administrar la configuracin del servidor y la informacin del sistema. El personal de TI puede instalar slo las funciones y caractersticas que sean necesarias, y hay asistentes que automatizan muchas de las tareas de implementacin de sistemas que tardan ms tiempo. Herramientas mejoradas de administracin del sistema, como el Monitor de rendimiento y confiabilidad, ofrecen informacin sobre sistemas y alertan al personal de TI sobre problemas potenciales antes de que sucedan. Mayor proteccin Windows Server 2008 proporciona una serie de tecnologas de seguridad nuevas y mejoradas, que aumentan la proteccin del sistema operativo al ofrecer una base slida para la dirigir y construir un negocio. Incluye innovaciones de seguridad, como PatchGuard, que reducen la exposicin a ataques del ncleo, lo que produce un entorno de servidor ms seguro y estable. El sistema de proteccin de servicios de Windows ayuda a mantener ms seguros los sistemas al evitar que los servicios crticos de servidor estn en riesgo por actividades anormales en el sistema de archivos, registro, o red. La seguridad tambin se mejora en el sistema operativo Windows Server 2008 por medio de proteccin de

acceso a redes (NAP), controlador de dominio de slo lectura (RODC), mejoras en la infraestructura de clave pblica (PKI), un nuevo firewall de Windows bidireccional y compatibilidad con criptografa de ltima generacin. Mayor flexibilidad Windows Server 2008 est diseado para permitir que los administradores modifiquen su infraestructura para adaptarla a las necesidades cambiantes del negocio y continuar siendo giles. Se mejora la flexibilidad para trabajadores mviles mediante tecnologas que permiten que los usuarios ejecuten programas desde cualquier ubicacin remota, como RemoteApp y Terminal Services Gateway. Windows Server 2008 acelera la implementacin y el mantenimiento de sistemas de TI con Servicios de Implementacin de Windows (WDS) y ayuda en la consolidacin de servidores con Windows Server virtualization (WSv). Para organizaciones que necesitan controladores de dominio en sucursales, Windows Server 2008 ofrece una nueva opcin de configuracin: el Controlador de Dominio de slo lectura (RODC), que evita exponer las cuentas si el Controlador de Dominio estuviera en riesgo. Virtualizacin Introduccin: La oleada de Windows Server 2008 incluir Windows Server virtualization (WSv), una tecnologa eficaz de virtualizacin con slidas caractersticas de administracin y seguridad. WSv permite que los negocios aprovechen su familiaridad existente con la administracin de servidores Windows y la flexibilidad y beneficios de seguridad de la virtualizacin sin necesidad de adquirir software de terceros. Microsoft y sus asociados ofrecen el soporte tcnico completo para sistemas operativos invitados Windows y Linux compatibles. WSv es una plataforma sumamente flexible, de alto rendimiento, rentable y con buen soporte. Seguridad La seguridad es un desafo fundamental en cada implementacin de servidor. Un servidor que aloja mltiples mquinas virtuales (VM), tambin conocidos como servidores consolidados, est expuesto a los mismos riesgos de seguridad que los servidores no consolidados, pero agrega el desafo de separacin de funciones de administrador. WSv ayuda a aumentar la seguridad de servidores consolidados y resuelve el desafo de separacin de funciones de administrador. WSv lo lleva a cabo por medio de las siguientes caractersticas: Particiones fuertes: una mquina virtual (VM) funciona como un contenedor independiente de sistema operativo, completamente aislado de otras mquinas virtuales que se ejecutan en el mismo servidor fsico. Seguridad para el hardware: caractersticas como prevencin de ejecucin de datos (DEP) se encuentran disponibles en el hardware ms reciente para servidores y ayudan a evitar la ejecucin de los virus y los gusanos ms predominantes. Windows Server virtualization: WSv ayuda a evitar la exposicin de las VM que contienen informacin confidencial y protege tambin al sistema operativo host subyacente del riesgo que comporta un sistema operativo invitado.

Caractersticas de seguridad de red: permite la traduccin de direcciones de red (NAT) automtica, firewall y proteccin de acceso a redes (NAP). Base de equipos de confianza mnima: ofrece una superficie de ataque reducida y una arquitectura de virtualizacin simplificada y ligera. Esta caracterstica mejora la confiabilidad de equipos virtuales basados en WSv. La configuracin de un servidor consolidado que ofrezca los mejores entornos de seguridad y sistema operativo para cada aplicacin puede presentar en ciertas ocasiones un desafo difcil. Debido a que WSv crea un entorno donde es posible configurar cada carga de trabajo con un entorno de sistema operativo y perfil de seguridad ideales, WSv resuelve el desafo de la separacin de funciones en un servidor consolidado. WSv protege a las VM del sistema operativo host y viceversa, al permitir que las VM se ejecuten en una cuenta de servicio slo con los privilegios necesarios. Con WSv, el sistema operativo host est protegido y una VM en riesgo est limitada en el dao que podra causar a otras VM.

Samba
Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en general se vean como servidores o acten como clientes en redes de Windows. Samba tambin permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresin, directorios compartidos y autentificar con su propio archivo de usuarios. Entre los sistemas tipo Unix en los que se puede ejecutar Samba, estn las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple. Caractersticas Samba es una implementacin de una docena de servicios y una docena de protocolos, entre los que estn: NetBIOS sobre TCP/IP (NetBT), SMB (tambin conocido como CIFS), DCE/RPC o ms concretamente, MSRPC, el servidor WINS tambin conocido como el servidor de nombres NetBIOS (NBNS), la suite de protocolos del dominio NT, con su Logon de entrada a dominio, la base de datos del gestor de cuentas seguras (SAM), el servicio Local Security Authority (LSA) o autoridad de seguridad local, el servicio de impresoras de NT y recientemente el Logon de entrada de Active Directory, que incluye una versin modificada de Kerberos y una versin modificada de LDAP. Todos estos servicios y protocolos son frecuentemente referidos de un modo incorrecto como NetBIOS o SMB. Samba configura directorios Unix y GNU/Linux (incluyendo sus subdirectorios) como recursos para compartir a travs de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen como carpetas normales de red. Los usuarios de GNU/Linux pueden montar en sus sistemas de archivos estas unidades de red como si fueran dispositivos locales, o utilizar la ordensmbclient para conectarse a ellas muy al estilo del cliente de la lnea de rdenes ftp. Cada directorio puede tener diferentes permisos de acceso sobrepuestos a las protecciones del sistema de archivos que se est usando en GNU/Linux. Por ejemplo, las carpetas home pueden tener permisos de lectura y escritura para cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin embargo, deberemos cambiar los permisos de los archivos localmente para dejar al resto ver nuestros archivos, ya que con dar permisos de escritura en el recurso no ser suficiente.

La configuracin de Samba se logra editando un solo archivo, ubicado en /etc/smb.conf o en /etc/samba/smb.conf.

Ejemplo de configuracin bsica Archivo de configuracin /etc/samba/smb.conf [global] workgroup = nombreGrupoTrabajo [compartido] comment = Archivos Compartidos path = /home/nombreUsuario/compartido browseable = yes read only = no guest ok = yes writable = yes valid users = nombreUsuario Clster Un clster es la unidad de almacenamiento en un disco (ZIP, rgido o flexible) con una determinada cantidad fija de bytes. Un disco est dividido en miles de clsteres de igual tamao y los archivos son repartidos y almacenados en distintos clsteres. El tamao se determina en elformateo del disco y suele ser de 512 bytes, pero la cifra puede ascender a 4.096 bytes. Cuando se almacena en disco un archivo ms grande que un clster, este se subdivide en distintos clsteres. Por ejemplo: Imaginemos un disco con clsteres de 512 bytes. Si se almacena un fichero de 1500 bytes, 512 bytes de se fichero sern almacenados en un solo clster en una posicin fsica del disco, otros 512 bytes sern almacenados en otro clster en otra posicin determinada del disco, que puede o no ser congruente fsicamente al anterior. Los 476 bytes restantes de se fichero sern almacenados en otro clster, sobrando 36 bytes que quedan sin utilizar del clster (ese espacio est virtualmente perdido). Por lo tanto ese archivo quedar segmentado en tres clsteres que pueden o no ocupar partes fsicas congruentes en un disco. Cuando se intenta leer ese fichero, el cabezal lector deber moverse de un lado a otro del disco para poder leerlo definitivamente.

En general, los programas desfragmentadores de discos juntan fsicamente (en este caso) los tres clsteres de forma congruente y, por lo tanto, su lectura ser ms rpida. Muchas veces los clsteres pueden verse afectados fsicamente y, por lo tanto, deben ser lgicamente marcados como sectores defectuoso para que no se intente almacenar informacin en ellos (de lo contrario la informacin se pierde). Clusters de PCs Idea original: Las estaciones de trabajo suelen estar ejecutando tareas interactivas durante un alto% de su tiempo. Es habitual disponer de una red local (de bajas prestaciones) interconectando Las estaciones de trabajo. ) Networks of Workstation: Utilizacin de un grupo de estaciones de trabajo Conectadas en red para ejecutar aplicaciones paralelas y distribuidas. RED DE INTERCONEXION (R.I.) Actualmente: Conjunto de PC's compactos (sin teclado ni pantalla) ubicados en un mismo armario. Diferentes factores de forma. Ejemplos: 1 U blade La red de interconexion es rapida. La principal sobrecarga suele estar en las libreras de comunicaciones. Constituyen una alternativa de bajo coste a los multicomputadores.

Stack

Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero ensalir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura. Para el manejo de los datos se cuenta con dos operaciones bsicas: apilar (push), que coloca un objeto en la pila, y su operacin inversa, retirar(o desapilar, pop), que retira el ltimo elemento apilado. En cada momento slo se tiene acceso a la parte superior de la pila, es decir, al ltimo objeto apilado (denominado TOS, Top of Stack en ingls). La operacin retirar permite la obtencin de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.

Multiprocesadores

Concepto de multiprocesador Multiprocesador 1. Dos o ms procesadores de capacidades comparables. 2. Cooperando en la ejecucin de una tarea. 3. Bajo el control de un nico sistema operativo. Cada procesador posee su propia unidad de control ! ejecuta su propio cdigo sobre sus propios datos ! puede ejecutar cualquier aplicacin (no solo programas vectoriales) Que se ejecuta en paralelo? Segmentos de un mismo programa! # tiempo de ejecucin del programa de Usuario. Programas independientes! productividad del sistema. Granularidad del paralelismo Los procesos necesitan comunicarse y sincronizarse sobrecarga que disminuye las prestaciones. Granularidad: Nmero medio de instrucciones ejecutadas entre dos operaciones de Comunicacin. Fino: Tarea repartida entre muchos procesadores. Menor tamao de cada proceso. Mayor nmero de operaciones de comunicacin. Grueso: Tarea repartida entre pocos procesadores. Mayor tamao de cada proceso. Menor nmero de operaciones de comunicacin. Clasificacin de los multiprocesadores

Criterio: Modelo de comunicacin entre los procesos. Variables compartidas. Paso de mensajes. Criterio: Arquitectura de la memoria Memoria compartida. Memoria distribuida. Juntando ambos criterios: Multiprocesadores de memoria compartida centralizada: Variables compartidas + memoria compartida. Multiprocesadores de memoria compartida distribuida: Variables compartidas + memoria distribuida. Multicomputadores, Clusters de PCs: Paso de mensajes + memoria distribuida. MPs de memoria compartida distribuida Multiprocesadores de memoria compartida centralizada. + Modelo de programacion sencillo. - Pocas prestaciones si el numero de procesadores es elevado. Multicomputador. + Potencia de clculo crece con el numero de procesadores. - Modelo de programacin mas incomodo. Solucin: Multiprocesadores de memoria compartida distribuida o Multiprocesadores escalables: Multiprocesadores con modelo de programacin de memoria compartida pero con Memoria fsicamente distribuida. Caractersticas

Mltiples procesadores con su mdulo de memoria local. Cada procesador es capaz de direccionar toda la memoria. Cada procesador accede a su mdulo de memoria a la mxima velocidad. Cuando se referencia una posicin de memoria no local, un mecanismo de Conversiones enva un mensaje al procesador correspondiente el tiempo de Acceso a las posiciones no locales es muy elevado. Maquinas NUMA: Non Uniform Memory Access. Todas las posiciones de Memoria no tienen el mismo tiempo de acceso. Problema de la coherencia entre las ante memorias. Maquinas NCC-NUMA Non Cache Coherent-Non Uniform Memory Access. No hay protocolo de coherencia. Se evita el problema por software. ! Maquinas CC-NUMA Cache Coherent-Non Uniform Memory Access. Se emplea un protocolo para garantizar la coherencia entre las ante memorias.

Arreglos Un arreglo puede definirse como un grupo o una coleccin finita, homognea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos:

De una dimensin. De dos dimensiones. De tres o ms dimensiones.

Arreglos unidimensionales Es un tipo de datos estructurado que est formado de una coleccin finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Estn formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posicin que tiene cada elemento dentro del arreglo de datos. Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos. Para declarar un arreglo tiene que indicar su tipo, un nombre nico y la cantidad de elementos que va a contener. Arreglos multidimensionales Es un tipo de dato estructurado, que est compuesto por dimensiones. Para hacer referencia a cada componente del arreglo es necesario utilizar n ndices, uno para cada dimensin. El trmino dimensin representa el nmero de ndices utilizados para referirse a un elemento particular en el arreglo. Los arreglos de ms de una dimensin se llaman arreglos multidimensionales. Arreglos con mltiple subndices Es la representacin de tablas de valores, consistiendo de informacin arreglada en renglones y columnas. Para identificar un elemento particular de la tabla, deberemos de especificar dos subndices; el primero identifica el rengln del elemento y el segundo identifica la columna del elemento. A los arreglos que requieren dos subndices para identificar un elemento en particular se conocen como arreglo de doble subndice. Note que los arreglos de mltiples subndices pueden tener ms de dos subndices. El estndar ANSI indica que un sistema ANSI C debe soportar por lo menos 12 subndices de arreglo.

Vector Un vector, en programacin, es un arreglo, generalmente asociados a los arreglos unidimensionales. Ver: arreglo. Es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo y se distinguen entre s por un ndice. Vector tambin es la clase de la librera estndar de C++, que funciona como arreglo dinmico. El vector es una de las mltiples estructuras llamadas contenedores (otras son los conjuntos, mapas y listas). Es implementada como una plantilla de clase y puede ser iniciada como vector de nmeros enteros, vector de cadenas, vector de instancias de una clase definida por el usuario, etc

CISC Y RISC

Veamos primero cual es el significado de los trminos CISC y RISC:


CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo. RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras caractersticas esenciales para definir los RISC y los CISC tpicos. Aun ms, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categora determinada. As, los trminos complejo y reducido, expresan muy bien una importante caracterstica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere tambin la complejidad del hardware del procesador.

Con tecnologas de semiconductores comparables e igual frecuencia de reloj, un procesador RISC tpico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fraccin de la superficie ocupada por el circuito integrado de un procesador CISC. Esto hace suponer que RISC reemplazar al CISC, pero la respuesta a esta cuestin no es tan simple ya que:

Para aplicar una determinada arquitectura de microprocesador son decisivas las condiciones de realizacin tcnica y sobre todo la rentabilidad, incluyendo los costos de software. Existan y existen razones de compatibilidad para desarrollar y utilizar procesadores de estructura compleja as como un extenso conjunto de instrucciones.

La meta principal es incrementar el rendimiento del procesador, ya sea optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres reas principales a cubrir en el diseo del procesador y estas son:

La arquitectura. La tecnologa de proceso. El encapsulado.

La tecnologa de proceso, se refiere a los materiales y tcnicas utilizadas en la fabricacin del circuito integrado, el encapsulado se refiere a cmo se integra un procesador con lo que lo rodea en un sistema funcional, que de alguna manera determina la velocidad total del sistema. Aunque la tecnologa de proceso y de encapsulado son vitales en la elaboracin de procesadores ms rpidos, es la arquitectura del procesador lo que hace la diferencia entre el rendimiento de una CPU (Control Process Unit) y otra. Y es en la evaluacin de las arquitecturas RISC y CISC donde centraremos nuestra atencin. Dependiendo de cmo el procesador almacena los operandos de las instrucciones de la CPU, existen tres tipos de juegos de instrucciones: 1. Juego de instrucciones para arquitecturas basadas en pilas. 2. Juego de instrucciones para arquitecturas basadas en acumulador. 3. Juego de instrucciones para arquitecturas basadas en registros. Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquitecturas basadas en registros.

ARQUITECTURAS CISC La microprogramacin es una caracterstica importante y esencial de casi todas las arquitecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, Motorola 68000, 68010, 68020, 68030, 6840. 80386, 80486.

La microprogramacin significa que cada instruccin de mquina es interpretada por una microprograma localizada en una memoria en el circuito integrado del procesador. En la dcada de los sesentas la micropramacin, por sus caractersticas, era la tcnica ms apropiada para las tecnologas de memorias existentes en esa poca y permita desarrollar tambin procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstruccin).

ARQUITECTURAS RISC
Buscando aumentar la velocidad del procesamiento se descubri en base a experimentos que, con una determinada arquitectura de base, la ejecucin de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser mas eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnologa de encapsulado. Debido a que se tiene un conjunto de instrucciones simplificado, stas se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcdigo y la necesidad de decodificar instrucciones complejas. En investigaciones hechas a mediados de la dcada de los setentas, con respecto a la frecuencia de utilizacin de una instruccin en un CISC y al tiempo para su ejecucin, se observ lo siguiente: - Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de ejecucin de un programa. - Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuencias complejas predeterminadas, pero requieren tiempos de ejecucin ms cortos. Las caractersticas esenciales de una arquitectura RISC pueden resumirse como sigue:

Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann. Las instrucciones, aunque con otras caractersticas, siguen divididas en tres grupos: a)Transferencia. b)Operaciones. c) Control de flujo.

Reduccin del conjunto de instrucciones a instrucciones bsicas simples, con la que pueden implantarse todas las operaciones complejas. Arquitectura del tipo load-store (carga y almacena). Las nicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registr a registro, con un menor nmero de acceso a memoria.

Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseo del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganizacin de la ejecucin de instrucciones por medio de un compilador. Pipeline (ejecucin simultnea de varias instrucciones). Posibilidad de reducir el nmero de ciclos de mquina necesarios para la ejecucin de la instruccin, ya que esta tcnica permite que una instruccin puede empezar a ejecutarse antes de que haya terminado la anterior.

El hecho de que la estructura simple de un procesador RISC conduzca a una notable reduccin de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales:

Unidad para el procesamiento aritmtico de punto flotante. Unidad de administracin de memoria. Funciones de control de memoria cache. Implantacin de un conjunto de registros mltiples.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseo ms cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicacin de las ms recientes tecnologas de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generacin en generacin son mucho mayores que en los CISC. Por otra parte, es necesario considerar tambin que:

La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en tecnologas CMOS. Mdulos SRAM (Memoria de acceso aleatorio esttica) para memorias cache con tiempos de acceso menores a los 15 ns. Tecnologas de encapsulado que permiten realizar ms de 120 terminales.

Esto ha hecho cambiar, en la segunda mitad de la dcada de los ochentas, esencialmente las condiciones tcnicas para arqutecturas RISC. La siguiente tabla esquematiza algunas de las principales caractersticas de las arqutecturas RISC Y CISC.

Virtualizacin

Virtualizacin es la tcnica empleada sobre las caractersticas fsicas de algunos recursos computacionales, para ocultarlas de otros sistemas, aplicaciones o usuarios que interacten con ellos. Esto implica hacer que un recurso fsico, como un servidor, un sistema operativo o un dispositivo de almacenamiento, aparezca como si fuera varios recursos lgicos a la vez, o que varios recursos fsicos, como servidores o dispositivos de almacenamiento, aparezcan como un nico recurso lgico. Por ejemplo, la virtualizacin de un sistema operativo es el uso de una aplicacin de software para permitir que un mismo sistema operativo maneje varias imgenes de los sistemas operativos a la misma vez. Esta tecnologa permite la separacin del hardware y el software, lo cual posibilita a su vez que mltiples sistemas operativos, aplicaciones o plataformas de cmputo se ejecuten simultneamente en un solo servidor o PC segn sea el caso de aplicacin. Hay varias formas de ver o catalogar la virtualizacin, pero en general se trata de uno de estos dos casos: virtualizacin de plataforma o virtualizacin de recursos.

Virtualizacin de plataforma: se trata de simular una mquina real (servidor o PC) con todos sus componentes (los cuales no necesariamente son todos los de la mquina fsica) y prestarle todos los recursos necesarios para su funcionamiento. En general, hay un software anfitrin que es el que controla que las diferentes mquinas virtuales sean atendidas correctamente y que est ubicado entre el hardware y las mquinas virtuales. Dentro de este esquema caben la mayora de las formas de virtualizacin ms conocidas, incluidas la virtualizacin de sistemas operativos, la virtualizacin de aplicaciones y la emulacin de sistemas operativos. Virtualizacin de recursos: esta permite agrupar varios dispositivos para que sean vistos como uno solo, o al revs, dividir un recurso en mltiples recursos independientes. Generalmente se aplica a medios de almacenamiento. Tambin existe una forma de virtualizacin de recursos muy popular que no es sino las redes privadas virtuales o VPN, abstraccin que permite a un PC conectarse a una red corporativa a travs de la Internet como si estuviera en la misma sede fsica de la compaa.

Qu ventajas podemos tener con la virtualizacin? Veamos algunas de las ms comunes. Los usuarios sern provistos con dos o ms ambientes de trabajo completamente independientes entre si segn se requiera. Si se manejan dos como en la mayora de los casos, un ambiente de trabajo sera abierto para que usuarios hagan efectivamente en el lo que quieran, agregando dispositivos e instalando cualquier software que elijan. El segundo ambiente estara cerrado o restringido; es decir, donde el usuario solo tendra acceso a lo que es crtico para la organizacin y sus negocios. De esta forma, si el primer ambiente sufre una caida o colapso, el segundo ambiente sigue trabajando haciendo que el negocio no pare. En caso de que la organizacin constantemente ocupe estar cambiando de aplicaciones por cuestiones de su negocio, la virtualizacin permite conservar los mismos equipos terminales o de trabajo, y realizar todos los cambios de versiones y plataformas va un entorno virtualizado en la red y teniendo como fuente al servidor. Y qu hay de las desventajas? El uso de la virtualizacin representa conflictos con el licenciamiento que aplican los fabricantes de software. El software de virtualizacin representa un desafo para los tipos de licencia por usuario existentes actualmente, por lo cual es probable que cambien las reglas respecto al licenciamiento de software. Claro est que su instalacin y administracin requiere de personal calificado en TI, mas su uso puede ser transparente para un usuario promedio corporativo. En fechas prximas veremos algunas herramientas de virtualizacin, esto para aquellas organizaciones que consideren implementar esta prctica tecnolgica, como parte de su estrategia de negocios y operacin.

También podría gustarte