• No se han encontrado resultados

Sistema operativo familia LINUX

N/A
N/A
Protected

Academic year: 2021

Share "Sistema operativo familia LINUX"

Copied!
36
0
0

Texto completo

(1)
(2)

Sistema operativo familia

LINUX

(3)

Definición de Sistema Operativo

Un sistema operativo es un programa (o una colección de programas)

que permite administrar los recursos de una computadora: Memoria,

CPU, dispositivos de E/S (Unidades de Discos, monitor, teclado, etc).

También proporciona un entorno para escribir programas de

(4)

DESARROLLO DE LINUX

¿Que cosa es UNIX y porque es tan importe a la hora de hablar de

GNU/Linux?

(5)

LINUX es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente.

struct sockaddr {

unsigned short sa_family; char sa_data[14]; };

struct in_addr {

unsigned long s_addr; };

(6)

GNU/Linux es un clon del sistema operativo Unix, escrito

desde cero por el Flandes Linus Torvalds con la asistencia de un pequeño grupo de hackers esparcidos por la red. Entre sus principales características se encuentra la implantación del estándar POSIX.

(7)

POSIX

:

Sigla un tanto forzada de Portable

Operating

System

Interface (Interfaz portable de sistema operativo).

Conjunto de estándares que crecieron a partir del

sistema operativo UNIX.

(8)

Estrictamente, GNU/Linux se refiere al núcleo o kernel.

En un sentido mas amplio, comprende el núcleo del sistema

operativo mas un conjunto de programas que permiten

compilar lenguajes de programación, editar texto, interpretar

comandos, manejar archivos y discos, acceder a otras

maquinas, establecer comunicaciones telefónicas, enviar y

recibir correo electrónico, manejar las colas de impresión y un

sinfín de tareas mas. Algunos de estos programas pueden

haber sido desarrollados por los propios usuarios.

(9)

LINUX hace su aparición a principios de la década de

los noventa, era el año 1991, por aquel entonces un

estudiante de informática de la Universidad de

Helsinki, llamado Linus Torvalds empezó,como una

afición y sin poderse imaginar a lo que llegaría este

proyecto, a programar las primeras líneas de código

de este sistema operativo llamado LINUX.

(10)

Este comienzo estuvo inspirado en MINIX, un pequeño sistema

Unix desarrollado por

Andy Tanenbaum

. Las primeras

discusiones sobre Linux fueron en el grupo de noticias

composminix, en estas discusiones se hablaba sobre todo del

desarrollo de un pequeño sistema Unix para usuarios de Minix

que querían mas.

Linus nunca anuncio la versión 0.01 de Linux (agosto 1991),

esta versión no era ni siquiera 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.

(11)

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 (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte,

documentación, distribución y desarrollo.

Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, mas y mas programadores a lo largo y ancho de

Internet empezaron a trabajar en el proyecto y después de sucesivas revisiones, Linus incremento el número de versión hasta la 0.95 (Marzo 1992). Mas de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y

(12)
(13)

Desde entonces no se ha parado de desarrollar, la versión

actual del núcleo es la 2.6.X y sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema.

(14)

Objetivos de GNU/Linux

GNU/Linux fue diseñado teniendo en mente los siguientes

objetivos:

•Crear un sistema interactivo de tiempo compartido diseñado por

programadores y para programadores, destinado a usuarios

calificados.

•Que fuera sencillo, elegante, escueto y consistente.

•Que permitiera resolver problemas complejos combinando un

numero reducido de comandos básicos.

(15)

Filosof

Filosof

í

í

a

a

del sistema GNU/Linux

del sistema GNU/Linux

Los objetivos con que se creo determinaron

una filosofía. caracterizada por:

comandos cortos, simples, específicos y muy

eficientes, que hacen una sola cosa pero la

hacen muy bien.

Entrada y salida estandarizadas que permiten

la interconexión de comandos. Esto se llama

entubamiento (pipelining): la salida de un

comando es tomada por el siguiente como

entrada.

(16)

Como ya mencionamos, GNI/Linux es solo el núcleo del sistema operativo, pero necesita aplicaciones y programas para hacer algo. Muchos han sido portados a Linux, otros han sido creados

específicamente para GNU/Linux, todos ellos se encuentran en Internet dispuestos a que cualquiera los baje y los instale en su sistema.

Como esto es una ardua tarea no tardan en surgir compañías dedicadas a reunir todos esos programas facilitando la tarea de crear un sistema Linux funcional. En la actualidad existe un sin numero de estas compañias pero solo se mencionaran las mas importantes dentro del contexto mundial.

(17)

Slackware

Una de las primeras distribuciones que surge fue Slackware

(http://www.slackware.com), diseñada por Patrick Volkerding a partir de SLS Linux . Esta tuvo una gran aceptación al principio hasta llegar a ser la distribución mas popular del mercado. Actualmente ha perdido terreno a favor de distribuciones mas modernas, siendo relegada a aplicaciones especializadas.

Una de las debilidades de Slackware se encuentra en el sistema de instalación de paquetes, el cual no tiene control de versiones ni

dependencias. Las nuevas distribuciones han implementado y adoptado dos sistemas de instalación de archivos RPM (RedHat Package Manager) y DEB (Debian Package Manager).

(18)

Debian

Debian (http://www.debian.org) es una distribución bastante

popular que no esta desarrollada por ninguna compañía comercial sino que es fruto del trabajo de diversos voluntarios en toda la

comunidad de Internet. Es, por lo tanto, una distribución

completamente gratis, sin restricción de licencias en donde todo el software es GNU/GPL5 y no incluye software comercial.

Además es bastante completa y estable gracias a su sistema de instalación de paquetes DEB. Sin embargo, tal vez sea algo difícil para alguien que empieza por primera vez con Linux.

(19)

SuSE

SuSE

(http://www.suse.de) es una distribución de una

compañia alemana la cual combina el sistema de paquetes de

Red Hat (RPM) con una organización derivada de Slackware.

Esta distribución es la mas popular en Europa y tiene un gran

soporte para diferentes lenguas incluido el Español. Es una de

las mas fáciles de instalar y configurar, además viene con una

gran cantidad de paquetes.

(20)

Mandriva

Mandriva Linux(http://www.mandriva.com/community/) antes

Mandrake Linux es una distribucion Linux que hizo su aparición en julio de 1998 propiedad de Mandriva, enfocada a principiantes o usuarios medios.

(21)

Red Hat

Red Hat (http://www.redhat.com) es la distribución mas popular

del mercado hoy en día, siendo emulada por muchas otras. Muy

sencilla de instalar, excelente auto-detección de dispositivos,

instalador grafico y un excelente conjunto de aplicaciones

comerciales en su distribución oficial.

(22)

Kernel / Núcleo

¿Qué es el kernel/núcleo?

El kernel o núcleo de linux se podría definir como el corazón de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.

Las funciones más importantes del mismo, aunque no las únicas, son:

•Administración de la memoria, para todos los programas en ejecución.

•Administración del tiempo de procesador, que estos programas en ejecución utilizan.

•Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda

(23)
(24)

Existen dos versiones del Linux kernel:

Versi

Versióón de produccin de produccióón:n: La versión de producción, es la versión estable hasta el momento. Esta versión es el resultado final de las versiones de desarrollo o experimentales. Cuando el equipo de desarrollo del núcleo experimental, decide que ha conseguido un

núcleo estable y con la suficiente calidad, se lanza una nueva versión de producción o estable. Esta versión es la que se debería utilizar para un uso normal del sistema, ya que son las versiones consideradas más estables y libres de fallos en el momento de su lanzamiento.

Versión de desarrollo: Esta versión es experimental y es la que utilizan los desarrolladores para programar, comprobar

y verificar nuevas características, correcciones, etc. Estos núcleos suelen ser inestables y no se deberian

(25)

Cómo interpretar los números de las versiones: Las versiones del núcleo se numeran con 3 números, de la siguiente

forma: XX.YY.ZZ

XX: Indica la serie principal del núcleo. Hasta el momento solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento del núcleo ha sufrido un cambio muy

importante.

YY: Indica si la versión es de desarrollo o de producción. Un número impar, significa que es de desarrollo, uno par, que es de producción.

ZZ: Indica nuevas versiones dentro de una versión, en las que lo unico que se ha modificado, son fallos de

(26)

Unos ejemplos nos ayudarán a entenderlo mejor:

ej1: versión del núcleo 2.0.0: Núcleo de la serie 2 (XX=2), versión de producción 0 (YY=0 par), primeraversión de 2.0 (ZZ=0)

ej2: versión del núcleo 2.0.1: Núcleo de la serie 2, version 0, en el que se han corregido errores de programación presentes en la versión 2.0.0 (ZZ=1)

ej3: version del nucleo 2.1.100: version 100 del nucleo de desarrollo 2.1.

(27)
(28)

Sistemas de archivos en

GNU/Linux

(29)
(30)

Sistemas de archivos

/binbin Binarios de comandos esencialesBinarios de comandos esenciales /

/bootboot Archivos estArchivos estááticos de cargador de ticos de cargador de arranque(bootarranque(boot--loaderloader) ) /

/devdev Archivos de dispositivos Archivos de dispositivos /

/etcetc ConfiguraciConfiguracióón del sistema localn del sistema local--mmááquina quina /

/homehome Directorios Directorios homehome de los usuarios de los usuarios /

(31)

/

/

mnt

mnt

Punto de montaje de particiones temporales

Punto de montaje de particiones temporales

/

/

root

root

Directorio hogar del usuario

Directorio hogar del usuario

root

root

/

/

sbin

sbin

Binarios del sistema esenciales

Binarios del sistema esenciales

/

/

tmp

tmp

Archivos temporales

Archivos temporales

/

/

usr

usr

Segunda jerarqu

Segunda jerarqu

í

í

a mayor

a mayor

/

/

var

var

Informaci

Informaci

ó

ó

n variable

n variable

/

/proc

proc

Sistema de archivos virtual de

Sistema de archivos virtual de

informacion

informacion

de procesos y

de procesos y

del kernel

(32)

/

bin Binarios de comandos esenciales de usuarios (disponibles

para todos los usuarios).

/bin contiene comandos que pueden ser utilizados por ambos los usuarios y el administrador del sistema, pero que son requeridos en el modo /mono-usuario (single-user mode) puede también contener comandos que son /utilizados indirectamente por algunos scripts

/boot: Archivos estáticos del cargador de arranque (boot

loader).

Este directorio contiene todo para arrancar excepto los archivos de

configuración y el instalador de mapas. En su sentido más sencillo /boot es para cualquier cosa que se utiliza antes de que el kernel ejecute /sbin/init.

(33)

/dev Archivos de dispositivos.

Éste es el directorio de los dispositivos. Contendría un archivo por cada dispositivo que el kernel de Linux puede soportar

/etc Configuración del sistema local a la máquina.

/etc contiene archivos y directorios que son locales al sistema actual.

Ningún binario debe ir directamente dentro de /etc. Los binarios que en el pasado se encontraban en /etc, irán en /sbin ó /usr/sbin

/home: Directorios hogar de los usuarios (opcional)

home es un concepto algo estándar, pero es claramente un sistema de /archivos específico de un site. El arreglo diferirá de máquina a máquina.

(34)

/lib Librerías compartidas y módulos de kernel escenciales

El directorio /lib contiene aquellas imágenes de las librerías compartidas que se necesitan para arrancar el sistema y ejecutar los comandos en el sistema de archivos raíz.

/mnt Punto de montaje para sistemas de archivos montados temporalmente.

Este directorio se ha provisto para que el administrador pueda montar temporalmente sistemas de archivos cuando lo necesite. El contenido de este directorio es un asunto local y no debe afectar la manera en la cual se ejecuta ningún programa

(35)

/proc: Sistema de archivos virtual de informacion de procesos y del kernel.

El sistema de archivos proc se está convirtiendo en el estándar de facto para el manejo de información de procesos y de sistema en vez de /dev/kmem y otros métodos similares.

(36)

/sbin: Binarios del Sistema (Alguna vez mantenidos en /etc)

Los útiles usados por la administración del sistema ( y otros comandos que sólo root utiliza ) están almacenados en /sbin, /usr/sbin, y /usr/local/sbin. /sbin típicamente contiene binarios escenciales para arrancar el sistema ademas de los binarios en /bin. Cualquier cosa que se ejecuta después de que se sabe que /usr se ha montado (cuando no hay problemas) debería estar en /usr/sbin. Los binarios de administración de sistema sólo-locales deben estar localizados en /usr/local/sbin

/tmp:Archivos temporales.

Referencias

Documento similar

I.3 Diferencias entre Linux y Windows. a) Usuarios únicos en comparación con usuarios múltiples y en comparación con usuarios de redes. En esta disposición, dos personas no

• GNU/Linux (En este sistema operativo hay que instalar el pluggin, a diferencia de los demás que se activan cuando un cliente interactúa con algún flash o banner). Descripción de

La elección de Linux como propuesta de sistema operativo para usar en las competencias de programación en la educación cubana, está relacionado con la necesidad

Debido a que este proyecto pertenece al polo de Bioinformática y es un estándar o paradigma del polo el desarrollo de software libre utilizando el sistema operativo Linux, además

Linux es un sistema operativo cuya principal novedad es su autonomía y facilidad de acción, en él todos los softwares con los que se desea trabajar están por

Para solucionar este problema se tomará como objeto de estudio las herramientas y métodos de configuración con los cuales se puede configurar el

En esta investigación se presenta el diseño e implementación de la base de un instalador (Serere) y el framework para la gestión de sus vistas (Arare), que constituyen una

El presente trabajo de tesis aborda el diseño de una metodología y su implementación para la de detección de modificaciones en el sistema operativo Linux; hace uso del conocimiento