Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

KERNEL DE LINUX

No description
by

jhon vinasco

on 3 November 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of KERNEL DE LINUX

GRACIAS
LINUX
Las funciones más importantes del mismo, aunque no las únicas, son:

Administración de la memoria
para todos los programas y procesos en ejecución.

Administración del tiempo de procesador
que los programas y procesos en ejecucion utilizan.
• Es el encargado de que podamos
acceder a los periféricos/elementos
de nuestro ordenador de una manera cómoda.

Hasta que empezó el desarrollo de la serie 2.6 del núcleo, existieron dos tipos de versiones del núcleo:
• Versión de desarrollo:
Esta versión era experimental y era la que utilizaban los desarrolladores para programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos solian ser inestables y no se debian usar sin saber lo que se hacia.

• Versión de produccion:
Esta version era el resultado final de las versiones de desarrollo o experimentales.

Dónde conseguir el núcleo
El núcleo denominado "
vanilla
" (sin alteraciones y suministrado por Linus Torvalds) se puede bajar de un gran número de servidores en internet pero el sitio oficial
es
http://www.kernel.org/.
En este enlace tienes la lista internacional oficial de servidores espejos, de donde es posible bajarse cualquier versión del núcleo (última y antigüas).
TIPOS DE KERNEL
Microkernel

Un microkernel adopta el enfoque de sólo administrar lo que tiene : CPU, memoria, y el IPC. Casi todo lo demás en una computadora puede ser visto como un accesorio y se puede manejar en modo de usuario. Los Micronúcleos tienen una ventaja de la portabilidad.

Kernel Monolitico
Tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios.

Kernel Híbrido
Tienen la capacidad de escoger y elegir lo que desea ejecutar en modo de usuario y lo que desea ejecutar en modo supervisor. Muchas veces cosas como los controladores de dispositivo y sistema de archivos de E / S se ejecutará en modo de usuario mientras que las llamadas IPC y el servidor se mantendrá en el modo de supervisor.

Arquitectura del Kernel Linux
Debido a que el kernel de Linux es
monolítico
, tiene más complejidad que en los otros tipos de kernels. Esta fue una característica de diseño que estaba bajo un poco de debate en los primeros días de Linux y aún tiene algunos de los defectos de diseño que los núcleos monolíticos son inherentes a tener.

Módulos del Kernel
Los módulos del kernel, también conocido como un módulo del kernel cargables (LKM), son esenciales para mantener el funcionamiento del núcleo con todo el hardware sin consumir toda la memoria disponible.
Un módulo generalmente, aumenta la funcionalidad del núcleo de base para cosas como los dispositivos, sistemas de archivos y las llamadas al sistema.
KERNEL DE LINUX
El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.
* SEGÚN UTILIZACIÓN DE RECURSOS

* SEGÚN INTERACTIVIDAD
* SEGÚN # DE USUARIOS
* SEGÚN # DE COMPUTADORES
Multitarea,
varias tareas a la vez
Multiprocesador,
varios procesos en cada microprocesador.
Batch,
maneja procesos en lote; por ejemplo epm.
Tiempo compartido,
ejecuta procesos alternos al tiempo.
Tiempo Real,
transacciones que comienza y termina; por ejemplo los ATM.
Multiusuario,
(servidor).
Sistema Distribuido.
KERNEL
El kernel de linux se puede dividir en los siguientes subsistemas.
* Nivel de Abstracción de Hardware
* Administración de Memoria
* Sistemas de Archivos
* Subsistema de E/S
* Subsistema de Red
* IPC

Nivel de Abstracción de Hardware (HAL).
Éste se encarga de virtualizar el Hardware para que los drivers puedan ser portados de manera fácil sobre cualquier plataforma.
Administración de Memoria.
Es el responsable de manejar y controlar el acceso a los recursos de memoria física del sistema, provee de espacios de memoria dinámica a subsistemas del Kernel, como drivers, archivos de sistema. Además implementa el software necesario para brindar memoria virtual para aplicaciones de usuario,
Sistema de Archivos.
Sistema de Archivos Virtual (VSF: Virtual File System), éste proporciona una visión consistente de los archivos que se encuentren en los posibles dispositivos de almacenamiento empleando niveles de abstracción que hacen transparente al usuario detalles del dispositivo físico y de la lógica del sistema de archivos.
Subsistemas de Entrada/Salida.
Éste brinda una interface simple y uniforme para los dispositivos de la plataforma.

• Dispositivos de caracteres que soportan dispositivos secuenciales.
• Bloques de dispositivos para el soporte de dispositivos de acceso aleatorio, son indispensables para la implementación de sistemas de archivos.
• Dispositivos de Red que soportan una variedad de dispositivos a nivel de enlace.
Subsistemas de Red.
Uno de los fuertes del Linux es un soporte robusto para varios protocolos de comunicación en red.
IPC.
Los mecanismos de Comunicación Inter Procesos (IPC) son los encargados de la comunicación entre el Kernel y los demás procesos activos para que en conjunto se puedan realizar las funciones correctamente.
MODOS DE TRABAJO
Puede trabajar en dos modos:
usuario
o
kernel.
la mayoria de los de programas de los usuarios se hacen en modo usuario o "user mode". Este modo de ejecución no tiene acceso directo a las estructuras de datos del kernel o a los equipos hardware.

PROCESOS

Un proceso es una instancia de un programa en ejecución. Cada proceso tiene:
1.

Un estado
, ya sea ’running’ (ejecutándose en el procesador), ’sleeping’ (durmiendo, un proceso que está esperado que un evento se termine), ’runnable’ o ’ready’ (listo para ser ejecutado y esperado en la cola de procesos), ’stopped’ (parado ya sea por una señal de control o porque están haciendole un trace) o zombie (zombie el proceso esta apunto de ser eliminado).
2.
Un contexto
, una copia con todos los registros de la CPU que indican el estado del proceso (PC, SP, PSW, registros de propósito general, registros de coma flotante y regsitros para el control de memoria)
3.
Un descriptor de procesos
, es una estructura de datos del tipo task_struct que guarda toda la información relacionada con un proceso.


Sincronización
El kernel es
reentrante
, varios procesos pueden estar ejecutándose en modo kernel a la vez. Por supuesto, en un sistema con solo un procesador solo un proceso puede ejecutarse, porque el resto de procesos están bloqueados esperando en una cola.
Comunicación entre procesos
Una señal es un mensaje corto, enviado entre dos procesos o entre el kernel y un proceso. Hay dos dipos de señales que se usan para notificar eventos a del sistema a los procesos:
Eventos asíncronos. Por ejemplo SIGTERM, enviado cuando se usa el Ctrl-C del teclado.
Errores o excepciones síncronas. Por ejemplo SIGSEGV cuando un proceso intenta acceder a una dirección ilegal.

Control de la Memoria
Linux usa memoria virtual, un nivel de abstracción entre los pedidos de memoria por parte de los procesos y las direcciones físicas de la memoria. Así hace posible lo siguiente:
1.
Permite que muchos procesos corran incluso cuando la suma de toda la memoria exceda la RAM física disponible.
2.
Hace posible también un espacio de direcciones contigua, independiente a la organizacioón de la memoria física.
3.
Paginado, porciones de datos o código que solo necesitan cargarse en memoria cuando se ejecutan o son accedidos y pueden intercambiarse a disco cuando no son necesarios.
4.
Imágenes compartidas de programas y librerias, haciendo un uso más efi- ciente de la memoria.
5.
Recolocación de los programas en memoria de forma completamente transparente.

CIBERGRAFÍA
http://www.linux-es.org/kernel

http://www.taringa.net/posts/linux/7676622/Que-es-el-kernel-de-Linux-y-cual-es-su-tarea.html

http://datateca.unad.edu.co/contenidos/208006/sistemas_embebidos_contenido/leccin_no_9__caractersticas_del_kernel_de_linux.html

http://users.salleurl.edu/~is06200/linux/kernel.htm

http://es.kioskea.net/contents/316-linux-shell

http://cosaslinux.blogspot.com/2012/08/algunos-comandos-en-linux.html?m=1

http://www.taringa.net/comunidades/matrixubuntu/658171/Quieres-saber-quien-usa-Gnu-Linux.html
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.
Indicador del sistema
La shell se inicia al leer su configuración completa (en un archivo del directorio /etc/).
De manera predeterminada, para la mayoría de las shells, el indicador consiste en el nombre del equipo, seguido de dos puntos (:), el directorio actual y después un carácter que indica el tipo de usuario conectado:
"$" especifica un usuario normal
"#" especifica el administrador, llamado "root"

El concepto de línea de comandos
Una línea de comandos es una cadena de caracteres formada por un comando que corresponde a un archivo ejecutable del sistema o, más bien, un comando de shell como así también
argumentos opcionales (parámetros):
ls -al /home/jf/
En el comando anterior, ls es el nombre del comando, -al y home/jean-francois/ son argumentos.

Entrada-salida estándar
*
stdin
, denominado entrada estándar, en cuyo caso el proceso lee los datos de entrada.

*
stdout
, denominado salida estándar, en cuyo caso el proceso escribe los datos de salida.

*
stderr
, denominado error estándar, en cuyo caso el proceso escribe los mensajes del error.

Por lo tanto, de manera predeterminada, cada vez que se ejecuta un programa, los datos se leen desde el teclado y el programa envía su salida y sus errores a la pantalla. Sin embargo, también es posible leer datos desde cualquier dispositivo de entrada, incluso desde un archivo, y enviar la salida a un dispositivo de visualización, un archivo, etc.

Redirecciones
Como cualquier sistema Unix, Linux posee mecanismos que permiten redirigir la entrada-salida
estándar a archivos.
Por lo tanto, si se usa el carácter ">", se puede redirigir la salida estándar de un comando que se
encuentra a la izquierda a un archivo que se encuentra a la derecha:
ls -al /home/jf/ > toto.txt echo "Toto" > /etc/miarchivodeconfiguración

Tuberías de comunicación
Las tuberías (en inglés "pipes") (literalmente “tuberías”) son mecanismos de comunicación
específicos para todos los sistemas UNIX. Una tubería, simbolizada por una barra vertical
(carácter "
|
"),
permite asignar la salida estándar de un comando a la entrada estándar de otro
, de la misma forma en que una tubería permite la comunicación entre la entrada estándar de un
comando y la salida estándar de otro.

Algunos comandos en Linux
cd
Permite ingresar o salir de un directorio o lo que se conoce como carpeta.

entrar a la carpeta
cd nombreCarpeta

salir dela carpeta
cd ..

ir al home del usuario
cd

ir a la raiz del sistema
cd /


rm
borra los archivos o directorios

borrar archivo
rm nombreArchivo

borrar todos los archivos en el directorio actual
rm *

borrar los archivos con la extension
rm *.jpg

borrar un directorio
rm -r nombreDirectorio
mv
mueve el archivo o el directorio

mover un archivo
mv archivo destino

mover un directorio
mv -t directorio destino

cp
copia el archivo

mkdir
crea un directorio


su
Otorga privilegios de root o cambia de usuario

cambiar al root
su
e ingresamos el password del root

cambiar a otro usuario
su nombreUsuario
e ingresamos el password del usuario

ls
lista el contenido de un directorio

listar el contenido con la información del los archivos y directorios
ls -l

listar el contenido del /etec/
ls /etc/

listar el contenido por páginas
ls | more

ls | less
y termina presionando q

lscpu
muestra las características de la CPU

lspci
muestra los dispositivos conectados a los buses PCI

lsusb
muestra los dispositivos USB en el sistema
du
muestra el uso de archivos y directorios

df
muestra el uso en discos duros y particiones

date
muestra la hora y fecha actual

cal
muestra un calendario

who
lista los usuarios conectados al sistema

whoami
muestra quien soy

whereis
localiza el binario y documentación de un comando

which
muestra la ruta completa de un comando

vi
editor de texto

shutdown
apaga el equipo

apagar el equipo en 20 minutos
shutdown -h 20

halt
apaga el equipo

reboot
reinicia el equipo

sort
ordena lineas de archivos y listas en forma ascendente y alfabética
ps
muestra los procesos del sistema, del usuario o ambos

ver todos los procesos
ps -A

pstree
muestra los procesos del sistema en árbol

kill
termina procesos indicandole el PID del proceso

terminar un proceso
kill numeroPIDproceso

o mucho mejor
kill -9 numeroPIDproceso

more
paginador de la salida estándar o archivos, solo avanza y no retrocede

less
paginador mas avanzado que el more, permite ver el contenido de archivos, avanza y retrocede


id
muestra el UID(user id) y GID(group ID) del usuario

history
muestra el historial de comando del usuario

head
despliega las primeras 10 lineas de un archivo

tail
despliega las ultimas 10 lineas de un archivo

grep
busca patrones de cadenas dentro de archivos o la salida de un comando

file
determina el tipo de archivo

file archivo

eject
desmonta y expulsa un medio removible
Sistema Distribuido
Sistema Centralizado
Quién Utiliza Linux?
La NASA utiliza linux no sólo en sus servidores y sus supercomputadoras sino tambien en la mayoria de computadoras de escritorio e incluso en la estación espacial internacional.
El gran colisionador de partículas usa Gnu/Linux
Scientific Linux, basada en Red Hat Enterprise.
Google dijo:Si algo puede ser uno de los secretos del éxito de Google, eso es Gnu/Linux. Este Sistema Operativo Libre es utilizado mayoritariamente en toda la compañía.
El FBI migró a Linux en 2002 por ser un sistema más seguro y con capacidad de manejar gran cantidad de datos, además tambien usa Linux porque es mas facil espiar otras computadoras desde este sistema operativo y administrar redes de información confidencial
La Wikimedia Foundation siempre ha tenido sus servidores corriendo sistemas operativos basados en Gnu/Linux.
El 91% de las supercomputadoras del mundo usa Linux.

* procesadores: 45.000 procesadores AMD Opteron de 4 núcleos cada uno.
* Memoria RAM: 362TB (1 TB=1000 GB)
* Disco Duro: 10 PB (10.240 TeraBytes) *
Bing (de Microsoft) usa Linux

La bolsa de New York usa Linux
El centro del capitalismo, en el propio país de Microsoft...ya se ve como empiezan a bajar las acciones de Microsoft.
Full transcript