Linux entrada y salida, memoria, seguridad.

Solo disponible en BuenasTareas
  • Páginas : 10 (2475 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de diciembre de 2009
Leer documento completo
Vista previa del texto
Planificación de procesos en Linux
El algoritmo de planificación de linux es uno de sus puntos fuertes, y donde realmente se muestra superior a otros sistemas operativos.
Filosóficamente respeta la estructura de un planificador round robbin multinivel con prioridad dinámica, no cae en el defecto de este: emplear tiempo recalculando prioridades dinámicas.

En el planificador de Linuxdisponemos de una cola por procesador de procesos planificados, denominada “runqueue”. Una cola por procesador evita el efecto “rebote” de un único proceso entre procesadores, con el consiguiente descarte y recarga constante de la cache del procesador.
Cada runqueue consta de una estructura prio_array, que contiene un puntero a una estructura de FIFOs por prioridad.
La búsqueda es muy eficiente: elbitmap nos permite localizar rápidamente el proceso mas prioritario sin recorrer colas

Con estas estructuras localizar el próximo proceso ejecutable por procesador es muy eficiente: basta con ir al bitmap de prioridades, y de ahí directos a la cola mas prioritaria con algún proceso planificado. Si no hay procesos planificados, entonces le quitamos un proceso a otro procesador tomándolo de otrorunqueue. Si no hay mas procesos planificados en otras que podamos traer a este runqueue, se entra en iddle
-básicamente, perdemos tiempo durante un slice muy corto, ya que el procesador siempre tiene que estar ejecutando algo-.

La solución de Linux al problema del calculo de la prioridad dinámica es simple y elegante. Dado que solo recalcularemos los slices y las prioridades cuando gastemos elslice completo, mantendremos 2 matrices de prioridades dinámicas por runqueue: una de procesos con slices consumidos, y otra con no consumidos.
Cada ves que un proceso consume su porcion de procesador recalculamos su prioridad y su slice y lo insertamos en la matriz de prioridades de procesos con slices consumidos. Cuando queremos recalcular oficialmente los timeslices y las prioridades, solo esnecesario intercambiar las 2 matrices, asi no ha hecho falta recorrer toda la lista de procesos buscando que timeslices recalculamos.
Esta solución hace que el algoritmo de planificación de Linux sea eficiente hasta con altas cargas, alto numero de procesadores y altas cantidades de procesos.

Seguridad en Linux
Los problemas de seguridad se pueden clasificar en 2 grupos>

Validacion.Asegurarse de que nadie pueda tener acceso al sistema sin antes demostrar que tiene derecho de entrar.
Control de acceso. Proporcionar un mecanismo para verificar si un usuario tiene derecho de acceder a un objeto dado, y evitar el acceso a objetos si es necesario.

Validacion
La validacion en UN falta

Multiprocesamiento simetrico

El nucleo de Linux 2.0 fue el primer núcleo Linux estable quemanejó hardware de multiprocesador simétrico (SMP, symmetric multiprocessor). Procesos o hilos individuales se pueden ejecutar en paralelo en procesadores distintos. Sin embargo, a fin de conservar los requisitos de sincronización no expropiable del núcleo, la implemetancion de SMP en este núcle impone la restricción de que sólo un procesador a la vez puede estar ejecutando código en modo denúcleo. SMP usa una sola cerradura giratoria en el núcleo para hacer cumplir esta regla. Dicha cerradura no representa un problema para las tareas limitadas por cómputo, pero las que implican una cantidad de actividad del núcleo pueden atorarse en un cuello de botella.

Gestion de memoria

La gestión de memoria en Linux tiene 2 componentes. Primero, el sistema de gestión de memoria física se encargade asignar y liberar páginas, gupos de páginas y bloques pequeños de memoria. El segundo componente maneja la memoria virtual, que es memoria que tiene correspondencia en el espacio de direcciones de procesos en ejecución.

Describiremos los 2 componentes y luego examinaremos los mecanismos mediante los cuales los componentes cargables de un programa nuevo se traen a la memoria virtualo de un...
tracking img