# data[].attributes.body
Manejo de Archivos
Linux dispone de un numeroso conjunto de utilidades para manipular archivos (individualmente o en grupos) tipeando comandos en una terminal. A través de esta modalidad de trabajo es posible alcanzar un alto nivel de flexibilidad y versatilidad para realizar operaciones de cualquier grado de complejidad.

Manejo de Seguridad
Los problemas de Debian siempre se manejan abiertamente, incluso los relacionados con la seguridad. Los problemas de seguridad se discuten abiertamente en la lista de correo de debian-security. Los avisos de seguridad de Debian (DSA) se envían a listas de correo públicas (tanto internas como externas) y se publican en el servidor público. No se ocultarán los problemas. Mantendremos toda nuestra base de datos de informes de errores abierta al público en todo momento. Los informes que las personas presenten en línea se volverán visibles rápidamente para los demás. Las actualizaciones de seguridad son la primera prioridad. Cuando aparece un problema de seguridad en un paquete de Debian, la actualización de seguridad se prepara tan rápido como es posible y se distribuye para las versiones estable e inestable, incluyendo todas las arquitecturas.

# data[].attributes.body
Manejo de Memoria
Linux soporta las características de Memoria Virtual (virtual memory). Esto significa usar un disco como una extensión de la memoria RAM, de forma tal que el tamaño efectivo de memoria utilizable crezca considerablemente. El kernel se encarga de escribir el contenido de un bloque de memoria que no está siendo utilizado al disco rígido de forma que esta porción de memoria quede disponible para otro propósito. Cuando los bloques originales vuelven a ser requeridos, son leídos y colocados nuevamente en memoria. Los programas ejecutados bajo Linux solo ven una gran cantidad de memoria disponible y no saben que parte de ellos reside en el disco en un momento dado. Por supuesto que leer y escribir en el disco es mucho mas lento que utilizar la memoria real (en el orden de 1000 veces mas lento), Por lo que los programas se tornan mucho mas lento también.
Linux puede utilizar tanto un archivo normal en el sistema de archivos como una partición separada del disco como área de swap. Una partición swap es mucho mas rápida, pero es mucho mas fácil cambiar el tamaño del área de swap si este es un archivo (y no hay necesidad de particionar el disco rígido entero, y posiblemente instalar todo desde cero).

# data[].attributes.body
Manejo de Procesos
Linux es un sistema operativo multitarea, por lo que habrá muchos procesos funcionando al mismo tiempo y cada uno querrá consumir todos los recursos del sistema que necesita. El sistema operativo es el encargado de conceder los recursos hardware a cada uno los procesos, pero el administrador del sistema tiene mecanismos para consultar o modificar los procesos en ejecución.

A cada proceso se le asigna un identificador único (PID) de esta forma podremos referirnos a él sin posibilidad de confusión con ningún otro. También tendrá otros datos asociados como el PID del padre (PPID del proceso que lo creó), tiempos de consumo de recursos, cantidad de memoria ocupada, comando que se usó para lanzar el proceso, etc..

# data[].attributes.body
Características

La combinación de la filosofía y metodología de Debian, las herramientas GNU, el núcleo Linux, y otro software libre importante, forman una distribución de software única llamada Debian GNU/Linux. Esta distribución está formada por un gran número de paquetes. Cada paquete en la distribución contiene ejecutables, scripts, documentación e información de configuración, y tiene un encargado, quien es el principal responsable de mantener el paquete actualizado, hacer un seguimiento de los informes de fallo y comunicarse con los autores principales del programa empaquetado. Nuestra gran base de usuarios en conjunto con nuestro sistema de seguimiento de fallos aseguran que los problemas se encuentren y resuelvan rápidamente.
La atención que pone Debian a los detalles nos permite producir una distribución de alta calidad, estable y escalable. La instalación puede configurarse fácilmente para cumplir diversas funciones, desde cortafuegos reducidos al mínimo, a estaciones de trabajo científicas o servidores de red de alto rendimiento.
Debian es especialmente popular entre los usuarios avanzados debido a su excelencia técnica y compromiso con las necesidades y expectativas de la comunidad Linux. Debian también introdujo muchas características a Linux, que ahora son comunes.
Debian fue la primera distribución de Linux en incluir un sistema de gestión de paquetes para permitir una fácil instalación y desinstalación del software. Además, también fue la primera que podía actualizarse sin necesidad de una reinstalación.

# data[].attributes.body
Manejo de Seguridad

Los Gentoo Linux Security Advisories (GLSA) -Avisos de Seguridad de Gentoo Linux- son notificaciones generadas por el equipo de seguridad de Gentoo relativas a software vulnerable existente en el arbol de Portage. Estas contienen información sobre la propia vulnerabilidad, su posible impacto en un sistema Gentoo, referencias a fuentes externas (como información CVE) así como información sobre como eliminar la vulnerabilidad (en la mayoría de casos es un parche o actualización de uno o mas paquetes de software).

Manejo de archivos

Por defecto, Portage instala todas los archivos en el sistema de ficheros activo (/), pero puede cambiarse esta configuración a través de la variable de entorno ROOT. Esto es útil cuando quiera crear nuevas imágenes compiladas.

# data[].attributes.body
Características:

Es una distribución especial de Linux que puede ser personalizada y optimizada automáticamente para cualquier programa o necesidad. Un buen rendimiento, configurabilidad y una comunidad de desarrolladores son las marcas de la experiencia de Gentoo.

Soporte para procesadores X86, PowerPC, UltraSparc y Alpha.

Instalación basada en un cd para X86 y Alpha.

Lo ultimo estable de KDE y Gnome.

Varios kernels optimizados.

Entornos de desarrollo modernos.

Soporte para muchos sistemas de ficheros y hardware.

# data[].attributes.body
Archivos
El sistema de archivos de Red Hat está organizado en archivos y directorios. Un archivo es una colección de datos que se almacena en un medio físico y a la cual se le asigna un nombre. Los archivos, a su vez, están agrupados en conjuntos llamados directorios. Un directorio puede tener subdirectorios, formándose así una estructura jerárquica con la forma de un árbol invertido. El directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con una barra de división (/).

El sistema de archivos GFS2 de Red Hat es un sistema de archivos nativo que interactúa directamente con la interfaz del sistema de archivos del kernel de Linux.

Para manejar sus paquetes Red Hat utiliza el sistema de Red Hat Package Manager (RPM), que es un sistema abierto de empaquetamiento, que proporciona al usuario final gran cantidad de características que hacen el mantenimiento del sistema algo mucho mas fácil de lo que nunca había sido. Instalar, desinstalar, y actualizar paquetes RPM son órdenes de una sola línea.

Uso
/bin |  Almacena la mayoría de los programas esenciales del sistema.
/boot | Archivos estáticos utilizados por el cargador de arranque del sistema.
/dev | Contiene archivos especiales del sistema, conocidos como controladores de dispositivo, los cuales se usan para acceder a los dispositivos del sistema y recursos, como discos duros, modems, memoria, etc.
/ect | Este directorio está reservado para los ficheros de configuración y arranque del sistema Linux. En este directorio no debe aparecer ningún fichero binario.
/home | Contiene los directorios personales de los usuarios. En un sistema recién instalado, no habrá ningún usuario en este directorio.
/lib |  Estos ficheros contienen código que compartirán muchos programas. En lugar de que cada programa contenga una copia propia de las rutinas compartidas, éstas son guardadas en este fichero. Esto hace que los programas ejecutables sean menores y reduce el espacio usado en disco.
/mnt | Esta petición sirve para crear directorios que sirvan como punto de montaje para otras unidades, dispositivos de USB, CDROM’s, etc.
/proc | Contiene Archivos especiales que o bien reciben o envían información al kernel del sistema.
/root | Directorio hogar del administrador del sistema.
/sbin | Contiene programas esenciales del sistema, que son únicamente accesibles al administrador.
/tmp | Se almacenan en archivos temporales.
/usr | Éste es uno de los directorios más importantes del sistema puesto que contiene los datos, programas y librerías de uso común para todos los usuarios.
/var | Este directorio contiene información temporal de los programas

# data[].attributes.body
Seguridad
Los grandes compañías (el 90% de las empresas de la lista Fortune Global 500), implementaron redhat por la seguridad que brinda, seguridad de alto nivel militar, con un objetivo claro de proteger la infraestructura de intrusiones y la información o datos de la compañía.

Cuenta con un conjunto completo de políticas y tecnologías para proteger infraestructuras físicas, virtuales o en la nube.

# data[].attributes.body
Manejo de procesos

Procesadores

La arquitectura de Linux en los procesadores amd e intel y sus variantes son provistos por el kernel los mismos están diseñado para utilizarse independientemente que sea un procesador amd o intel. Estas arquitecturas de los procesadores Intel x86 64 bits y AMD64 utilizan el mismo set de instrucciones. Su diferencia prevalece en la instalación correcta del software haciendo eficiente su capacidad de procesamiento, su edición de texto, película, juegos de computadora, entre otros.

Procesos

PID- (Process ID) Cuando nos referimos al PID estamos viendo todos los procesos que están activos en el. Este proceso organiza cada uno asignándole un número especifico.

USER- Aquí están listados todos los procesos que le pertenecen al usuario. Muchos de ellos son del usuario ROOT y algunos del system processes donde solo el usuario con permiso ROOT pueden acceder.

PR - (Priority Process) Demuestra la prioridad dentro del CPU. Estos son números dinámicos que se muestran en el momento de ejecución del procesador (queue en el procesador).

NI- (Nice Value) Cuan dispuesto o indispuesto está el programa para compartir el CPU. Cuando el valor es positivo ( 19 ) es más flexible para que otros programas puedan interrumpir con su rutina para que estos puedan ser ejecutada. Por otra parte cuando los números son negativos ( -20 ) es lo contrario.

VIRT- (Virtual memory) Nos muestra cuanta memoria virtual se ha consumido por el programa.

RES- Cuanta memoria física está utilizada.

SHR- (Shared memory) Cuanta memoria esta consumida por el o los procesos.

S- (Status) Cada proceso tiene dos status:  S (Sleeping), o R (Running). Como podemos ver en la foto todoslos procesos aparentan estar el la función S pero no es así, es solo la manera en que trabaja el kernel de Linux.

%CPU- Que porcentaje del CPU es utilizado.

%MEM-  Porcentaje de utilización de memoria que se expresa en porcentaje. Esto puede variar dependiendo de que ejecución se este realizando.

UPTIME+- Demuesta por cuanto tiempo los procesos estan en ejecución.

COMMAND- Identifica al proceso con el nombre de la aplicación que se está ejecutando.

¿Como detener o eliminar un proceso?

Cuando deseamos eliminar algún proceso de la lista de PID solo tenemos que seleccionar ese número como también podemos combinar el kill y el nombre que aparece en la lista de COMMAND

# data[].attributes.body
Caracteristicas:

En la actualidad y posicionándose con gran consistencia, Red Hat Enterprise Linux es la plataforma de código abierto (opensource) líder en los centros de datos modernos.

Lo más importante para cualquier empresa LA SEGURIDAD

Los grandes compañías (el 90% de las empresas de la lista Fortune Global 500), implementaron redhat por la seguridad que brinda, seguridad de alto nivel militar, con un objetivo claro de proteger la infraestructura de intrusiones y la información o datos de la compañía.

Cuenta con un conjunto completo de políticas y tecnologías para proteger infraestructuras físicas, virtuales o en la nube.

Características de Red Hat Enterprise Linux, la principal SEGURIDAD.

Indispensable un 99.9999% de DISPONIBILIDAD

Linux en general ha sido la base de los sistemas operativos y plataformas más fiables en disponibilidad y seguridad que existen, desde su creación, bajo la dinámica de las comunidades opensource.

De esta base nació Red Hat Enterprise Linux, que se ha posicionado como uno de los sistemas operativos o plataforma más fiable con altos niveles de RAS (Reliability, availability and serviceability), funciones de fiabilidad, disponibilidad y facilidad del servicio.

Dos Características de Red Hat Enterprise Linux que lo hacen el mejor: Red Hat Enterprise Linux es la solución con dos características y ventajas sumamente importantes para empresas que requieren Máxima SEGURIDAD y DISPONIBILIDAD.

La agilidad de los sistemas debe ser total RENDIMIENTO.

La lentitud de un sistema, aplicación móvil, web o de escritorio, redes, acceso a los recursos compartidos, depende en general del servidor o servidores, del sistema operativo o plataforma que administra esta gran infraestructura.

Una plataforma de gran rendimiento como Red Hat Enterprise Linux, tiene la gran ventaja y característica de soportar las cargas de trabajo más exigentes, con un alto grado de escalabilidad que permite ir evolucionando de acuerdo al impacto de las necesidades.

Incluyendo herramientas de optimización con el fin de maximizar aún más el rendimiento de la infraestructura, asegurando que se satisface con precisión las necesidades y exigencias de los servicios, aplicaciones y recursos que tienen las empresas para sus clientes, funcionarios, socios y proveedores.

El RENDIMIENTO es una de las características de Red Hat Enterprise Linux que complementa esta gran plataforma altamente capaz y eficiente.

ALMACENAMIENTO de la información

Para terminar el resumen de las características de Red Hat Enterprise Linux más importantes, la gestión de ALMACENAMIENTO.

Después de garantizar SEGURIDAD de alto nivel militar, asegurar un porcentaje de DISPONIBILIDAD del 99.9999%, con un alto RENDIMIENTO, entonces falta otro factor muy importante que consolida a Red Hat Enterprise Linux como la plataforma ideal para su infraestructura y es la gestión del ALMACENAMIENTO.

Para lograrlo se requiere un sistema de archivos altamente escalable y con gran solides en términos de integridad de los datos almacenados, por ello el sistema de archivos predeterminado de Red Hat Enterprise Linux es xfs, con capacidad de hasta 500 Terabytes y de alta integridad.

Por su puesto Red Hat Enterprise Linux es compatible con otros sistemas de archivos como ext4, CIFS, GFS2, de tal forma que ofrece flexibilidad que permite adaptar la arquitectura de almacenamiento de cualquier empresa, que permita satisfacer los requisitos para almacenamiento de datos.

Esto es lo principal que buscan las grandes compañías, como el 90% de las 500 empresas de la lista Fortune Global que cuenta con Red Hat Enterprise Linux.

# data[].attributes.body
Manejo de Seguridad:

Seguridad.

La seguridad en un sistema se basa en los mecanismos de protección que ese sistema proporciona. Estos mecanismos deben permitir controlar qué usuarios tienen acceso a los recursos del sistema y qué tipo de operaciones pueden realizar sobre esos recursos.

En general, en un sistema LINUX, el conjunto de recursos está formado por todos los archivos del sistema, y el dominio será un usuario y los procesos que el ejecuta y que, por tanto, tengan el mismo UID efectivo.

Para controlar el acceso de los dominios a los recursos se utilizan las Listas de Control de Acceso por cada recurso. La Lista de Control de Acceso (ACL) especifica qué dominios tienen acceso al recurso y qué operaciones asociadas al recurso pueden utilizar. El problema que plantea la lista de control de acceso es su tamaño variable, ya que depende del numero de dominios que tengan acceso al recurso y de las operaciones que pueda realizar cada uno de ellos.

En Linux, para conseguir Listas de tamaño constante, se utilizan 2 técnicas:

1. Reducir el numero de operaciones posibles sobre un recurso (archivo): podemos controlar 3 operaciones sobre los archivos, que son la lectura (r), escritura (w) y la ejecución (x).

2. Reducir el número de dominios que aparecen en la lista. Esto se consigue mediante el concepto de grupos de usuarios.

Todos los usuarios de un sistema Linux deben pertenecer, al menos, a un grupo. Existen 3 grupos o categorías en la relación entre un dominio ( usuario ) y un recurso (archivo ):

1. Propietario: indica quién creó el archivo

2. Grupo del propietario: reúne a todos los usuarios que pertenecen al grupo del propietario.

3. Resto de usuarios: los que no crearon el archivo y no pertenecen al grupo del propietario.

Control de acceso al sistema:

En el momento del arranque se puede acceder a la BIOS de la máquina mediante la pulsación de una tecla o combinación de ellas. Desde la interfaz de dicho software es posible modificar parámetros del sistema, como la fecha y hora del sistema, secuencia de arranque, etc. Lógicamente el acceso a la BIOS puede estar protegida con contraseña, si se habilita. Por lo tanto, una primera medida de seguridad sera habilitar la contraseña de la BIOS, y que no coincida con otras contraseñas utilizadas.

Frente a esta medida de seguridad hay que decir que la contraseña BIOS se puede anular provocando un cortocircuito en la batería de la CMOS. Incluso hay fabricantes que, en la placa base, incluyen un jumper que permite borrar la BIOS. Además, existen también utilidades de captura de contraseñas BIOS como son: !BIOS de Bluefish(conjunto de herramientas de propósito general para atacar a la BIOS que incluye utilidades de captura y herramientas de descifrado y que normalmente tiene éxito con la mayoría de las BIOS), CMOS PASSWORDS RECOVERY TOOLS , KILLCMOS, etc.

# data[].attributes.body
Manejo de Archivos:

En Linux y Unix todo es un fichero. Los directorios son ficheros, los ficheros son ficheros, y los dispositivos son ficheros. A veces a los dispositivos se les llama nodos, pero siguen siendo ficheros.

Los sistemas de ficheros de Linux y Unix se organizan en una estructura jerárquica, de tipo árbol. El nivel más alto del sistema de ficheros es / o directorio raíz. Todos los demás ficheros y directorios están bajo el directorio raíz. Por ejemplo, /home/jebediah/cheeses.odt muestra la ruta completa al fichero cheeses.odt que está en el directorio jebediah, que a su vez está bajo el directorio home, que por su parte está bajo el directorio raíz (/).

El sistema de archivos de un sistema Linux típico está formado por los siguientes directorios bajo el directorio raíz:

/bin Contiene los programas ejecutables que son parte del sistema operativo Linux. Muchos comandos de Linux como cat, cp, ls, more y tar están ubicados en este directorio.

/boot Contienen el kernel (o núcleo) de Linux y otros archivos necesarios para el administrador de inicio LILO, que realiza la carga inicial del sistema operativo cuando la computadora se enciende.

/dev Contienen todos los archivos de acceso a dispositivos. Linux trata cada dispositivo (terminales, discos, impresoras, etc.) como si fuera un archivo especial.

/etc. Contiene archivos de configuración del sistema y los programas de inicialización.

/home Contiene los directorios HOME de los usuarios. El directorio HOME el directorio inicial en el que se encuentra posicionado un usuario al ingresar al sistema, por lo que también se conoce como directorio de logín o de conexión.

/lib Contiene los archivos de biblioteca utilizados por las aplicaciones y utilidades del sistema, así también como las librerías pertenecientes a diferentes lenguajes de programación.

/lost+found Directorio para archivos recuperados por el proceso de reparación del sistema de archivos, que se ejecuta luego de una caída del sistema y asegura su integridad luego de que el equipo haya sido apagado de manera inapropiada.

/mnt Es un directorio vacío que se usa normalmente para montar dispositivos como disquetes y particiones temporales de disco.

/proc Contiene archivos con información sobre el estado de ejecución del sistema operativo y de los procesos.

/root Es el directorio HOME para el usuario root (administrador del sistema).

/sbin Contienen archivos ejecutables que son comandos que se usan normalmente para la administración del sistema.

# data[].attributes.body
Manejo de memoria:

DIRECCIONAMIENTO DE LA MEMORIA VIRTUAL

En lo que respecta a memoria virtual, hace uso de una estructura de tabla de páginas con tres niveles, formada por los siguientes tipos de tablas (cada tabla individual es del tamaño de una página):

Directorio de páginas: un proceso activo tiene un solo directorio de páginas que es del tamaño de una página. Cada entrada en el directorio de páginas apunta a una página del directorio intermedio de páginas. Para un proceso activo, el directorio de páginas tiene que estar en la memoria principal.

Directorio intermedio de páginas: este directorio puede ocupar varias páginas y cada entrada de este directorio apunta a una página de la tabla de páginas.

Tabla de páginas: esta tabla de páginas también puede ocupar varias páginas, y cada entrada de la tabla de página hace referencia a una tabla virtual del proceso.

EL BUDDY SYSTEM (ALOCACIÓN):

El principio básico del Buddy System es el siguiente:
A cada petición de asignación, se usa la lista no vacía que contiene los grupos de marcos de página de tamaño inmediatamente superior al tamaño especificado, y se selecciona un grupo de páginas de esta lista.
Este grupo se descompone en dos partes: los marcos de página correspondientes al tamaño de memoria especificado, y el resto de marcos de página que siguen disponibles.
Este resto puede insertarse en las otras listas. Al liberar un grupo de marcos de página, el kernel intenta fusionar este grupo con los grupos disponibles, con el objetivo de obtener un grupo disponible de tamaño máximo

PAGINACIÓN POR DEMANDA:

El proceso que se sigue es el siguiente:

1. Se intenta leer la página requerida

2. Si la página requerida ya esta en memoria, simplemente se lee.

3. Si no está en memoria, revisa si la referencia es válida.

4. Si la referencia es inválida, se aborta.

5. Si la referencia es válida, se intenta cargar la
página.

6. Cuando la página sea cargada, se reintenta la instrucción.

# data[].attributes.body
Manejo de Procesos:

1 Obtener información sobre los procesos

1.1 PS

Muestra información sobre los procesos en ejecución. Según las opciones que le indiquemos muestra más o menos información. Las columnas más destacadas son:

·        p o PID: Process ID, número único o de identificación del proceso.

·        P o PPID: Parent Process ID, padre del proceso

·        U o UID: User ID, usuario propietario del proceso

·        t o TT o TTY: Terminal asociada al proceso, si no hay terminal aparece entonces un ‘?’

·        T o TIME: Tiempo de uso de cpu acumulado por el proceso

·        c o CMD: El nombre del programa o comando que inició el proceso

·        RSS: Resident Size, tamaño de la parte residente en memoria en kilobytes

·        SZ o SIZE: Tamaño virtual del proceso

·        NI: Nice, valor nice (prioridad) del proceso, un número positivo significa menos tiempo de procesador y negativo más tiempo (-20 a 19)

·        C o PCPU: Porcentaje de cpu utilizado por el proceso

·        STIME: Starting Time, hora de inicio del proceso

2 Administrar procesos

2.1 KILL

El comando kill sirve para enviar señales a los procesos. Se les puede ordenar que pausen su ejecución, que continúen, que terminen o si no responden a las señales, eliminarlos del sistema (SIGKILL).

La lista de señales se puede consultar con kill -l

Se puede usar el nombre o el número de señal, pero siempre habrá que indicar el PID (uno o varios) de los procesos a los que se les enviará la señal.

Las señales más comunes son:

·        9 (KILL): mata el proceso.

·        15 (TERM): le pide el proceso que termine de forma controlada

·        19 y 20 (STOP): para el proceso, pero no lo cierra. Lo pone en pausa.

·        18 (CONT): continua un proceso parado.

# data[].attributes.body
Caracteristicas:

Compatibilidad. Se puede instalar en la mayoría de ordenadores educativos. Además sus aplicaciones, como por ejemplo, OpenOffice, produce documentos que se pueden abrir y guardar con Microsoft Office. Los servidores con Ubuntu Server se pueden integrar fácilmente en la intranet de un centro.

Seguridad. Edubuntu es menos sensible a virus y troyanos que otros sistemas operativos. Está basado en políticas de seguridad que permiten a los usuarios completar sus tareas sin comprometer la estabilidad del sistema. No es necesario, por ejemplo, instalar un congelador porque no permite la instalación de ningún programa si no se dispone de la contraseña de administrador.

Facilidad de gestión. Edubuntu ofrece la tecnología de clientes ligeros LTSP en virtud de la cual equipos de prestaciones modestas pueden abrir sesión contra un servidor local. Esto facilita la gestión y mantenimiento de programas en una red local.

Economía. Es un sistema gratuito para instalar y actualizar.

Soporte. Existe en internet una amplia comunidad de soporte y ayuda sobre la instalación y gestión.

Otras Caracteristicas:

Ubuntu está basado en Debian y es distribuido por GNU/Linux.

Puedes usar, modificar y distribuir este software de forma completamente libre.

Ubuntu soporta oficialmente cinco arquitecturas de hardware (x86, AMD64. PowerPC, SPARC, IA-64, PlayStation 3 y HP PA-RISC).

Ubuntu recibe actualizaciones de su software y herramientas de manera frecuente, aproximadamente cada 6 meses.

Incluye controladores Nvidia y diversas aplicaciones o herramientas útiles que puedes usar de forma gratuita.

Mozilla Firefox es el navegador oficial de Ubuntu.

Ventajas:

Ubuntu es software libre y gratis: Eso quiere decir que, a diferencia de otros OS como Windows, no deberás pagar para utilizarlo.

Seguro y confiable: Posee un buen soporte, actualizaciones recurrentes frente a posibles vulnerabilidades y un entorno seguro.

Es rápido y aprovecha bien los recursos del sistema

Muy personalizable: puedes reemplazar el entorno de escritorio por uno nuevo, instalando algunos de los diferentes tipos de sabores como Gnome, LXDE, XFCE, KDE entre otros.

Desventajas:

No es la mejor opción para gamers: Los gráficos en general son un punto débil de Linux.

Requiere de un tiempo para entenderlo y aprender a utilizar en su esplendor: Aunque Ubuntu es una de las distros más amigables para quienes empiezan, instalarlo en tu ordenador y realizar tareas básicas te tomará un pequeño tiempo de aprendizaje.

Hay software que no podrás correr: Si bien existe la versión Linux para gran parte de los software más populares, o en su defecto, alternativas de código abierto, es probable que no encuentres reemplazo a ciertos programas que utilizas en Windows.

# data[].attributes.headline
Niveles que deben cumplir los Sistemas Operativos:

# data[].attributes.subject
Niveles que deben cumplir los Sistemas Operativos:

# data[].attributes.body
Nivel 1. Esta formado por circuitos electrónicos, donde los objetos tratados son registros, celdas de memoria, y puertas lógicas. Las operaciones definidas en estos objetos son acciones, como poner a cero un registro o leer una posición de memoria

Nivel 2. El conjunto de instrucciones del procesador. Las operaciones a este nivel son aquellas permitidas en el conjunto de instrucciones de lenguaje maquina, como adición, resta, carga o almacenamiento.

Nivel 3. el concepto de procedimiento o subrutina, ms las operaciones de llamada y retorno (call/return).

Nivel 4. Introduce las interrupciones, que permiten al procesador guardar el contexto actual e invocar una rutina de tratamiento de interrupciones.

Nivel 5. En este nivel se introduce la noción de un proceso como un programa en ejecución. Los requisitos fundamentales de los sistemas operativos para dar soporte a múltiples procesos incluyen la habilidad de suspender y continuar los procesos. Esto requiere guardar los registros de hardware de forma que se pueda interrumpir la ejecución de un proceso e iniciar la de otro. Adicional mente, si los procesos necesitan cooperar, se necesitan algunos metodos de sincronización.

Nivel 5. En este nivel se introduce la noción de un proceso como un programa en ejecución. Los requisitos fundamentales de los sistemas operativos para dar soporte a múltiples procesos incluyen la habilidad de suspender y continuar los procesos. Esto requiere guardar los registros de hardware de forma que se pueda interrumpir la ejecución de un proceso e iniciar la de otro. Adicionalmente, si los procesos necesitan cooperar, se necesitan algunos métodos de sincronización.

Nivel 6. Trata los dispositivos de almacenamiento secundario del computador. En este nivel, se dan la funciones para posicionar las cabezas de lectura/escritura y la transferencia real de bloques. El Nivel 6 delega al Nivel 5 la planificación de la operación y la notificación al pro ceso solicitante de la finalización de la misma. Niveles más altos se preocupan de la dirección en el disco de los datos requeridos y proporcionan una petición del bloque de datos apropiado a un controlador de dispositivo del Nivel 5.

Nivel 7. Crea un espacio de direcciones lógicas para los procesos. Este nivel organiza el espacio de direcciones virtuales en bloques que pueden moverse entre memoria principal y memo ria secundaria. Tres esquemas son de uso común: aquéllos que utilizan páginas de tamaño fijo, aquéllos que utilizan segmentos de longitud variable y aquéllos que utilizan ambos. Cuando un bloque de memoria necesario no se encuentra en memoria principal, la lógica de este nivel requiere una transferencia desde el Nivel 6

Nivel 8. Trata con la comunicación de información y mensajes entre los procesos. Mientras que el Nivel 5 proporciona un mecanismo de señalización primitivo que permite la sincronización de procesos, este nivel trata con una compartición de información más rica. Una de las herramientas más potentes para este propósito es la tubería o pipe, que es un canal lógico para el flujo de datos entre los procesos. Una tubería se define por su salida de un proceso y su entrada en otro proceso. Se puede también utilizar para enlazar dispositivos externos o ficheros a procesos.

Nivel 9. Da soporte al almacenamiento a largo plazo en ficheros con nombre. En este nivel, los datos en el almacenamiento secundario se ven en términos de entidades abstractas y con longitud variable. Esto contrasta con la visión orientada a hardware del almacenamiento secundario en términos de pistas, sectores y bloques de tamaño fijo en el Nivel 6.

Nivel 10. Proporciona acceso a los dispositivos externos utilizando interfaces estándar.

Nivel 11. Es el nivel responsable para mantener la asociación entre los identificadores externos e internos de los recursos y objetos del sistema. El identificador externo es un nombre que puede utilizar una aplicación o usuario. El identificador intemo es una dirección de otro identificador que puede utilizarse por parte de los niveles inferiores del sistema operativo para localizar. y controlar un objeto. Estas asociaciones se mantienen en un directorio. Las entradas no sólo incluyen la asociación entre identificadores externos/intemos, sino también características como los derechos de acceso.

Nivel 12. Proporciona una utilidad completa para dar soporte a los procesos. Este nivel va más allá del proporcionado por el Nivel 5. En el Nivel 5, sólo se mantienen los contenidos de los registros del procesador asociados con un proceso, más la lógica de los procesos de planificación. En el Nivel 12, se da soporte a toda la información necesaria para la gestión ordenada de los procesos. Esto incluye el espacio de direcciones virtuales de los procesos, una lista de objetos y procesos con la cual puede interactuar y las restricciones de esta interacción, parámetros pasados al proceso en la creación. También se incluye cualquier otra característica que pu diera utilizar el sistema operativo para controlar el proceso.

Nivel 13. Proporciona una interfaz del sistema operativo al usuario. Se denomina shell (capa razón), porque separa al usuario de los detalles de los sistemas operativos y presenta el sistema operativo simplemente como una colección de servicios. El shell acepta mandatos de usuario o sentencias de control de trabajos, los interpreta y crea y controla los procesos que necesita para su ejecución.