Download Resumen Distribuciones Linux (Ubuntu, Red Hat, Fedora)
Document related concepts
Transcript
COMPILACIÓN BIBLIOGRÁFICA RESUMEN: Sistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) y Chrome OS. Presentado Por: Daniel Montes Agudelo John Elkin Rendón Romero Juan Pablo Osorio Arango Presentado a: Carlos Hernán Gómez Gómez Sistemas Operativos UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MANIZALES ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS JUNIO 2, 2014 RESUMEN Sistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) y Chrome OS. ¿Linux? Linux, es un sistema operativo. Es una implementación de libre distribución UNIX para computadoras personales (PC), servidores y estaciones de trabajo. Es uno de los paradigmas más prominentes del software libre y del desarrollo del código abierto, cuyo código fuente está disponible públicamente, para que cualquier persona puede libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informáticos adecuados, modificarlo. En 1983 Richard Stallman fundó el proyecto GNU, con el fin de crear sistemas operativos parecidos a UNIX y compatibles con POSIX. Más tarde creó la "Fundación del Software Libre" y escribió la GNU General Public License para posibilitar el software libre en el sistema de copyright. A pesar de que el proyecto GNU era desarrollado constantemente, no disponía sin embargo de ningún buen Kernel basado en UNIX. En 1988 Linus Torvalds entró a la Universidad. Ese mismo año fue cuando el sistema operativo didáctico, basado en UNIX y creado por Andy Tannenbaum, empezó a cobrar importancia. Dicho sistema era el Minix y del cual entró a formar parte Linus Torvalds. Fue entonces cuando Linus Torvalds creo el núcleo Linux y el cuál aporto al sistema operativo GNU. Google Chrome OS Chrome OS es basado en el núcleo Linux, diseñado para trabajar exclusivamente con aplicaciones web. Google explica que Chrome OS es un sistema operativo diferente a lo que se conoce comúnmente como sistema operativo de escritorio, siendo el navegador Google Chrome su principal herramienta de uso. Las primeras características que destaca Google es, que su sistema operativo es un proyecto de código abierto y sin costo alguno. ESTRUCTURA Y COMPONENTES DEL SISTEMA (Chrome OS) El Chrome OS se divide en 3 partes importantes: El firmware tiene un papel clave para que el arranque del sistema sea más rápido y más seguro. Las funcionalidades: La recuperación del sistema, Verificado de arranque, Inicio rápido. El sistema en sí y los servicios: Aquí es en donde se utiliza el kernel de Linux, los drivers y los demonios. El sistema depende de: D-Bus, Administrador de conexiones, Autoupdate, Xscreensaver, Servicios estándares de Linux. El navegador basado en el Chrome y el manejador de ventanas. El administrador de ventanas es el responsable de manejar la interacción del usuario con las múltiples ventanas. Google Cloud Printing A la hora de imprimir documentos, Chrome OS utilizará una tecnología llamada Google Cloud Print, que prescindiría de la necesidad de instalar controladores y que tiene la capacidad de dirigir los trabajos de impresión desde la Web, las aplicaciones de escritorio y móviles. Chromoting Se trata de una tecnología que permitirá ejecutar aplicaciones tradicionales del PC directamente dentro del navegador y que aportará un método muy interesante para no tener que renunciar del todo a aplicaciones de escritorio en este sistema operativo totalmente orientado a los servicios web y a la nube de computación. Esto podría solventar una de las mayores carencias de este desarrollo, por lo que parece en Chrome OS se permitirá el acceso a aplicaciones de Windows, Mac OS X o Linux, pero se manejarán de forma remota: No se podrá ejecutar aplicaciones directamente, simplemente se usará algo parecido a una conexión remota de escritorio que conectará a la máquina con Windows / Mac OS X o Linux y que permitirá utilizarla remotamente. Los datos permanecerán en el ordenador remoto, no en el ordenador con Chrome OS. Gestión de Procesos en Linux Un proceso comienza su ciclo de vida cuando se invoca el método fork(), el cual crea un nuevo proceso duplicando uno existente. El proceso que llama fork() es el padre, mientras que el nuevo proceso generado es el hijo. Un proceso termina invocando exit(), liberando todos los recursos utilizados. Un proceso padre puede preguntar acerca del estado de un proceso hijo terminado mediante el método wait4(), el cual habilita la espera de la finalización de un proceso específico. Cuando un proceso termina, cambia su estado actual a uno especial llamado Zombie, el cual representa un proceso terminado hasta que el padre invoque el método wait() o waitpid(). Gestión de Memoria Linux En un sistema Linux, la memoria se utiliza para los datos de "caché" que es utilizado por la CPU. La idea detrás de almacenamiento en caché es que se necesita más tiempo para la CPU acceder a los datos en el disco duro que lo hace para acceder a los datos que está presente en la memoria principal. Así que el almacenamiento en caché utilizando la memoria principal acelera eficazmente el sistema. En un sistema de ventanas, no hay tal optimización, memoria de manera gratuita se desperdicia, ya que no se acostumbra. Ahora, cuando una aplicación realmente necesita toda la memoria que se utiliza para el almacenamiento en caché, Linux salta los datos en caché y hace la memoria requerida disponible. Como última opción, si la totalidad de la memoria principal se agota, entonces la memoria de intercambio swap se utiliza. Cuando el procesador ejecuta un programa, este leerá una instrucción de memoria y decodificará la misma. Dentro del proceso de decodificar la instrucción, se podría requerir obtener o almacenar contenidos de una localidad de memoria. El procesador entonces ejecuta la instrucción y este se mueve hacia la siguiente instrucción a leer y decodificar (repitiendo lo anterior). De esta forma el procesador se mantiene siempre accediendo a memoria leyendo y almacenando datos sobre ella. Sobre un sistema de memoria virtual, absolutamente todas las direcciones son virtuales y no son direcciones físicas. Esas direcciones virtuales serán convertidas en direcciones físicas por el procesador, tomando como base la información obtenida sobre un conjunto de tablas mantenidas por el Sistema operativo Linux. UBUNTU Ubuntu es un sistema operativo basado en Linux y que se distribuye como software libre, el cual incluye su propio entorno de escritorio denominado Unity Ubuntu está compuesto por diversos paquetes de software que, en su mayoría, son distribuidos bajo código abierto y licencia libre. ESTRUCTURA Y COMPONENTES DEL SISTEMA Para mostrar diferencias en licencias y la prioridad con la que se atienden los problemas que informen los usuarios, Ubuntu divide todo el software en los componentes: main, restricted, universe y multiverse. main: Contiene paquetes que cumplen los requisitos de licencia Ubuntu. Está pensado para que incluya todo lo necesario para la mayoría de los sistemas Linux de uso general. restricted: Contiene paquetes soportados por desarrolladores de Ubuntu que no están bajo licencia libre. universe: Contiene programas que no reciben soporte por parte del equipo de Ubuntu si no de la comunidad. Pueden tener o no licencia restringida. multiverse: Contiene paquetes sin soporte debido a que no cumplen los requisitos de software libre. Programación UBUNTU Linux tiene dos algoritmos de proceso de programación separados. "Uno es de tiempo compartido, un programa preferente justo entre varios procesos; el otro está diseñado para tareas en tiempo real. Los algoritmos de tiempo compartido son tres. SCHED_OTHER SCHED_ BATCH SCHED_IDLE Para los algoritmos de tiempo compartido, se utiliza el método estándar RoundRobin. Los algoritmos en tiempo real son la FCFS y el Round-Robin, que fue descrito anteriormente, con la adición de una prioridad a la de su clase de planificación. Cuando dos procesos tienen la misma clase, la espera en la cola más larga tiene una prioridad más alta. Para los proceso de diferente clase el uno con la clase del hight tiene la mayor prioridad. Memoria SWAP El sistema operativo Linux Ubuntu, utiliza la memoria swap que está en una partición aparte, esta memoria puede ser utilizada por el CPU. Esta puede utilizar tres tipos de memoria llevando una secuencia lineal a través de la misma en la cual la memoria que utiliza la memoria RAM al verse esta utilizada a máxima capacidad pasaría a utilizar la memoria swap. En el sistema Windows no existe dicha optimación así que la memoria no se utiliza y se pierde. En el caso en el cual toda la memoria sea utilizada por la memoria que esté en cache, como última opción la memoria que está destinada en el swap partition será utilizada. DESCRIPCIÓN DE LOS DISPOSITIVOS DE ENTRADA Y SALIDA QUE SOPORTA (LINUX) En un sistema Linux la interacción final con dispositivos la realizan los controladores o el kernel (núcleo). Dicho de otra forma, un dispositivo sólo podrá ser usado si el kernel lo soporta o si existe un controlador capaz de controlarlo y si se configura apropiadamente para hacerlo. SEGURIDAD El sistema incluye funciones avanzadas de seguridad y entre sus políticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un cortafuegos predeterminado, ya que supuestamente no existen servicios que puedan atentar a la seguridad del sistema. Para labores o tareas administrativas en la línea de comandos incluye una herramienta llamada sudo (de las siglas en inglés de SwitchUser do), con la que se evita el uso del usuario administrador. Posee accesibilidad e internacionalización, de modo que el sistema esté disponible para tanta gente como sea posible. Desde la versión 5.04, se utiliza UTF-8 como codificación de caracteres predeterminado. Usuarios y claves Uno de los pilares básicos de la solidez de los sistemas GNU/Linux es su potente gestión de usuarios y de permisos. Las cuentas de usuario aseguran la privacidad de la información, el correcto reparto de privilegios en el sistema y minimizan los efectos en caso de un fallo de la seguridad. RED HAT Red Hat es una distribución Linux creada por Red Hat Inc, que fue una de las más populares en los entornos de usuarios domésticos. Desde el 2003, Red Hat ha desplazado su enfoque hacia el mercado de los negocios con la distribución Red Hat Enterprise Linux y la versión no comercial Fedora Core. El kernel de Red Hat utiliza un mecanismo basado en temporizador que produce continuamente una interrupción del sistema. Durante cada interrupción, el sistema sondea; es decir, se comprueba para ver si había trabajo por hacer. Dependiendo de la configuración, esta interrupción del sistema o el temporizador podrían ocurrir varios cientos o varios miles de veces por segundo. Esto sucedió cada segundo, independientemente de la carga de trabajo del sistema. En un sistema con poca carga, este impacto el consumo de energía al evitar que el procesador de la utilización eficaz de los estados de suspensión. El sistema utiliza la menor cantidad de energía cuando está en un estado de sueño. La gestión de memoria de Red Hat está dado por direcciones de memoria física que se traducen a direcciones de memoria virtual como parte de la gestión de memoria. La relación de mapeado físico de direcciones virtuales se almacena en una estructura de datos conocida como la tabla de páginas. Dado que la lectura de la tabla de páginas para cada asignación de dirección sería largo y costoso de los recursos, hay una caché para las direcciones utilizadas recientemente. Esta caché se denomina traducción de direcciones Buffer (TLB). FEDORA Fedora es un sistema operativo basado en Linux, una colección de software que hace funcionar las computadoras. Se puede utilizar Fedora junto a, o como reemplazo de, otros sistemas operativos, como Microsoft Windows™ o Mac OS X™. El sistema operativo Fedora es libre y gratuito para disfrutar y compartir. Fedora comparte muchas de las características de los esquemas de gestión de memoria de otras implementaciones UNIX, pero tiene sus características propias y únicas, aunque hay que destacar que el esquema de gestión de memoria de Fedora es bastante complejo. En lo que respecta a memoria virtual, el direccionamiento de memoria virtual de Fedora, 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): 1. 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. 2. 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. 3. 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. Direccionamiento de Memoria La memoria es uno de los recursos fundamentales para un proceso. El sistema operativo debe ofrecer la memoria a todos los procesos por igual de una forma sencilla y uniforme. Al mismo tiempo, el sistema operativo debe tratar con el hardware real para realizar dicha función, aprovechándolo al máximo. El direccionamiento es una parte importante de la gestión de memoria, puesto que influye mucho tanto en la visión de la misma por parte de un proceso, como en el aprovechamiento del hardware y el rendimiento del sistema. SISTEMA DE ARCHIVOS Chrome OS Distribuciones Linux ●Una partición llamada El sistema de archivos de Ubuntu está basado en “stateful partition” que es en el Filesystem Hierarchy Standard. Este es un donde se almacenan los estándar que con mayor o menor rigor siguen la archivos de los usuarios, log, mayoría de las distribuciones GNU/Linux y algunos etc. otros sistemas operativos basados en UNIX. Este ●Una partición opcional de estándar define los nombres, ubicación y los intercambio. permisos de muchos tipos de archivos y ●Dos particiones que directorios. contienen el sistema de ficheros en sí. Los sistemas de archivos más comunes Sistema de archivos raíz soportados incluyen: EXT2 EXT3 ampliamente utilizada en distribuciones Linux EXT4 SOPORTE A CLOUD COMPUTING Chrome OS Distribuciones Linux Google Cloud Print, Ubuntu One es un servicio de alojamiento de impresión de archivos en archivos, integrado con el entorno de escritorio del impresoras conectadas a la sistema operativo Ubuntu. web. Evitando incompatibilidad de Red Hat Enterprise Linux OpenStack Platform, es controladores. actualmente una solución basada para las organizaciones, donde se proporciona una base Chromoting, Uso de flexible y segura para crear una cloud pública o aplicaciones de PC privada completamente escalable. remotamente. Fedora posee características que facilitan el trabajo con virtualización y cloud computing: Imágenes de la nube de alta calidad; GUI VM Snapshot con virtmanager; ARM en x86 con libvirt/-manager. CONCLUSIONES Y OBSERVACIONES El sistema operativo Google Chrome OS es un proyecto muy ambicioso que pretende dejar a un lado los sistemas operativos tradicionales que trabajan a nivel local, el cual quiere que se trabaje desde cualquier pc en cualquier lugar, pero existen problemas serios para que tenga éxito ya que se necesita estar conectado a internet para trabajar en este sistema operativo y es bien sabido que en algunos lugares del mundo aún falta conectividad a internet. Como se vio en el análisis en el punto de seguridad, Chrome OS tiene un trabajo muy fuerte en este punto ya que garantiza que en la máquina donde se trabaja con este sistema operativo no habrá presencia de virus o amenazas que afecten la integridad de la máquina y es un punto a favor para este sistema ya que los sistemas operativos tradicionales tienen grandes falencias en este punto y el cual afecta gravemente a los usuarios. Es una buena apuesta la de Google al permitir que el código fuente de Chrome OS sea liberado para que cualquier desarrollador en el mundo pueda contribuir a la construcción y sobre todo al mejoramiento continuo del sistema para que el sistema sea más robusto y el usuario quede satisfecho con el sistema. Ubuntu ha proporcionado al mundo una manera de compartir software de manera gratuita, y que gracias a miles de contribuidores, esta distribución de Linux se ha esforzado en tener más cabida en los hogares siendo cada vez más fácil de usar. La memoria virtual (partición Swap) que proporciona Linux, es un mecanismo que permite a los procesos que no alcanzan espacio en la memoria RAM o están poco activos, sean movidos a esta área de intercambio (swap en el disco duro) para así liberar memoria principal y poder cargar otros procesos. Aunque este procedimiento es más lento respecto al acceso a RAM, permite aparentar al sistema que tiene más memoria disponible. El Cloud Computing ha permitido a las diferentes distribuciones Linux, Chrome OS y otros sistemas operativos ofrecer soluciones de apoyo tal como acceso remoto, disponibilidad de datos en cualquier lugar, entre otros que de algún modo u otro agregan valor. Red Hat nació como una compilación de las distribuciones que se ofrecían en ese entonces de GNU/Linux. Se trataba de una versión empaquetada de lo que existía en aquellos tiempos, incluyendo documentación y soporte. Red Hat se centra en ofrecer servicios corporativos, y en 2003 delego la tarea de desarrollar el SO personal al proyecto Fedora Core. Red Hat Enterprise Linux utiliza la estructura del sistema de archivos Estándar de Jerarquía de Sistemas de archivos (FHS del inglés Filesystem Hierarchy Standard), un documento que define los nombres, la ubicación y los permisos de muchos tipos de archivos y directorios. Fedora es un sistema operativo que usa el kernel de Linux y se puede usar como reemplazo o conjuntamente con sistemas operativos como Microsfot Windows o Mac OS x. Fedora está respaldado por proyecto Fedora es el nombre de una comunidad de personas en todo el planeta que aman, utilizan y construyen software libre. Proyecto Fedora cree en el valor del software libre, y lucha para proteger y promover soluciones que cualquiera pueda utilizar y redistribuir El núcleo de Fedora consta de: gestión de memoria, gestión de procesos, controladores de dispositivos y gestor de sistema de archivos virtuales.