jueves, 31 de octubre de 2013

Sistemas Operativos.

¿Qué es el sistema operativo?

Forma parte del software y da instrucciones al hardware y le indique como tiene que funcionar.

El sistema operativo es la parte fundamental del software en un ordenador. Sus funciones más importantes son:

  1. Coordinar el trabajo del ordenador. Controla y distribuye los recursos hardware para que puedan funcionar otros programas. Gracias a esto podemos hacer dos o más tareas a la vez. También controla los periféricos.
  2. Organizar la información. Los ordenadores guardan información en forma de archivos. Los sistemas operativos los organizan en carpetas. Dentro de una carpeta hay archivos o carpetas con archivos.
  3. Determinar la interfaz gráfica de usuario del ordenador. Al iniciar el ordenador nos aparece la pantalla del sistema operativo. A través de ésta interactuamos con el ordenador. La manera como se presentan los iconos, botones, gráficos y textos se denomina interfaz gráfica de usuario.

Clasificación de los sistemas operativos

Los sistemas operativos se pueden clasificar en:
  •  Administración de tareas:
- Monotarea. Te permiten ejecutar un programa.
- Multitarea. Te permiten ejecutar varios programas.

  • Administración de usuarios:
- Monousuario. Solo permiten trabajar a un usuario.
- Multiusuario. Permiten trabajar a varios usuarios.

  • Estructura:
- Monolítico.
- Jerárquico.
- Cliente-servidor.

  • Manejo de recursos:
- Centralizados. Permiten utilizar los recursos de un ordenador.
- Distribuidos. Permiten utilizar los recursos de más de un ordenador a la vez.

Vamos a ver ahora unos ejemplos de sistemas operativos.

  • Windows. Creado por Microsoft.
  • Mac. Creado por Apple Computer.
  • Linux. Creado por Linus Torvalds.
  • Android. Creado por Andy Rubin.

Programas de aplicación

Son programas que ayudan a los usuarios a realizar cualquier tarea. Vamos a hablar un poco sobre dos de estos:

  • KDE. Es una comunidad que desarrolla software libre. Produce entornos de escritorio e infraestructura de desarrollo para varios sistemas operativos.
  • GNOME. Es un entorno de escritorio e infraestructura de desarrollo para diferentes sistemas operativos, compuesto de software libre.
GNOME vs KDE

Vamos a hablar primero de KDE. Es un entorno programado con el lenguaje C++. Entre sus ventajas podemos encontrar:

  • Librerías Qt. Los programas escritos en Qt son potentes. 
  • Elegancia. KDE es un entorno que cuida bastante su aspecto.
  • Preferencias del sistema. Aquí lo configuramos todo con clicks de ratón, siempre que se refiera a cosas del sistema.
Entre sus desventajas encontramos:

  • Mayor consumo de recursos. No está diseñado para ser ligero.
  • Qt. Cuestión de gustos.
  • Mala integración por defecto de aplicaciones GTK+. No se ven bien, desentonan bastante con el escritorio, aunque se puede solucionar con unos paquetes.
 Ahora hablamos de Gnome. Es un entorno de escritorio en C utilizando librerías GTK+. Entre sus ventajas encontramos:

  • Menor consumo de recursos que KDE.
  • Comodidad. Está muy bien estructurado.
  • Estabilidad.
  • Bien integrado en todas las distros.

Entre sus desventajas encontramos:

  • GTK+.
  • Mala integración por defecto de las aplicaciones escritas en QT.
  • Estética por defecto poco cuidada.




Licencias de software: Software propietario y Software libre

Software libre

Esto significa que el software respeta la libertad de los usuarios y la comunidad. Los usuarios tienen la libertad de copiar, distribuir, estudiar, modificar y mejorar el software.
Un software es libre cuando los usuarios tienen:

  • La libertad de ejecutar el programa para lo que se quiera.
  • La libertad de estudiar cómo funciona el programa, y cambiarlo.
  • La libertad de distribuir copias para quien quiera.
  • La libertad de distribuir copias de sus versiones modificadas.
Software propietario

El software propietario es aquel en el que el usuario tiene limitadas las posibilidades de usarlo, modificarlo o redistribuirlo. A veces el usuario tiene que pagar por él.
Estos softwares son desarrollados, generalmente, por corporaciones como Microsoft. Estas compañías poseen los derechos de autor de dicho programa, por tanto el usuario no puede acceder a la fuente del programa para modificarlo o distribuirlo.

Comparativa: Software libre y Software privativo

Ventajas software libre:

  • Existen aplicaciones para todas las plataformas.
  • El precio es mucho menor o gratis.
  • Libertad de copia, modificación o mejora, redistribución, uso con cualquier fin.
  • Facilidad para traducir a varios idiomas.
  • Mayor seguridad y fiabilidad.
  • El usuario no depende del autor de el software.
Inconvenientes software libre:

  • Algunas aplicaciones son complicadas de instalar.
  • No hay garantía del autor.
  • Empeora la interfaz gráfica.
  • Poca estabilidad y flexibilidad en multimedia y juegos.
  • Menor compatibilidad con el hardware.
Ventajas software privativo:

  • Facilidad de adquisición.
  • Existen programas específicos para una tarea.
  • Las empresas que los desarrollan pueden invertir más en la mejora de éstos.
  • Interfaz gráfica mejor diseñada.
  • Es más compatible en multimedia y juegos.
  • Mayor compatibilidad con el hardware.

Inconvenientes software privativo:

  • No existen aplicaciones para todas las plataformas.
  • No se pueden copiar, modificar o redistribuir.
  • Restricción de su uso.
  • Suelen ser menos seguras.
  • E l coste es mayor.
  • El soporte es exclusivo del propietario.
  • El usuario depende del autor.

Sistema operativo GNU Linux

GNU Linux se refiere a la combinación del núcleo o kernel libre con el sistema GNU. Su desarrollo es el ejemplo más relevante de software libre.

Historia

En 1983 Richard Stallman, inició el proyecto GNU, con el propósito de crear un sistema operativo similar y compatible con Unix y los estándares POSIX. Dos años más tarde creó la fundación del software libre y desarrolló la licencia pública de GNU para poder distribuir libre y legalmente el software. Pronto se desarrollaron bastantes softwares como para crear un sistema operativo, pero aún les faltaba un núcleo.

En 1991, Linus Torvalds comenzó un proyecto que más tarde llegó a ser el núcleo Linux. Al principio fue un emulador terminal, al cual tenía acceso desde la universidad. Escribió el programa para el hardware que usaba porque quiso usar las nuevas funciones de su computadora. El sistema operativo que él usó durante el desarrollo fue minix y el compilador inicial fue el GNU C compiler, con quien se puede compilar hoy Linux, y también con otros compiladores.

Torvalds publicó el núcleo Linux bajo su licencia, la cual fue una licencia de código fuente compartida y tenía una restricción contra la actividad comercial. Más tarde cambió a la GNU GPL.

Distribuciones

Es una distribución de software basada en el núcleo linux que incluye paquetes de software para un grupo de usuarios.Las distribuciones incluyen habitualmente las bibliotecas y herramientas de GNU y dependiendo del tipo de usuario al que vaya dirigida la distribución se añaden programas procesadores de texto, hojas de cálculo, etc. Algunas distribuciones son: Fedora (red hat), Open SUSE (novell), Ubuntu (Canonical ltd.)...

Ubuntu

Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente enfocado a ordenadores de escritorio aunque también proporciona soporte para servidores. Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad en la restricción de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación.
Características de Ubuntu.
  • Basada en la distribución Debian.
  • Disponible en 4 arquitecturas: Intel x86, AMD64, SPARC (para esta última sólo existe la versión servidor).
  • Los desarrolladores de Ubuntu se basan en gran medida en el trabajo de las comunidades de Debian y GNOME.
  • Las versiones estables se liberan cada 6 meses y se mantienen actualizadas en materia de seguridad hasta 18 meses después de su lanzamiento.
  • La nomenclatura de las versiones no obedece principalmente a un orden de desarrollo, se compone del dígito del año de emisión y del mes en que esto ocurre. La versión 4.10 es de octubre de 2004, la 5.04 es de abril de 2005, la 5.10 de octubre de 2005, la 6.06 es de junio de 2006, la 6.10 es de octubre de 2006 y la 7.04 es de abril de 2007.
  • El entorno de escritorio oficial es Gnome y se sincronizan con sus liberaciones.
  • Para centrarse en solucionar rápidamente los bugs, conflictos de paquetes, etc. se decidió eliminar ciertos paquetes del componente main, ya que no son populares o simplemente se escogieron de forma arbitraria por gusto o sus bases de apoyo al software libre. Por tales motivos inicialmente KDE no se encontraba con más soporte de lo que entregaban los mantenedores de Debian en sus repositorios, razón por la que se sumó la comunidad de KDE distribuyendo la distro llamada Kubuntu.
  • De forma sincronizada a la versión 6.06 de Ubuntu, apareció por primera vez la distribución Xubuntu, basada en el entorno de escritorio XFce.
  • El navegador web oficial es Mozilla Firefox.
  • 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 firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema.
  • Para labores/tareas administrativas en terminal incluye una herramienta llamada sudo (similar al Mac OS X), con la que se evita el uso del usuario root (administrador).
  • Mejora la accesibilidad y la internacionalización, de modo que el software está disponible para tanta gente como sea posible. En la versión 5.04, el UTF-8 es la codificación de caracteres en forma predeterminada.
  • No sólo se relaciona con Debian por el uso del mismo formato de paquetes deb, también tiene uniones muy fuertes con esa comunidad, contribuyendo con cualquier cambio directa e inmediatamente, y no solo anunciándolos. Esto sucede en los tiempos de lanzamiento. Muchos de los desarrolladores de Ubuntu son también responsables de los paquetes importantes dentro de la distribución de Debian.
  • Todos los lanzamientos de Ubuntu se proporcionan sin costo alguno. Los CDs de la distribución se envían de forma gratuita a cualquier persona que los solicite mediante el servicio ShipIt (la versión 6.10 no se llegó a distribuir de forma gratuita en CD, pero la versión 7.04 sí). También es posible descargar las imágenes ISO de los discos por transferencia directa o bajo la tecnología Bittorrent.
  • Ubuntu no cobra honorarios por la suscripción de mejoras de la “Edición Enterprise”.


Fedora

Fedora es una distribución basada, al igual que Mandriva en RPM y cuenta con el respaldo de Red Hat.

  • Incluye DVD's, CD's, LiveCD's y USB'spara instalar y CD's y USB's de rescate por si el sistema falla o tiene que ser reparado.
  • Fedora trata de ser el líder en el ámbito de usar software libre y código abierto.
  • Prefieren hacer cambios en las fuentes que aplicar un parche específico para su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de Linux.
  • Yum es el administrador de paquetes del sistema.
  • Cuenta con repositarios de los cuales Fedora recomienda usar solo los de código abierto o software libre.
  • Fedora se destaca en seguridad y utiliza SELinux entre otras medidas de seguridad.


Suse

SUSE incluye un programa único de instalación y administración llamado YaST2 que permite realizar actualizaciones, configurar la red y el cortafuegos, administrar a los usuarios, y muchas más opciones todas ellas integradas en una sola interfaz amigable. Además incluye varios escritorios, entre ellos los más conocidos que son KDE y Gnome, siendo el primero el escritorio por omisión. La distribución incorpora las herramientas necesarias para redistribuir el espacio de tu disco duro permitiendo así la coexistencia con otros sistemas operativos existentes en el mismo.
Usa sistemas de paquetes RPM (RedHat package manager) aunque no guarda relación con esta distribución.
También es posible utilizar el sistema de instalación CNR (Click 'N Run) originalmente creado por la empresa que distribuía Lindows OS (que ahora se llama Linespire y Freespire en su versión gratuita). Este sistema sincroniza nuestra maquina al servidor CNR y al darle click en la página de navegación a alguno de los programas, este se instala de manera automática en el ordenador.





Estructura genérica

El kernel de Linux es el núcleo de un sistema operativo extenso y complejo, y aunque su tamaño es enorme, esta correctamente organizado en subsistemas y capas. El kernel de Linux tiene más de seis millones de líneas de código.

 En la parte más alta está el espacio de usuario o aplicación. Aquí es donde las aplicaciones de usuario son ejecutadas. Por debajo del espacio de usuario esta el espacio del núcleo donde aparece el kernel de Linux.

También está la librería de C de GNU (glibc) que provee la interfaz de llamadas al sistema que conecta con el kernel y provee del mecanismo de transición entre las aplicaciones usuario y el núcleo.


El kernel de Linux, implementa un número de atributos importantes de arquitectura. Tanto al más alto nivel, como al más bajo nivel, el kernel es dividido en un distintos subsistemas. Linux puede ser considerado también como un kernel monolítico ya que engloba dentro suyo todos los servicios básicos. Esto lo diferencia de una arquitectura de microkernel donde el kernel provee de servicios básicos tanto de comunicación, de entrada/salida, manejo de procesos y memoria y los servicios más específicos están conectados a la capa del microkernel. Cada uno tiene sus ventajas y desventajas.

El kernel de Linux ha conseguido eficiencia en términos de uso de memoria y CPU, así como ser extremadamente estable. Pero el aspecto más interesante de Linux, dado su tamaño y complejidad, es su portabilidad. Linux puede ser compilado para funcionar en un enorme número de procesadores y plataformas con diferentes restricciones de arquitectura y necesidades.



Entorno de consola de texto

La consola o terminal (Shell) es un programa informático donde el usuario interactúa con el sistema operativo mediante una ventana que espera ordenes escritas por el usuario desde el teclado.

La consola permite un mayor grado de funciones y configuración de lo que queremos hacer con una aplicación o acción en general respecto del entorno gráfico.

En GNU/Linux la consola es algo necesario. Acciones para dar o quitar permisos, configurar e instalar drivers que no estén empaquetados y puedan ser ejecutados por un instalador, matar procesos de una manera más efectiva, ejercer como superusuario cuando estás en una cuenta cualquiera del equipo, etc.

Esta consola tiene una serie de comandos:


  • Comandos de ayuda.
  • Comandos de archivos y directorio.
  • Comandos de usuarios.
  • Comandos de procesos.
  • Comandos de unidades.
  • Comandos del sistema.
  • Comandos de red.
  • Comandos de impresoras.


Entorno gráfico

 Un entorno gráfico es un conjunto de software para ofrecer al usuario de una computadora una interacción amigable y cómoda.
Una de las opciones más interesantes que he encontrado en Linux es la posibilidad de hacer las tareas, instalar, ejecutar algún programa, hacer alguna función, ect. de dos maneras. La primera y más complicada seria con la consola de comandos, escribiendo líneas de comandos para llevar a cabo alguna funciona.
Y la segunda haciendo uso de los Entornos gráficos de Linux. En Linux puedes elegir que entorno gráfico utilizar. Cada entorno gráfico tiene un diseño y unas características diferentes las cuales hacen que puedas elegir uno u otro dependiendo de para que lo vayas a utilizar y también tu gusto personal.

Los entornos más utilizados son:

GNOME














KDE














XFCE

















Gestores de ventanas y entornos

Al ejecutar un servidor (gráfica), las aplicaciones cliente pueden utilizarlo y crear una GUI (interfaz gráfica). Existe un rango de GUIs muy amplio que abarca desde las más rudimentarios (en twm), hasta las más desarrollados e interactivos (en GNOME, KDE...). Para crear estas GUIs más avanzadas, se deben conectar dos clases principales de aplicaciones clientes al servidor: un entorno de escritorio y un gestor de ventanas.

Entorno de escritorio (GNOME, KDE, XFCE, LXDE, ...)

Un entorno de escritorio lo que hace es unir diferentes clientes y al usarlos juntos se crea un ambiente de usuario gráfico común y una plataforma de desarrollo. Estos entornos de escritorio avanzados permiten a los clientes y a las aplicaciones ejecutadas, comunicarse entre ellas, permitiendo así que las aplicaciones realicen tareas avanzadas, tales como operaciones de arrastrar y soltar, por ejemplo.

Gestores de ventanas (Metacity, Compiz, Mutter, Kwin, ...)

Los gestores de ventanas son programas clientes que son parte del entorno de escritorio (por ej. Metacity es parte de GNOME y Kwin de KDE) o también pueden ser independientes (por ej. mwm). Su propósito principal es controlar la forma en que se muestran las ventanas gráficas (posición, redimensión, movimiento, apariencia...) y sus funcionalidades (vínculos con los botones del ratón, barras de títulos, combinaciones de teclas, comportamiento del foco, ...). 

Gestores de ventanas más utilizados y sus entornos de escritorio por defecto:


  • Kwin. Es el gestor de ventanas para el entorno de escritorio KDE. Admite estilos intercambiables, los cuales controlan no sólo su apariencia sino también en algunos casos partes de su comportamiento. 
    Distribución: Kubuntu.
  • Metacity. Es el gestor de ventanas para el entorno de escritorio GNOME2. Tiene pocas opciones de configuración. Pero a cambio Gnome2 es muy configurable y nos permite instalar otros gestores más personalizables y avanzados, como Compiz. 
    Distribución: Ubuntu 10.10 y anteriores.
  • Mutter. Es el gestor de ventanas para el entorno de escritorio GNOME3 que no permite la utilización de ningún Gestor de ventana sin tener que reescribir el código, por lo que no podemos instalar otro Gestor de ventanas diferente de Mutter en Gnome3. 
    Distribución: Fedora 15.
  • Compiz. Es el gestor de ventanas para el entorno de escritorio GNOME-Unity en Ubuntu 11.04. Es de los más avanzados y configurables y por lo general, se puede instalar en cualquier Entorno de Escritorio, siempre que se tenga aceleración 3D (OpenGL). 
    Distribución: Ubuntu 11.04.
  • Xfwm. Es el gestor de ventanas para el entorno de escritorio XFCE. Provee su propio gestor de composición, el primero de su tipo cuando fue lanzado. Soporta atajos de teclado y es completamente modificable gráficamente. 
    Distribución: Xubuntu.
  • Openbox. Es el gestor de ventanas para el entorno de escritorio LXDE. Fué derivado de Blackbox 0.65 en un principio, pero ha sido totalmente reescrito y ya no está basado en Blackbox. Está diseñado para ser rápido y consumir una mínima cantidad de recursos sacrificando algunas funciones. 
    Distribución: Lubuntu.


Entorno GNOME. Interfaz de trabajo del usuario

GNOME es un entorno de escritorio e infraestructura de desarrollo para sistemas operativos GNU/Linux, Unix y derivados Unix como, BSD o Solaris; compuesto enteramente de software libre.

El Proyecto GNOME, provee un gestor de ventanas (intuitivo y atractivo) y una plataforma de desarrollo para crear aplicaciones que se integran con el escritorio. El Proyecto pone un gran énfasis en la simplicidad, usabilidad y eficiencia. Otros objetivos del proyecto son:
  • La libertad para crear un entorno de escritorio que siempre tendrá el código fuente disponible para reutilizarse bajo una licencia de software libre.
  • El aseguramiento de la accesibilidad, de modo que pueda ser utilizado por cualquiera, sin importar sus conocimientos técnicos y discapacidad física.
  • Hacer que esté disponible en muchos idiomas.
  • Un ciclo regular de liberaciones y una estructura de comunidad disciplinada.

Diseñado originalmente para GNU/Linux, GNOME ahora funciona en la mayoría de sistemas tipo Unix y particularmente ha sido adoptado por Sun Microsystem como parte del escritorio Java, sustituyendo el antiguo escritorio común de su plataforma Solaris.
Es el entorno de escritorio predeterminado de muchas distribuciones de escritorio GNU/Linux de uso frecuente y con grandes comunidades, como Fedora y Red Hat Enterprise Linux. En Ubuntu, fue entorno por defecto hasta la llegada de Unity en la versión 11.04, sin embargo es posible alternar en la misma distribución entre Unity y GNOME. En 2013 con la versión 13.04 de Ubuntu se lanzó conjuntamente el derivado oficial: Ubuntu GNOME. Una lista de las distribuciones de GNU/Linux que incluyen GNOME se mantiene en la web de GNOME. Existe una versión oficial de GNOME para los llamados LiveCD, que permite que un computador arranque directamente desde el CD-ROM y así poder probar y disfrutar el escritorio.


Escritorio

Escritorio GNU/Linux, refiere al uso que se le da al sistema operativo GNU/Linux, coloquialmente llamado "linux" al ser instalado en un computador personal. El término esta destinado a clarificar el uso personal del computador de otros roles, como por ejemplo, usar Linux en un servidor. Los dos roles son similares en el nucleo, porque los dos están basados en el núcleo Linux. El escritorio linux generalmente tendrá instalado por defecto paquetes destinados al "usuario final". Algunas distribuciones Linux se han centrado específicamente en el rol de escritorio. Otras incluyen un conjunto de todas las aplicaciones para la plataforma. En ese caso, el usuario puede seleccionar entre "escritorio" o "servidor" al momento de ser instalado el sistema operativo.











Menú principal

El Menú principal proporciona acceso al menú Aplicaciones y la mayoría de elementos del menú Acciones. Mediante el Menú principal se puede acceder a la mayoría de aplicaciones estándar, órdenes y opciones de configuración.
Pueden agregarse botones del Menú principal a los paneles.











El panel

El panel de control le ofrece enormes posibilidades gracias a su intuitivo manejo y la potencia de sus aplicaciones. Las características que ofrece:


  • Gestión del correo electrónico.
  • Gestión de web.
  • Registros y análisis de archivos.
  • Herramientas avanzadas.
  • Scripts pre-instalados.

Lanzadores

En GNU/Linux siempre han estado estas alternativas, conocidas como lanzadores de aplicaciones de manera que podamos acceder a nuestros programas de muy variadas rápidas maneras y no sólo a programas, sino a páginas web, archivos, carpetas, controles de reproducción de medios, definiciones en diccionarios, etc. Aqui algunas de ellas:


  • Deskbar Applet.






  • Gnome Do.



  • Launchy.



  • Katapult.



  • Avant Window Navigator.



  • Kiba Dock.

No hay comentarios:

Publicar un comentario