compilación bibliográfica sistemas operativos · pdf filesistemas operativos...

102
COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) y Chrome OS. Presentado Por: Daniel Montes Agudelo Cód.: 0911519 John Elkin Rendón Romero Cód.: 0911037 Juan Pablo Osorio Arango Cód.: 0911030 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

Upload: phungminh

Post on 08-Feb-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

COMPILACIÓN BIBLIOGRÁFICA

Sistemas Operativos Linux y las diferentes distribuciones

(Detallar Red Hat, Fedora, Ubuntu, etc) y Chrome OS.

Presentado Por:

Daniel Montes Agudelo – Cód.: 0911519

John Elkin Rendón Romero – Cód.: 0911037

Juan Pablo Osorio Arango – Cód.: 0911030

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

Page 2: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 2

TABLA DE CONTENIDO

Página

INTRODUCCIÓN 6

HISTORIA DE LINUX 7

EMPRESAS QUE PATROCINAN EL USO DE LINUX 8

CARACTERÍSTICAS DE LINUX

Multitarea 9

Multiusuario 9

Multiplataforma 9

Multiprocesador 9

Carga de ejecutables por demanda 9

Política de copia en escritura para la compartición de páginas entre

ejecutables

9

Memoria virtual usando paginación (sin intercambio de procesos

completos) a disco

10

Control de tareas POSIX. 10

Consolas virtuales múltiples 11

HISTORIA DE GOOGLE 12

Lanzamiento del Código Abierto 14

Chrome Notebook (Cr-48) 14

Chromebook 14

CARACTERÍSTICAS FUNDAMENTALES DE CHROME OS

Interfaz de usuario 14

Velocidad 15

Sincronización 15

Siempre conectado 15

Aplicaciones Web 16

Seguridad 16

Características Avanzadas Chrome OS

Multitáctil 17

Reproductor multimedia 17

Impresión 17

PRESENTACIÓN GOOGLE CHROME OS 18

ESTRUCTURA Y COMPONENTES DEL SISTEMA 19

Firmware 19

El sistema en sí y los servicios 20

El navegador y el administrador de ventanas 21

PLATAFORMAS SOBRE LAS QUE TRABAJA CHROME OS 21

INSTALACIÓN DE CHROME OS 21

SISTEMA DE ARCHIVOS EN CHROME OS 25

Sistema de archivos raíz 25

Diagrama del proceso de booteo 25

Page 3: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 3

DESCRIPCIÓN DE LOS DISPOSITIVOS DE ENTRADA Y SALIDA QUE

SOPORTA (CHROME OS)

26

GESTIÓN DE COMUNICACIONES Y SEGURIDAD (CHROME OS)

Google Cloud Printing 28

Chromoting 28

ANÁLISIS COMPARATIVO ENTRE PLATAFORMA TRADICIONAL Y EL

SMARTPHONE (CHROME OS)

30

Vs. Android 31

Vs. Windows 32

Vs. Linux 32

ESTADÍSTICAS DE UTILIZACIÓN A NIVEL MUNDIAL DE CHROME OS 33

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD

COMPUTING) DE GOOGLE CHROME OS

34

GESTIÓN DE PROCESOS Y PROCESADOR LINUX 35

Estados de un Proceso 36

GESTIÓN DE MEMORIA LINUX 38

Direccionamiento Largo de espacios en Memoria 38

Protección 38

Mapeo en Memoria 38

Alojamiento Equitativo de Memoria Física 39

Memoria Virtual Compartida 39

Un modelo Abstracto de Memoria Virtual 39

El concepto de Page HIT y FAULT 41

Traducción de una página virtual a una página física 42

SOPORTE A TIEMPO REAL EN LINUX 43

UBUNTU 46

ESTRUCTURA Y COMPONENTES DEL SISTEMA – UBUNTU 47

main 47

restricted 47

universe 47

multiverse 47

PLATAFORMAS SOBRE LAS QUE TRABAJA UBUNTU 47

PROCESO DE INSTALACIÓN DE UBUNTU

Requisitos 48

Imágenes Oficiales 48

Otras instalaciones

Wubi 49

LiveUSB 49

LiveDVD personalizado 49

CD de instalación mediante red 49

GESTIÓN DE PROCESOS Y DEL PROCESADOR - UBUNTU 50

Procesos y Subprocesos 50

Procesadores 51

Page 4: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 4

Programación 52

Sincronización Kernel 52

Multiprocessing (Multiprocesamiento) 53

GESTIÓN DE MEMORIA - UBUNTU 53

GESTIÓN DE MEMORIA AUXILIAR (SECUNDARIA Y TERCIARÍA) Y

SISTEMA DE ARCHIVOS - UBUNTU

54

Sistema de Archivos 54

Estructura de Directorios 55

GESTIÓN DE ENTRADA Y SALIDA 57

DESCRIPCIÓN DE LOS DISPOSITIVOS DE ENTRADA Y SALIDA QUE

SOPORTA (LINUX)

59

GESTIÓN DE COMUNICACIONES Y SEGURIDAD - UBUNTU 60

Seguridad 62

Usuarios y claves 62

Permisos y grupos 63

Repositorios seguros 64

El Cortafuegos 64

SeLinux / AppArmor 64

SOPORTE A TIEMPO REAL - UBUNTU 65

ESTADÍSTICAS DE UTILIZACIÓN MUNDIAL - UBUNTU. 65

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD

COMPUTING) - UBUNTU

66

ANÁLISIS COMPARATIVO ENTRE PLATAFORMA TRADICIONAL Y

EL SMARTPHONE (UBUNTU).

67

RED HAT 68

ESTRUCTURA Y COMPONENTES DEL SISTEMA – RET HAT 69

Estructura de Directorios FHS en Red HAT Enterprise 6 69

SISTEMA DE ARCHIVOS – RET HAT 71

PROCESO DE INSTALACIÓN 72

INSTALACIÓN BASE 72

INSTALACIÓN DEL SERVIDOR 72

GESTIÓN DE PROCESOS Y DEL PROCESADOR – RET HAT 73

GESTIÓN DE MEMORIA – RET HAT 74

GESTIÓN DE ENTRADA Y SALIDA – RET HAT 76

SOPORTE A TIEMPO REAL 77

SCHED_FIFO 77

SCHED_RR 77

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD

COMPUTING) – RET HAT

78

FEDORA 79

¿QUÉ HACE A FEDORA DIFERENTE? 79

ESTRUCTURA Y COMPONENTES DEL SISTEMA - FEDORA 80

PROCESO DE INSTALACIÓN - FEDORA 80

Page 5: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 5

GESTIÓN DE MEMORIA - FEDORA 81

Direccionamiento de Memoria 82

GESTIÓN DE PROCESOS - FEDORA 84

Paginación 84

Sistemas de archivos virtuales /proc y /sys 84

GESTIÓN Y SISTEMA DE ARCHIVOS - FEDORA 85

GESTIÓN DE COMUNICACIONES Y SEGURIDAD - FEDORA 86

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD

COMPUTING) - FEDORA

87

ESTADÍSTICAS - FEDORA 87

RESUMEN 89

CONCLUSIONES Y OBSERVACIONES 98

BIBLIOGRAFÍA 100

Page 6: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 6

INTRODUCCIÓN

En la actualidad existen múltiples y diversos sistemas operativos destinados para

diferentes usos y plataformas, los hay para equipos personales usados en el hogar,

de tipo empresarial y también para dispositivos móviles como los smartphones. El

objetivo de este trabajo es mostrar las características fundamentales de diferentes

sistemas operativos construidos en dos diferentes plataformas: la tradicional y la

plataforma móvil. Para este trabajo se hará un análisis al sistema operativo más

representativo del campo del software libre, Linux.

En dicho análisis se tocarán temas de la arquitectura de este sistema tales como

componentes, estructura, administración de procesos, de memoria, de memoria

auxiliar y de los dispositivos de entrada y salida soportados por este sistema.

También se hablará de soporte a tiempo real y de computación en la nube.

El otro análisis que se mostrará en este documento es sobre un sistema de

plataforma móvil llamado Google Chrome OS; el análisis tendrá los mismos puntos

que tiene el análisis del sistema Linux.

Por último se citarán algunas conclusiones de acuerdo al análisis hecho a los dos

sistemas operativos que se trabajarán en el presente trabajo.

Page 7: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 7

HISTORIA DE 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.

Linux es usado como sistema operativo en una amplia variedad de plataformas de

hardware y computadores, incluyendo los computadores de escritorio (PCs x86 y

x86-64, y Macintosh y PowerPC), servidores, supercomputadores, mainframes, y

dispositivos empotrados así como teléfonos celulares.

En 1983 Richard Stallman fundó el proyecto GNU, con el fin de crear sistemas

operativos parecidos a UNIX y compatibles con POSIX. Dos años 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. El software GNU se extendía

muy de prisa y dentro de poco una multitud de programas fueron escritos, de

manera que ya a principios de 1990 había bastantes software GNU como para hacer

un sistema operativo propio, pero faltaba el Kernel.

A principios de los años 1990, no había un sistema operativo libre completo. A pesar

de que el proyecto GNU era desarrollado constantemente, no disponía sin embargo

de ningún buen Kernel basado en UNIX, por el contrario era un número de proyectos

de software libres que podían ser traducidos en las variantes UNIX mediante el

compilador de GNU.

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. Linus entró a formar parte

de la comunidad de usuarios Minix. Andy Tannenbaum cometió un error en su

sistema operativo. Era demasiado limitado, tanto técnicamente como políticamente,

en ningún momento tuvo en cuenta la posibilidad de incluir Minix al proyecto GNU.

La creación de Andy Tannenbaum estaba pensando para ser distribuida. La historia

de Linux está fuertemente vinculada a la del proyecto GNU.

Page 8: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 8

Hacia 1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto

GNU había producido varios de los componentes del sistema operativo, incluyendo

un intérprete de comandos, una biblioteca C y un compilador, pero aún no contaba

con el núcleo que permitiera complementar el sistema operativo. Entonces, el

núcleo creado por Linus Torvalds, llenó el hueco final que el sistema operativo GNU

exigía.

Linus nunca anunció la versión 0.01 de Linux (agosto 1991), esta versión no era

ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en

lenguaje ensamblador y asumía que uno tenía acceso a un sistema Minix para su

compilación.

El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, - versión

0.02. Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc

(Compilador GNU de C) pero no mucho más funcionaba. En este estado de

desarrollo ni se pensaba en los términos soporte, documentación, distribución.

Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, más

programadores a lo largo y ancho del internet empezaron a trabajar en el proyecto

y después de revisiones, Linus incremento el número de versión hasta la 0.95

(marzo 1992). En Diciembre de 1993 el núcleo del sistema estaba en la versión 0.99

y la versión 1.0, llego el 14 de marzo de 1994.

EMPRESAS QUE PATROCINAN EL USO DE LINUX

Con la adopción por numerosas empresas fabricantes, un buen número de

computadoras se venden con distribuciones pre-instaladas, y GNU/Linux ha

comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio.

Algunas de las empresas que colaboran en la difusión de este sistema operativo ya

sea trabajando en el núcleo Linux, proporcionando soluciones de software o

preinstalando el sistema operativo, son: Intel, Google, IBM, AMD, Sun

Microsystems, Dell, Lenovo, Asus, Hewlett-Packard (HP), Silicon Graphics

International (SGI), Renesas Technology, Fujitsu, Analog Devices, Freescale, VIA

Technologies, Oracle, Novell y Red Hat, entre otras.

Page 9: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 9

El respaldo de compañías de software también está presente, ya que, entre otras

aplicaciones, Nero, Java, Google Earth, Google Desktop, Adobe Reader, Adobe

Flash, RealPlayer y Yahoo! Messenger están disponibles para GNU/Linux. Al haber

software equivalente, es innecesario instalar los precisamente mencionados con

anterioridad.

CARACTERÍSTICAS DE LINUX

Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas

al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que

todos los programas que se están utilizando en un momento dado serán ejecutados,

siendo el sistema operativo el encargado de ceder tiempo de microprocesador a

cada programa.

Multiusuario: Muchos usuarios usando la misma maquinan al mismo tiempo.

Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux

son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen

versiones para su utilización en otras plataformas, como Alpha, ARM, MIPS,

PowerPC y SPARC.

Multiprocesador: Soporte para sistemas con más de un procesador está disponible

para Intel y SPARC. Funciona en modo protegido 386.

Protección de la memoria entre procesos, de manera que uno de ellos no pueda

colgar el sistema.

Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de

un programa que están siendo usadas actualmente.

Política de copia en escritura para la compartición de páginas entre

ejecutables: esto significa que varios procesos pueden usar la misma zona de

memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página

(4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos

beneficios: aumenta la velocidad y reduce el uso de memoria.

Page 10: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 10

Memoria virtual usando paginación (sin intercambio de procesos completos)

a disco: A una partición o un archivo en el sistema de archivos, o ambos, con la

posibilidad de añadir más áreas de intercambio sobre la marcha Un total de 16

zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un

momento dado con un límite teórico de 2Gb para intercambio. Este límite se puede

aumentar fácilmente con el cambio de unas cuantas líneas en el código fuente.

La memoria se gestiona como un recurso unificado para los programas de usuario

y para el caché de disco, de tal forma que toda la memoria libre puede ser usada

para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes

programas.

Librerías compartidas de carga dinámica (DLL's) y librerías estáticas.

Se realizan volcados de estado (core dumps) para posibilitar los análisis post-

mortem, permitiendo el uso de depuradores sobre los programas no sólo en

ejecución sino también tras abortar éstos por cualquier motivo.

Compatible con POSIX, System V y BSD a nivel fuente.

Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a

nivel binario.

Todo el código fuente está disponible, incluyendo el núcleo completo y todos los

drivers, las herramientas de desarrollo y todos los programas de usuario; además

todo ello se puede distribuir libremente. Hay algunos programas comerciales que

están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que

ha sido gratuito sigue siendo gratuito.

Control de tareas POSIX.

Pseudo-terminales (pty's).

Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer

su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá

dotada de coprocesador matemático. Por supuesto, si el ordenador ya tiene una

FPU (unidad de coma flotante), esta será usada en lugar de la emulación, pudiendo

incluso compilar tu propio kernel sin la emulación matemática y conseguir un

pequeño ahorro de memoria.

Page 11: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 11

Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir

nuevos dinámicamente.

Consolas virtuales múltiples: varias sesiones de login a través de la consola entre

las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente

independiente del hardware de video). Se crean dinámicamente y puedes tener

hasta 64.

Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos

los sistemas de archivo típicos de System V, y tiene un avanzado sistema de

archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta

255 caracteres de longitud.

Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante

un sistema de archivos especial: no es necesario ningún comando especial para

usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix

(excepto por algunas restricciones en los nombres de archivo, permisos, y esas

cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este

momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT,

Windows 95) ha sido añadido al núcleo de desarrollo y estará en la próxima versión

estable.

Un sistema de archivos especial llamado UMSDOS que permite que Linux sea

instalado en un sistema de archivos DOS.

Soporte en sólo lectura de HPFS-2 del OS/2 2.1

Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.

TCP/IP, incluyendo ftp, telnet, NFS, etc.

Appletalk.

Software cliente y servidor Netware.

Lan Manager / Windows Native (SMB), software cliente y servidor.

Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX,

DDP, Netrom, etc.

Page 12: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 12

HISTORIA DE GOOGLE

Larry Page y Serguéi Brin comienzan Google como un proyecto universitario en

enero de 1996 cuando ambos era estudiantes de la Universidad de Stanford. Page

y Brin fundan, el 4 de septiembre de 1998, la compañía Google Inc., que estrena en

Internet su motor de búsqueda el 27 de septiembre siguiente. En el 2000 Google

presentó AdWords, su sistema de publicidad online y la llamada Barra Google.

En febrero de 2001 Google compra el servicio de debate Usenet de Google y lo

transforma en Google Grupos. En julio de 2001 lanza su servicio de búsqueda de

imágenes. En febrero de 2002 lanza Google Search Apliance. En mayo lanza

Google Labs que cerrará 9 años más tarde. En septiembre se lanza Google Noticias.

En diciembre del mismo año se lanza el servicio de búsqueda de productos llamado

Froogle, ahora denominado Google Products. En febrero de 2003 Google adquiere

Pyra Labs y con ello el servicio de creación de blogs Blogger. En abril se presenta

Google Grants, un servicio de publicidad gratuito para organizaciones sin ánimo de

lucro. En diciembre de ese año se lanza Google Print, posteriormente Google Libros.

En enero de 2004 lanza la red social orkut. En marzo se lanza Google Local que

más tarde se integraría con Google Maps. En abril Google presentó GMail, su

servicio de correo electrónico con 1 Gb de almacenamiento. En octubre de ese año

lanzan Google Desktop, que será descontinuado. También lanzó el llamado Google

Académico. En 2004 compró la empresa Keyhole.

Un año después, en 2005, sacaron a la luz Google Maps y Google Earth. Ese mismo

año Google compró Android Inc. También lanzó Google Code y se desarrolla el

primer Summer of Code. En agosto presenta Google Talk. En octubre Google lanza

su lector de feeds RSS Google Reader. En noviembre se presenta Google Analytics

y en diciembre Google Transit.

En 2006 lanza Picasa. En marzo adquiere Writely para más tarde lanzar Google

Docs y presenta ese mismo mes Google Finance. En abril se presenta Google

Calendar y en agosto Google Apps, servicio orientado a empresas. En octubre de

2006, Google adquirió por 1650 millones de dólares la página de vídeos YouTube.8

Ese mismo mes adquiere JotSpot que más tarde se convertirá en Google Sites.

Page 13: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 13

Un año después, en 2007, Google lanzó el sistema operativo abierto para móviles

Android y creó la Open Handset Alliance. En abril de 2007, Google compró

DoubleClick, una empresa especializada en publicidad en Internet, por 3100

millones de dólares. En junio lanza Google Gears que más tarde será abandonado

debido a que lo que ofrecía más tarde fue incorporado en HTML5. En julio de 2007,

Google compró Panoramio, un sitio web dedicado a exhibir las fotografías que los

propios usuarios crean y geoposicionan, siendo algunas de ellas subidas al sitio

para que puedan ser vistas a través del software Google Earth, en noviembre

presenta OpenSocial.

En febrero de 2008 se lanza Google Sites. El 2 de septiembre de 2008, Google

presenta su propio navegador web Google Chrome y el proyecto de código abierto

Chromium. En diciembre se lanza Google Friend Connect. En febrero se lanza

Google Latitude. En marzo se presenta Google Voice. En septiembre de 2009

adquiere reCAPTCHA. En noviembre presenta el proyecto de sistema operativo de

código abierto Chromium OS. En diciembre presenta Google Public DNS.

En enero de 2010 Google presenta su primer teléfono móvil, el Nexus One, que

funciona con Android. Ese mismo mes adquiere Aardvark. En marzo adquiere

Picnik. En mayo lanza Google TV. En octubre presenta su proyecto de vehículos

autónomos. En diciembre presenta su segundo teléfono, el Nexus S, fabricado por

Samsung.

En enero de 2011, Larry Page es nombrado CEO. En mayo se presentan los

Chromebooks. En junio se presenta la nueva red social de Google llamada

Google+.En agosto de 2011, Google adquiere Motorola Mobility por 8800 millones

de euros. Google presenta su tercer teléfono inteligente, el Galaxy Nexus, fabricado

por Samsung y que funciona con la cuarta versión de Android.

En abril de 2012, Google presenta el Project Glass, un proyecto para crear unas

gafas de realidad aumentada. En febrero del 2014 Google compra SlickLogin, una

compañía compuesta por grandes desarrolladores, expertos en seguridad, que han

creado un innovador sistema de identificación a través del sonido para los teléfonos

inteligentes.

Page 14: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 14

Lanzamiento del Código Abierto

El 19 de noviembre de 2009 se lanzó el proyecto abierto Chromium OS, proyecto

que permite la colaboración abierta del desarrollo del sistema operativo de Google.

El núcleo del sistema es Linux, y cuenta con herramientas del entorno Linux.

Chrome Notebook (Cr-48)

El 7 de diciembre de 2010, Google anunció un programa piloto que consiste en

enviar una computadora portátil (notebook) sin costo alguno, a aquellas personas

residentes en Estados Unidos que quieran empezar a probar, en una etapa previa,

el sistema operativo Chrome OS. El computador cuenta con una conexión 3G,

gracias al proveedor de telefonía móvil Verizon, conexión Wi-Fi, una pantallaLCD

de 12,1 pulgadas, cámara integrada, tapete táctil multitáctil, y un teclado modificado

especialmente para Chrome OS.

Chromebook

El 11 de mayo de 2011, en el evento Google I/O son presentados dos Chromebooks

potenciados con Chrome OS, fabricados por Samsung y Acer. Ambos Chromebooks

cuentan con discos SSD, sin unidad óptica, tapete multitáctil, pantallas de 12,1 y

11,6 pulgadas, conexión Wi-Fi o 3G, y con baterías de larga duración de hasta 8,5

horas continuas. El 15 de junio de 2011 los Chromebooks se lanzan a la venta para

el público, con precios desde los $349 hasta los $499 USD.

CARACTERÍSTICAS FUNDAMENTALES DE CHROME OS

Interfaz de usuario

Chrome OS está diseñado de una forma minimalista, debido a que su principal

herramienta es el navegador web Google Chrome. De esta forma, la compañía

planea mover gran parte de la interfaz de usuario desde un entorno de escritorio

hacia Internet. De hecho, Google se refiere a su proyecto Chrome OS como una

extensión natural del navegador Chrome. En otras declaraciones para una

audiencia de desarrolladores, Google enfatiza que la web es la plataforma,

destacando que las aplicaciones basadas en web funcionarán en Chrome y

viceversa.

Page 15: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 15

Las principales características de la interfaz de usuario son:

● Paneles: Los paneles son pequeñas ventanas inferiores que se utilizan

para diferentes tareas, tales como la descarga de archivos, navegador de

archivos, mensajería instantánea en Hangouts, tomar notas, o

notificadores de eventos como Google Calendar, Gmail, y actualizaciones

del sistema. Los paneles también permiten ser minimizados para

ocultarse, y también se pueden utilizar mientras se navega en diferentes

sitios al permanecer estáticos.

● Indicadores: Los indicadores se encuentran en la parte superior derecha,

e indican procesos como la hora, batería, conexión y selector Wi-fi, y

conexión 3G.

● Pestañas: Las pestañas son lo más utilizado en el sistema, se utilizan

para abrir las aplicaciones y sitios, y permiten abrir opciones del sistema.

Las pestañas también se pueden "fijar" y disminuir su tamaño para quedar

ancladas en la parte superior izquierda.

● Lanzadores: Los lanzadores aparecen en la página principal, y son

iconos grandes que se utilizan para abrir aplicaciones web, también ver

los sitios más visitados, y ver los marcadores en una barra superior.

Velocidad

Uno de los puntos que más destaca Google es la velocidad del sistema, con un

tiempo de arranque de 8 segundos y un tiempo de apagado bastante corto, además

de la rapidez con que abre sus aplicaciones web.

Sincronización

Todos los documentos, aplicaciones, extensiones, y configuraciones, son

respaldados en línea bajo el concepto de computación en nube. Así que si el usuario

pierde su máquina, puede obtener otra o acceder desde otra máquina, y obtener

exactamente los mismos datos que mantenía anteriormente.

Siempre conectado

Chrome OS solamente se puede obtener por medio de la compra directa de un

Chromebook, contando con conexión 3G o Wi-Fi para poder estar siempre en línea.

La promesa de Google es que Chrome OS siempre esté conectado, no importa

dónde. Además, en las versiones de desarrollo de Chromium OS, ya se están

probando las conexiones 4G(LTE) con otros dispositivos.

Page 16: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 16

Aplicaciones Web

Chrome OS no utiliza el típico sistema de aplicaciones, las aplicaciones se utilizan

dentro del navegador web Google Chrome, y pueden ser utilizadas en línea o ser

instaladas para poder utilizarse sin la necesidad de una conexión a Internet. El

principal medio para obtener estas aplicaciones web es la tienda en línea Chrome

Web Store, la cual permite adquirir aplicaciones, extensiones y temas para el

navegador Google Chrome en un solo lugar. La tienda también permite comprar

aplicaciones, y que los desarrolladores publiquen sus aplicaciones basadas en

lenguaje web actual.

Seguridad

También contará con una arquitectura de seguridad actualizada. Google enfatiza el

hecho de que sus Chromebooks no sufrirán de virus o programas maliciosos.

Debido a que muchos sistemas operativos actuales fueron diseñados en épocas en

las que internet no era predominante, Chrome se diseña teniendo muy en cuenta

esto, por ende eliminando riesgos de seguridad comunes arraigados.

Los puntos más importantes con respecto a la seguridad de Chrome OS son:

● Actualizaciones automáticas: Las aplicaciones webs instaladas,

extensiones, temas, el navegador, y el sistema operativo se mantendrá al

día con actualizaciones automáticas.

● Aislamiento de procesos: Aislar procesos que puedan comprometer la

seguridad del sistema, tales como Flash Player, extensiones o

aplicaciones instaladas.

● Verificación de arranque: Monitorea si el sistema ha sido manipulado

por entes externos antes de que el sistema parta, y vuelve a una versión

de respaldo si esto ha sucedido.

● Cifrado de datos: Todos los datos descargados en el disco son cifrados.

● Modo visita: Parecido a la «cuenta de invitado» presente en sistemas

operativos Windows, GNU/Linux, y Mac OS X. En este modo el usuario

puede pasar la máquina a conocidos para que utilicen una cuenta de visita

sin que sus datos se vean comprometidos.

Page 17: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 17

Características Avanzadas Chrome OS

Multitáctil

Los primeros gestos multitáctiles se vieron en el Chrome Notebook (Cr-48), pero

con funcionamientos básicos, como scroll de página con dos dedos... Pero Google

dará soporte multitáctil completo de hasta cuatro dedos en versiones estables.

Reproductor multimedia

Todo el contenido multimedia descargado, como música o videos, se podrán

reproducir gracias al reproductor multimedia integrado de Chrome OS.

Impresión

Para solucionar el problema de compatibilidad de controladores de hardware de las

diferentes impresoras disponibles en el mercado, Google lanza Google Cloud Print

(aún en Beta). La cual permite imprimir documentos desde cualquier dispositivo y

aplicación, solamente es necesario conectar la impresora a Google Cloud Print y

también conectarse mediante Chrome OS para mandar la orden de impresión.

Page 18: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 18

PRESENTACIÓN GOOGLE CHROME OS

Anuncio

El 7 de julio de 2009, Google anuncia uno de sus más grandes proyectos, su propio

sistema operativo basado en código abierto (Núcleo Linux) diseñado para trabajar

exclusivamente con aplicaciones web, el cual es nombrado «Google Chrome OS»

(o simplemente abreviado Chrome OS), justo 9 meses después de haber lanzado

su navegador Google Chrome. 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. Al igual que el navegador Google

Chrome que cuenta con el proyecto Chromium como el proyecto abierto para su

desarrollo, Google Chrome OS cuenta con Chromium OS como proyecto de código

abierto para su desarrollo. Google también destaca que su interfaz de usuario es

simple, rápida, y segura, debido a que su principal herramienta de uso es el

navegador Google Chrome. El sistema operativo está diseñado de tal forma que el

usuario pueda conectarse a Internet en cuestión de segundos. Contará con soporte

para procesadores x86 y ARM, y con el soporte de una gran lista de fabricantes de

hardware y software.

Page 19: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 19

ESTRUCTURA Y COMPONENTES DEL SISTEMA

El Chrome OS se divide en 3 partes importantes:

● El navegador basado en el Chrome y el manejador de ventanas.

● El sistema en sí y los servicios: el kernel, los drivers, etc.

● Firmware

Firmware

El firmware tiene un papel clave para que el arranque del sistema sea más rápido y

más seguro. Para lograr esto se eliminaron elementos innecesarios y se añadieron

soporte para la verificación de cada paso en el proceso de arranque. También se

añadió soporte para la recuperación del sistema en el propio firmware. Se evitó la

complejidad en la mayoría de los firmwares de las PC´s tradicionales porque el

Chrome OS no tiene soporte para una buena cantidad de hardware. Por ejemplo no

se prueba si existe el floppy drives.

El firmware implementa las siguientes funcionalidades:

● La recuperación del sistema: El firmware de recuperación puede volver a

instalar Chrome OS en el caso de que el sistema se ha convertido dañada o

en peligro.

● Verificado el arranque: Cada vez que el sistema arranca, Chrome OS

verifica que el firmware, el kernel y la imagen del sistema no han sido

manipulados o corrompidos. El proceso se inicia en el firmware.

● Inicio rápido: Hemos mejorado el rendimiento de arranque mediante la

eliminación de una gran cantidad de componentes que se encuentra

normalmente en el firmware PC.

Page 20: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 20

El sistema en sí y los servicios

Aquí es en donde se utiliza el kernel de Linux, los drivers y los demonios.

He aquí una lista de las cosas de cual el sistema depende:

● D-Bus: El navegador utiliza el D-Bus para interactuar con el resto del

sistema. Un ejemplo de esto es el medidor de la batería, y el indicador de

señal de la red.

● Administrador de conexiones: provee una API para interactuar con los

dispositivos de red, provee DNS proxy y maneja los servicios para los sistema

3G, wireless, y ethernet.

● Autoupdate: el demonio de actualización instala "silenciosamente" nuevas

imágenes del sistema.

● Administrador de energía: se ocupa de los eventos relacionados con la

energía como por ejemplo, cuando la tapa de la PC se cierra o cuando se

presiona el botón de encendido.

● Xscreensaver: administra el bloqueo de la pantalla cuando el sistema queda

ocioso.

● Servicios estándares de Linux: NTP, syslog y cron.

Page 21: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 21

El navegador y el administrador de ventanas

El administrador de ventanas es el responsable de manejar la interacción del

usuario con las múltiples ventanas. Lo hace de manera similar que otros X

manejadores de ventanas, controlando la posición de la ventana, asignando el

"input focus", etc.

PLATAFORMAS SOBRE LAS QUE TRABAJA CHROME OS

El sistema operativo es un sistema realizado con base en código abierto construido

sobre un kernel Linux distribución Debian construido sobre un núcleo monolítico y

orientado inicialmente para miniportátiles, que funciona en procesadores con la

tecnología x86 y ARM. Aunque el sistema se basa en un kernel Linux, tendrá un

gestor de ventanas propio de Google.

INSTALACIÓN DE CHROME OS

Ejecución desde una máquina virtual Con este tipo de ejecución podemos emular

mejor el hardware en el que corre nuestro ChromeOS con lo que tendremos una

experiencia más cercana a una máquina oficial Chrome, además la podemos

ejecutar sobre una ventana en nuestro sistema.

- Necesitamos es tener instalado un cliente de máquina virtual como

VirtualBox

- Descargamos y descomprimimos la versión de ChromeOS para la máquina

virtual que usemos de la web de Hexxeh

- Ejecutamos Virtualbox y creamos una nueva máquina. Nombre = ChromeOS;

Tipo = Linux; Versión = Other

Page 22: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 22

En el paso siguiente asignamos la memoria para la máquina virtual, entre 512 Mb y

1GB es suficiente. En este paso seleccionaremos la opción de usar un archivo de

disco duro virtual y añadiremos el fichero *.vdi descargado.

Page 23: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 23

Pulsamos con el botón derecho sobre la nueva máquina virtual ChromeOS y vamos

a Configuración. En la categoría Sistema, Placa Base seleccionamos Dispositivo

apuntador = Ratón PS/2.

En esta misma categoría, pestaña Procesador habilitamos PAE/NX.

Page 24: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 24

En la categoría Red pulsamos en Opciones Avanzadas y seleccionamos una

tarjeta de red Intel PRO/1000MT.

Ya podemos iniciar Chrome Os y configurarlo:

Page 25: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 25

Si tenemos problemas con el ratón desactivar en la esquina inferior la integración

automática del ratón, pulsando la tecla Control derecha podemos cambiar el ratón

entre la ventana emulada y la de nuestro sistema.

SISTEMA DE ARCHIVOS EN CHROME OS

Una unidad contiene hasta cuatro particiones:

● Una partición llamada “stateful partition” que es en donde se almacenan los

archivos de los usuarios, log, etc.

● Una partición opcional de intercambio.

● Dos particiones que contienen el sistema de ficheros en sí.

Sistema de archivos raíz

Sólo una de las dos particiones designadas para el sistema de ficheros estará en

uso en un momento dado. El otro se utilizará para autoupdating y para una

alternativa en caso de la partición actual no puede arrancar.

Diagrama del proceso de booteo.

Page 26: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 26

DESCRIPCIÓN DE LOS DISPOSITIVOS DE ENTRADA Y SALIDA QUE

SOPORTA (CHROME OS)

Inicialmente el sistema operativo Google Chrome OS estará instalado en máquinas

de tipo laptop o miniportátil fabricados por ciertas compañías las cuales soportarán

los siguientes dispositivos:

● Pantalla de 12,1 pulg (1280 x 800)

● Procesador Intel® Celeron®

● 4 GB RAM

● Unidad SSD de 16 GB

● Intel HD Graphics 3000

● Módem para conexión Wi-Fi de doble banda 802.11 a/b/g/n, Gigabit Ethernet

y 3G integrado (opcional)

● Cámara de alta definición

● 2 puertos USB 2.0

● Ranura para tarjetas 4 en 1

● Salida de DisplayPort++ (compatible con HDMI, DVI y VGA)

● Ranura de seguridad Kensington

Conversaciones cara a cara con amigos y familiares con la cámara de alta definición integrada

Cómodo teclado de Chrome personalizado de tamaño estándar

Page 27: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 27

Conexión con varias pantallas con el puerto DisplayPort integrado

Panel multitáctil de gran tamaño con reposamuñecas de aluminio

Reinicia y vuelve a la Web en 7 segundos.

Page 28: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 28

GESTIÓN DE COMUNICACIONES Y SEGURIDAD (CHROME OS)

Google Cloud Printing

Google transita paso a paso el largo camino que separa la idea de diseñar un

sistema operativo de la puesta a punto del mismo. Uno de los problemas que

enfrentaban sus desarrolladores era la utilización de periféricos locales, como las

impresoras. Recordemos que este sistema operativo fue sido diseñado desde el

principio para ser utilizado “en la nube”, por lo que sólo manejará aplicaciones que

estén alojadas en un anfitrión de la Web. 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. Google acaba

de revelar el código del software y la documentación de este proyecto cuya meta es

cumplir el ambicioso objetivo de “permitir a los usuarios del sistema operativo

Chrome imprimir documentos a cualquier impresora desde cualquier aplicación.

En vez de confiarle los trabajos de impresión al sistema operativo local o a los

controladores, las aplicaciones podrán usar Google Cloud Print para enviar y

manejar trabajos de impresión.

Google Cloud Print será el responsable de enviar el trabajo a la impresora apropiada

con las opciones particulares que el usuario haya seleccionado, y devolverá el

estado en que se encuentra el trabajo a la aplicación correspondiente.” Google

Cloud Print todavía se encuentra en la primera etapa de su desarrollo, y todavía es

muy pronto para decir si será o no una solución adecuada. Pero si funciona, será

unos de los motivos que hagan de Google Chrome OS un producto exitoso.

Chromoting

Se trata de una tecnología que permitirá ejecutar aplicaciones de PC remotamente

y que aportará un método muy interesante para no tener que renunciar del todo a

Page 29: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 29

aplicaciones de escritorio en este sistema operativo totalmente orientado a los

servicios web y a la nube de computación. Eso podría solventar una de las mayores

carencias de este desarrollo.

Con esta funcionalidad (llamada de forma no oficial ‘Chromoting’) Chrome OS no

solo será una gran plataforma para ejecutar modernas aplicaciones web, sino que

también te permitirá acceder a aplicaciones tradicionales del PC directamente

dentro del navegador de modo que 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.

El modelo de seguridad se ha diseñado de la siguiente manera: se utiliza

sandboxing (o cajas de arena), que restringe los privilegios de las principales partes

del navegador de modo que es más difícil de contar con ellas para el montaje de un

ataque, y multi-proceso de la arquitectura, que almacena los sitios web y

aplicaciones de las distintas áreas de áreas de memoria del navegador y aislados

del resto de la computadora.

Esta es un arma clave para combatir la explotación, así como técnicas para la

reducción de superficies de ataque. El objetivo final es una recuperación exitosa

mediante la simple aplicación de una actualización y reiniciando el equipo infectado.

El sistema operativo toma gran parte de su postura de seguridad del navegador

Chrome, y a primera vista se parece al modelo de seguridad utilizado por Apple para

asegurar su dispositivo iPhone. A continuación se muestra cómo Google planea

reforzar la seguridad del sistema operativo para reducir la probabilidad de un ataque

exitoso, y disminuir las posibilidades de explotaciones a nivel usuario.

● Proceso Sandboxing

○ Obligatoria la aplicación de control de acceso que limita recursos,

procesos e interacciones del núcleo.

○ Control del grupo de dispositivos filtrado y restricción de uso indebido

de los recursos.

○ Procesos de chrooting y namespacing para la reducción de recursos

y las superficies de ataque en los cruzamientos de procesos.

Page 30: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 30

○ Interposición de los dispositivos de medios para reducir el acceso

directo a la interfaz del núcleo desde el navegador de Chrome y los

procesos de complementos.

● Endurecimiento de la cadena de herramientas para limitar explotaciones

fiables y exitosas o NX, ASLR, pila de cookies, etc

● Endurecimiento del núcleo y configuración de mondadura.

● Restricciones adicionales del sistema de archivos

○ Partición raíz de solo lectura

○ tmpfs basado en / tmp

○ Directorios de usuarios que no pueden tener ejecutables, archivos

ejecutables privilegiados, o nodos de dispositivos.

● A largo plazo, mejoras adicionales del sistema se llevarán a cabo, como

sandboxing para controladores.

ANÁLISIS COMPARATIVO ENTRE PLATAFORMA TRADICIONAL Y EL

SMARTPHONE (CHROME OS)

Page 31: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 31

Vs. Android

Android fue diseñado para los teléfonos móviles y puede llegar a funcionar en

netbooks, sin embargo los fabricantes lo consideren insuficiente para ellos,

aunque cada vez más los fabricantes lo están adoptando.

Page 32: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 32

Android es basado en Java mientras que Chrome OS es basado en Linux con una

sencilla interfaz gráfica de usuario.

Vs. Windows

Chrome OS parece una buena idea para ofrecer una alternativa a Windows.

Chrome está en constante desarrollo y una nueva dirección que los diseñadores

quieren tomar es la de separar la interfaz gráfica que incluye ventanas, y el back-

end. Este último puede entonces ser XLib, OpenGL o DirectX y Win32, es decir,

Linux o Windows.

Vs. Linux

Chrome OS es realmente sólo un navegador en la parte superior de Linux y no se

necesita un sistema operativo especial para eso. Se puede utilizar alternativas

como KDE Plasma o Firefox OS que tiene la ventaja de promover la API estándar

para programar el hardware.

Page 33: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 33

ESTADÍSTICAS DE UTILIZACIÓN A NIVEL MUNDIAL DE CHROME OS

Page 34: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 34

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD COMPUTING) DE

GOOGLE CHROME OS

Se ha desarrollado una librería que implementa el lado del cliente de nuestro

protocolo de sincronización así como el lado del servidor de Google proporciona la

infraestructura para servir a los usuarios y sincronizar los datos con su cuenta de

Google.

La sincronización del framework del Chrome inicialmente manejara bookmarks,

pero está diseñado para manejar otros tipos de datos del browser en el futuro. Usa

un modelo de propagación de mensaje para propagar la notificación de

modificaciones, lo que significa es que la actividad en una instancia del browser se

verá reflejada inmediatamente en otra instancia. Google también planea proveer

una interfaz web con el cual el usuario podrá acceder a sus bookmarks desde

cualquier lugar usando cualquier browser logueandose a su cuenta de Google.

La sincronización del framework usará conexión XMPP persistente para la

notificación de cambios. El servidor de Google Talk proveerá la infraestructura

backend para esa parte del proceso de sincronización. Los datos actuales del

bookmark serán transmitidos en el formato Google Protocol Buffer.

Page 35: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 35

GESTIÓN DE PROCESOS Y PROCESADOR LINUX

Ya que las distintas distribuciones de Linux que se tratan en el documento (Ubuntu,

Red Hat y Fedora) y el sistema operativo Google Chrome OS están construidos

sobre el kernel de Linux, al hablar de la administración de la memoria y gestión de

procesos, se tratarán de la misma manera en general.

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().

El kernel de Linux almacena la lista de procesos en una lista doblemente enlazada

llamada la lista de tareas o Task List. Cada elemento en la tasks list es un descriptor

de procesos o Process Descriptor, el cual tiene toda la información que describe el

programa en ejecución, por ejemplo archivos en uso, espacio de dirección del

proceso, estado, prioridad, entre otros datos.

Ilustración 1: El descriptor de procesos y la task list.

Cada estructura taks_struct (es decir cada Process Descriptor, ver imagen anterior)

es asignada en memoria mediante el Slab Allocator, esto implica la creación de una

nueva estructura llamada el thread_info.

Page 36: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 36

El sistema identifica los procesos con un identificador único llamado PID o Process

IDentification, el cual es un valor numérico, típicamente un entero. Su valor máximo

es 32,768 (aunque puede ser incrementado al rango máximo de acuerdo al tipo de

dato); este valor indica el número de procesos que pueden ser ejecutados

concurrentemente en el sistema. El kernel almacena este valor en el atributo pid de

cada Process Descriptor.

Las tareas son típicamente referenciadas mediante un apuntador a su Process

Descriptor respectivo. De hecho la mayor parte del código kernel que trabaja con

procesos trabaja directamente con la estructura task_struct (es decir, con el Process

Descriptor). La mayoría de arquitecturas almacenan en un registro un apuntador al

Process Descriptor del proceso en ejecución actual, permitiendo un acceso más

eficiente. Otras arquitecturas, tales como la x86 (la cual tiene pocos registros)

aprovechan el almacenamiento del thread_info en la pila de procesos para conocer

la ubicación en memoria principal del task_struct (El Process Descriptor).

Estados de un Proceso:

El estado consiste en la condición actual del proceso. Este atributo se almacena en

la variable state del Process Descriptor. Cada uno de ellos está en uno de los cinco

estados descritos a continuación:

Page 37: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 37

TASK_RUNNING: El proceso se está ejecutando o está en una cola de procesos

en ejecución.

TASK_INTERRUPTIBLE: El proceso está bloqueado, esperando alguna para

reanudar, en tal caso el kernel cambia el estado a TASK_RUNNING. El proceso

despierta y se vuelve ejecutable si recibe dicha señal1.

TASK_UNINTERRUPTIBLE: Similar al TASK_INTERRUPTIBLE, solo que cuando

recibe la señal para reanudar, el proceso no reanuda y se vuelve ejecutable (es

decir, cambia su estado a TASK_RUNNING)

TASK_ZOMBIE: El proceso ha terminado, como se había dicho anteriormente, este

estado representa un proceso hijo terminado, pero a la espera de ser invocado por

el padre mediante wait(), wait4() o waitpid(). En caso tal de que el padre invoque

alguno de los tres métodos, el Process Descriptor esvaciado de la Task List.

TASK STOPPED: La ejecución del proceso ha parado. Se debe a que el proceso

no está corriendo y no es deseable que corra. Esto ocurre si el proceso recibe las

señales de parada de proceso o si recibe cualquier tipo de señal mientras está

siendo corregido.

1 Algunas de las señales mencionadas son las siguientes: Señales de continuación del proceso: SIGCONT. Señales de parada del proceso: SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU. Señales de Terminación del proceso: SIGKILL, SIGTERM, SIGHUP, SIGINT, SIGQUIT.

Page 38: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 38

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.

El Subsistema de administración de memoria es uno de las más importantes partes

del OS Linux. Desde aquellos días en que computación ha requerido más memoria

de la que existe físicamente en un sistema. Las estrategias fueron desarrolladas

para vencer esta limitación y la más exitosa de ellas se conoce hoy en día como

“memoria virtual”. La Memoria Virtual hace parecer a un sistema más abundante en

memoria de lo que realmente es. A continuación se explica que provee el

subsistema de memoria virtual en Linux:

Direccionamiento Largo de espacios en Memoria

El OS hace que el sistema aparente tener un volumen de memoria alto al que

realmente posee. La memoria virtual puede ser N veces más grande que la memoria

física de un sistema.

Protección

Cada proceso en el sistema posee su propio espacio de direcciones virtuales de

memoria. Estos espacios están completamente separados uno del otro y así los

procesos corren sin afectar a otros.

Mapeo en Memoria

El mapeo en memoria es acostumbrado para mapear imágenes y archivos de datos

dentro de un espacio de direcciones de un proceso.

Page 39: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 39

Alojamiento Equitativo de Memoria Física

El Subsistema de administración de memoria permite a cada proceso que se

encuentra en ejecución dentro del sistema, un equitativa distribución de la memoria

del sistema.

Memoria Virtual Compartida

En ocasiones necesitaremos compartir la memoria entre procesos. Por citar un

ejemplo, pudieran existir varios procesos corriendo en el sistema , procesos del tipo

comando de la shell de bash, más que múltiples copias de bach, cada una con su

propio espacio de direcciones virtuales de memoria, sin duda sería mucho mejor

“tener una sola copia en memoria física y que todos los procesos que corran bash

la compartieran”.

Un modelo Abstracto de Memoria Virtual

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.

Page 40: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 40

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.

La memoria virtual y física son divididas en pedacitos llamados páginas. Esas

páginas son todas del mismo tamaño, para que el sistema las pueda administrar de

una manera sencilla. Linux sobre arquitecturas Alpha AXP suele usar 8 Kbyte por

página y sobre sistema Intel x86 la página es de 4 Kbyte. Cada una de esas páginas

tiene un identificador único conocido como el “Page Frame Number (PFN)” o

número de cuadro de Página.

En este modelo de paginación, una dirección virtual está compuesta de 2 partes; un

offset (desplazamiento) y un virtual PFN.

Si la página de memoria es de 4 Kbytes, los bits 11:0 de la dirección virtual contiene

el offset y los bits 12 en adelante contendrán el PFN virtual.

Entonces, sobre una Arquitectura intel x86 a 32 bits tendríamos 1,048,576 (posibles

direcciones) páginas de memoria virtual de 4 kb cada una.

Cada vez que el procesador encuentre una dirección virtual, este extraerá su offset

y su PFN virtual para traducir esta página a una página física y accederla. Esto el

procesador lo hace posible mediante la magia de las “Tablas de Paginas (conjunto

de tablas mantenidas por el Sistema operativo Linux)”.

Page 41: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 41

Cada entrada de una Tabla de Páginas contiene teóricamente la siguiente

información:

a) Una bandera que indica si es una entrada válida.

b) El PFN físico que esta entrada está describiendo.

c) Información de Control de Acceso. Esto describe cómo la página podría ser

usada. Si esta podría ser escrita? o si esta contiene código ejecutable?

El concepto de Page HIT y FAULT

Supongamos que un programa genera una dirección virtual. De esta se extraerán

los bits 31-12 para obtener el número de página virtual. Entonces esto se usará

como un índice dentro de la tabla de páginas, este índice es conocido como page

table entry (PTE).

Cada PTE consiste de un bit validador (flag que indica si es una entrada válida) y

20 bits para la página física. Si el bit validador es 1, entonces la página virtual esta

en RAM, y podremos obtener la página física mediante su PTE. A este suceso se le

llama un page hit.

Si el bit validador es 0, entonces la página virtual no está en RAM, y los 20 bits para

la página física ahora nos son inútiles. Entonces la página virtual esta en disco duro

Page 42: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 42

(en la partición swap) y debemos traerla de ahí, para colocarla posteriormente en

RAM. A este suceso se le llama un page fault. A razón de que el disco es lento,

deberemos buscar que el kernel que usamos mantenga al mínimo el número de

page faults.

Traducción de una página virtual a una página física

Suponiendo que tenemos un page hit, el procesador toma el número de marco de

página físico y lo multiplica por el tamaño de página para obtener la dirección base

de la página física en memoria. Finalmente, el procesador le suma el

desplazamiento a la instrucción o dato que necesita, y esta es la dirección física con

la que accede a memoria.

Page 43: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 43

SOPORTE A TIEMPO REAL EN LINUX

Gracias a la reciente llegada del conjunto de parches de PREEMPT_RT, la

comunidad Linux unificó su método para lograr el rendimiento en tiempo real con

Linux. Lo que es particularmente relevante acerca de esta solución es que un solo

sistema operativo en tiempo real basado Linux permite a los desarrolladores obtener

las ventajas del rendimiento en tiempo real con la accesibilidad, usabilidad y soporte

de una comunidad que están disponibles en sistemas operativos de propósito

general.

Un RTOS de Linux creado con el conjunto de parches de PREEMPT_ RT incluye

jitter al mismo nivel que otros RTOS dedicados, como el VxWorks de WindRiver o

el Interval de Zero. Del mismo modo, con respecto a la utilización de la CPU como

una función de la velocidad del bucle, un PREEMPT_RT RTOS basado en Linux

ofrece un rendimiento equivalente o mejorado sobre otros RTOS dedicados. En gran

parte, esta mejora del rendimiento a nivel de aplicación, medido por una ganancia

inferior en el uso de la CPU a velocidades más altas del bucle, es un resultado de

la disponibilidad de la programación de un sistema RTOS basado en Linux. A

diferencia de la mayoría de los RTOS dedicados, un RTOS basado en Linux puede

ofrecer tanto un programador en tiempo real para las tareas críticas, como un

programador mucho más eficiente y completo para todas las tareas que no son en

tiempo real.

El consenso creciente es que PREEMPT_RT permite un RTOS basado en Linux

que ofrece un rendimiento similar al de otros RTOS existentes. Lograr este nivel de

rendimiento es excelente, tanto para los usuarios de Linux que buscan hacer frente

a aplicaciones de prestaciones más elevadas y en tiempo real, como para aquellos

que actualmente dependen de RTOS dedicados que buscan beneficiarse de la

estabilidad, facilidad de uso y soporte de la comunidad que ofrece Linux. La gran

comunidad de IP y herramientas junto con la importante base de usuarios con

experiencia permite a los diseñadores una mayor autonomía para incrementar la

funcionalidad de su solución a un coste menor de desarrollo. Muchas de las mejoras

en todo el sistema operativo pueden ser rápidamente aprovechadas, por ejemplo,

el stack de red maduro y estable proporcionado por Linux soporta verdaderos NICs

(Network Interface Cards) de doble DHCP y ofrece soporte para protocolos de

comunicación como IPv6 y SNMP.

El conjunto de parches PREEMPT_RT ofrece unos vectores clave de diferenciación

fundamentales para los diseñadores de sistemas embebidos. Extiende la flexibilidad

Page 44: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 44

que Linux proporciona para diversas arquitecturas de hardware y el diseño de un

solo sistema operativo hace que la asignación de recursos sea mucho más simple.

Como resultado, los usuarios se benefician de una mayor facilidad de uso, una

capacidad de programación más intuitiva y una mejor capacidad de configuración y

gestión del sistema. Más allá de flexibilidad del hardware, un RTOS de Linux permite

a los equipos de diseño embebido añadir y formar a los desarrolladores de software

más fácilmente dada la ubicuidad de Linux y el relativamente amplio suministro de

usuarios y recursos de Linux. Gracias al acceso a un RTOS basado en Linux más

accesible y familiar, los equipos de diseño embebido pueden hacer frente de manera

más eficiente a los desafíos del diseño embebido con un conjunto consolidado de

cadenas de herramientas de software.

Como PREEMPT_RT continúa creciendo como lo hace el método estándar para

obtener la funcionalidad en tiempo real con Linux, el mercado está empezando a

reconocer un número cada vez mayor de soluciones basadas en COTS (Custom

Off-The-Shelf), que ofrecen RTOS basado en Linux. Un ejemplo es el nuevo

controlador cRIO-9068 de National Instruments, que cuenta con un RTOS basado

en Linux abierto y con buen mantenimiento con un factor de forma compacto y

robusto. El controlador cRIO-9068 soporta el desarrollo de aplicaciones mediante el

software de diseño de sistemas LabVIEW de NI y las herramientas C/C++ que

permiten a los usuarios reutilizar eficazmente el código C/C++ y aprovechar la

comunidad de Linux al mismo tiempo que se benefician de la interfaz de desarrollo

intuitivo proporcionada por LabVIEW.

El diseño embebido es ahora más accesible para los equipos de diseño de software

con experiencia limitada en hardware debido a las soluciones COTS basadas en

RTOS de Linux. Para los equipos de diseño más maduros, estas soluciones ofrecen

un camino mucho más eficiente hacia el mercado; ya que, los recursos del equipo

se pueden ser invertir en las tareas específicas de la aplicación en lugar de hacerlo

en tareas rutinarias, tales como el diseño y la disposición de los conectores de los

periféricos de un procesador o escribir middleware para integrar los componentes

de los periféricos.

Además, para los equipos deseosos de contar con componentes de software de

código abierto, un RTOS de Linux empaquetado en una solución COTS por un

vendedor dispuesto a mantener y actualizar el sistema operativo proporciona la

Page 45: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 45

suficiente confianza y responsabilidad para garantizar la inversión. Los primeros

usuarios ya son testigos de estas ventajas.

En tanto que la oferta de RTOS de Linux llegue a ser más común en las soluciones

basadas en COTS, los usuarios deberían buscar arquitecturas de hardware

subyacentes que ofrezcan la mayor flexibilidad. A modo de ejemplo, el controlador

cRIO-9068 cuenta con la arquitectura RIO (Reconfigurable I/O) de NI LabVIEW, que

permite a los usuarios hacer frente a un conjunto muy diverso de necesidades. La

versatilidad que ofrece la arquitectura LabVIEW RIO se debe a un procesador que

trabaja en conjunto con una FPGA con acceso a E/S.

Los usuarios pueden llevar rápidamente soluciones altamente diferenciadas al

mercado con hardware flexible COTS que ofrece un RTOS basado en Linux. Esta

nueva tecnología comercial permite a los usuarios reutilizar el código y se benefician

del incremento de prestaciones, como muestra.

A medida que la línea principal del kernel de Linux continúa mejorando las

características, tales como el aislamiento de los núcleos y la gestión de memoria,

PREEMPT_RT servirá como una solución cada vez más atractiva para los

diseñadores de sistemas embebidos.

Apelando a los desarrolladores tradicionales de Linux y de RTOS, un RTOS basado

en Linux ofrece una oportunidad significativa - sobre todo cuando se hace disponible

en una plataforma COTS resistente, robusta y flexible. Gracias a este enfoque, los

diseñadores pueden centrarse en atender a cuestiones tales como la integración o

la seguridad de los sistemas, mientras que el mantenimiento y las actualizaciones

del sistema operativo dependen de los proveedores, lo cual permite optimizar aún

más su diseño.

Las soluciones COTS que ofrecen los RTOS de Linux harán posible que los

diseñadores puedan mantenerse por delante de las presiones del mercado,

lanzando diseños innovadores al mercado más rápido que nunca, marcando una

nueva era del diseño embebido.

Page 46: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 46

UBUNTU

Presentación:

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. Su nombre

proviene de la ética homónima, en la que se habla de la existencia de uno mismo

como cooperación de los demás.

Ubuntu está compuesto por diversos paquetes de software que, en su mayoría, son

distribuidos bajo código abierto y licencia libre. Este sistema operativo no tiene fines

lucrativos (se consigue de manera gratuita) y aprovecha las capacidades de los

desarrolladores de la comunidad para mejorar sus prestaciones.

Su facilidad de uso es una de las razones que han llevado a que Ubuntu cada vez

se haya convertido en una presencia más constante dentro del mercado

tecnológico. No obstante, tampoco hay que olvidar que otro de estos motivos es el

conjunto de aplicaciones que lleva incorporadas para satisfacción de sus usuarios.

Su patrocinador, Canonical, es una compañía británica propiedad del empresario

sudafricano Mark Shuttleworth. Ofrece el sistema de manera gratuita, y se financia

por medio de servicios vinculados al sistema operativo y vendiendo soporte técnico.

Además, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los

desarrolladores de la comunidad para mejorar los componentes de su sistema

operativo. Extraoficialmente, la comunidad de desarrolladores proporciona soporte

para otras derivaciones de Ubuntu, con otros entornos gráficos, como Kubuntu,

Xubuntu, Edubuntu, Ubuntu Studio, Mythbuntu, Ubuntu Gnome y Lubuntu.

Canonical, además de mantener Ubuntu, también provee de una versión orientada

a servidores, Ubuntu Server, una versión para empresas, Ubuntu Business Desktop

Remix, una para televisores, Ubuntu TV, y una para usar el escritorio desde

teléfonos inteligentes, Ubuntu for Android.

Cada seis meses se publica una nueva versión de Ubuntu. Esta recibe soporte por

parte de Canonical durante nueve meses por medio de actualizaciones de

seguridad, parches para bugs críticos y actualizaciones menores de programas. Las

versiones LTS (Long Term Support), que se liberan cada dos años, reciben soporte

durante cinco años en los sistemas de escritorio y de servidor.

Page 47: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 47

ESTRUCTURA Y COMPONENTES DEL SISTEMA - UBUNTU

Ubuntu internamente divide todo el software en cuatro secciones, llamadas

componentes, para mostrar diferencias en licencias y la prioridad con la que se

atienden los problemas que informen los usuarios. Estos componentes son: main,

restricted, universe y multiverse.

Por defecto se instalan paquetes de los componentes main y restricted. Los

paquetes del componente universe de Ubuntu generalmente se basan en los

paquetes de la rama inestable (Sid) y en el repositorio experimental de Debian.

● main: contiene solamente los paquetes que cumplen los requisitos de la

licencia de Ubuntu, y para los que hay soporte disponible por parte de su

equipo. Éste está pensado para que incluya todo lo necesario para la mayoría

de los sistemas Linux de uso general. Los paquetes de este componente

poseen ayuda técnica garantizada y mejoras de seguridad oportunas.

● restricted: contiene paquetes soportados por los desarrolladores de Ubuntu

debido a su importancia, pero que no está disponible bajo ningún tipo de

licencia libre para incluir en main. En este lugar se incluyen los paquetes tales

como los controladores propietarios de algunas tarjetas gráficas, como por

ejemplo, los de ATI y NVIDIA. El nivel de la ayuda es más limitado que para

main, puesto que los desarrolladores pueden no tener acceso al código

fuente.

● universe: contiene una amplia gama de programas, que pueden o no tener

una licencia restringida, pero que no recibe apoyo por parte del equipo de

Ubuntu sino por parte de la comunidad. Esto permite que los usuarios

instalen toda clase de programas en el sistema guardándolos en un lugar

aparte de los paquetes soportados: main y restricted

● multiverse: contiene los paquetes sin soporte debido a que no cumplen los

requisitos de software libre.

PLATAFORMAS SOBRE LAS QUE TRABAJA UBUNTU

En su última versión, Ubuntu soporta oficialmente dos arquitecturas de hardware en

computadoras personales y servidores: 32-bit (x86) y 64-bit (x86_64) Sin embargo,

extraoficialmente, Ubuntu ha sido portado a más arquitecturas: ARM, PowerPC,

SPARC e IA-64.

El 12 de marzo de 2009, Ubuntu anunció soporte para plataformas externas de

administración de computación en nube, como Amazon EC2.

Page 48: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 48

PROCESO DE INSTALACIÓN DE UBUNTU

Requisitos:

Los requisitos mínimos –recomendados-, teniendo en cuenta los efectos de

escritorio, deberían permitir ejecutar una instalación de Ubuntu Server 12.04 LTS.

Procesador x86 a 700 MHz.

Memoria RAM de 512 Mb.

Disco Duro de 5 GB (swap incluida).

Tarjeta gráfica y monitor capaz de soportar una resolución de 1024x768.

Lector de DVD o puerto USB.

Conexión a Internet puede ser útil.

Para la instalación de Linux, ya sea de la distribución que sea, se necesita como

mínimo dos particiones: la principal, donde se instalará el sistema operativo,

formateada con el sistema de archivos que permita la distribución que vayamos a

instalar (ext2, ext3, ext4) y otra partición llamada swap (intercambio de memoria

virtual), esta partición es utilizada como memoria RAM virtual cuando tenemos

muchas aplicaciones abiertas y la memoria RAM de nuestro ordenador es

insuficiente, de tamaño del swap se suele poner el doble de la memoria RAM.

Los efectos de escritorio, proporcionados por Compiz, se activan por defecto en las

siguientes tarjetas gráficas:

Intel (i915 o superior, excepto GMA 500)

NVidia (con su controlador propietario o el controlar abierto incorporado

Nouveau)

ATI (a partir del modelo Radeon HD 2000 puede ser necesario el controlador

propietario fglrx)

Para una instalación óptima, y sobre todo si se dispone de más de 3 GiB de RAM,

existe también una versión de Ubuntu para sistemas de 64 bits.

Imágenes Oficiales:

Las imágenes ISO de Ubuntu se pueden descargar desde el sitio oficial

(http://www.ubuntu.com/), para elegir la versión Desktop o Server. También

mediante la compra directa en el sitio Ubuntu Shop con discos y pendrives con

Page 49: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 49

Ubuntu instalado, o mediante los equipo de distribución LoCoTeam de cada país

que distribuye solo las versiones LTS.

Además de la descarga de imágenes ISO por descarga directa, también se puede

descargar a través de redes P2P como BitTorrent, reduciendo así la carga en los

servidores. Para ser grabados en DVD o unidades portátiles USB.

Otras instalaciones:

Wubi: Un instalador libre y oficial de Ubuntu para sistemas operativos Windows,

cuyo objetivo es permitir que los usuarios puedan instalar Ubuntu dentro de

Windows sin formatear o perder información. A partir de Ubuntu 13.04, se abandonó

el soporte para Wubi y no sería compatible desde esa versión en adelante, esto

también se suma a que en la versión anterior se había perdido compatibilidad con

Windows 8.

LiveUSB: Una herramienta que viene de serie y que permite la creación de un

LiveUSB de la distribución, de modo que se pueda cargar el sistema desde una

memoria USB permitiendo guardar datos y configuraciones en el mismo, pero con

la limitación de que sólo funciona en una computadora cuya placa base soporte el

arranque desde un medio USB.

LiveDVD personalizado: Existen herramientas como Reconstructor, UCK o

remastersys que permiten a cualquiera crear fácilmente un LiveDVD personalizado

de una instalación existente de Ubuntu.

CD de instalación mediante red: Se trata de una imagen ISO de apenas unos 10

MB que contiene los paquetes necesarios para descargar el sistema base desde los

repositorios oficiales de Ubuntu y posteriormente elegir el escritorio deseado.

Page 50: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 50

GESTIÓN DE PROCESOS Y DEL PROCESADOR - UBUNTU

En lo que se refiere a la gestión de procesos, Ubuntu tiene kernel preventivo y

soporta multiprocesamiento simétrico (SMP).

Hay dos espacios que identificamos en el círculo del proceso. El espacio del kernel

y el espacio de usuario. La gestión de procesos tiene lugar en el espacio del núcleo

o kernel.

Es importante tener en cuenta los siguientes aspectos:

● Kernel: es el corazón del sistema operativo. “Es responsable de mantener

todas las abstracciones importantes del sistema operativo, incluyendo la

memoria y los procesos virtuales” (Conceptos de Sistemas Operativos, p.

807).

● Librerías del sistema: Incluyen un conjunto de funciones que no necesitan

privilegios de kernel en aplicaciones para interactuar con el kernel.

● Utilidades del Sistema: Estos incluyen programas que llevan a cabo tareas

de administración individuales, por ejemplo, inicializar, configurar aspectos

del sistema. Además, existen los llamados “deamons”, que "pueden

ejecutarse en forma permanente, para el manejo de tareas como responder

a las conexiones de red entrantes, aceptar solicitudes de inicio de sesión de

terminal y la actualización de los archivos de registro" (Conceptos de

Sistemas Operativos, p. 815).

Procesos y Subprocesos

Los procesos e hilos no son tan diferentes en Linux. Tanto fork() y exec() son

usados para crear procesos. Los hilos son creados por el llamado al sistema

clone(). Clone() crea procesos hijos que permite utilizar la información compartida

con el proceso padre que a través de un conjunto de indicadores que se pasan.

Exec() es el llamado al sistema utilizado para crear un nuevo proceso.

Cada proceso que se inicia es referenciado con un número de identificación único

conocido como Process ID PID, que es siempre un entero positivo. Prácticamente

todo lo que se está ejecutando en el sistema en cualquier momento es un proceso,

incluyendo el shell, el ambiente gráfico que puede tener múltiples procesos, etc. La

excepción a lo anterior es el kernel en sí, el cual es un conjunto de rutinas que

residen en memoria y a los cuales los procesos a través de llamadas al sistema

pueden tener acceso.

Page 51: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 51

Procesadores

La arquitectura de Linux en los procesadores amd e intel para la plataforma Ubuntu

y sus variantes son provistos por el kernel, los mismos están diseñados 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 de

Ubuntu haciendo eficiente su capacidad de procesamiento, su edición de texto,

película, juegos de computadora, entre otros.

Page 52: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 52

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 Round-

Robin.

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.

Sincronización Kernel

Las tareas pueden tratar de acceder a las mismas estructuras de datos internas.

Desde Ubuntu Linux son preventivas, si otra tarea con mayor prioridad está lista

para usar el tiempo de CPU, la tarea en ejecución se adelanta incluso si se ejecuta

en el kernel.

Con el fin de bloquear el kernel, Ubuntu proporciona spinlocks y semáforos. Para

las máquinas de multiprocesamiento simétrico, spinslocks son el mecanismo

fundamental. Esto no puede suceder en las máquinas de un solo procesador, ya

que sólo hay un tiempo de CPU y de bloqueo por períodos cortos, que es lo que

spinslocks hacen, tendrían gran impacto para el rendimiento del sistema. En lugar

de spinlocks, en las máquinas de un solo procesador, la capacidad preventiva está

activado y desactivado en su lugar.

El aspecto más importante en el mecanismo preventivo es lo que sucede con

interrups. En Ubuntu las interrupciones están priorizados y separados en dos partes.

La mitad superior de una y la mitad inferior de otra. Una forma de interrupción de la

primera clase puede interrumpir de una forma de la segunda clase, pero no puede

interrumpir a otro de la misma clase.

Page 53: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 53

Multiprocessing (Multiprocesamiento)

Ubuntu incluye dentro de su sistema operativo el Linux kernel que se utiliza en varios

procesadores (desde la versión de Ubuntu 5, los cuales proveen a Ubuntu con un

avanzado entorno computacional donde el CPU demanda más poder tanto de RAM

como de tarjeta gráfica. El Linux kernel puede utilizar múltiples procesadores, los

cuales permiten que Ubuntu pueda ser utilizando ventajosamente en entornos

donde la demanda de CPU es mayor. Este kernel puede manejar hasta 16CPU o

un servidor de poco tamaño.

Multiprocessor support (“symmetric multiprocessing” or SMP) está disponible para

esta arquitectura. Ubuntu 12.04 tiene una imagen del núcleo que ha sido compilado

con SMP-alternatives. Esto significa que el núcleo detectará el número de

procesadores (o núcleos de procesador) y desactivará automáticamente SMP en

los sistemas mono-procesador.

GESTIÓN DE MEMORIA - UBUNTU

Gestión de la memoria es la eficiencia con la que se puede acceder a los datos.

Ubuntu mueve activamente los datos en un espacio rápidamente recuperable de

llamada de memoria de acceso aleatorio (RAM), incluso cuando los datos no están

en llamada.

Un equipo que utiliza Ubuntu no necesita un programa de desfragmentación. Linux,

que es la base de Ubuntu, organiza automáticamente los datos mediante el

almacenamiento de archivos en espacios que son lo suficientemente grandes para

contener, en lugar de dividirlos, o fragmentarlos.

Page 54: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 54

GESTIÓN DE MEMORIA AUXILIAR (SECUNDARIA Y TERCIARÍA) Y SISTEMA

DE ARCHIVOS - UBUNTU.

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 se utiliza la memoria RAM y al verse esta utilizada a 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.

Sistema de Archivos

El sistema de archivos de Ubuntu está basado en el Filesystem Hierarchy Standard.

Este es un estándar que con mayor o menor rigor siguen la mayoría de las

distribuciones GNU/Linux y algunos otros sistemas operativos basados en UNIX.

Algunas de sus principales características son:

● Todo está organizado en una única estructura de directorios. Todo está

dentro del directorio raíz, representado por el signo '/'.

● Todo es un archivo. Dentro de / está representado todo el sistema, los

directorios y archivos presentes en los discos duros y demás dispositivos de

almacenamiento montados, todo el hardware de la computadora, todos los

procesos en ejecución, etc...

Page 55: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 55

● Cada cosa en su sitio y un sitio para cada cosa. Todos los directorios tienen

una finalidad concreta, todos los contenidos tienen una ubicación

predeterminada según su naturaleza y función.

Aunque todo aparente formar parte de un único sistema de archivos en realidad hay

varios. Además de los sistemas de archivo de disco que contienen los archivos

normales, incluye diversos sistemas de archivos virtuales que cumplen diversas

funciones.

Estructura de Directorios

Si listamos el contenido del directorio raíz desde la consola obtendremos algo

parecido a esto:

/bin → Aquí tenemos los programas básicos que pueden lanzar todos los

usuarios del sistema.

/boot → Aquí tenemos los archivos de configuración del arranque del

sistema (como por ejemplo GRUB), el Kernel y un disco RAM para el

arranque (initrd).

cdrom → Antiguamente aquí se montaban los CD-ROM's. Actualmente es

un enlace a /media/cdrom, está ahí por compatibilidad con programas

antiguos.

/dev → Aquí encontramos todos los dispositivos físicos del sistema (todo

nuestro hardware). La mayoría de su contenido es generado durante el

arranque.

o /dev/disk → contiene los archivos que representan los discos y sus

particiones.

o /dev/psaux → Representa al ratón.

o /dev/ram* → Representa la memoria RAM.

/etc → Aquí encontramos los archivos de configuración generales del

sistema y los programas.

/home → Es un directorio donde tenemos los directorios personales de los

usuarios.

o /home/ (usuario) → Es nuestro directorio personal. Aquí es donde

guardaremos nuestros documentos, música, películas, fotos y los

archivos de configuración personalizados de los programas que

usamos. También podemos referirnos a este directorio por su

abreviatura '~'

Page 56: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 56

o ~/Desktop → Aquí tenemos nuestro escritorio.

initrd.img → Es un enlace a /boot/initrd-img-xxx, está ahí por

compatibilidad con programas antiguos.

/lib → Contiene las bibliotecas necesarias para que se ejecuten los

programas que tenemos en /bin y /sbin. Si usas un sistema de 64bits

tendrás un enlace lib64 que apunte a /lib.

/lost+found → Este directorio es usado por el programa fsck, cuando

fsck no puede reparar completamente un sistema de archivos, guarda

aquí todo lo que no sepa dónde ubicar.

/media → Aquí encontramos todas las unidades físicas que tenemos

montadas. Discos duros, unidades de dvd, pendrive,

/mnt → Este ha sido el lugar tradicional para montar unidades, ha

perdido gran parte de su función en favor de /media pero sigue siendo

útil para el montaje puntual de algunas cosas.

/opt → Es el lugar apropiado para la instalación de programas que no

forman parte de la distribución y que pueden no encajar bien en la

estructura de /usr

/proc → Su contenido representa a los procesos en ejecución. Aquí se

encuentran archivos que reciben o envían información al núcleo. Es un

sistema de archivos virtual, en realidad en el disco duro ese directorio

está vacío.

/root → Es el directorio personal del usuario root.

/sbin → Aquí se encuentran los ejecutables de los demonios (servicios)

instalados en el sistema.

/selinux → selinux es un sistema que extiende el sistema de permisos

típico de Unix.

/srv → Pensado para contener los archivos compartidos por los

servidores. No es muy usado.

/sys → Contiene información sobre el sistema y el kernel. Es un sistema

de archivos virtual, en realidad en el disco duro ese directorio está vacío.

/tmp → Este directorio contiene información temporal de los programas.

No se conserva su contenido, suele borrarse al arrancar el sistema.

/usr → Este directorio contiene los archivos de los programas no

esenciales. Es el directorio más grande del sistema.

o /usr/X11R6 → Aquí tenemos los programas de X-Window, el

servidor gráfico.

o /usr/bin → Aquí tenemos programas de uso general para los

usuarios.

o /usr/doc → Aquí tenemos documentación de los programas.

o /usr/etc → Aquí tenemos archivos de configuración de uso global.

Page 57: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 57

o /usr/include → Aquí tenemos las cabeceras de C y C++. Son

archivos con extensión .h. Los programadores comprenderán su

significado.

o /usr/lib → Aquí tenemos las bibliotecas de nuestros programas.

o /usr/man → En este directorio encontramos los manuales (man).

o /usr/sbin → Este directorio contiene los ejecutables de los

demonios correspondientes a los programas de usuario.

o /usr/src → Aquí se almacenan los códigos fuentes de nuestros

programas.

/var → Este directorio contiene información variable, como registros,

datos de los servidores, etc.

vmlinuz → Suele ser un enlace a /boot/vmlinuz-xxx, está ahí por

compatibilidad con programas antiguos.

GESTIÓN DE ENTRADA Y SALIDA.

La biblioteca de E/S estándar proporciona una interfaz de flujo (stream) utilizando

un sistema de buffers (memoria intermedia) simple y eficiente. La entrada y la salida

se mapean en flujos lógicos de datos y las características físicas de E/S

permanecen ocultas para el programador. Las funciones y las macros se muestran

más adelante; para más información se puede recurrir a las páginas del manual

individuales para cada una de ellas.

Un flujo se asocia con un archivo externo (el cual debe estar en un dispositivo físico)

abriendo un archivo, el cual se supone que debe ser creado. Crear un archivo

existente hará que dicho archivo quede vacío. Si un archivo soporta posicionamiento

(como un archivo en disco, y en contraposición a lo que ocurre con un archivo de

terminal) entonces un marcador de posición asociado al flujo se situará al principio

del archivo (byte cero), a no ser que el archivo sea abierto en modo añadir (append).

Si se utiliza esta última modalidad de apertura, el marcador de posición será situado

al final del archivo. El indicador de posición se mantiene en sucesivas lecturas,

escrituras y reposicionamientos. Todas las entradas se hacen como si los

caracteres hubieran sido leídos mediante sucesivas llamadas a la función fgetc(3)

todas las salidas se producen como si todos los caracteres fueran leídos mediante

llamadas sucesivas a la función fputc(3)

Un archivo se desentiende de un flujo cerrando dicho archivo. Los flujos de salida

son descargados (toda el contenido de la memoria intermedia que no fue escrita al

Page 58: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 58

archivo, se transmite en ese momento) antes de que el flujo se desentienda del

fichero. El valor de un puntero que apunta a un objeto FILE es indeterminado tras el

cierre del archivo.

Un archivo será reabierto repetidamente, por la misma u otras ejecuciones de un

programa, y sus contenidos serán leídos o modificados (si se puede reposicionar al

principio). Si la función main() retorna a quien llamo al programa, o se utiliza la

función exit(3) todos los archivos abiertos serán cerrados (consecuentemente todos

los flujos de salida serán descargados sobre sus respectivos ficheros) antes de que

se produzca el cierre efectivo del programa. Otras formas de terminar un programa

como abort(3) no se preocupan de cerrarlos apropiadamente.

Cuando el programa comienza, tres flujos de texto se inician por defecto y no

necesitan ser abiertas explícitamente — entrada estándar (para la lectura de la

entrada convencional), — salida estándar (para la escritura de la salida

convencional) — salida de error estándar (para la salida de diagnósticos). Estos

flujos se abrevian, respectivamente, como stdin, stdout y stderr. Una vez abierta, el

flujo de errores estándar no utiliza memoria intermedia totalmente; los flujos

estándar de entrada y salida lo harán solamente en el caso de que dichos flujos no

hagan referencia a un dispositivo interactivo.

Los flujos de salida que hacen referencia a dispositivos de tipo terminal, siempre

utilizan memorias intermedias lineales por defecto; durante la salida hacia cada flujo

se escribe automáticamente un flujo de entrada que hace referencia al dispositivo

terminal que lee. En los casos donde se requieren una enorme cantidad de cálculos,

después de imprimir parte de una línea en un terminal de salida, es necesario

efectuar una descarga de la memoria intermedia en el flujo de salida estándar

mediante fflush(3) antes de dejarlo y comenzar los cálculos para que la salida

aparezca.

La biblioteca stdio es parte de la biblioteca libc y las rutinas se cargan

automáticamente según son necesitadas por los compiladores cc(1) y pc(1). Las

secciones SINOPSIS de las siguientes páginas del manual indican que archivos de

cabecera (include) deben ser utilizados, en forma de la declaración de la función y

mostrando que variables externas resultan de interés.

Page 59: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 59

Las siguientes están definidas como macros; estos nombres no deben ser

reutilizados sin eliminar primero sus definiciones actuales mediante #undef:

BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid, L_ctermid,

L_tmpnam, NULL, SEEK_END, SEEK_SET, SEE_CUR, TMP_MAX, clearerr,

feof, ferror, fileno, fropen, fwopen, getc, getchar, putc, putchar, stderr, stdin,

stdout.Existenn versiones como función de las macros feof, ferror, clearerr, fileno,

getc, getchar, putc, y putchar y serán utilizadas si las definiciones de las macros

han sido eliminadas explícitamente.

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. Por esto, los dispositivos que se produzcan hoy, no

pueden ser operados con controladores ya existentes (a menos que los dispositivos

hayan sido diseñados para ser operados con éstos, caso que para algunos

dispositivos como tarjetas de sonido, tarjetas de vídeo o modems es poco común),

por esto mismo, eventualmente, si actualiza el hardware de su computador o si

desea usar un cierto servicio del kernel, también deberá actualizar algún módulo o

eventualmente el kernel completo. Aunque algunos controladores autodetectan la

configuración del dispositivo, esto no siempre ocurre y en algunos casos tendrá que

probar, hasta hacer funcionar el módulo que maneja el dispositivo (en estas pruebas

la documentación del dispositivo y la del módulo serán de utilidad. Si desea

experimentar rápidamente emplee modconf).

Las fuentes en C de cada versión del kernel cuentan con controladores para

diversos dispositivos. Cuando se compila una versión, algunos de esos

controladores pueden unirse con el kernel mismo (estáticamente), otros pueden

dejarse como módulos para cargarse/descargarse cuando la parte estática del

kernel esté operando, otros pueden ser excluidos del proceso de compilación (y por

lo tanto no podrán ser usados ni cuando el kernel esté operando).

El núcleo Linux ha sido criticado con frecuencia por falta de controladores para cierto

hardware de computadoras de escritorio. Sin embargo, el progresivo incremento en

la adopción de Linux en el escritorio ha mejorado el soporte de hardware por parte

de terceros o de los propios fabricantes, provocando que, en los últimos años, los

problemas de compatibilidad se reduzcan.

Page 60: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 60

Empresas como IBM, Intel Corporation, Hewlett-Packard, Dell o MIPS Technologies

tienen programadores en el equipo de desarrolladores del núcleo Linux que se

encargan de mantener los controladores para el hardware que fabrican. Este grupo

de programadores también se le suman los que provee grandes distribuidores de

soluciones Linux como Novell o Red Hat.

Actualmente Linux es un núcleo monolítico híbrido. Los controladores de

dispositivos y las extensiones del núcleo 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 núcleos

monolíticos tradicionales, los controladores de dispositivos y las extensiones al

núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema

continúa funcionando sin interrupciones. También, a diferencia de los núcleos

monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos

momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta

habilidad fue agregada para gestionar correctamente interrupciones de hardware, y

para mejorar el soporte de multiprocesamiento simétrico.

GESTIÓN DE COMUNICACIONES Y SEGURIDAD - UBUNTU

En Ubuntu el manejo de comunicaciones se promueve a través del manejo de los

controladores y el kernel, el kernel es el componente más importante del sistema

operativo el cual permite que haya manejo o comunicación de memoria, procesos,

archivos, entradas y salidas, es el encargado de que el software y el hardware

trabajen juntos. En el kernel hay varios controladores o módulos que

individualmente comprenden una función dentro de los sistemas operativos, estos

Page 61: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 61

son asignados según la tarea que conlleve el sistema operativo actual mente. Cada

versión del kernel en Ubuntu controla diversos dispositivos cuando una versión es

compilada algunos de estos controladores pueden unirse al kernel mismo

estáticamente, otros pueden permanecer como módulos para cargarse o

descargarse y otros pueden ser excluidos del proceso de compilación de alguna

función del sistema operativo debido a que no conllevan utilidad alguna en el

proceso que se está llevando acabo y por lo tanto no serán utilizados ni cuando el

kernel esté operando. Las funciones de los módulos en el sistema operativo en

cuanto la comunicación entre el software y hardware a través son:

1. Asegurar que no haya conflictos entre dispositivos y conocer la configuración

que usa cada componente. Algunos controladores tienen la capacidad de

detectar automáticamente la configuración del dispositivo y otros no.

2. Encontrar un módulo que pueda manejar el dispositivo.

3. Brindar opciones al módulo de acuerdo a las necesidades del dispositivo.

En fin Ubuntu promueve unas capacidades extraordinarias en cuanto el manejo y

comunicación de los dispositivos de hardware y software trayendo un ambiente

eficiente al usuario cuando lo utiliza y lleva a cabo las tareas en el mismo.

Page 62: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 62

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.

No sólo se relaciona con Debian por el uso del mismo formato de paquetes .deb.

También tiene uniones con esa comunidad, aunque raramente contribuyendo con

cualquier cambio directa e inmediatamente, o sólo anunciándolos. Esto sucede en

los tiempos de lanzamiento. La maryoría de los empaquetadores de Debian son los

que realizan también la mayoría de los paquetes importantes de Ubuntu.

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. Un buen sistema de usuarios claves es la base de una firme seguridad.

Existen varios tipos de cuentas de usuario que dan diferentes niveles de acceso

para el uso y administración del sistema. Una cuenta con más permisos de los

necesarios también implica más riesgos de los necesarios.

1. Usuario con permisos administrativos

Este es el usuario que se crea durante la instalación del sistema, tiene permiso para

usar todas las aplicaciones instaladas, guardar o modificar contenidos en su carpeta

personal y puede asumir temporalmente las funciones de administrador mediante la

orden sudo.

Este es el usuario indicado para el trabajo diario y la administración de sistemas de

escritorio habituales.

Page 63: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 63

2. Usuario sin permisos administrativos

Este es el tipo de usuarios que se crean desde el menú Sistema - Administración -

Usuarios y grupos, tiene permiso para usar todas las aplicaciones y guardar o

modificar informaciones en su carpeta personal. No podrá ejercer tareas

administrativas ni usar el comando sudo.

3. Usuario invitado

Esta cuenta, presente en Ubuntu y en algunas otras distribuciones permite el acceso

al sistema con un usuario sin privilegios, carece de contraseña y permite el uso de

la mayoría de aplicaciones, pero no guardar o modificar datos ni por supuesto

asumir tareas administrativas. (Podrá guardar datos pero éstos se perderán al cerrar

la sesión).

Este tipo de cuenta es muy útil en ordenadores de acceso público, demostraciones,

o cualquier situación en la que quieras que alguien pueda usar el sistema sin alterar

nada.

4. Usuario root

Este es el usuario administrativo tradicionalmente usado en todas las distribuciones

GNU/Linux, sin embargo en Ubuntu se ha desactivado esta cuenta y en su lugar se

usa el comando sudo.

Las ventajas del uso de sudo frente a root son: minimizar la posibilidad de desastres

por descuido al estar la cuenta administrativa activa durante menos tiempo, hacer

más consciente al usuario de qué acciones entrañan peligro y cuales no o

acostumbrarse a usar permisos administrativos sólo cuando son estrictamente

necesarios, entre muchas otras razones.

Algunos usuarios no acostumbrados al modo de trabajar de Ubuntu insisten en la

activación de esta cuenta (poniendo en peligro la seguridad del sistema).

Permisos y grupos

Todos de los sistemas de ficheros comunes en GNU/Linux soportan un completo

sistema de permisos, que asigna a cada archivo/directorio: un propietario, un grupo

y permisos de lectura (r) / escritura (w) / ejecución (x) independientes para el

propietario, el grupo y el resto de usuarios.

Page 64: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 64

Repositorios seguros

Los repositorios son las fuentes de las que distribuciones como Ubuntu obtienen el

software, usar repositorios inseguros o no autentificados podría resultar en la

entrada de software malicioso en nuestro sistema.

El Cortafuegos

Entre las muchas funciones de un cortafuegos está la de aumentar la seguridad de

nuestras conexiones de red aplicando filtros que analizan la procedencia, destino,

puerto y otros datos relacionados con dichas conexiones.

SeLinux / AppArmor

Es una capa extra de seguridad, capaz de confinar procesos, aplicaciones y/o

usuarios, siguiendo unas políticas de seguridad preestablecidas, impidiendo de esta

manera que se excedan en sus funciones o que se use software malintencionado

para explotar sus potenciales vulnerabilidades.

Page 65: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 65

SOPORTE A TIEMPO REAL - UBUNTU

Ubuntu proporciona versiones pre-compiladas del kernel para 32 y los procesadores

de 64 bit. Para cada arquitectura, ellos pueden compilar un kernel genérico, que

funciona bien para la mayoría de los usos, un server kernel que está optimizado

para el uso del servidor, un núcleo pre-empt, osea núcleo en tiempo real, diseñado

para su uso en low latency servers y un kernel rt para los tiempos cuando la

respuesta instantánea es más importante que el uso equilibrado (como en el

profesional de audio / visual de grabación y edición). También hay un kernel

especial, llamado virtual, disponible para su uso en máquinas virtuales. Estas están

disponibles en el repositorio de Ubuntu.

Generic kernel - este es el núcleo de serie que se proporciona en Ubuntu.

Low Latency kernel (preempt kernel) - basado en el genérico-árbol de

fuentes del núcleo, pero utiliza una configuración más agresiva para reducir

aún más la latencia. También conocida como un suave núcleo en tiempo real.

Real Time kernel (rt kernel ) - se basa en el árbol de fuentes del kernel de

Ubuntu con Ingo Molnar mantenido PREEMPT_RT parche aplicado.

También conocido como un duro núcleo en tiempo real. Este es utilizado en

Ubuntu Studio el cual es utilizado para uso científico, producción de autio y

uso industrial.

Por el momento sólo los tres primeros núcleos están disponibles a través de

archivos oficiales de Ubuntu.

ESTADÍSTICAS DE UTILIZACIÓN MUNDIAL - UBUNTU.

Como se puede ver en el gráfico a continuación, un examen minucioso de los datos

de DistroWatch, un sitio que publica a diario el ranking de distribuciones de Linux

en base a los accesos a cada página web, revela que la más popular de todas,

Ubuntu, no pasa por buenos momentos.

Page 66: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 66

Ha habido mucha controversia alrededor de Unity (aunque también la ha habido con

Gnome Shell), la interfaz desarrollada por Canonical y que Ubuntu ha incluido como

parte integral de su sistema operativo.

La medición "cuota de mercado" puede resultar inservible ya que es un concepto

basado en ventas comerciales (unidades materiales vendidas). Por otro lado Linux

es utilizado frecuentemente en servidores con acceso público desde Internet por lo

que la cuota de mercado es extremadamente inferior a la cuota de uso. Baste notar,

p.ej, que Facebook, Gmail, LinkedIn o Yahoo funcionan sobre servidores

GNU/Linux, de forma que aun cuando estemos accediendo desde un navegador

ejecutándose en Windows/Mac, la aplicación real se está ejecutando en servidores

Linux y los datos están almacenándose igualmente en dichos servidores.

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD COMPUTING) -

UBUNTU

Ubuntu One es un servicio de alojamiento de archivos, integrado con el entorno de

escritorio del sistema operativo Ubuntu, enfocado a la copia de seguridad y a la

sincronización de archivos e información entre computadores conectados a Internet.

Canonical ha anunciado que a partir del 1 de Junio del 2014 el servicio será dado

Page 67: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 67

de baja, ya que los costos de competir en la nube son muy altos comparados con la

oferta gratuita de la competencia.

ANÁLISIS COMPARATIVO ENTRE PLATAFORMA TRADICIONAL Y EL

SMARTPHONE (UBUNTU).

Si comparamos la compatibilidad de hardware, en este caso Windows 8 si supera a

Ubuntu 13.10. La mayoría de los fabricantes ya tienen controladores compatibles

con Windows 8 y además, la mayoría de controladores creados para Windows 7

también funcionan en Windows 8. En cambio en Ubuntu seguimos teniendo algunos

problemas de controladores. Aun así, cada vez se dan menos problemas. Una de

los puntos a favor que tenemos en Ubuntu en el tema de los controladores, es que

no necesitamos instalar ningún controlador. La mayoría de los controladores los

tenemos dentro del propio kernel de Linux por lo que es plug and play. En cambio

en Windows 8 sí que necesitaremos estar descargando los controladores de la web

del fabricante.

Si para vosotros es importante la velocidad de encendido y apagado, Ubuntu 13.10

arranca a una velocidad bastante mayor a la de Windows 8. Si comparamos el

apagado, aquí no hay color. En Windows 8 tarda una barbaridad, y si encima se

están instalando actualizaciones, podemos esperar hasta 5 minutos para que se

apague el ordenador. En Ubuntu 13.10 esto no pasa. Las actualizaciones se instalan

y descargan mientras tenemos el ordenador encendido y nunca mientras estamos

encendiendo o apagando.

En general, Ubuntu 13.10 Saucy Salamander es bastante superior a Windows 8 en

la mayoría de los aspectos. Rápido, sencillo y dinámico. Windows 8 es un sistema

operativo muy bonito, con grandes efectos pero que resulta muy tosco de manejar.

Page 68: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 68

RED HAT

Presentación

Red Hat Software Inc. fue fundada en 1994 por Bob Young y MarcEwing. Su

principal objetivo era compilar y comercializar una distribución GNU/Linux, que vino

a llamarse Red Hat Linux. Básicamente, se trataba de una versión empaquetada de

lo que existía en aquellos tiempos, incluyendo documentación y soporte. Durante el

verano de 1995, la versión 1.0 de esta distribución vio fue lanzada. Unos meses

más tarde, se publicó la versión 2.0, que incluía la tecnología RPM (RPM Package

Manager, gestor de paquetes RPM). El sistema de paquetes RPM se ha convertido

en un estándar para los paquetes de sistemas GNU/Linux. 1998 fue el año en el

que Red Hat llegó al gran público con la versión 5.2.

Red Hat Inc. no sólo es conocida por su distribución de software basada en Linux.

En agosto de 1999, Red Hat salió a bolsa y sus acciones obtuvieron la octava

ganancia de primer día más grande en toda la historia de Wall Street. Aun así, sus

comienzos exitosos en el mercado de valores sirvieron para que Red Hat fuera

portada en periódicos y revistas no directamente relacionadas con temas

informáticos. En cualquier caso, parece ser que Red Hat ha sabido superar los

problemas de otras compañías del mundo de los negocios en torno al software libre

y anunció números negros por primera vez en su historia en el último cuarto del año

2002.

Otro de los hechos históricos más importantes de Red Hat fue la adquisición en

noviembre de 1999 de Cygnus Solutions, una empresa fundada una década antes

y que ya había demostrado cómo con una estrategia integral basada en software

libre se puede ganar dinero.

En septiembre de 2003, Red Hat decidió concentrar sus esfuerzos de desarrollo en

la versión corporativa de su distribución y delegó la versión común a Fedora Core,

un proyecto abierto independiente de Red Hat. En junio de 2006 Red Hat adquirió

la compañía JBoss Inc, siendo así responsable del desarrollo del servidor más

importante de aplicaciones J2EE de código abierto.

Page 69: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 69

ESTRUCTURA Y COMPONENTES DEL SISTEMA – RET HAT

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.

Estructura de Directorios FHS en Red HAT Enterprise 6

El directorio / boot /

Contiene archivos estáticos requeridos para arrancar el sistema, tales como el

kernel de Linux. Estos archivos son esenciales para que el sistema arranque

correctamente.

El directorio / dev /

Contiene los nodos de dispositivos que, o bien representan a los dispositivos que

están conectados al sistema o los dispositivos virtuales que son proporcionados por

el núcleo. Estos nodos de dispositivo son esenciales para que el sistema funcione

correctamente.

El directorio / etc /

Aqui residen los archivos de configuración del sistema, son usados por el

administrador y/o otros programas para almacenar y leer datos que alteran de una

u otra forma su funcionamiento.

El directorio /lib/

Contiene las bibliotecas (libraries) necesarias para ejecutar los binarios en /bin/ y en

/sbin/. Estas imágenes de bibliotecas compartidas son particularmente importantes

para arrancar el sistema y ejecutar comandos en el sistema de archivos raíz.

El directorio /media/

Contiene los subdirectorios utilizados como puntos de montaje para los medios

removibles tales como usbs, DVDs, CD-ROMs y discos Zip.

El directorio /mnt/

Está reservado para sistemas de archivos montados temporalmente tales como

montajes de sistemas de archivos NFS. Para toda los medios removibles utilice el

directorio /media/. Los medios removibles detectados automáticamente serán

montados en el directorio /media.

El directorio /opt/

Page 70: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 70

Proporciona un área para almacenar paquetes de software de una aplicación. Un

paquete que coloca archivos en el directorio /opt/ crea un directorio con el mismo

nombre del paquete. Este directorio a su vez, guarda archivos que de otra forma

estarían esparcidos por el sistema de archivos, dándole así al administrador del

sistema una forma fácil de determinar el papel de cada archivo dentro de un paquete

particular.

El directorio /proc/

Contiene archivos especiales que o bien extraen información del kernel o bien la

envían a éste. Algunos ejemplos son la memoria del sistema, información sobre la

cpu, configuración del hardware, etc.

El directorio / sbin /

Almacena los ejecutables usados por el usuario root. Los ejecutables en / sbin / se

utilizan en el arranque de la administración del sistema y para realizar las

operaciones del sistema de recuperación.

El directorio /srv/

Contiene datos específicos al sitio proporcionados por su sistema ejecutando Red

Hat Enterprise Linux. Este directorio le dá a los usuarios la ubicación de los archivos

de datos para un servicio en particular tal como FTP, WWW o CVS. Los datos que

sólo pertenecen a un usuario específico deben ir en el directorio /home/.

El directorio /sys /

Utiliza el nuevo sistema de archivos virtual sysfs específico al kernel 2.6. Ahora con

el soporte más extendido para los dispositivos de conexión en caliente (hot plug) en

el kernel 2.6, el directorio /sys/ contiene información similar a la que se encuentra

en /proc/, pero muestra una vista jerárquica de la información de dispositivos

específica con relación a los dispositivos de conexión en caliente.

El directorio /usr/

Es para archivos que puedan ser compartidos a través de muchas máquinas. El

directorio /usr/ habitualmente tiene su propia partición y se monta en sólo lectura.

Bajo el directorio /usr/, el subdirectorio bin/ contiene ejecutables, el directorio etc/

contiene archivos de configuración del sistema, games es para juegos, include/

contiene los archivos de cabecera C, kerberos/ contiene binarios y otros archivos

relacionados con Kerberos y lib/ contiene archivos objeto y bibliotecas que no están

diseñadas para ser utilizadas directamente por usuarios o scripts de shell. El

directorio libexec/ contiene pequeños programas de ayuda llamados por otros

programas, sbin/ es para los binarios de administración del sistema (aquéllos que

no pertenecen al directorio /sbin/), share/ contiene archivos que no son de una

arquitectura específica, src/ es para código fuente.

Page 71: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 71

El directorio /var /

Ya que el FHS requiere que Linux sea para montar / usr / en modo sólo lectura,

cualquier programa que escriba archivos log o que necesite spool / o lock /

directorios deben escribirlos en el directorio / var / directorio. Los estados FHS / var

/ es para: Archivos de datos variables. Esto incluye archivos y directorios spool,

datos de administración, de registro y archivos temporales y transitorios.

SISTEMA DE ARCHIVOS – RET HAT

Red Hat Enterprise Linux incluye soporte para muchos sistemas de archivos

populares, haciendo posible acceder fácilmente a los sistemas de archivos de otros

sistemas operativos. Esto es particularmente útil en un escenario de arranque dual

y cuando se migren archivos desde un sistema operativo a otro.

Los sistemas de archivos soportados incluyen:

EXT2

EXT3

NFS

ISO 9660

MSDOS

VFAT

En las diferentes versiones Red Hat Enterprise 5 el sistema de archivos por defecto

era el EXT 3, sin embargo las versiones 6 de este sistema vienen por defecto en

EXT4, y las versiones orientadas a sistemas escalables utilizan NFS ya que permite

mayor almacenamiento de datos.

PLATAFORMAS SOBRE LAS QUE TRABAJA – RET HAT

Arquitecturas Soportadas

X86

X86_64

System z

PPC64

Page 72: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 72

PROCESO DE INSTALACIÓN

El proceso se debe llevar a cabo instalando desde los componentes base hasta el

manejo de los datos.

INSTALACIÓN BASE

El primer paso es la instalación del sistema operativo base, ya sea desde un disco,

una imagen ISO o mediante kickstart, durante el proceso se debe asegurar de:

Asignar suficiente espacio a la partición de almacenamiento de datos. La ubicación

por defecto para los paquetes de canal es /var/satellite. Se debe recordar que para

el servidor satélite de RHN con la Embedded Database la base de datos RPM va

en la partición /opt, mientras que la base de datos misma está construida en /rhnsat.

Activar NTP (Protocolo de tiempo para red) en el Satélite y en la base de datos

independiente en caso de que ésta exista. Seleccione además la zona horaria

apropiada. Todos los sistemas cliente deben estar ejecutando el demonio ntpd y

estar configurados en la zona horaria correcta.

Debido a complicaciones potenciales, es altamente recomendable que la partición

/home/ sea montada localmente.

INSTALACIÓN DEL SERVIDOR

a) Iniciar como root#

b) Insertar el CD del Servidor que contiene los archivos de instalación.

c) Si está realizando una instalación desde el CD, Red Hat Enterprise Linux puede

automontar el CD. Si éste es el caso, el CD será montado en el directorio

/media/cdrom/.

d) Si Red Hat Enterprise Linux no monta el CD automáticamente, se puede montar

el CD al directorio /media/cdrom/ con el comando siguiente:

i. mount /dev/cdrom /media/cdrom

ii. Si se utilizan imágenes ISO para la instalación, se deben montar desde el

directorio que las contenga usando el comando:

iii. mount -o loop nombre_archivo_iso /media/cdrom

El resto de instrucciones asumen que /mnt/cdrom/ es el directorio de montaje.

Page 73: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 73

Controles Extra

Si es requerimiento del usuario a partir de instalar los 2 elementos anteriores se

puede agregar elementos como aplicaciones de Monitorin o sondeos MySQL

tomándolos como ejemplo.

GESTIÓN DE PROCESOS Y DEL PROCESADOR – RET HAT

En versiones anteriores de Red Hat Enterprise Linux, el kernel utiliza un mecanismo

basado en el 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 manera más eficiente de la energía para hacer un sistema funcionar es hacer el

trabajo lo más rápido posible, entrar en el estado de sueño profundo y dormir todo

el tiempo posible. Para implementar esto, Red Hat Enterprise Linux 6 utiliza un

kernel sin intervalo. Con esto, el contador de tiempo de interrupción se ha quitado

de un bucle vacío, transformando Red Hat Enterprise Linux 6 en un entorno

completamente impulsado por interrupciones.

El kernel sin intervalo permite que el sistema entre en estados de sueño profundo

durante los tiempos de inactividad, y responder rápidamente cuando hay trabajo por

hacer.

El programador es responsable de mantener las CPUs en el sistema ocupado. El

planificador de Linux implementa una serie de políticas de planificación, que

determinan cuándo y por cuánto tiempo un hilo se ejecuta en un núcleo de la CPU

en particular.

Page 74: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 74

Políticas de planificación se dividen en dos categorías principales:

Políticas en tiempo real

SCHED_FIFO

SCHED_RR

Políticas normales

SCHED_OTHER

SCHED_OTHER

SCHED_IDLE

GESTIÓN DE MEMORIA – RET HAT

Las direcciones de memoria física 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).

Sin embargo, el TLB sólo puede almacenar en caché un determinado número de

asignaciones en las direcciones. Si una asignación de dirección solicitada no se

encuentra en el TLB, la tabla de la página todavía se debe leer para determinar la

asignación de la dirección física a virtual. Esto se conoce como un "Miss TLB”. Las

aplicaciones con grandes requisitos de memoria son más propensos a ser afectados

por el área de la TLB de las aplicaciones con requisitos mínimos de memoria debido

a la relación entre sus requisitos de memoria y el tamaño de las páginas utilizadas

para correlaciones de dirección de la memoria caché en la TLB . Dado que cada

uno se pierda implica la lectura de la tabla de páginas, es importante para evitar

estos fallos siempre que sea posible.

La enorme traducción de direcciones de búfer (HugeTLB) permite que la memoria

se gestiona en segmentos muy grandes para que más asignaciones de direcciones

se pueden almacenar a la vez. Esto reduce la probabilidad de errores de TLB, que

a su vez mejora el rendimiento en aplicaciones con grandes requisitos de memoria.

La memoria se gestiona en bloques conocidos como páginas. Una página es de

4096 bytes. 1 MB de memoria es igual a 256 páginas; 1 GB de memoria es igual a

Page 75: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 75

256.000 páginas, etc CPU tienen una unidad de la gerencia de la memoria que

contiene una lista de estas páginas, con cada página de referencia a través de una

entrada de la tabla de páginas.

Hay dos modos de activar el sistema para gestionar grandes cantidades de

memoria:

Aumentar el número de entradas de la tabla de páginas en la unidad de

gestión de memoria de hardware

Aumentar el tamaño de la página

El primer método es caro, ya que la unidad de gestión de memoria de hardware en

un procesador moderno sólo es compatible con cientos o miles de páginas entradas

de la tabla. Además, los algoritmos y hardware de administración de memoria que

funciona bien con miles de páginas (megabytes de memoria) pueden tener

dificultades para realizar bien con millones (o incluso miles de millones) de las

páginas. Esto da lugar a problemas de rendimiento: cuando una aplicación necesita

utilizar más páginas de memoria que los soportes de la unidad de gestión de

memoria, el sistema vuelve a caer más lento, la gestión de memoria basada en

software, lo que hace que todo el sistema funcione más lentamente.

Red Hat Enterprise Linux 6 implementa el segundo método mediante el uso de

páginas grandes.

En pocas palabras, las enormes páginas son bloques de memoria que vienen en 2

MB y 1 GB de tamaño. Las tablas de páginas utilizadas por las páginas de 2MB son

adecuados para la gestión de múltiples gigabytes de memoria, mientras que las

tablas de página de las páginas de 1GB son los mejores para escalar a terabytes

de memoria.

Las páginas grandes se deben asignar en el arranque. También son difíciles de

manejar de forma manual, ya que a menudo requieren cambios importantes en el

código con el fin de ser utilizados con eficacia. Como tal, Red Hat Enterprise Linux

6 también implementó el uso de páginas grandes transparentes (THP). THP es una

capa de abstracción que automatiza la mayoría de los aspectos de la creación, la

gestión y el uso de páginas grandes.

Page 76: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 76

THP esconde gran parte de la complejidad en el uso de páginas grandes de los

administradores de sistemas y desarrolladores. Como el objetivo de la THP está

mejorando el rendimiento, sus desarrolladores (tanto de la comunidad y Red Hat )

han probado y optimizado THP través de una amplia gama de sistemas ,

configuraciones , aplicaciones y cargas de trabajo. Esto permite que la configuración

predeterminada de THP para mejorar el rendimiento de la mayoría de las

configuraciones del sistema.

GESTIÓN DE ENTRADA Y SALIDA – RET HAT

Red Hat Enterprise Linux 6 introduce una serie de mejoras en el rendimiento de la

pila de E/S:

Los discos de estado sólido (SSD) son ahora reconocidos automáticamente y el

rendimiento del planificador de E S está sintonizado para aprovechar el alto de E/S

por segundo (IOPS) de que estos dispositivos pueden realizar.

Deseche se ha añadido soporte para el Kernel reportar rangos de bloques no

utilizados al almacenamiento subyacente. Esto ayuda a los SSD con sus algoritmos

de nivelación de desgaste. También ayuda almacenamiento que soporta el

aprovisionamiento de bloque lógico (una especie de espacio de direcciones

virtuales para el almacenamiento), manteniendo un control más cercano sobre la

cantidad real de almacenamiento en uso.

La implementación del sistema de archivos barrera fue reacondicionado en Red Hat

Enterprise Linux 6.1 para que sea más rendimiento.

pdflush ha sido sustituido por hilos máquina de enjuague por - respaldo del

dispositivo , lo que mejora en gran medida la escalabilidad del sistema en

configuraciones con grandes LUN cuenta.

Page 77: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 77

SOPORTE A TIEMPO REAL

Las ejecuciones en tiempo real están programadas en primer lugar, y los hilos

normales se programan después de todas las ejecuciones en tiempo real se han

programado.

Las políticas en tiempo real se utilizan para tareas de tiempo crítico que debe

completar sin interrupciones.

SCHED_FIFO

Esta política también se conoce como programación de prioridad estática, porque

define una prioridad fija (entre 1 y 99) para cada hilo. El planificador escanea una

lista de temas SCHED_FIFO en orden de prioridad y programa la más alta prioridad

del hilo que está listo para funcionar. Este hilo se ejecuta hasta que se bloquea,

salidas, o sea invalidada por un hilo de mayor prioridad que está listo para funcionar.

Incluso el hilo en tiempo real de menor prioridad se programará por delante de

cualquier tema con una política no en tiempo real; si existe sólo un hilo en tiempo

real, el valor de prioridad SCHED_FIFO no importa.

SCHED_RR

Es una variante de round-robin de la política SCHED_FIFO. También se dan las

discusiones SCHED_RR una prioridad fija entre 1 y 99. Sin embargo, las

discusiones con la misma prioridad se programan estilo round- robin en un

determinado quantum, o porción de tiempo. El sched_rr_get_interval (2) llamada al

sistema devuelve el valor de la porción de tiempo, pero la duración de la porción de

tiempo no se puede ajustar por un usuario. Esta política es útil si necesita hilo

múltiple para funcionar con la misma prioridad.

Page 78: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 78

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD COMPUTING) –

RET HAT

Red Hat Enterprise Linux OpenStack Platform, es actualmente una solución basada

en la nube para las organizaciones, donde se proporciona una base flexible y segura

para crear una cloud pública o privada completamente escalable. Dado que

OpenStack depende de Linux, se encuentra en una posición única para mantener

la integridad y la interoperabilidad tanto de la base de Red Hat Enterprise Linux

como de la tecnología OpenStack de Red Hat.

Ventajas:

Implementar cargas de trabajo basadas en cloud, respetando sus plazos y

condiciones, y según sus cargas de trabajo y aplicaciones lo requieran.

Mejorar los acuerdos de nivel de servicio (SLA) con una prestación de

servicios más rápida. Red Hat Enterprise Linux OpenStack Platform

proporciona el rendimiento, la seguridad y la escalabilidad de Red Hat

Enterprise Linux, permitiéndole centrarse en ofrecer a sus clientes los

servicios que demandan, en lugar de en la plataforma operativa subyacente.

Evite la dependencia de un único proveedor cambiando a tecnologías

abiertas al tiempo que mantiene las inversiones existentes en infraestructura.

Benefíciese de una amplia compatibilidad con aplicaciones. Red Hat

Enterprise Linux ejecutado como máquinas virtuales de huéspedes

proporciona una plataforma de desarrollo de aplicaciones estable con las

certificaciones de partner de distribuidores de software independientes (ISV),

lo que le permite garantizar la compatibilidad e introducir sus aplicaciones en

el mercado con mayor rapidez.

Lleve la seguridad al entorno en cloud. Confíe en las tecnologías de

contenedores y la seguridad de calidad militar de SELinux de Red Hat

Enterprise Linux para evitar intrusiones y proteger sus datos en clouds

públicas y privadas.

Page 79: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 79

FEDORA

PRESENTACIÓN

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.

Proyecto Fedora es el nombre de una comunidad de personas en todo el planeta

que aman, utilizan y construyen software libre. Trabajando como comunidad,

nuestra intención es liderar la creación y la distribución tanto de código como de

contenidos libres. Fedora es patrocinado por Red Hat, el proveedor de tecnología

de código abierto más confiable en todo el mundo. Red Hat invierte en Fedora para

estimular la colaboración y la innovación en tecnologías de software libre.

¿QUÉ HACE A FEDORA DIFERENTE?

Proyecto fedora cree en el valor del software libre, y lucha para proteger y promover

soluciones que cualquiera pueda utilizar y redistribuir. No solo el sistema operativo

Fedora ha sido realizado gracias al software libre, sino que se utilizó exclusivamente

software libre para hacerlo llegar a usted.

Además, proyecto fedora cree en el poder de la colaboración. Nuestros

desarrolladores trabajan con equipos de proyectos de software libre alrededor del

mundo a quienes se denominan la "rama desarrollo". Estos equipos crean la gran

mayoría del software que constituye Fedora. Colaboramos de manera estrecha con

ellos de modo que todos podamos beneficiarnos con su trabajo, y podamos acceder

lo más rápido posible a cualquiera de sus avances. Al trabajar con tales equipos en

una misma dirección, podemos asegurar que el software libre funciona mejor en

conjunto, y al mismo tiempo podemos ofrecer la mejor experiencia a los usuarios.

Además, de esta manera podemos velozmente ofrecer las mejorías pertinentes,

algo que beneficia no sólo a los usuarios, sino también a las comunidades de

desarrollo de software.

También proyecto fedora cree que lo mejor es motivar y permitir que otros persigan

su visión de un sistema operativo libre. Cualquiera puede reformular a Fedora y

convertirlo en un nuevo producto con su propio nombre. Incluso ofrecemos las

herramientas (en inglés) para poder hacerlo. De hecho, Fedora ya es la base de

Page 80: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 80

distribuciones derivadas como Linux para empresas de Red Hat, el proyecto One

Laptop Per Child XO (Una laptop por niño), y los DVDs de Contenido Vivo de

Creative Commons (en inglés).

ESTRUCTURA Y COMPONENTES DEL SISTEMA - FEDORA

Los sistemas operativos Linux se basan en una estructura de capas, donde las

capas internas prestan servicios básicos a las externas. El Núcleo (Kernel) es el

centro del sistema operativo, realiza las funciones básicas de control y presta los

servicios esenciales para gestionar el sistema operativo.

El núcleo de Fedora consta principalmente de los componentes descritos a

continuación:

Gestión de Memoria: Se encarga de asignar áreas de memoria y espacios de

paginación a los procesos, a los módulos del núcleo y al área de caché.

Gestión de Procesos: Esta parte es esencial que crea, activa y termina los

procesos; implementa las reglas de la multitarea.

Controladores de Dispositivos: Maneja la comunicación del sistema con cada uno

de los dispositivos que están conectados. El núcleo se configura en el proceso de

arranque para cargar los módulos necesarios para controlar los dispositivos

específicos de cada máquina.

Gestor de Sistema de Archivos Virtuales: Capa intermedia que permite acceder

a los sistemas de archivos, manteniendo un árbol de directorios homogéneo.

PROCESO DE INSTALACIÓN - FEDORA

En la primera pantalla de selección de Fedora 20, vamos a escoger la primera

opción llamada Install Fedora 20. La segunda opción te permite hacer una revisar

la integridad del medio de instalación (detecta cualquier problema relacionado con

sus ficheros y errores de superficie que el DVD pudiese tener) y previene así

sorpresas, que nos podrían echar a perder el trabajo durante el proceso. La tercera

opcion, proporciona herramientas adicionales que bien nos podrían ayudar en caso

de algún fallo. Contiene un probador de memoria, opciones de rescate para una

instalación defectuosa y modo gráfico seguro.

Page 81: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 81

La segunda pantalla, nos permite seleccionar el idioma a emplear durante el

proceso de instalación de Fedora 20. La pantalla se divide en 2 columnas; la primera

te permite seleccionar el lenguaje y la segunda, su localización.

A continuación, el instalador de Fedora 20 te muestra el resumen de todas las

opciones configurables. Estas nos permiten personalizar nuestro sistema operativo

antes de proceder a su instalación. Las opciones que nos muestran son la fecha y

hora, idioma, software, sistema, teclado y red.

Todos los elementos deben ser revisados y configurados. En este punto, la pantalla

de Resumen de la instalación no debería de mostrarte ninguna advertencia. Ahora

se hace clic en el botón de Comenzar instalación que se encuentra en la esquina

inferior derecha. Solo queda configurar tanto la cuenta de administrador como la de

usuario. Ahora solamente queda esperar a que la instalación culmine. Esto va a

tardar algunos minutos y en esta etapa ya no se requiere de tu interacción.

GESTIÓN DE MEMORIA - FEDORA

Page 82: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 82

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.

Desde el punto de vista del proceso, son deseables ciertas características

relacionadas con el direccionamiento:

Protección: La memoria de un proceso debe estar separada de la memoria de los

demás procesos. Salvo para threads del mismo proceso. En Fedora un proceso

realmente tiene un espacio de direcciones de usuario, que es propio, y un espacio

de direcciones del Kernel, que comparte con todos los procesos.

Page 83: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 83

Memoria virtual: El proceso debe tener la ilusión de estar solo en el sistema.

Espacio de direcciones contiguo y que comienza en 0. Esto facilita el trabajo de los

compiladores.

Otras características de la gestión de memoria también son deseables, si bien están

menos relacionadas con el direccionamiento:

Ofrecer al proceso más memoria de la que hay físicamente disponible. Se

emplean técnicas de swapping y paginación por demanda.

(Swapping: Es un mecanismo o modo de interrelacionar la memoria principal (la

que contiene el Programa en ejecución, los datos de proceso inmediato y los

resultados intermedios) con la secundaria, de tal modo que se produce un

intercambio de programas entre ambas cuyo resultado es la simulación de un

sistema multitarea o la potenciación de memoria central a base de recursos de

la memoria secundaria.)

Aprovechar la memoria mediante técnicas Copy-onwrite.

(Copy-On-Write: Cuando un proceso crea una copia de sí mismo, las páginas

cargadas en memoria que puedan ser modificadas por dicho proceso o su copia

se marcan como copy-on-write. Cuando un proceso modifica la memoria, el

núcleodel sistema operativo interviene en la operación y crea una copia de forma

que los cambios en la memoria ocupada por un proceso no son visibles por el

otro.)

Mapeado de ficheros sobre memoria.

En general, mejorar el rendimiento del sistema mediante diversas técnicas a la

hora de asignar o liberar memoria (Buddy system, Slab allocator, caches, entre

otros)

Page 84: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 84

GESTIÓN DE PROCESOS - FEDORA

Paginación:

Un sistema operativo multiusuario y multitarea como Fedora necesita una gran

cantidad de memoria física para poder ejecutar todos los procesos.

Los espacios de paginación son particiones de disco que permiten ampliar

virtualmente la memoria del sistema, guardando el estado de los procesos que en

un determinado momento están a la espera de ser ejecutados, si la memoria física

está agotada.

Los factores principales que deben determinar el tamaño del espacio toral de

paginación son:

La cantidad de memoria y de disco del sistema.

El número de usuarios que tendrán acceso a la máquina.

El número previsto de procesos/usuario.

El número de servicios activos en el sistema.

Sistemas de archivos virtuales /proc y /sys

Los sistemas de archivos virtuales montados en /proc y en /sys están almacenados

en memoria y contienen una jerarquía de ficheros y directorios especiales que

mantienen el estado actual del núcleo del sistema Fedora, recopilando información

sobre los dispositivos y los procesos en ejecución.

Page 85: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 85

GESTIÓN Y SISTEMA DE ARCHIVOS - FEDORA

La distribución Fedora usa el Sistema de Archivos Extendido 3 (Ext3), el cual incluye

las siguientes mejoras:

El diario de registros es la característica más importante, que mejora los

procesos de revisión de integridad, ya que sólo se requiere la comprobación

de dicho diario.

Soporta mayores niveles de integridad de datos para evitar la corrupción del

sistema de archivos, permitiendo elegir el tipo y el nivel de protección.

Mayor flujo y mayor velocidad de accesos repetidos a datos.

Fácil transición entre ext2 y ext3, sin necesidad de volver a formatear las

particiones.

La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3

puede ser montado y usado como un sistema de archivos ext2. Otra diferencia

importante es que ext3 utiliza un árbol binario balanceado (árbol AVL) e incorpora

el asignador de bloques de disco Orlov.

También incorpora el Sistema de Archivos FHS o también llamado “Estándar de

Jerarquía de Sistema de Archivos”, el cual describe un conjunto de reglas que

permiten, tanto a los usuarios como a los programas, predecir la localización de los

ficheros y directorios instalados en el sistema.

Page 86: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 86

GESTIÓN DE COMUNICACIONES Y SEGURIDAD - FEDORA

SELinux ("Security-Enhanced Linux") se destaca entre las características de

seguridad de Fedora, pues implementa una gran variedad de políticas de seguridad,

incluyendo control de acceso obligatorio (MAC "Mandatory Access Control"), a

través de los Módulos de Seguridad de Linux que están en el núcleo Linux del

sistema.

La distribución está liderando las distribuciones que incorporan SELinux, habiéndolo

introducido en Fedora Core 2. Sin embargo lo desactivó como elemento

predeterminado, pues alteraba radicalmente la forma en que el sistema operativo

funcionaba. Posteriormente fue activado por defecto en Fedora Core 3

introduciendo una política menos estricta. Fedora también tiene métodos propios

para prevenir la sobrecarga del buffer y la utilización de rootkits. La verificación del

buffer en tiempo de compilación, «Exec Shield» y restricciones en como la memoria

del núcleo en /dev/mem puede ser accedida ayudan a prevenir esto.

Page 87: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 87

SOPORTE PARA LA NUBE E INTEGRACIÓN A ELLA (CLOUD COMPUTING) -

FEDORA

Fedora 20 continúa con la tradición de Fedora de adoptar e integrar las tecnologías

más vanguardistas del cloud computing. Algunas características que facilitan el

trabajo con virtualización y cloud computing son:

Imágenes de la nube de alta calidad: desarrollado por Fedora Cloud SIG,

estas imágenes se adaptan bien para funcionar como invitado en nubes

públicas y privadas como Amazon Web Services (AWS) y OpenStack.

Interfaz de usuario VM Snapshot con virt-manager: esta característica

facilita la toma de capturas VM con la inclusión de una interfaz de usuario

simple y reconocible para virt-manager, e incluye una funcionalidad en

libvirt para soportar el borrado y rebasado de snapshots externos

ARM en x86 con libvirt/virt-manager: Este cambio en Fedora 20 repara

máquinas virtuales de ARM alojadas en servidores x86 que utilizan

herramientas libvirt estándar, libvirt virsh, virt-manager y virt-install.

ESTADÍSTICAS - FEDORA

Versión Nombre en

código

Fecha de liberación Versión del núcleo

Linux

1 Yarrow 6 de

noviembre de 2003

2.4.19

2 Tettnang 18 de mayo de 2004 2.6.5

3 Heidelberg 8 de

noviembre de 2004

2.6.9

4 Stentz 13 de junio de 2005 2.6.11

5 Bordeaux 20 de marzo de 2006 2.6.15

6 Zod 24 de octubre de 2006 2.6.18

7 Moonshine 31 de mayo de 2007 2.6.21

8 Werewolf 8 de

noviembre de 2007

2.6.23.1

9 Sulphur 13 de mayo de 2008 2.6.25

10 Cambridge 25 de

noviembre de 2008

2.6.27

Page 88: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 88

11 Leonidas 9 de junio de 2009 2.6.29-4

12 Constantine 17 de

noviembre de 2009

2.6.31

13 Goddard 25 de mayo de 2010 2.6.33

14 Laughlin 2 de noviembre de 2010 2.6.35

15 Lovelock 24 de mayo de 2011 2.6.38

16 Verne 8 de noviembre de 2011 3.1.0

17 Beefy Miracle 29 de mayo de 2012 3.4.1

18 Spherical Cow 15 de enero de 2013 3.6

19 Schrödinger's Cat 2 de julio de 2013 3.9

20 Heisenbug 12 de diciembre de 2013 3.11

Page 89: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 89

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.

Page 90: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 90

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.

Page 91: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 91

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.

Page 92: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 92

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.

Page 93: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 93

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 Round-

Robin.

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.

Page 94: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 94

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.

Page 95: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 95

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):

Page 96: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 96

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

“stateful partition” que es en

donde se almacenan los

archivos de los usuarios, log,

etc.

●Una partición opcional de

intercambio.

●Dos particiones que

contienen el sistema de

ficheros en sí.

Sistema de archivos raíz

El sistema de archivos de Ubuntu está basado en

el Filesystem Hierarchy Standard. Este es un

estándar que con mayor o menor rigor siguen la

mayoría de las distribuciones GNU/Linux y algunos

otros sistemas operativos basados en UNIX. Este

estándar define los nombres, ubicación y los

permisos de muchos tipos de archivos y

directorios.

Los sistemas de archivos más comunes

soportados incluyen:

EXT2

EXT3 ampliamente utilizada en

distribuciones Linux

EXT4

Page 97: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 97

SOPORTE A CLOUD COMPUTING

Chrome OS Distribuciones Linux

Google Cloud Print,

impresión de archivos en

impresoras conectadas a la

web. Evitando

incompatibilidad de

controladores.

Chromoting, Uso de

aplicaciones de PC

remotamente.

Ubuntu One es un servicio de alojamiento de

archivos, integrado con el entorno de escritorio del

sistema operativo Ubuntu.

Red Hat Enterprise Linux OpenStack Platform, es

actualmente una solución basada para las

organizaciones, donde se proporciona una base

flexible y segura para crear una cloud pública o

privada completamente escalable.

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 virt-

manager; ARM en x86 con libvirt/-manager.

Page 98: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 98

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.

Page 99: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 99

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.

Page 100: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 100

BIBLIOGRAFÍA

Definición de Ubuntu. [En línea]. Fecha de consulta: Mayo 24. 2014 desde

http://definicion.de/ubuntu/

Wikipedia, La enciclopedia libre. (Mayo 2014). Ubuntu. [En línea]. Fecha de

consulta: mayo 21, 2014 desde http://es.wikipedia.org/wiki/Ubuntu

Just more thoughts. (Junio 2011). Ubuntu 11.04 - Process management. [En

línea]. Fecha de consulta: mayo 21, 2014 desde http://just-more-

thoughts.blogspot.com/2011/06/ubuntu-1104-process-management-26.html

Linux Ubuntu 12.04 LTS. Proceso y Procesadores. [En línea]. Fecha de consulta:

mayo 22, 2014 desde

https://sites.google.com/site/ubuntuinterclassroom/proceso-y-procesadores

Linux Ubuntu 12.04 LTS. Multiprocessing (Multiprocesamiento). [En línea].

Fecha de consulta: mayo 22, 2014 desde

https://sites.google.com/site/ubuntuinterclassroom/multiprocessing

Scheer, M. Ubuntu Memory Manager & Defragmentation. [En línea]. Fecha de

consulta: mayo 22, 2014 desde http://www.ehow.com/facts_7934778_ubuntu-

memory-manager-defragmentation.html

Plauchu, E. (julio 2013). Administracion de Memoria en Linux. [En línea]. Fecha

de consulta: mayo 24, 2014 desde

http://eplauchu.wordpress.com/2013/07/17/administracion-de-memoria-en-

linux/

Linux Ubuntu 12.04 LTS. Manejo de RAM. [En línea]. Fecha de consulta: mayo

23, 2014 desde https://sites.google.com/site/ubuntuinterclassroom/manejo-de-

ram

Linux Ubuntu 12.04 LTS. Real Time (Tiempo Real). [En línea]. Fecha de

consulta: mayo 27, 2014 desde

https://sites.google.com/site/ubuntuinterclassroom/realtime

Sistema de archivos. [En línea]. Fecha de consulta: mayo 26, 2014 desde

http://doc.ubuntu-es.org/Sistema_de_archivos

Ubuntu manuals. stdio - funciones de biblioteca de entrada/salida estándar. [En

línea]. Fecha de consulta: mayo 25, 2014 desde

http://manpages.ubuntu.com/manpages/trusty/es/man3/stdio.3.html

Kernel. [En línea]. Fecha de consulta: mayo 28, 2014 desde http://doc.ubuntu-

es.org/Kernel

Page 101: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 101

Wikipedia, La enciclopedia libre. Núcleo Linux, Críticas. [En línea]. Fecha de

consulta: mayo 28, 2014 desde

http://es.wikipedia.org/wiki/Linux_(n%C3%BAcleo)#Soporte_de_hardware

Ubuntu a fondo. (julio 2010). Seguridad en Ubuntu (II) - Usuarios y claves. [En

línea]. Fecha de consulta: mayo 29, 2014 desde

http://dmolinap.blogspot.com/2010/07/seguridad-en-ubuntu-ii-usuarios-y.html

Ubuntu a fondo. (julio 2010). Seguridad en Ubuntu (I) - Introducción. [En línea].

Fecha de consulta: mayo 29, 2014 desde

http://dmolinap.blogspot.com/2010/07/seguridad-en-ubuntu-i-introduccion.html

Ubuntu perdiendo popularidad rapidísimo ¿culpa de Unity? [En línea]. Fecha de

consulta: mayo 30, 2014 desde http://identidadgeek.com/ubuntu-perdiendo-

popularidad-rapidisimo-%C2%BFculpa-de-unity/2011/11/

Wikipedia, La enciclopedia libre. (mayo 2014). GNU/Linux, Cuota de mercado.

[En línea]. Fecha de consulta: mayo 30, 2014 desde

http://es.wikipedia.org/wiki/Linux#Cuota_de_mercado

Linux Ubuntu 12.04 LTS. Manejo de RAM. [En línea]. Fecha de consulta: mayo

23, 2014 desde https://sites.google.com/site/ubuntuinterclassroom/manejo-de-

comunicaciones

Wikipedia, La enciclopedia libre. (abril 2014). Ubuntu One. [En línea] Fecha de

consulta: mayo 29, 2014 desde http://es.wikipedia.org/wiki/Ubuntu_One

Hernández, D. Windows 8 Vs Ubuntu 13.10 Saucy Salamander. En línea] Fecha

de consulta: mayo 29, 2014 desde http://www.tubuntux.com/2013/10/windows-

8-vs-ubuntu-1310-saucy.html

Administración de Sistemas operativos de Red, [En línea]. Fecha de consulta:

mayo 25, 2014 desde http://asorufps.wikispaces.com/Red+Hat+-

+Sistema+Operativo.

redhat, [En línea]. Fecha de consulta: Mayo 28, 2014 desde

http://co.redhat.com/products/cloud-computing/openstack/.

redhat, [En línea]. Fecha de consulta: Mayo 28, 2014 desde

https://access.redhat.com/site/documentation/en-

US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/index.html.

Fedora, [En línea]. Fecha de consulta: Mayo 31, 2014 desde

http://grupo4fedora.wikispaces.com/N%C3%BAcleo+Fedora.

M. roboto. (Diciembre 2013). Forosla [En línea]. Fecha de consulta: Mayo 31,

2014 desde http://www.forosla.com/fedora-20-como-instalarlo-paso-paso/.

Page 102: COMPILACIÓN BIBLIOGRÁFICA Sistemas Operativos · PDF fileSistemas Operativos Linux y las diferentes distribuciones (Detallar Red Hat, Fedora, Ubuntu, etc) ... representativo del

pág. 102

DiarioTi, (Diciembre 2013). [En línea]. Fecha de consulta: Mayo 31, 2014 desde

http://diarioti.com/fedora-de-red-hat-celebra-10-anos-con-nueva-version/72403.

252-M, E. 2. (26 de Mayo de 2014). Evolution: Sistemas Operativos. Obtenido

de bmxkazy: http://wwwbmxkazy.blogspot.com/2011/09/cuadro-comparativo-

de-los-so-actuales.html

Cardozo, F. (28 de Mayo de 2014). Docs. Obtenido de jeuazarru:

http://www.jeuazarru.com/docs/ChromeOS.pdf

Desarrollo, C. A. (20 de 05 de 2014). Historia de Linux. Obtenido de CAD:

http://www.cad.com.mx/historia_de_linux.htm

Google. (28 de Mayo de 2014). Dispositivos. Obtenido de Google:

http://www.google.com/intl/es-419/chrome/business/devices/chromebooks.html

Low. (23 de Mayo de 2014). Artículos. Obtenido de LowPowPC:

http://lowpowpc.com/2013/12/13/como-instalar-chromeos-en-nuestros-pc-paso-

a-paso/

Martinez, L. (21 de Mayo de 2014). Presentaciones. Obtenido de authorstream:

http://www.authorstream.com/Presentation/luisazulcremamar-2114258-

sistema-operativo-chromium/

Plauchu, E. (27 de Mayo de 2014). Notas. Obtenido de eplauchu:

http://eplauchu.wordpress.com/2013/07/17/administracion-de-memoria-en-

linux/

Puerto, K. (26 de Mayo de 2014). Portátiles. Obtenido de xataka:

http://img.xataka.com/2014/01/Chrome%20OS%20versus%20Windows%20RT.

jpg

Wikipedia. (23 de Mayo de 2014). Chrome OS. Obtenido de Wikipedia:

http://es.wikipedia.org/wiki/Chrome_OS

Wikipedia. (Mayo de 28 de 2014). Google. Obtenido de Wikipedia:

http://es.wikipedia.org/wiki/Google