lunes, 2 de diciembre de 2013

Operacion del sistema operativo multiusuario sobre Linux


Opera el sistema operativo Multiusuario considerando los aspectos funcionales del sistema informatico
8 Noviembre - 12 Diciembre 35%


Introducción Sistema Operativo Linux:

Linux es un núcleo libre de sistema operativo (también suele referirse al núcleo como kernel) basado en Unix.4 Es uno de los principales ejemplos de software libre y de código abierto.5 Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en la Linux Kernel Mailing List Archive
El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finlandés Linus Torvalds en 1991. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para usarlo con el nuevo sistema operativo.7 El núcleo Linux ha recibido contribuciones de miles de programadores de todo el mundo.8 Normalmente Linux se utiliza junto a un empaquetado de software, llamado distribución Linux y servidores.

Sistema de ficheros de Linux:

En primer lugar vamos a definir un sistema de ficheros como la organización lógica de un dispositivo que nos permite almacenar y recuperar información en forma de fichero. Existen diversos tipos de sistemas de ficheros, es decir diferentes formas de organizar la información en un dispositivo, normalmente discos. Entre los más habituales tenemos:
·         *ext2, ext3 Es el sistema de ficheros nativo de Linux. Se organiza en un superbloque, i-nodos y área de datos. Este tipo de sistema de ficheros admite características multiusuario para indicar los permisos y la propiedad de ficheros y directorios.
·         *vfat 12, 16 y 32 Es el sistema de ficheros usados por la gama baja de las plataformas win32. No admite características multiusuario como propiedad de ficheros. Estos tipos de sistemas de ficheros se basan en un directorio y una tabla de localización que dependiendo del tamaño de cada elemento se denomina FAT 12, 16 o 32. Linux los admite sin ningún problema, aunque siempre es preferible usar ext2.
·          *iso9660Es el sistema de ficheros propio de los CDROM.
·         *msdos Análogo a los sistemas FAT, aunque sólo admite ficheros con nombre 8+3.

Interprete de comandos Linux Shell

El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Por esta razón, se le da el nombre inglés "shell", que significa "caparazón".
Por lo tanto, la shell actúa como un intermediario entre el sistema operativo y el usuario gracias a líneas de comando que este último introduce. Su función es la de leer la línea de comandos, interpretar su significado, llevar a cabo el comando y después arrojar el resultado por medio de las salidas.


Principales ordenes de Linux:
ls : Listar archivos y directorios
cp : Copiar archivos y directorios
pwd : Mostrar el nombre del directorio de trabajo actual
cd : Cambiar de directorio
sort : Ordenar ficheros
mkdir : Crear directorios
touch : Crear o actualizar ficheros
rm : Borrar archivos y/o directorios
rmdir : Borrar directorios vacios
mv : Mover o renombrar archivos
more : Muestra ficheros página a página
less : Muestra Ficheros página a página
cat : Mostrar ficheros de forma continua
head : Ver el inicio de un archivo
tail : Ver las últimas líneas de un archivo
find : Buscar archivos
grep : Buscar el patrón pasado como argumento en uno o más archivos
wc : Calcular la cantidad de cadenas y palabras en archivos
ln : Crea enlace entre ficheros

Establece un buen entorno de trabajo mediante la creación de dos nuevos ficheros de inicio para el intérprete de comandos bash. Estando en el sistema como usuario lfs, ejecuta los siguientes comandos para crear un .bash_profile nuevo:  

Cuando entras como usuario lfs el intérprete de comandos inicial es un intérprete de ingreso que lee el /etc/profile de tu anfitrión (que posiblemente contenga algunos ajustes de variables de entorno) y luego lee .bash_profile. El comando exec env -i.../bin/bash del fichero .bash_profile sustituye el intérprete de comandos en ejecución por uno nuevo con un entorno completamente vacío, excepto por las variables HOME, TERM y PS1. Esto asegura que en el entorno de construcción no aparezcan variables de entorno indeseadas o dañinas procedentes del sistema anfitrión. La técnica aquí usada consigue el objetivo de asegurar un entorno limpio.
La nueva instancia del intérprete comandos es un intérprete de no ingreso que no lee los ficheros /etc/profile o .bash_profile, pero en su lugar lee el fichero .bashrc. Crea ahora el fichero .bashrc

Cuando entras como usuario lfs el intérprete de comandos inicial es un intérprete de ingreso que lee el /etc/profile de tu anfitrión (que posiblemente contenga algunos ajustes de variables de entorno) y luego lee .bash_profile. El comando exec env -i.../bin/bash del fichero .bash_profile sustituye el intérprete de comandos en ejecución por uno nuevo con un entorno completamente vacío, excepto por las variables HOME, TERM y PS1. Esto asegura que en el entorno de construcción no aparezcan variables de entorno indeseadas o dañinas procedentes del sistema anfitrión. La técnica aquí usada consigue el objetivo de asegurar un entorno limpio.
La nueva instancia del intérprete comandos es un intérprete de no ingreso que no lee los ficheros /etc/profile o .bash_profile, pero en su lugar lee el fichero .bashrc. Crea ahora el fichero .bashrc

El comando set +h desactiva la función de tablas de dispersión (hash) de bash. Normalmente, esta función es muy útil: bash usa una tabla de dispersión para recordar la ruta completa de los ejecutables, evitando búsquedas reiteradas en el PATH para encontrar el mismo binario. Sin embargo, las nuevas herramientas deberían utilizarse a medida que son instaladas. Al desactivar esta característica, el intérprete de comandos siempre buscará en el PATH cuando deba ejecutarse un programa. Por tanto, el intérprete de comandos encontrará las herramientas recién compiladas en $LFS/tools tan pronto como estén disponibles, sin recordar una anterior versión del mismo programa en una ubicación diferente.  

Entorno gráfico:

Una de las opciones más interesantes que he encontrado en Linux es la posibilidad de hacer las tareas, instalar, ejecutar algún programa, hacer alguna función, ect. de dos maneras. La primera y más complicada seria con la consola de comandos, escribiendo líneas de comandos para llevar a cabo alguna funciona. 

Y la segunda haciendo uso de los Entornos gráficos de Linux. En Linux puedes elegir que entorno gráfico utilizar. Cada entorno gráfico tiene un diseño y unas características diferentes las cuales hacen que puedas elegir uno u otro dependiendo de para que lo vayas a utilizar y también tu gusto personal.  





Procesos de Linux:


El hecho de que el sistema operativo sea multitarea implica que podamos ejecutar más de un programa a al vez. Un proceso noe s más que un programa o aplicación cargado en memoria y ejecutándose. Aunque nuestro ordenador sólo disponga de una CPU, el sistema operativo se encarga de repartir el tiempo de procesamiento de la misma para que varios procesos puedan ir ejecutando sus operaciones, dando la sensación de una ejecución paralela.

Para identificar de forma inequívoca cada proceso, el núcleo del sistema les asigna un número llamado PID (Process IDentification). Aunque podríamos pensar que sólo con el nombre ya tendríamos suficiente para identificarlo, es imprescindible tener el PID ya que podemos ejecutar un proceso tantas veces como queramos (tendríamos varias instancias del mismo proceso, pero cada una con un PID distinto).
                                                                                                                        
Tareas programadas en linux

Linux tiene un demonio cron que normalmente se ejecuta en el arranque de linux. Este demonio despierta cada minuto, mira si tiene que ejecutar alguna tarea, la ejecuta y se duerme. Si queremos que algún comando o tarea se ejecute automáticamente cada cierto tiempo, la forma de hacerlo es indicándole a este demonio que lo haga.
Hay varios ficheros en el sistema operativo y para cada ususario en el que este demonio busca tareas para ejecutar. Uno de ellos es /etc./crontab. El formato de este fichero es
minuto hora dia_del_mes mes dia_de_la_semana usuario comando
Donde minuto, hora, dia_del_mes, mes y dia_de_la_semana son lo que parecen, a qué hora, minut, etc se debe ejecutar el comando. En estos campos se pueden poner comodines y hay varios formatos. Por ejemplo, un * en minuto es en todos los minutos.
* 4 * * *    significa todos los minutos de las cuatro de la madrugada, todos los días, todos los meses. Es decir, se ejecuta 60 veces a las 4:00 am, 4:01 am, ... 4:59 am y ya no más hasta el día siguiente.
También se pueden poner rangos o valores discretos, así
10,20,30 * * * * significa todos los días a todas las horas en los minutos 10, 20 y 30, es decir, a las 0:10 am, 0:20 am, 0:30 am, 1:10 am, 1:20 am,  etc, etc.
*/15 10-14 * * * significa cada 15 minutos entre las 10 am y las 2 pm (las 14).
y así un largo etcétera. 

 















 
 

0 comentarios:

Publicar un comentario