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.
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