Cuál es el núcleo
Antes de que consigamos delante de nosotros mismos, hechemos una ojeada el papel del núcleo en el sistema operativo. En la mayoría de los sistemas operativos, incluyendo UNIX y Windows, el núcleo es software especial ese los varios elementos extremadamente importantes de los controles de la máquina. El núcleo se sienta entre los programas corrientes individuales y el hardware sí mismo. Realizando las varias funciones de economía doméstica críticas para el sistema operativo y actuando como enlace entre los programas user-level y el hardware, el núcleo sirve un papel crítico. Muchos núcleos, incluyendo ésos encontrados en los sistemas de UNIX y de Windows, incluyen las características siguientes de la base:
Con estas características, el núcleo está todo sobre control: el sentarse en los intersticios de los programas y del hardware de usuario y controlar qué sucede en la máquina. Mientras que funciona, el núcleo confía en las protecciones del hardware-nivel puestas en ejecucio'n en CPU del sistema. Usando la protección del hardware-nivel, el núcleo intenta salvaguardar sus propias estructuras de datos críticas de la manipulación accidental o deliberada por procesos user-level en la máquina. La mayoría de los CPUs incluyen características del hardware dejaron software en el sistema funcionado en diversos niveles del privilegio. La memoria y otros elementos del software altamente sensible (como el núcleo) no se pueden alcanzar por el código que funciona en un nivel menos-importante (e.g., procesos del usuario). En x86-compatible CPUs, estos diversos niveles de la sensibilidad se llaman los anillos, y gama del anillo 0, el nivel más sensible, sonar 3, el menos nivel sensible. Pues funciona diversas tareas, la CPU cambia entre estos diversos niveles dependiendo de la sensibilidad del software particular que se ejecuta actualmente. Para los sistemas operativos de Linux y de Windows, solamente se utilizan los anillos 0 y 3; las otras opciones apoyadas por x86 CPUs (es decir, los anillos 1 y 2) no se utilizan. El núcleo sí mismo, en Linux y Windows, funciona en el anillo 0. En el hecho, funcionando en el anillo 0 define una tarea dada como estando en el nivel del núcleo. Si usted funciona en el anillo 0, usted puede tener acceso a todas las estructuras de memoria del núcleo, y está por lo tanto en el mismo nivel que el código del núcleo. Los procesos del modo del usuario funcionados en el anillo 3, y, bajo la mayoría de condiciones, no pueden tener acceso al espacio del núcleo directamente. Confiando en el anillo 0 y el anillo 3, todo el software en la máquina realmente es dividido en dos diversos mundos: modo del núcleo (que funciona en el anillo 0) y modo del usuario (que funciona en el anillo 3). Para non-x86 CPUs, los sistemas operativos utilizan conceptos análogos para sonar 0 y el anillo 3 puestos en ejecucio'n en el hardware de CPU's. Casi toda la ayuda de CPUs una cierta noción de un modo privilegiado, donde vive el núcleo, y de a nonprivileged el modo para los procesos del usuario. Así pues, su sistema operativo realmente consiste en dos mundos: modo del usuario y modo del núcleo. El modo del usuario es lo que usted ve y obra recíprocamente típicamente con encendido una base cotidiana en su sistema, pues incluye los programas usted funciona, por ejemplo una cáscara del comando, un GUI, un mail server, o un editor de textos. El otro mundo, modo del núcleo, mentiras silenciosamente por debajo del acceso de manejo de la operación entera al hardware y cosas generalmente que controlan. Cuando un sistema patea para arriba, el núcleo se carga en memoria y comienza la ejecución en el anillo 0, de tal modo creando el primer mundo (modo del núcleo). Después de que el núcleo se consiga para instalar en memoria, activa los varios procesos del usuario-modo que permiten que los usuarios individuales tengan acceso al sistema y funcionen programas, de tal modo creando el mundo del usuario-modo. Es importante observar que el modo del núcleo es un concepto muy diverso de permisos de la raíz o del administrador. Cuando un administrador funciona un comando, un programa dado se ejecuta dentro de modo del usuario; es decir, en el anillo 3. De la perspectiva del núcleo, el administrador es justo otro usuario, no obstante importante, pero aún alguien que vive en el anillo 3. Cuando la mayoría del funcionamiento de los programas, controla a veces tiene que pasar de modo del usuario en modo del núcleo, por ejemplo cuando el programa necesita obrar recíprocamente con el hardware para imprimir a la pantalla, recibiendo un paquete, o una cierta otra acción. Cuando sucede esto, el control se pasa muy cuidadosamente de modo del usuario al modo del núcleo, a través de interfaces firmemente controlados. El software que pone esta transición en ejecucio'n del anillo 3 al anillo 0 se refiere como puerta de la llamada, pues actúa como puerta para los procesos del usuario-modo en el software que vive en modo del núcleo. Cuando los administradores piden una lista de programas corrientes usando las herramientas como el UNIX picosegundo, lsof, o comandos superiores o el encargado de la tarea de Windows, ejecutan un comando del modo del usuario, que pide el núcleo para enumerar todos los procesos corrientes. El núcleo ase datos de sus estructuras de datos del nu'cleo-modo, responde al comando del usuario-modo con la información apropiada, y se exhiben los procesos corrientes. Semejantemente, el administrador o los usuarios pudo pedir una lista de archivos en un directorio. El núcleo responde con la información apropiada. O, usted podría buscar que los puertos del TCP o del UDP son en uso, o si el interfaz de la red está en modo promiscuo. Usted puede ser que incluso funcione a inspector de la integridad del archivo para ver si cualesquiera de sus ficheros del sistema críticos se han alterado con un usuario-modo RootKit. Todas estas interacciones, y lejos más, confían en el núcleo para determinar el estado de la máquina. Ése es cómo es todo supuesto trabajar. El núcleo toma el cuidado del negocio, y cada uno es feliz. esto es un artículo agregado por el Rafael Kwan
|
|||||
|