sábado, 11 de agosto de 2012

¿Qué es SHELL?

En informática, el término shell se emplea para referirse a aquellos programas que proveen una interfaz de usuario para acceder a los servicios del sistema operativo. Estos pueden ser gráficos o de texto simple, dependiendo del tipo de interfaz que empleen.

El shell acepta las órdenes del usuario o las sentencias de control de trabajos, las interpreta, crea y controla los procesos según sea necesario
 Los shells están diseñados para facilitar la forma en que se invocan o ejecutan los distintos programas disponibles en el computador.

Shells de texto comunes:

- Bourne Shell 
Es un programa informático cuya función consiste en interpretar órdenes. Incorpora características tales como control de procesos, redirección de entrada/salida, listado y lectura de ficheros, protección, comunicaciones y un lenguaje de órdenes para escribir programas por lotes o scripts. Fue el intérprete usado en las primeras versiones de Unix y se convirtió en un estándar de facto.

- Bash (Bourne again shell)
  Está basado en la shell de Unix y es compatible con POSIX. Fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de Linux.



-Korn shell (ksh
Es un programa informático cuya función consiste en interpretar órdenes por líneas. Fue escrito para el proyecto de contenido libre GNU y su código se encuentra disponible bajo los términos de la Licencia Pública General. Se encuentra disponible en la mayoría de las distribuciones GNU/Linux y para otros sistemas operativos basados en Unix. Fue desarrollado por David Korn de los Laboratorios AT&T Bell en los comienzos de los 80s. Es totalmente compatible con el Bourne Shell y también incluye muchos elementos del interprete de comandos C, como historia de órdenes.
La principal ventaja de ksh sobre otros intérpretes de comandos tradicionales de Unix, es su uso como lenguaje de programación. Desde su concepción, se le agregaron gradualmente muchas capacidades, mientras se mantenía amplia compatibilidad con elBourne Shell.
La versión ksh93 soporta arreglos asociativos y aritmética de punto flotante integrada. Sus funciones avanzadas para manejar archivos de comandos lo pusieron a la par con lenguajes de programación especializados como awk y perl.
Para uso interactivo, ksh provee la habilidad de editar la línea de órdenes en modo WYSIWYG, usando la tecla cursor-arriba para llamar a una orden previamente usada, y luego editar la orden como si los usuarios estuvieran en modo línea. Dos modos están disponibles, compatible con vi y emacs. 


-Z shell (o simplemente zsh
Es un potente intérprete de comandos para sistemas operativos de tipo Unix, como por ejemplo los BSD o GNU/Linux.1 La primera versión de zsh fue escrita por Paul Falstad en 1990, cuando era estudiante en la Universidad de Princeton.
Zsh se diseñó para poder usarse interactivamente. Se le han incorporado muchas de las características principales de otras shells de Unix como, bash, ksh, o tcsh y además posee características propias originales.

  
-Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios técnicos. Es parte del proyecto GNU, activamente desarrollado. Es la versión más popular de Emacs. El manual de GNU Emacs lo describe como "un editor extensible, personalizable, auto-documentado y de tiempo real."

A pesar de (o quizás a causa de) su venerable pasado, Emacs es uno de los editores de texto más potentes y versátiles hoy en día. Debe remarcarse que es principalmente un editor de texto, y no un procesador de texto; su enorme conjunto de características está orientado a ayudar el usuario a manipular trozos de texto, más que manipular el tipo de letra de los caracteres o imprimir documentos (aunque Emacs puede también hacer eso). Emacs tiene una gran cantidad de características que permiten lidiar con la aparentemente sencilla tarea de editar texto, que van desde comandos para manipular palabras y párrafos (borrarlos, moverlos, moverse por entre ellos, etc.), hasta resaltado de sintaxis para hacer el código fuente más fácil de leer, o ejecutar "macros de teclado" que contienen lotes de comandos de edición definidos por el usuario.
La rica variedad de características que se encuentran en Emacs es el resultado de su diseño poco habitual. Casi toda la funcionalidad del editor, desde las operaciones básicas de edición (como la inserción de caracteres en un documento) hasta la configuración de la interfaz de usuario, es controlada por un dialecto del lenguaje de programación Lisp. En este entorno Lisp,variables e incluso funciones enteras pueden ser modificadas al vuelo, sin tener que recompilar o ni siquiera reiniciar el editor. Como resultado, el comportamiento de Emacs puede ser modificado casi sin límite, bien directamente por el usuario, o (más habitualmente) cargando fragmentos de código Emacs Lisp. Estos fragmentos son conocidos como "bibliotecas", "librerías", "paquetes" o "extensiones".
Emacs contiene un gran número de bibliotecas escritas en Emacs Lisp, y en Internet se pueden encontrar más bibliotecas de terceras partes. Muchas bibliotecas implementan ayudas para la programación de ordenadores, lo que es un reflejo de la popularidad de Emacs entre los programadores. Emacs se puede usar como un entorno de desarrollo integrado (IDE), que permite a los programadores editar, compilar y depurar su código con una única interfaz

-Símbolo del sistema  
(en inglés Command prompt) es el intérprete de comandosen OS/2 y sistemas basados en Windows NT (incluyendo Windows 2000, Windows XP, Windows Server 2003, Windows Vista y Windows 7). Es el equivalente decommand.com en MS-DOS y sistemas de la familia Windows 9x.
A diferencia de su antecesor (command.com), este programa es tan sólo unaaplicación, no es una parte del sistema operativo y no posee la función de cargar la configuración al arrancar el sistema.
Muchas funciones que se realizan desde la interfaz gráfica de algún sistema operativo son enviadas al cmd que es el encargado de ejecutarlas. Esto no es del todo cierto en Windows debido a que hay muchas más opciones realizables que no son enviadas al cmd y se ejecutan mediante scripts.



Shells gráficos comunes:

 

 -GNOME es un entorno de escritorio e infraestructura de desarrollo parasistemas operativos Unix y derivados Unix como GNU/Linux, BSD o Solaris; compuesto enteramente de software libre.

El Proyecto GNOME, según sus creadores, provee un gestor de ventanas «intuitivo y atractivo» y una plataforma de desarrollo para crear aplicaciones que se integran con el escritorio. El Proyecto pone un gran énfasis en la simplicidad, usabilidad y eficiencia. Otros objetivos del proyecto son:
  • La libertad para crear un entorno de escritorio que siempre tendrá el código fuente disponible para reutilizarse bajo una licencia de software libre.
  • El aseguramiento de la accesibilidad, de modo que pueda ser utilizado por cualquiera, sin importar sus conocimientos técnicos y discapacidad física.
  • Hacer que esté disponible en muchos idiomas.
  • Un ciclo regular de liberaciones y una estructura de comunidad disciplinada


 -Unity es un interfaz de usuario creada para el entorno de escritorio GNOME, y desarrollado por Canonical para la distribución de Linux Ubuntu. Su primer lanzamiento se realizó en la versión 10.10 de Ubuntu Netbook Remix. Fue diseñado con el propósito de aprovechar el espacio en pantallas pequeñas de los netbooks, especialmente el espacio vertical.


-Microsoft Windows es el nombre de una familia de sistemas operativosdesarrollados por Microsoft desde 1981, año en que el proyecto se denominaba«Interface Manager».

Anunciado en 1983, Microsoft comercializó por primera vez el entorno operativo denominado Windows en noviembre de 1985 como complemento para MS-DOS, en respuesta al creciente interés del mercado en una interfaz gráfica de usuario (GUI) que fuera introducido por otros sistemas operativos como Mac OS y de otras compañías como Xerox.



 Fuente | Wikipedia | 
-Stallings Williams "Sistemas Operativos" , pag 75. 


No hay comentarios:

Publicar un comentario