Está en la página 1de 18

Universidad Tecnolgica del Per

SISTEMAS OPERATIVOS
Semestre: 2011 II Ciclo: III (TERCERO) PROFESOR: CARLOS JARA ALVA

Qu es el Kernel?


Es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Las funciones ms importantes del mismo, aunque no las nicas, son:
Administracin de la memoria para todos los programas y procesos en ejecucin. Administracin del tiempo de procesador que los programas y procesos en ejecucin utilizan. Es el encargado de que podamos acceder a los perifricos/elementos de nuestro ordenador de una manera cmoda.

Tipos de Kernel


Los ncleos monolticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los microncleos, proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. Los hbridos (microncleos modificados) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente. Los exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

Kernel Linux


Este ncleo, escrito casi completamente en C con algunas extensiones GNU C, fue desarrollado por el finlands Linus Torvalds en un intento por obtener un sistema operativo libre similar a Unix que funcionara con microprocesadores Intel 80386. Hoy por hoy, Linux es un ncleo monoltico hbrido. Los controladores de dispositivos y las extensiones del ncleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario. A diferencia de los ncleos monolticos tradicionales, los controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y descargar fcilmente como mdulos, mientras el sistema contina funcionando sin interrupciones.

Creacin de procesos


Un proceso puede crear varios procesos nuevos a travs de una llamada al sistema para la creacin de procesos, durante el curso de la ejecucin. El proceso creador se denomina proceso padre, en tanto que los nuevos son sus hijos. Cada uno de estos nuevos procesos puede a su vez crear otros, formando asi un rbol de procesos.

RAIZ

DOMINIOS DE PAGINAS

INTERCAMBIADOR

INIT

USER1

USER2

USER3

Creacin de procesos


Cuando un proceso crea uno nuevo, existen dos posibilidades en trminos de ejecucin:
El padre continua ejecutndose de manera concurrente con sus hijos El padre espera hasta que alguno o todos sus hijos hayan terminado.

Tambin hay dos posibilidades en trminos del espacio de direcciones del nuevo proceso:
El proceso hijo es un duplicado del proceso padre. Se carga un programa en el proceso hijo.

Creacin de procesos


En Linux cada proceso se identifica mediante su identificador de proceso (PID), el cual es un entero nico. Un proceso nuevo se crea por la llamada al sistema fork (bifurcar). El proceso nuevo consiste en una copia del espacio de direcciones del proceso original; este mecanismo permite que el proceso padre se comunique fcilmente con su proceso hijo.

Procesos cooperativos


Los procesos concurrentes que se ejecutan en el sistema operativo pueden ser procesos independientes o bien procesos cooperativos. Un proceso independiente si no puede afectar o verse afectado por los otros procesos que se estn ejecutando en el sistema. Obviamente, un proceso es independiente si no comparte algun dato con cualquier otro proceso. Por otra parte un proceso cooperativo si puede afectar o verse afectado por los otros procesos que se estn ejecutando en el sistema; cualquier proceso comparte datos con otros procesos es un proceso cooperativo.

Razones para realizar una cooperacin entre procesos




Compartir informacin. Debido a que varios usuarios pueden estar interesados en la misma pieza de informacin (por ejemplo, un archivo compartido), debemos proporcionar un ambiente que permita el acceso concurrente a estos tipos de recursos. Aceleracin de clculos. Si deseamos que una tarea particular se ejecute mas rpido, la debemos descomponer un subtareas, cada de las cuales se estar ejecutando en paralelo con las otras.

Razones para realizar una cooperacin entre procesos


Modularidad. Tal vez queramos construir el sistema en forma modular, dividiendo las funciones del sistema en proceso distintos o hilos.  Conveniencia. Incluso un usuario individual puede tener varias tareas sobre las cuales trabajar en un momento, por ejemplo, un usuario puede estar editando, imprimiendo y compilando en paralelo.


Procesos en Linux usando comandos




#ps ax | grep samba


El comado grep permite buscar una palabra en especial de una lista de registros o un archivo en especial.

#ps ax | tee reporte1


El comando tee permite enviar la informacin (crea un archivo) de la lista.

#ps ax | grep httpd | tee reporte2  #ps ax | tee reporte2




Procesos en Linux usando comandos




#pstree
El comado pstree permite mostrar los procesos en forma de arbol o estructuras.

#ps ax | tee reporte1


El comando tee permite enviar la informacin (crea un archivo) de la lista.

#ps ax | grep httpd | tee reporte2  #ps ax | tee reporte2




NIVELES DE EJECUCION INIT


Init 0 Apaga el sistema Operativo Init 1 Tipo monousuario Init 2 Tipo monousuario pero con acceso de red Init 3 Acceso a todos los niveles, red, acceso remoto pero sin modo grafico. Init 4 No usado Init 5 Modo grafico con todos los accesos. Init 6 Reiniciar el sistema Operativo

Demonios


Pero muchos que se ejecutan escondidos en sistemas GNU/Linux en segundo plano, no estn conectados a ninguna terminal y no generan entradas y salidas visibles. Estos procesos son llamados demonios (daemons). En GNU/Linux, son programas que se encargan de gestionar y administrar el sistema. Son varios y permiten la automatizacin de GNU/Linux hasta lmites insospechados

La carpeta /etc/init.d
En esta ruta se encuentran todos los demonios o servicios que permiten ayudar o mejorar el nivel de la PC o de la red. Dentro de esta ruta se pueden encontrar 3 tipos de estados:
Start inicia el servicio Stop detiene el servicio Restart Detiene e inicia el servicio. Status Visualiza el PID y analiza es estado actual del servicio.

Llamar a un servicio
Para llamar a un servicio es necesario estar en la ruta /etc/init.d y luego colocar #./nombre_servicio estado Ejemplo: #./sshd status #./sshd restart Tambin se puede usar el comando service que me permite realizar a misma tarea que cuando nos encontramos en el /etc/init.d. Solo que con este comando se podra activar el servicio desde cualquier punto de la raz #service sshd status

Servicios permanentes
Para dejar un servicio en forma permanente usamos el comandos
#ntsysv

Los expuesto anteriormente solo activa los servicios en forma temporal

También podría gustarte