Professional Documents
Culture Documents
SHELL
Generalmente
con shell nos
referimos a una
CLI de Unix
Shell de Lnea de Comandos
Interfaz de usuario basada en caracteres con el sistema operativo
tipo UNIX (Linux, AIX, SunOS, etc.)
Ejecucin de
Programas
Sustitucin de Interpretacin de
Variables Programas
Shell
Pipes
Grfica vs Texto
Grfica Lnea de Comandos
Sencilla Ciertas operaciones son
Fcil uso ms rpidas
Usuario base Usuario experto
Procesamiento de Transferencia o
imagen, video, etc. procesamiento de datos
Volviendo la Shell es un interprete de comandos, como ya
se ha dicho es el proceso que ejecuta la interpretacin de
la lnea de comando. Lee de su entrada estndar y ejecuta
el comando correspondiente a la lnea alimentada.
La ejecucin de un comando generalmente significa crear
un proceso secundario (hijo) para la ejecucin de un
comando.
En el caso mas simple, el interprete de comandos lee un
comando y se bifurca en un hijo (mediante la llamada
fork) para la ejecucin de dicho comando.
El proceso primario (padre) espera a que su hijo complete
la ejecucin antes de leer otro comando. Un interprete de
comandos real maneja entubamiento de procesos y
redireccionamiento, as como procesos en primer plano
(foreground), y de fondo (background) y seales.
Se tiene la enorme ventaja de que podemos cambiar de
interprete de ordenes segn nuestras necesidades o
preferencias. Existen diferentes shells: el Bourne Again
Shell (bash), el TC shell (tcsh), y el Z shell.
Espacios
Espacio de Usuario
syscalls
Sistema Operativo
Fuente: http://mike.passwall.com/nblug/kernel-talk/kernel-model1.png
kernel
Organizacin Interna
Kernels Monolticos
Un sistema operativo con ncleo monoltico concentra todas las funcionalidades posibles (planificacin,
sistema de archivos, redes, controladores de dispositivos, gestin de memoria, etc) dentro de un gran
programa. El mismo puede tener un tamao considerable, y deber ser recompilado por completo al
aadir una nueva funcionalidad. Todos los componentes funcionales del ncleo tienen acceso a todas
sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el
ncleo. Todos sus componentes se encuentran integrados en un nico programa que ejecuta en un
nico espacio de direcciones.
Kernel
Microkernels
Se conoce como microkernel al tipo de kernel de un sistema operativo que provee un conjunto de
primitivas o llamadas al sistema mnimas, para implementar servicios bsicos como espacios de
direcciones, comunicacin entre procesos y planificacin bsica. Todos los otros servicios (gestin de
memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provedos por el kernel,
se ejecutan como procesos servidores en espacio de usuario.
kernel
Organizacin interna:
http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
Configuracin del kernel
Qu es el ncleo? (II)
Existen dos versiones del Linux kernel:
Versin de produccin: La versin de produccin, es la versin estable hasta
el momento. Esta versin es el resultado final de las versiones de desarrollo
o experimentales. Cuando el equipo de desarrollo del kernel experimental,
decide que ha conseguido un kernel estable y con la suficiente calidad, se
lanza una nueva versin de produccin o estable. Esta versin es la que se
debera utilizar para un uso normal del sistema, ya que son las versiones
consideradas ms estables y libres de fallos en el momento de su
lanzamiento.
Versin de desarrollo: Esta versin es experimental y es la que utilizan los
desarrolladores para programar, comprobar y verificar nuevas
caractersticas, correcciones, etc. Estos ncleos suelen ser inestables y no se
deberan usar, a no ser que sepas lo que haces.
Configuracin del kernel
Qu es el ncleo? (III)
Como interpretar los nmeros de las versiones:
Las versiones del kernel se numeran con 3 nmeros, de la siguiente
forma: XX.YY.ZZ
XX: Indica la serie principal del kernel. Hasta el momento solo existen
4 versiones este numero cambia cuando la manera de
funcionamiento del kernel ha sufrido un cambio muy importante.
YY: Indica si la versin es de desarrollo o de produccin. Un nmero
impar, significa que es de desarrollo, uno par, que es de produccin.
ZZ: Indica nuevas revisiones dentro de una versin, en las que lo nico
que se ha modificado, son fallos de programacin / bugs.
Configuracin del kernel
Qu es el ncleo? (IV)
Unos ejemplos nos ayudaran a entenderlo mejor:
ej1: version del kernel 2.4.0: Kernel de la serie 2 (XX=2), version de
produccion 4 (YY=4 par), primera version de 2.4 (ZZ=0).
ej2: version del kernel 2.4.1: Kernel de la serie 2, version 4, en el que se
han corregido errores de programacin presentes en la version 2.4.0
(ZZ=1).
ej3: version del kernel 2.5.0: version 0 del kernel de desarrollo 2.5.
Configuracin del kernel
Por qu puedo necesitar actualizar el ncleo?
Los ncleos nuevos normalmente ofrecen la posibilidad de entenderse con
ms accesorios hardware (o sea, incluyen ms manejadores), se ejecutan
ms rpidamente, son ms estables o corrigen errores de otras versiones.
Mucha gente se actualiza el ncleo para poder usar nuevos manejadores
que necesitan o librarse de ``bugs'' de la versin que usaban.