sistema operativo familia linux · definición de sistema operativo un sistema operativo es un...

36

Upload: others

Post on 18-Jan-2021

34 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una
Page 2: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Sistema operativo familia LINUX

Page 3: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Definición de Sistema OperativoUn 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 aplicación

Page 4: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

DESARROLLO DE LINUX

¿Que cosa es UNIX y porque es tan importe a la hora de hablar de GNU/Linux?

Page 5: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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;};

Page 6: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 7: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

POSIX:

Sigla un tanto forzada de Portable Operating SystemInterface (Interfaz portable de sistema operativo).

Conjunto de estándares que crecieron a partir del sistema operativo UNIX.

Page 8: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 9: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 10: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 11: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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 deInternet empezaron a trabajar en el proyecto y después de sucesivas revisiones, Linus incremento el número de versiónhasta 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 yla versión 1.0 no llego hasta el 14 de marzo de 1994.

Page 12: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una
Page 13: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 14: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 15: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

FilosofFilosofííaa del sistema GNU/Linuxdel 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.Todo es un archivo

Page 16: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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 sinnumero de estas compañias pero solo se mencionaran las mas importantes dentro del contexto mundial.

Page 17: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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

Page 18: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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 lacomunidad 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.

Page 19: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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

Page 20: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 21: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Red HatRed 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.

Page 22: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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

Page 23: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una
Page 24: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Existen dos versiones del Linux kernel:

VersiVersióó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, comprobary verificar nuevas características, correcciones, etc. Estos núcleos suelen ser inestables y no se deberianusar, a no ser que sepas lo que haces.

Page 25: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Cómo interpretar los números de las versiones: Las versiones del núcleo se numeran con 3 números, de la siguienteforma: 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 deprogramación /bugs.

Page 26: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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.

Page 27: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

ejerc

Page 28: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

Sistemas de archivos en GNU/Linux

Page 29: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una
Page 30: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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

//liblib LibrerLibreríías compartidasas compartidas

Page 31: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

//mntmnt Punto de montaje de particiones temporalesPunto de montaje de particiones temporales

//rootroot Directorio hogar del usuario Directorio hogar del usuario rootroot

//sbinsbin Binarios del sistema esenciales Binarios del sistema esenciales

//tmptmp Archivos temporales Archivos temporales

//usrusr Segunda jerarquSegunda jerarquíía mayora mayor

//varvar InformaciInformacióón variable n variable

//procproc Sistema de archivos virtual de Sistema de archivos virtual de informacioninformacion de procesos y de procesos y del kerneldel kernel..

Page 32: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

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

Page 33: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

/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.

Page 34: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

/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

Page 35: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

/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.

Page 36: Sistema operativo familia LINUX · Definición de Sistema Operativo Un sistema operativo es un programa (o una colección de programas) que permite administrar los recursos de una

/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.tmp se utiliza para archivos temporales