cowper
Usuario (Argentina)
Intel crea la primera conexión fotónica de silicio de extremo a extremo con láser integrado, una innovación que puede revolucionar el diseño, aumentar en gran medida el rendimiento e incrementar el ahorro de energía de los ordenadores. Intel Corporation ha anunciado un avance importante en la utilización de rayos de luz como sustitutos de electrones para transportar datos dentro y alrededor de los ordenadores. La compañía ha desarrollado un prototipo de investigación que representa la primera conexión óptica de datos del mundo basada en silicio con láser integrado. Este enlace puede transferir datos a mayor distancia y a mucha más velocidad de lo que se logra en este momento con la tecnología de cobre, pudiendo alcanzar hasta 50 gigabits de datos por segundo - el equivalente de la transmisión de toda una película en HD cada segundo. Los componentes informáticos actuales se conectan entre sí utilizando para ello cables de cobre o pistas en placas de circuitos impresos. Debido a la degradación de la señal inherente al uso de metales como el cobre para la transmisión de datos, estas pistas tienen una longitud máxima limitada. Esto restringe el diseño de ordenadores, ya que obliga a colocar los procesadores, la memoria y otros componentes a una cierta distancia unos de otros. El gran avance de las investigaciones actuales representa otro paso adelante para la sustitución de estas conexiones por unas fibras ópticas extremadamente finas y ligeras, que pueden transmitir más cantidad de datos a una distancia mucho mayor, lo que puede cambiar radicalmente el diseño de los ordenadores y la arquitectura de los centros de datos del futuro. La fotónica de silicio va a tener aplicaciones en todo el sector informático. Por ejemplo, a estas velocidades de transmisión de datos, podemos imaginar el desarrollo de unas pantallas 3D del tamaño de una pared para entretenimiento y videoconferencia, con una resolución tan alta que puede parecer que los actores que aparecen en lo visualizado se encuentran en la habitación. Los centros de datos o los supercomputadores del futuro podrían tener sus componentes repartidos por un edificio o incluso por todo un campus, pudiendo comunicarse todos ellos a alta velocidad, en vez de verse restringidos por conexiones de cables de cobre con una capacidad y un alcance limitados. De esta forma, se permitiría a los usuarios de centros de datos, como los de una compañía de motor de búsqueda, un proveedor de informática de la nube o un centro de datos financiero, incrementar su rendimiento y su capacidad para ahorrar una gran cantidad de costes en espacio y energía, o para ayudar a los científicos a crear unos supercomputadores más potentes que resuelvan los mayores problemas del mundo. “La obtención del primer enlace fotónico de silicio de 50Gbps del mundo con láser híbrido de silicio supone un logro importante en nuestro objetivo a largo plazo para la “siliconización" de la fotónica y para ofrecer comunicaciones ópticas de bajo coste y alto ancho de banda en y alrededor de los PC y servidores del futuro", afirmó Justin Rattner, director de tecnología en Intel y director de Intel Labs. Fuente: Intel Corporation
Hace unos días hablábamos sobre el rumor de que Nokia podría lanzar una tablet similar al N8, y ahora sale un nuevo rumor relacionado con la misma noticia, hablando que la posible tablet de Nokia podría excluir a Microsoft y su SO. Las fuentes que informan sobre el tema son un tanto ambiguas, pero se puede deducir que se habla de la posibilidad de contar con una versión Full de Windows (y no WP7 o WP8), y también se habla de la posibilidad de incluir MeeGo en su lugar, pero nada está confirmado ni descartado todavía. Parece que Nokia estaría considerando opciones para una lo que se rumoera sería su nueva Tablet, como les explicaba anteriormente, las fuentes que se dieron a conocer hasta ahora son un tanto contradictorias. Por un lado se habla de que Nokia podría dejar de lado a Microsoft en su iniciativa por participar en el mercado de las Tablets, ya que WP no estaría disponible para este tipo de formato hasta mediados de 2012 como mínimo, y que en su lugar Nokia le daría una excelente chance a MeeGo. Por otro lado, las fuentes hablan de que, en vez de contar con WP (8 probablemente), la posible Tablet de Nokia contaría con una versión “full” de Windows y no una versión “Windows Phone”. A su vez, se habla de que Intel estaría en búsquedas de un nuevo socio para desarrollar nuevos equipos, y que quizás esta sería una excelente opción para ambos, Nokia si realmente considera lanzar al mercado una Tablet podría ver como buena opción esta “asociación”, pero de nuevo, se trata apenas de rumores y nada de todo esto está confirmado.
Hoy se pondrá a prueba el nuevo sistema de direcciones IPv6, esto es pasar del esquema de direcciones 4 al sistema de direcciones 6. Google, Facebook, Akami y Yahoo se comprometieron a participar hoy en la gran prueba del sistema IPv6. Por lo que hoy un gran número de sitios se unirán para probar el nuevo sistema y ver si existen errores en la conexión. Lorenzo Cottu ingeniero de redes de Google, comentó que los usuarios no tienen que hacer nada al respecto, ya que consideró el 99.95 % de usuarios no tendrán problemas de conexión, los demás sufrirán algunos problemas de conectividad , básicamente debido a configuraciones de las redes domésticas. El dia mundial del IPv6 está siendo coordinado por la Sociedad de Internet (ISOC), compañía sin fines de lucro que ayuda tanto a las personas como a las compañías sobre asuntos de la red. Esta asociación ha publicado una página para que pruebes si tu ordenador puede tener fallas cuando se cambie el sistema, así como te da recomendaciones técnicas para afrontar el cambio a IPv6. Las empresas participantes, ocuparán el nuevo sistema IPv6 por 24 horas para dar a conocer los fallos si los hubiera y corregirlos. ¿Porqué el cambio? El exponencial crecimiento que ha tenido la red en los úlitmos años ha agotado el esquema actual IPv4, por lo que se tuvo que recurrir a uno nuevo , el cual dispondrá de billones de direcciones. Aqui les dejo el link Para que hagan su prueba: http://ipv6test.google.com/
Amigos taringueros, aca les dejo una recopilacion de Wikipedia sobre como nacio mi querido y amado GNU/Linux, aqui esta la histaria de sus padres creadores, resumido en unos poco renglones, espero les guste... El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre: el sistema GNU. El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el "Manifiesto GNU", que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca "volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras". GNU es un acrónimo recursivo que significa GNU No es Unix (GNU is Not Unix). Puesto que en inglés "gnu" (en español "ñu" se pronuncia igual que "new", Richard Stallman recomienda pronunciarlo "guh-noo". En español, se recomienda pronunciarlo ñu como el antílope africano o fonéticamente;2 por ello, el término mayoritariamente se deletrea (G-N-U) para su mejor comprensión. En sus charlas Richard Stallman finalmente dice siempre «Se puede pronunciar de cualquier forma, la única pronunciación errónea es decirle 'linux'». Historia UNIX es un Sistema Operativo no libre muy popular, porque está basado en una arquitectura que ha demostrado ser técnicamente estable. El sistema GNU fue diseñado para ser totalmente compatible con UNIX. El hecho de ser compatible con la arquitectura de UNIX implica que GNU esté compuesto de pequeñas piezas individuales de software, muchas de las cuales ya estaban disponibles, como el sistema de edición de textos TeX y el sistema gráfico X Window, que pudieron ser adaptados y reutilizados; otros en cambio tuvieron que ser reescritos. Para asegurar que el software GNU permaneciera libre para que todos los usuarios pudieran "ejecutarlo, copiarlo, modificarlo y distribuirlo", el proyecto debía ser liberado bajo una licencia diseñada para garantizar esos derechos al tiempo que evitase restricciones posteriores de los mismos. La idea se conoce en Inglés como copyleft -'copia permitida'- (en clara oposición a copyright -'derecho de copia'-), y está contenida en la Licencia General Pública de GNU (GPL). Richard Stallman En 1985, Stallman creó la Free Software Foundation (FSF o Fundación para el Software Libre) para proveer soportes logísticos, legales y financieros al proyecto GNU. La FSF también contrató programadores para contribuir a GNU, aunque una porción sustancial del desarrollo fue (y continúa siendo) producida por voluntarios. A medida que GNU ganaba renombre, negocios interesados comenzaron a contribuir al desarrollo o comercialización de productos GNU y el correspondiente soporte técnico. El más prominente y exitoso de ellos fue Cygnus Solutions, ahora parte de Red Hat. En 1990, el sistema GNU ya tenía un editor de texto llamado Emacs, un exitoso compilador (GCC), y la mayor parte de las bibliotecas y utilidades que componen un sistema operativo UNIX típico. Pero faltaba un componente clave llamado núcleo (kernel en inglés). En el manifiesto GNU, Stallman mencionó que "un núcleo inicial existe, pero se necesitan muchos otros programas para emular Unix". Él se refería a TRIX, que es un núcleo de llamadas remotas a procedimientos, desarrollado por el MIT y cuyos autores decidieron que fuera libremente distribuido; TRIX era totalmente compatible con UNIX versión 7. En diciembre de 1986 ya se había trabajado para modificar este núcleo. Sin embargo, los programadores decidieron que no era inicialmente utilizable, debido a que solamente funcionaba en "algunos equipos sumamente complicados y caros" razón por la cual debería ser portado a otras arquitecturas antes de que se pudiera utilizar. Finalmente, en 1988, se decidió utilizar como base el núcleo Mach desarrollado en la CMU. Inicialmente, el núcleo recibió el nombre de Alix (así se llamaba una novia de Stallman), pero por decisión del programador Michael Bushnell fue renombrado a Hurd. Desafortunadamente, debido a razones técnicas y conflictos personales entre los programadores originales, el desarrollo de Hurd acabó estancándose. En 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL. Rápidamente, múltiples programadores se unieron a Linus en el desarrollo, colaborando a través de Internet y consiguiendo paulatinamente que Linux llegase a ser un núcleo compatible con UNIX. En 1992, el núcleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El Sistema Operativo formado por esta combinación es usualmente conocido como "GNU/Linux" o como una "distribución Linux" y existen diversas variantes. (Véase también: Controversia por la denominación GNU/Linux) También es frecuente hallar componentes de GNU instalados en un sistema UNIX no libre, en lugar de los programas originales para UNIX. Esto se debe a que muchos de los programas escritos por el proyecto GNU han demostrado ser de mayor calidad que sus versiones equivalentes de UNIX. A menudo, estos componentes se conocen colectivamente como "herramientas GNU". Muchos de los programas GNU han sido también transportados a otros sistemas operativos como Microsoft Windows y Mac OS X. Linus Benedict Torvalds Linus Benedict Torvalds (Helsinki, Finlandia, 28 de diciembre de 1969), es un ingeniero de software finlandés; es conocido por iniciar y mantener el desarrollo del "kernel" (en español, núcleo) Linux, basándose en el sistema operativo libre Minix creado por Andrew S. Tanenbaum y en algunas herramientas, los compiladores y un número de utilidades desarrollados por el proyecto GNU. Actualmente Torvalds es responsable de la coordinación del proyecto. Pertenece a la comunidad sueco-parlante de Finlandia. Biografía Sus padres tomaron su nombre de Linus Pauling (estadounidense, Premio Nobel de Química 1954). Comenzó sus andanzas informáticas a los 11 años cuando su abuelo, un matemático y estadista de la Universidad, compró uno de los primeros microordenadores Commodore en 1980 y le pidió ayuda para usarlo. En 1988 Linus es admitido en la Universidad de Helsinki, donde se gradúa con el grado de Máster en Ciencias de la Computación. Ese mismo año el profesor Andrew S. Tannenbaum saca a la luz el S.O. Minix con propósitos didácticos. Dos años después, en 1990, Torvalds empieza a aprender el lenguaje de programación C en su universidad. A finales de los años 80 tomó contacto con los computadores IBM, PC y en 1991 adquirió una computadora con procesador modelo 80386 de Intel. A la edad de 21 años, con 5 años de experiencia programando (en C), ya conocía lo suficiente del sistema operativo Minix como para tomar prestadas algunas ideas y empezar un proyecto personal. Basándose en Design of the Unix Operating System, publicado por Maurice J. Bach en 1986, crearía una implementación que ejecutará cualquier tipo de programa, pero sobre una arquitectura de ordenadores compatibles, IBM/PC. Este proyecto personal desembocó el 5 de octubre de 1991 con el anuncio1 de la primera versión de Linux capaz de ejecutar BASH (Bourne Again Shell) y el compilador conocido como GCC (GNU Compiler Collection). En enero de 1992 se adoptó la Licencia Pública General (GPL) para Linux. Ésta añade libertades de uso a Linux totalmente opuestas a las del software propietario, permitiendo su modificación, redistribución, copia y uso ilimitado. Este modelo de licencia facilita lo que es conocido como el modelo de desarrollo de bazar, que ha dado estabilidad y funcionalidad sin precedentes a este sistema operativo. En 1997 Linus Torvalds recibe los premios 1997 Nokia Foundation Award de Nokia y Lifetime Achievement Award at Uniforum Pictures. Ese mismo año finaliza los estudios superiores (1988 - 1997) tras una década como estudiante e investigador en la Universidad de Helsinki, coordinando el desarrollo del núcleo del S.O. desde 1992. Torvalds trabajó en Transmeta desde febrero de 1997 hasta junio de 2003. Actualmente trabaja para el Open Source Development Labs en Beaverton, Oregón. Solo el 2% del código del Linux actual está escrito por él, pero en su persona sigue descansando la paternidad de este núcleo del sistema operativo. Torvalds posee la marca registrada "Linux" y supervisa2 el uso de la marca a través de la organización sin ánimo de lucro Linux International. Cómo creó Linux En Finlandia, Linus Torvalds, por entonces estudiante de Ciencias de la Computación de la Universidad de Helsinki, decidió realizar la cuantiosa inversión de $3500 para adquirir un nuevo PC 386 (33 Mhz, 4MB de RAM; una de las más avanzadas de su época). El pago lo realizaría a plazos, pues no disponía de tal cantidad de dinero en efectivo. Normalmente, lo utilizaba para acceder a la red de su universidad, pero debido a que no le gustaba el sistema operativo con el cual trabajaba, Minix, decidió crear uno él mismo. Decidió aprovechar esta oportunidad para realizar un programa a bajo nivel prescindiendo de Minix. En los primeros intentos consiguió arrancar el ordenador y ejecutar dos procesos que mostraban “AAAAABBBBB ”. Uno lo utilizaría para leer desde el módem y escribir en la pantalla, mientras que el otro escribiría al módem y leería desde el teclado. Inicialmente, el programa arrancaba desde un disquete. La siguiente necesidad que tuvo fue la de poder descargar y subir archivos de su universidad, pero para implementar eso en su emulador era necesario crear un controlador de disco. Así que después de un trabajo continuo y duro creó un controlador compatible con el sistema de ficheros de Minix. En ese momento se percató que estaba creando algo más que un simple emulador de terminal, así que, descontento con su sistema Minix, emprendió la aventura de crear un sistema operativo partiendo de cero. De forma privada, Linus nombraba “Linux” a su nuevo sistema, pero cuando decidió hacer una presentación pública (pues ya era capaz de mostrar una shell y ejecutar el compilador gcc) pensó que era demasiado egocéntrico llamarlo así y propuso llamarlo Freax, aunque después se le siguió conociendo Linux. Después de anunciar el 25 de agosto de 1991 su intención de seguir desarrollando su sistema para construir un reemplazo de Minix, el 17 de septiembre de 1991 sube al servidor de FTP proporcionado por su universidad la versión 0.01 de Linux con 10.000 líneas de código (en la actualidad tiene más de 10 millones). A partir de ese momento Linux empezó a evolucionar rápidamente.
Amigos Taringueros, aquí acabo de crear un post sobre como montar un servidor DNS en nuestra red Local, primero paso a contarles sobre que paquetes necesitamos para comenzar a montar nuestro DNS local. Bind es el servidor DNS mas popular en entornos Linux, para instalarlo en la consola se tipea lo siguiente: # apt-get install bind apt-get es un gran programa que, al indicarle que instale otro programa (install bind) él solo se baja de internet dicho programa y todo lo que haga falta para que funcione, lo instala y lo deja apunto para que solo tengamos que configurar lo que necesitamos. Ahora que tenemos bind instalado , falta configurarlo adecuadamente, cosa que es un poco lerda. Normalmente, para configurar un programa en linux, basta editar los archivos apropiados del programa. Los archivos de configuración del bind se encuentran en /etc/bind/. El primer fichero que editaremos será el named.conf, que es el fichero principal de bind. Una recomendación es hacer una copia de seguridad del archivo original antes de editarlo. Utilizaremos el editor llamado nano, puesto que es uno de los editores más comunes en entornos Unix/Linux, y sino instalenlo con: # apt-get install nano Si están en un entorno Gnome lo pueden hacer con el Gedit, y si quieren instalarlo: apt-get install gedit Teclearemos lo siguiente para hacer una copia del archivo original de configuración: # cp /etc/bind/named.conf /etc/bind/named.conf.old Luego que este hecha la copia editamos el mismo con: # **** /etc/bind/named.conf Donde están los **** ahí deben poner el editor que utilicen, por ejemplo el Gedit seria: # gedit /etc/bind/named.conf Y sino nano o vi, o vim, el editor que mas les guste, yo recomiendo nano o Gedit, ustedes elijan. Una ves abierto el archivo de configuración pasamos a modificarlo, nos fijamos que en la segunda página se repite bastante una parte de código parecida a esto: zone "localhost" { type master; file "/etc/bind/db.local"; }; Nos dirigiremos al final del archivo y añadiremos lo siguiente: zone "dominio.org" { type master; file "/etc/bind/db.dominio.org"; }; Esas líneas definen una nueva zona, dominio.org, sobre la que se ejerce el control, y el fichero (file) de configuración de esta zona se encontrará en /etc/bind/db.dominio.org. Guardaremos los cambios y saldremos. Ahora falta crear el fichero db.dominio.org, y como que el formato del archivo es parecido al ya existente /etc/bind/db.local, haremos una copia de éste con el nombre db.dominio.org sobre el cual modificaremos a nuestro parecer: # cp /etc/bind/db.local /etc/bind/db.dominio.org # gedit /etc/bind/db.dominio.org El archivo db.dominio.org tiene que quedar parecido a este: -Inicio del archivo (esto no debe incluirse)- ; ; BIND data file for dominio.org ; $TTL 604800 dominio.org. IN SOA dns.dominio.org. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN NS dns.dominio.org. IN A 80.80.80.80 IN MX 10 mail.dominio.org. dns IN A 80.80.80.80 mail IN A 80.80.80.80 www IN CNAME dns ftp IN CNAME dns -Fin (esto tampoco debe incluirse)- Para entender esto, lo que sigue después de ";" es ignorado como código, se interpretan como comentario. En las siguientes líneas se entiende que dominio.org se encuentra en la máquina dns.dominio.org (host local de la máquina donde está el servidor DNS), y el encargado de este dominio es root.localhost. (no olvidar poner los puntos en dominio.org. dns.dominio.org. y root.localhost.). El Serial, Refresh y todo esto lo dejamos como está, son tiempos de expiración y otros. Luego se le indica que el servidor DNS se encuentra en dns.dominio.org. (otra vez lo del punto final) y utiliza como servidor de email (MX)con prioridad máxima (10) (se puede poner la prioridad que se quiera, y la máxima, caso de especificar varios registros MX, es aquella con un número menor) la máquina mail.dominio.org., cuya dirección IP en Internet es 80.80.80.80, y por consiguiente, que el alias dns también está en 80.80.80.80. En este caso, que no hemos puesto punto al final de dns, automáticamente bind lo interpreta de manera que le añade dominio.org al final, quedando asi: dns.dominio.org. Lo mismo ocurre con www, ftp y mail pero la etiqueta CNAME matiza que se tratan de tres alias de dns, por lo que si sigues la cadena, la misma IP que dns, que es lo que nos interesa: tener el servidor web, ftp, dns y mail en la misma máquina. De esta manera, www.dominio.org, ftp.dominio.org, mail.dominio.org y dns.dominio.org se refieren a la misma IP de nuestro ordenador. Después de esta confusa explicación, debemos poner en marcha named (bind): # /etc/init.d/bind restart Lo de restart es porque al haber hecho antes apt-get install bind él solo se ejecuta después de instalarse, con la configuración por defecto que lleva. Ahora podemos comprobar si todo ha ido bien con el comando siguiente: # dig @localhost dominio.org Tendría que salir algo parecido a esto: ; <<>> DiG 9.2.1 <<>> @localhost dominio.org ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63073 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;dominio.org. IN A ;; ANSWER SECTION: dominio.org. 604800 IN A 80.80.80.80 ;; AUTHORITY SECTION: dominio.org. 604800 IN NS dns.dominio.org. ;; ADDITIONAL SECTION: dns.dominio.org. 604800 IN A 80.80.80.80 Dig se encarga de mirar la configuración de dominio.org utilizando como servidor DNS el que nosotros le indiquemos después de la @. Ya que nos interesa que utilice el servidor DNS que hemos montado nosotros para probar si funciona correctamente, que se encuentra en nuestra máquina local, le escribiremos después de la @ localhost. Podríamos decir que ya tenemos nuestro propio servidor DNS. Pero no hemos terminado aún, el ordenador que hace de servidor está detrás de un router, en una red interna, y deberemos abrir el puerto 53 del router (puerto que utiliza el bind para las peticiones DNS) y redirigirlo al puerto 53 del servidor DNS de nuestra red local. Desde el servidor Linux haremos un telnet a la IP del router: # telnet 192.168.1.1 Trying 192.168.0.1... Connected to 192.168.0.1. Escape character is '^]'. login: Introduciremos el login y la contraseña adecuada y una vez dentro del router teclearemos lo siguiente: 3Com-DSL>add nat tcp vc internet public_port 53 private_port 53 private_address 192.168.0.5 3Com-DSL>add nat udp vc internet public_port 53 private_port 53 private_address 192.168.0.5 Esto hace lo dicho anteriormente: abre el puerto 53 del router (public_port 53) y envía las peticiones que le llegan, a la máquina 192.168.0.5 que se encuentra dentro de la red (private_address 192.168.0.5) , al puerto 53 de esa máquina (private_port 53). Con lo de tcp y udp indicamos que se valide por esos dos protocolos (esta operación que hace el router se denomina NAT, Network Address Translation / Traducción de dirección de red). Le decimos al router que guarde los cambios y reinicie para que los cambios tengan efecto: 3Com-DSL>save all 3Com-DSL>reboot Esperamos un par de minutos más, y todo está listo para que, cuando en el registro de dominio.org se nos pregunte por un servidor DNS, poner el que hemos montado, dns.dominio.org como primario y cualquier otro servidor DNS como secundario. No lo expliqué antes, pero nos piden dos servidores, uno primario y otro secundario, por si el primario dejara de funcionar alguna vez, podamos seguir visitando la web gracias al DNS secundario. En este caso, pusimos como secundario un DNS de Linux, que podría haber sido cualquier otro. Si nuestro servidor DNS se apagara por alguna razón, se tomaria el secundario, pero como el de Linux no tiene ninguna información acerca de dominio.org, no podría mostrarnos la página. De todas maneras, si se apagara el servidor DNS, tampoco podríamos dar servicio de WEB, ya que se trata del mismo ordenador. Los cambios de configuración en el DNS son lentos, y no será hasta unas horas después (incluso hasta 48 horas) que podremos comprobar los resultados. Espero que les haya gustado, cualquier critica dejen comentarios.... Fuente http://www.elmundolinux.com/servidorlinux.php
Proceso de arranque en Linux El proceso de arranque en GNU/Linux es la forma en la cual los sistemas operativos basados en el núcleo Linux se inicializan. Es similar a la forma en que arranca BSD y otros sistemas Unix. Todo el proceso de arranque se lleva a cabo en 4 etapas reconocidas por el código que en ese momento tiene control sobre la CPU; al inicio solo el BIOS tiene control, después será el cargador de arranque quien tenga en control, más adelante el control pasa al propio kernel Linux, y en la última etapa será cuando tengamos en memoria los programas de usuario conviviendo junto con el propio sistema operativo y serán ellos quienes tengan el control del CPU. La etapa del cargador de arranque no es totalmente necesaria, determinadas BIOS pueden cargar y pasar el control a GNU/Linux sin hacer uso del cargador de arranque, usar un cargador de arranque facilita al usuario la forma en que el kernel será cargado. BIOS Al encender la computadora las primeras operaciones las realiza el BIOS. En esta etapa se realizan operaciones básicas de hardware. El proceso de arranque será diferente dependiendo de la arquitectura del procesador y el BIOS. Una vez reconocido y listo el hardware, el BIOS carga en memoria el código ejecutable del cargador de arranque y le pasa el control. Hay variedad de BIOS que permiten al usuario definir en qué dispositivo/partición se encuentra dicho cargador de arranque. Cargador de arranque Un cargador de arranque (boot loader en inglés) es un programa diseñado exclusivamente para cargar un sistema operativo en memoria. La etapa del cargador de arranque es diferente de una plataforma a otra. Como en la mayoría de arquitecturas, este programa se encuentra en el MBR, el cual es de 512 bytes, no es suficiente para cargar en su totalidad un sistema operativo. Por eso, el cargador de arranque consta de varias etapas. Para las plataformas x86, el BIOS carga la primera etapa del cargador de arranque (típicamente una parte de LILO o GRUB). El código de esta primera etapa se encuentra en el sector de arranque (o MBR). La primera etapa del cargador de arranque carga el resto del cargador de arranque. Los cargadores de arranque modernos típicamente preguntan al usuario cual sistema operativo (o tipo de sesión) desea inicializar. GRUB GRUB se carga y se ejecuta en 4 etapas: 1.La primera etapa del cargador la lee el BIOS desde el MBR. 2.La primera etapa carga el resto del cargador (segunda etapa). Si la segunda etapa está en un dispositivo grande, se carga una etapa intermedia (llamada etapa 1.5), la cual contiene código extra que permite leer cilindros mayores que 1024 o dispositivos tipo LBA. 3.La segunda etapa ejecuta el cargador y muestra el menú de inicio de GRUB. Aquí se permite elegir un sistema operativo junto con parámetros del sistema. 4.Cuando se elige un sistema operativo, se carga en memoria y se pasa el control. GRUB soporta métodos de arranque directo, arranque chain-loading, LBA, ext2 y hasta "un pre-sistema operativo totalmente basado en comandos". Tiene tres interfaces: un menú de selección, un editor de configuración y una consola de línea de comandos. Dado que GRUB entiende los sistemas de archivos ext2 y ext3 y además provee una interfaz de línea de comandos, es más fácil rectificar o modificar cuando se malconfigura o se corrompe. La nueva versión 2 de GRUB, soporta sistema de archivos ext4. LILO LILO es más antiguo, es casi idéntico a GRUB en su proceso, excepto que no contiene una interfaz de línea de comandos. Por lo tanto todos los cambios en su configuración deben ser escritos en el MBR, y reiniciar el sistema. Un error en la configuración puede arruinar el proceso de arranque a tal grado de que sea necesario usar otro dispositivo que contenga un programa que sea capaz de arreglar ese defecto. De forma adicional, LILO no entiende sistema de archivos, por lo tanto no hay archivos y todo se almacena en el MBR directamente. Cuando el usuario selecciona una opción del menú de carga de LILO, dependiendo de la respuesta, carga los 512 bytes del MBR para sistemas como Microsoft Windows, o la imagen del kernel Linux. Loadlin Otra forma de cargar GNU/Linux es desde DOS o Windows 9x, dado que ambos sistemas permiten ser reemplazados, se puede reemplazar por el kernel Linux sobre el sistema operativo ya cargado. Esto puede ser útil en el caso en que el hardware está solo disponible para DOS y no para GNU/Linux, dado a cuestiones de secretos industriales y código propietario. Sin embargo, esta tediosa forma de arranque ya no es necesaria en la actualidad ya que GNU/Linux tiene drivers para multitud de dispositivos hardware, aun así, esto fue muy útil en el pasado. Otro caso es cuando GNU/Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para dicho dispositivo superando dicha limitación del BIOS, y a partir de entonces cargar el núcleo Linux. Kernel El kernel Linux se encarga de lo principal del sistema operativo, como el manejo de memoria, planificador de tareas, entradas y salidas, comunicación interprocesos, y demás sistemas de control. El proceso del kernel se lleva en dos etapas; la etapa de carga y la etapa de ejecución. El kernel generalmente se almacena en un archivo comprimido con zlib. Este archivo comprimido se carga y se descomprime en memoria, también se cargan los drivers necesarios por medio de un disco RAM (initrd). El disco RAM es un sistema de archivos temporal usado en la fase de ejecución del kernel. Una vez que el kernel se ha cargado en memoria y está listo, se lleva a cabo su ejecución. Esto se realiza llamando la función startup del kernel (en los procesadores x86, se encuentra en la función startup_32() del archivo /arch/i386/boot/head), esta función establece el manejo de memoria (tablas de paginación y paginación de memoria), detecta el tipo del CPU y funcionalidad adicional como capacidades de punto flotante. Después cambia a funcionalidades que no dependen del hardware por medio de la llamada a la función start_kernel(). El proceso de arranque en GNU/Linux monta el disco RAM que fue cargado anteriormente como un sistema de archivos temporal. Esto permite que los módulos que contienen drivers puedan ser cargados sin depender de otros drivers de dispositivos físicos, y además mantiene el kernel más pequeño. Se inicializan dispositivos virtuales con la intención de ser usados para crear sistemas de archivos, como LVM o software RAID antes de desmontar la imagen initrd. El sistema de archivos es cambiado por medio de la función pivot_root() la cual desmonta el sistema de archivos temporal y lo reemplaza con el real, el cual más tarde estará totalmente disponible liberando la memoria que ocupaba el temporal. Una vez listo el manejador de excepciones, el planificador de tareas y demás, por fin el sistema se considera totalmente operacional a nivel de procesos, por lo tanto se ejecuta el proceso init (el primer proceso en espacio de usuario), y luego inicia una tarea de inactividad por medio de cpu_idle(). Proceso init El proceso init establece el entorno de usuario. Verifica y monta los sistemas de archivos, inicia servicios de usuario necesarios y cambia a un entorno basado en usuario cuando el proceso de inicio termina. Es similar a los procesos init de Unix y BSD del cual deriva, pero en algunos casos tiene diferencias y personalizaciones. En un sistema GNU/Linux estándar, init se ejecuta con un parámetro, conocido como runlevel, que toma un valor de 0 a 6, y que determina cuales subsistemas serán operacionales. Cada runlevel tiene sus propios scripts los cuales involucran un conjunto de programas. Estos scripts se guardan en directorios con nombres como "/etc/rc...". El archivo de configuración de init es /etc/inittab. Cuando el sistema se arranca, se verifica si existe un runlevel predeterminado en el archivo /etc/inittab, si no, se debe introducir por medio de la consola del sistema. Después se procede a ejecutar todos los scripts relativos al runlevel especificado. Fuente tomada desde Wikipedia
Buenas a toda la familia taringuera, aca les dejo los codigos fuentes en C de un chat cliente y un servidor con la funcion socket, esta es la simplisidad de linux, lo pueden compilar con el gcc o el Geany, que en mi caso fue compilado con este ultimo que es en entorno grafico y mas agradable0 El que no lo tiene su puede instalar de la consola $ sudo apt-get install geany Cliente /*-----------------------------------------------------------------------------------------------------------*/ #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> int main() { int sockfd; int len; struct sockaddr_in address; int result; char ch = 'A'; char c[1024]; int buf; while(c[0]!='Q'||c[1]!='U'||c[2]!='I'||c[3]!='T'||c[4]!=' ') { /* Crear un socket para el cliente */ sockfd = socket(AF_INET, SOCK_STREAM, 0) ; address.sin_family = AF_INET; address.sin_addr.s_addr = inet_addr("127.0.0.1" ) ; address.sin_port = 9734; len = sizeof(address); result = connect(sockfd, (struct sockaddr *)&address, len) ; if(result == -1) { perror("ERROR EN LA CONEXION" ); exit(1); } write(sockfd, &ch, 1); read(sockfd, &ch, 1); printf("char para el servidor = %cn", ch); printf("Escriba SALIRn" ) ; scanf("%s",c); buf=strlen(c); write(sockfd, c, buf+1); printf("Recibi %sn",c); close(sockfd); } } /*------------------------------------------------------------------------------------------------------------*/ Servidor /*-----------------------------------------------------------------------------------------------------------*/ #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> int main() { int server_sockfd, client_sockfd; int server_len, client_len; struct sockaddr_in server_address; struct sockaddr_in client_address; char c[1024]; /* Crear un socket para el server */ server_sockfd = socket(AF_INET, SOCK_STREAM, 0); /* nombre del socket */ server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = inet_addr("127.0.0.1" ) ; server_address.sin_port = 9734; server_len = sizeof(server_address) ; bind(server_sockfd, (struct sockaddr *)&server_address, server_len) ; listen(server_sockfd, 5); while(c[0]!='Q'||c[1]!='U'||c[2]!='I'||c[3]!='T'||c[4]!=' ') { char ch; printf("server esperando CARACTERESn" ) ; client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_address, &client_len); read(client_sockfd, &ch, 1); ch++; write(client_sockfd, &ch, 1); read(client_sockfd, c, 1024); printf("%sn",c); close(client_sockfd); } close(server_sockfd); } /*-----------------------------------------------------------------------------------------------------------------*/ Espero que les guste y les sirva, por favor no se olviden de comentar, que no cuesta nada

Recuperar archivos borrados de linux con Isof Isof es más que un simple comando de Linux es una herramienta que permite ver todos los archivos abiertos por un determinado proceso, tiene muchos usos pero en este caso vamos a ver como utilizar lsof para recuperar archivos que hayamos borrado accidentalmente. Un poco de teoría un archivo en Linux es un apuntador a un inode, este inode es el que contiene los datos del archivo como permisos, propietario y donde está ubicado en el disco. Cuando borramos archivos en Linux removemos es el link pero no el inode como tal, si otro proceso tiene abierto el inode no es liberado hasta que el proceso termine con el. Nota: Este método solo funciona si el archivo está abierto por algún proceso, si el proceso que usaba el archivo ya finalizó este método no sirve de nada. Muchos después de leer la última línea se preguntarán para que sirve entonces si lo tiene que tener algún proceso abierto, supongamos que estás editando un archivo de audio y tienes archivo1.mp3 y archivo2.mp3, estás editando en este momento el archivo1.mp3 y decides que quieres borrar el 2 porque el 1 está perfecto, ejecutas por equivocación rm archivo1.mp3 y a llorar se ha dicho, esto es un simple ejemplo de cosas que suceden y creanme que hay muchos casos. Este tutorial sirve para cualquier distribución de GNU/Linux. Para este Tip vamos a realizar los siguientes pasos: Paso 1. Crea un archivo llamado texto.txt de prueba (no intentes esto con un archivo que sea importante no me hago responsable por ninguna pérdida), escribe lo que quieras dentro de este archivo. Paso 2. Ejecuta: less texto.txt Vas a ver el contenido del archivo que editaste ahora presiona Ctrl-Z para suspenderlo o abre otra ventana de terminal. Paso 3. Ahora el momento de la verdad ejecuta: rm texto.txt Archivo borrado, puedes ejecutar ls texto.txt para comprobar que el archivo se borró. Paso 4. Ahora vamos a ver lsof en acción ejecuta: lsof | grep texto.txt less 2422 tribulinux 4r REG 8,5 59 252900 /home/tribulinux/texto.txt (deleted) Debe aparcerte algo similar (con algúnos números distintos), lo importante de la segunda línea es el PID ó número de proceso que es en este caso 2422 y el descriptor del archivo que es la cuarta columna es decir 4. Ahora con estos datos podemos ver dentro del directorio proc donde todavía estará la referencia a nuestro archivo. Paso 5. Ejecuta: ls -l /proc/2422/fd/4 lr-x—— 1 tribulinux tribulinux 64 2009-06-01 16:18 /proc/2422/fd/4 -> /home/tribulinux/texto.txt (deleted) Te aparecerá algo como en la línea de arriba aquí ya empezamos a respirar un poco porque aún hay esperanzas de recuperar el archivo. Paso 6. Recuperar el archivo ejecutando simplemente: cp /proc/2422/fd/4 texto.txt.recuperado Colocale el nombre que quieras Finalmente puedes ver tu archivo recuperado: ls -l texto.txt.recuperado -rw-r–r– 1 tribulinux tribulinux 59 2009-06-01 16:27 texto.txt.recuperado Y listo ya tienes de vuelta tu archivo Espero que esto le salve el día a alguien alguna vez y que les sea de utilidad aunque sea para comprender un poco más a Linux. Saludos Fuente: http://www.tribulinux.com/tip-como-recuperar-archivos-borrados-linux-lsof.html

Familia taringuera aca hice una recopilacion de comandos utiles para la administracion de redes en Linux, espero que les sirva... /etc/init.d/networking start ——> Inicia los servicios de red. /etc/init.d/networking restart —-> Reinicia los servicios de red. /etc/init.d/networking stop ——-> Para los servicios de red. ifconfig [interfaz opciones IP]—-> Información y configuración de interfaces de red. ifconfig ————————–> Muestra el estado de los interfaces activos. ifconfig -a ———————–> Muestra el estado de todos los interfaces. ifconfig ppp0 ———————> Muestra el estado de ppp0 ifconfig eth0 up ——————> Activa eth0. ifconfig eth0 down —————-> Cierra eth0. ifconfig eth1 address 156.35… —> Asigna una dirección al interfaz especificado. Iwconfig ————————–> Similar a ifconfig pero sólo para interfaces wireless ifup interface: ——————-> Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0 ifdown interface: —————–> Deshabilita la interface especificada, ejemplos: ifdown eth0 ;ifdown ppp0 dhclient eth0/eth1 —————-> Inicia conexión dhcp mediante el cliente dhcp-client. pump -i eth0/eth1 —————–> Inicia conexión dhcp mediante el cliente pump. pppoeconf ————————-> Programa para configurar conexiones pppoe. pppconfig ————————-> Programa en modo texto para configurar una conexión ppp. pon ——————————-> Establece la conexión ppp a internet. plog ——————————> Monitoriza la conexión ppp. poff ——————————> Finaliza la conexión ppp a internet. finger usuario ——————–> Informa sobre un usuario conectado al sistema. finger @servidor ——————> Informa sobre todos los usuarios conectados a un servidor (nombre o IP) finger usuario@servidor ———–> Informa sobre un usuario conectado a un servidor ping google.com ——————-> Verifica la conexión,en este caso con www.google.com (Ctrl+Z pone fin) traceroute microsoft.es ———–> Muestra la ruta que los paquetes de datos han seguida hasta la máquina de destino. mtr rediris.es ——————–> Combinación de ping y traceroute. whois esdebian.org —————-> Información sobre éste,nuestro dominio. host -v -a telefonica.com ———> Determina la ip de un nombre o el nombre de una ip.(host -v -a 194.224.55.221) iptraf —————————-> Monitoriza tráfico de redes(ncurses) tethereal ————————-> Versión para consola de ethereal,un analizador del tráfico de red (sniffer). ettercap ————————–> Sniffer/interceptor/logger para redes LAN con switchs basado en ncurses. nmap ——————————> Escaner de puertos. fail2ban ————————–> Escanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexión. snort —————————–> Sniffer de paquetes y un detector de intrusiones en una red (NIDS). aide ——————————> Detector de intrusiones en un único Servidor, PC o host.(HIDS). portsentry ————————> IDS que detecta escaneos de puertos y reacciona a un ataque. chkrootkit ————————> Detector de rootkit. netstat -napt ———————> Saber qué puertos tiene abiertos nuestro sistema | n —————————-> No resuelve las direcciones a sus nombres DNS. Esto hace más rápida la ejecución. | a —————————-> Muestra todos las conexiones,incluídas las que están escuchando. | p —————————-> Muestra el número y nombre del proceso,dueño de dicha conexión. | t —————————-> sólo muestra conexiones tcp sudo iwlist scan – escanea redes inalámbricas ufw enable – activar el cortafuegos ufw disable – apagar el cortafuegos ufw default allow – permitir todas las conexiones por defecto ufw default deny – bloquear todas las conexiones por defecto ufw status – reglas y estado actual ufw allow port – permitir tráfico en puerto ufw deny port – bloquear puerto ufw deny from ip – bloquear dirección ip wget [opciones] URL ---------------> Gestor de descargas. | -p ---------------------------> descarga web completa. | -r ---------------------------> recursivo. | -k ---------------------------> Convierte los enlaces absolutos en relativos. | -c ---------------------------> Reanuda la descarga de un fichero parcialmente descargado. | -l6 --------------------------> profundidad de recursión (5 por defecto) | -A formato -------------------> formato para descargar. | -nH --------------------------> hace que no se cree el subdirectorio localhost. | --cut-dirs=n -----------------> elimina n número de directorios dentro de la jerarquia. | | Ejemplo 1º: wget -A zip URL ---> Baja todos los archivos zip de una página web. | | Ejemplo 2º:si queremos descargar el manual nano.pdf que está en: | | http://www.manuales.com/informática/editores/nano.pdf | ---------------- --------- ------ | localhost 1º dir 2º dir | | wget -nH --cut-dirs=2 http://www.manuales.com/informática/editores/nano.pdf | | nos baja sólo el manual sin crearnos ningún nuevo directorio en nuestra home. | | Ejemplo 3º:si queremos bajar el manual de Arocena en formato html cuya primera página está en: | | http://***/ortihuela/index.htm ,pues entonces: | | wget -r -nH http://***/ortihuela/index.htm | | nos baja todo el contenido del curso (ficheros .html,.css,.jpg,etc) al directorio /ortihuela Espero les haya servido, comenten....
Uno de los campos más interesantes para la aplicación de Linux está en las terminales móviles. Sean celulares o terminales de datos, Linux ofrece un core chico y totalmente “customizable”. Algunos ejemplos son el Motorola A780, el PalmOS para Linux o incluso el desarrollo de un diseño referencial para las fabricantes de terminales. Y esta vez el peligro no está en los competidores, sino en la denuncia que hace un programador sobre la posible violación de la licencia GPL que es requerida por este sistema Operativo; básicamente dice que hay 13 fabricantes de terminales (desde Motorola hasta Siemens, Belkin, fujitsu, etc.) no liberan el código de sus modificaciones a Linux para temrinales móviles. La lógica es real y, de ser cierto, esto va a representar un gran paso atrás en el desarrollo de terminales con esta tecnología.