El proyecto GNU, que se
inició en 1983 por Richard Stallman;11 tiene como objetivo el desarrollo de un
sistema operativo Unix completo y compuesto enteramente de software libre. La
historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU. En
1991 Linus Torvalds empezó a trabajar en un reemplazo no comercial para MINIX12
que más adelante acabaría siendo Linux.
Cuando Torvalds liberó la
primera versión de Linux en 1992, el proyecto GNU ya había producido varias de
las herramientas fundamentales para el manejo del sistema operativo, incluyendo
un intérprete de comandos, una biblioteca C y un compilador, pero como el
proyecto contaba con una infraestructura para crear su propio núcleo (o
kernel), el llamado Hurd, y este aún no era lo suficiente maduro para usarse,
comenzaron a usar a Linux a modo de continuar desarrollando el proyecto GNU,
siguiendo la tradicional filosofía de mantener cooperatividad entre
desarrolladores. El día en que se estime que Hurd es suficiente maduro y
estable, será llamado a reemplazar a Linux
Entorno gráfico
GNU/Linux puede funcionar tanto en entorno gráfico como en
modo consola. La consola es común en distribuciones para servidores, mientras
que la interfaz gráfica está orientada al usuario final tanto de hogar como
empresarial. Asimismo, también existen los entornos de escritorio, que son un
conjunto de programas conformado por ventanas, iconos y muchas aplicaciones que
facilitan la utilización del computador. Los escritorios más populares en
GNU/Linux son: GNOME, KDE SC, LXDE y Xfce. En dispositivos móviles se encuentra
Android, que funciona sobre el núcleo Linux, pero no usa las herramientas GNU.
Intel anunció productos de consumo basados en MeeGo para mediados del 2011, por
lo que es probable que este entorno tenga también una creciente importancia en
los próximos años.
Como sistema de programación
La colección de utilidades para la programación de GNU es
con diferencia la familia de compiladores más utilizada en este sistema
operativo. Tiene capacidad para compilar C, C++, Java, Ada, Pascal, entre otros
muchos lenguajes. Además soporta diversas arquitecturas mediante la compilación
cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogéneos.
Hay varios entornos de desarrollo integrados disponibles
para GNU/Linux incluyendo, Anjuta, KDevelop, Lazarus, Ultimate++, Code::Blocks,
NetBeans IDE y Eclipse. También existen editores extensibles como Emacs o Vim.
GNU/Linux también dispone de capacidades para lenguajes de guion (script),
aparte de los clásicos lenguajes de programación de shell, o el de procesado de
textos por patrones y expresiones regulares llamado awk, la mayoría de las
distribuciones tienen instalado Python, Perl, PHP y Ruby.
Aplicaciones de usuario
Las aplicaciones para GNU/Linux se distribuyen
principalmente en los formatos .deb y .rpm, los cuales fueron creados por los
desarrolladores de Debian y Red Hat respectivamente. También existe la
posibilidad de instalar aplicaciones a partir de código fuente en todas las
distribuciones.
Software de código cerrado para GNU/Linux
Durante la etapa temprana había pocas aplicaciones de código
cerrado para GNU/Linux. Con el tiempo se fueron portando programas no libres al
sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre otros.
Cuando usamos el sistema operativo de Linux la duración de la batería de nuestra computadora es menor porque Linux ocupa muy poca energía para sus procesos
MEMORIA PRINCIPAL FISICA
Este proceso esta lógicamente separada
de la de cualquier otro proceso del sistema. Un proceso no puede acceder, al espacio de memoria asignado a otro
proceso, lo cual es imprescindible para la seguridad y la estabilidad el
sistema.
Direccionamiento:
Es una parte importante de la gestión
de memoria, puesto que influye mucho en la visión del mismo por parte de un
proceso, como en el aprovechamiento del hardware y el rendimiento del sistema.
En Linux, además un proceso
tiene dos espacios de memoria, el espacio de memoria del usuario único para ese
proceso, y el espacio de memoria del kernel, idéntico en todos los procesos
Gestión de memoria:
Objetivos del sistema de gestión
de memoria
-ofrecer a cada proceso un
espacio lógico propio
-proporcionar protección entre
procesos
-permitir que los procesos
compartan memoria
-dar soporte a las distintas
regiones del proceso
-maximizar el rendimiento del
sistema
-proporcionar a los procesos
mapas de memoria muy grandes.
No hay comentarios.:
Publicar un comentario