modulo uno semana uno

Anuncio
MODULO UNO
SEMANA UNO
1. CONCEPTOS PREVIOS
Antes de instalar y aprender a usar
un potente Sistema Operativo (S.O)
como lo es Linux se deben tener
claros conceptos técnicos que
ayudarán a entender mejor lo que se
está haciendo y permitirán seguir el
curso de una manera más eficiente.
1.1 ¿Qué es un Sistema Operativo?
Existe
un
desconocimiento
generalizado por parte de estudiantes
y profesionales de la existencia de
Sistemas Operativos diferentes a
Windows en el mercado. Y es
desconocido, también, que muchos
de estos son libres y se pueden
descargar gratis desde Internet.
Linux es un S.O. diferente a MSWindows, como lo son también BSD,
Solaris y MacOS, entre otros.
Pueden existir cerca de 300 S.O.
diferentes,
pero
sólo
haremos
mención de ellos a modo de
comparación.
El por qué todos conocen a Windows,
es quizás por la facilidad de
interactuar con el usuario final de la
que tanto se habla. Sin embargo no
se puede asegurar que Windows sea
más fácil ó mejor. Existen ciertas
características que ponen a otros
sistemas operativos por delante del
S.O. Windows, por ejemplo cuando
se habla de estabilidad y rendimiento
en procesos complejos.
No hace falta decir más, muchos de
nosotros por no decir todos, hemos
sufrido alguna vez la pérdida de
información vital en un momento
inoportuno,
porque
quisimos
escuchar un CD de música y al
mismo tiempo tratar de escribir algo
en un procesador de texto. En fin, la
idea no es discutir en cuanto a cual
S.O. es mejor o más estable, la idea
es concluir que existen muchos S.O.
mejores ó regulares, más costosos ó
más económicos, mas ó menos
amigables, etc. Cada uno de estos
con diferentes características que los
hace competir en un mercado tan
importante como es el mundo del
Software.
Ahora que se entiende esto, veamos
una definición de lo que significa ese
Sistema Operativo:
Un sistema de cómputo esta
conformado por una parte física que
es el Hardware ó los dispositivos
electrónicos, mecánicos u ópticos y
otra parte lógica que son los
programas o aplicaciones que existen
en el sistema.
La mayoría de estos programas
necesitan algo que funcione como
intermediario con los dispositivos
físicos, que les diga cuándo y cómo
operar. Esta es la función principal de
los Sistemas Operativos.
1
1.3 Sistema de archivos
Sin un S.O. instalado en nuestro
computador no podríamos ejecutar
las tareas diarias que realizamos.
(Multimedia,
Ofimática, juegos, Internet, etc.)
Más información:
http://www.itver.edu.mx/so1/sistemas
_operativos.htm
http://es.wikipedia.org/wiki/Sistema_o
perativo
1.2 Arquitectura de computadores
Todos los computadores están
conformados por varios módulos o
partes que unidos entre sí forman un
todo que es el sistema de cómputo
completo. En esta sección no vamos
adéntranos es este aspecto que es
bastante amplio y complejo. Lo que
nos interesa saber es que en el
mercado se consiguen diferentes
arquitecturas de computadores y que
hay Sistemas Operativos para cada
una de estas arquitecturas.
La arquitectura más común para
nosotros es la i386 que tienen
procesadores Intel ó Athlon. Otras
arquitecturas son:
Alpha (Para sistemas Unix)
PPC (Sistemas Mac)
Sparc (Sistemas Sun, Solaris)
¿Quiere saber más?
http://es.wikipedia.org/wiki/Arquitectur
a_de_computadoras
Un Sistema de archivos se refiere a
los
archivos
y
directorios
almacenados en un computador. Un
sistema de archivos puede tener
formatos diferentes llamados tipos de
sistemas de archivos. Estos formatos
determinan cómo se almacenará la
información
como
archivos
y
directorios. Algunos tipos de sistemas
de archivos almacenan copias
redundantes de datos, mientras que
otros tipos de sistemas de archivos
hacen el acceso al disco duro más
rápido.
Existen diferentes sistemas de
archivos para los diferentes Sistemas
Operativos existentes. Entre los más
comunes tenemos:
FAT, FAT16, FAT32 Windows
95,98,Me.
NTFS Windows NT, 2000, XP.
EXT2, EXT3, REISERF Linux y
derivados.
Si queremos instalar un S.O.
determinado, en nuestro caso un S.O.
Linux, tendremos que formatear las
particiones a usar con algún tipo de
los sistemas de archivo soportados
por Linux.
Más información:
http://es.wikipedia.org/wiki/Sistema_d
e_archivos
1.4 Módulos y Dispositivos
2
Existe una relación estrecha entre lo
que es un módulo y un dispositivo, los
módulos se asemejan a los drivers
que encontramos en otros Sistemas
Operativos.
El driver es el que hace la interfaz
entre el software y el hardware de un
computador. Por ejemplo, para que
su unidad de CDROM (Dispositivo de
CDROM) funcione correctamente una
vez conectada, necesita disponer de
un software o programa que le
indique
cómo
funcionar,
el
directamente encargado de hacer
esta tarea es un módulo, driver o
controlador como se le llama en el
habla hispana.
Los módulos son trozos de código
que se cargan en un kernel (Linux) en
ejecución para implementar nueva
características ó para proporcionar un
controlador para un dispositivo de
hardware específico.
Se pueden encontrar en un sistema
Linux de dos formas:
Incorporados en el kernel mismo ó
como módulos cargables.
Los módulos que vienen incorporados
en el núcleo (kernel, Linux) están
precompilados por defecto, esto
quiere decir que antes de ser
instalados ya estaban dentro de
Linux.
Existen
módulos
que
necesariamente deben ser de este
tipo, como los que controlan los
dispositivos básicos del sistema, por
ejemplo el disco duro, ratón, teclado,
las unidades de 3 ½”, CDROM, DVD,
etc.
Los
módulos
cargables
son
controladores que están en el sistema
y aparecen como archivos con
extensión ".o" (punto o). Estos
módulos no se encontraran activos
una vez entremos al sistema Linux.
Para que uno de estos módulos se
cargue ó funcione, debe existir un
dispositivo
que
solicite
su
funcionamiento. Por ejemplo el
MODEM de nuestro computador, el
módulo correspondiente al MODEM
sólo se activará cuando intentemos
conectarnos a través de éste.
Cuando no existían los módulos
cargables en Linux, todas las
características de los dispositivos se
incluían como parte del kernel en
tiempo de compilación. Si durante
ese proceso se olvidaba darle soporte
a algún dispositivo, era necesario
recompilar el kernel para que el
dispositivo faltante funcionara.
El sistema de módulos actual en
Linux permite generar trozos de
código que se cargan en tiempo de
ejecución y por lo tanto el consumo
de memoria del sistema es menor,
puesto que sólo se activan ó cargan
los módulos requeridos en un
momento determinado.
Otra ventaja que tienen los módulos
cargables es que se pueden tener
programas que automaticen las
tareas de carga y descarga de estos
3
en el sistema, asegurando que
siempre se tendrá la máxima cantidad
de memoria disponible para ejecutar
las aplicaciones.
Más información:
http://structio.sourceforge.net/guias/A
A_Linux_colegio/dispositivos-yLinux.html
1.5 Particiones del Disco Duro
El concepto de partición es sencillo
de entender, existe un dispositivo
llamado el Disco Duro (D.D) del
computador. Éste tiene un tamaño
establecido de fábrica. Por ejemplo:
asumamos que el D.D de un
computador tiene 40 Gigas, algo
normal hoy en día. Actualmente se
consiguen discos duros de hasta 120
Gigas.
La notación para este valor es de GB
(Giga Bytes).
Ahora supongamos que queremos
instalar 2 sistemas operativos en el
D.D, en uno tendremos Windows y en
el otro Red Hat Linux, lo que
debemos hacer antes de iniciar el
proceso de instalación es dividir este
disco en 2 partes, a estas partes las
llamaremos particiones del D.D.
Nuestro disco quedará con dos
particiones y podremos iniciar el
proceso de instalación de forma
segura.
¡Se recomienda siempre instalar
primero todos los S.O. que no sean
Linux y dejar éste para lo último ya
que maneja gestores de arranque
que pueden manipular el arranque de
muchos más Sistemas Operativos.
En pocas palabras se puede decir:
Las particiones son las divisiones
lógicas que tiene el Disco Duro de un
computador.
Más información:
http://www.saulo.net/pub/ddypart/
http://users.servicios.retecal.es/tomas
21/arti/parti.html
1.6 Gestores de Arranque
El concepto de gestor de arranque
quizás no se escucha muy a menudo
en otros ambientes donde no se usa
un Sistema Operativo diferente al
Windows.
Un gestor de arranque es un
programa ó una aplicación encargada
de seleccionar el Sistema Operativo
con el que queremos arrancar
nuestro
computador.
Entiéndase
arrancar como el proceso de inicio del
Sistema, Los pasos necesarios que
se deben realizar (de forma
transparente para el usuario) antes
de que el computador pueda
desplegar información en pantalla.
¡El procedimiento normal es que
prendamos el computador y éste
arranque inmediatamente con el
4
Sistema
Operativo
que
trae
instalado!, Pero que sucede si
tenemos varios sistemas operativos?
En Linux el gestor de arranque más
difundido es conocido con el nombre
de 'LILO'. Sigla que viene de la
expresión Linux Loader (Cargador de
Linux). Este programa nos permite
arrancar
muchos
Sistemas
Operativos diferentes entre sí. Lo
instalaremos más adelante para que
nos permita elegir una vez prendido
el computador si queremos iniciar con
Windows ó Linux Red Hat.
Para las nuevas versiones de Red hat
se ha empleado también el GNU
GRand Unified Boot loader o GRUB
es un programa que habilita al
usuario a seleccionar qué sistema
operativo
instalado
o
kernel
descargar en el momento de
arranque del sistema. Permite
también que el usuario transmita
argumentos al kernel.
Más información:
http://es.wikipedia.org/wiki/Lilo
http://www.gnu.org/software/grub/gru
b.html
http://www.Linuxario.com.ar/listado.ph
p?letra=L
5
2. FILOSOFIA E HISTORIA
2.1 Qué es Software Libre?
Los Software Libres son programas ó
aplicaciones que funcionan igual que
cualquier otro programa ó aplicación
comercial, pero que mantienen una
diferencia
más
filosófica
que
económica en cuanto a la forma de
desarrollarse.
El software libre es de uso libre,
entiéndase por libre, un software que
permite que cualquier persona pueda
usarlo, sin necesidad de pagar una
licencia o sin el temor que éste
caduque en una fecha determinada.
El software libre permite que los
usuarios adapten los programas a
sus necesidades y les permiten
redistribuirlo sin necesidad de pagar
por hacerlo.
El software libre permite que los
usuarios
se
beneficien
económicamente de éste si así lo
desean sin temor a ser llamados
"piratas".
Como se menciona antes, el software
libre se diferencia con el software
propietario en su filosofía.
Está desarrollado por personas de
todo el mundo, trabajando en un
esfuerzo comunitario y sin ningún tipo
de interés económico.
Esta forma de trabajo puede no ser
entendida por mucha personas que
trabajan ó desarrollan en otras
plataformas ó con otro tipo de
filosofía, sin embargo la Comunidad
de Software Libre, que es como se
denomina este conjunto de personas
que desarrollan en el ámbito mundial,
lleva mas de 20 años de existencia y
hoy en día se ha fortalecido mucho
más
con
el
surgimiento
y
posicionamiento
de
aplicaciones
libres para el Sistema operativo
GNU/Linux, el cual es nuestro tema
de interés.
Más información:
http://www.gnu.org/philosophy/freesw.es.html
2.2 Qué es GNU?
La sigla GNU, será muy usada
durante todo el curso y por esto es
importante que entienda qué significa
y dónde radica su importancia dentro
de todo el tema de Linux.
GNU (Gnu is Not Unix) ó !GNU No es
Unix!, es el proyecto iniciado por el
señor Richard Stallman en 1984, que
busca
desarrollar
un
Sistema
Operativo totalmente Libre. Su sigla
hace referencia a los Sistemas
Operativos Unix usados en aquellas
épocas, que se consideraban los más
estables y eficientes pero su origen
era propietario. Las compañías y
centros de investigación pagaban
altas sumas de dinero para poder
usarlos.
6
Con este acrónimo recursivo se
quiere dar a entender entonces que el
proyecto seria un Sistema Operativo
tan eficiente y estable como lo era
Unix, y sin embargo, no sería Unix,
por el tipo de filosofía Libre con el que
estaba siendo concebido y debido a
que se desarrollaría basado en
códigos de otros sistemas operativos
de libre distribución, no Unix.
Entiéndase por esto que se busca
crear un núcleo que sea estable,
rápido y fácilmente mantenible, se
busca crear un conjunto de
aplicaciones, muchas de las cuales
hoy ya existen, que sean totalmente
libres, para que cualquier persona en
Internet se pueda beneficiar de ellas.
En el proyecto GNU colaboran
personas de diferentes partes del
mundo y son estos mismos los que
integran la Comunidad de software
Libre.
Se puede resumir que GNU es el
proyecto más grande de Software
Libre creado y el que lleva más
tiempo desarrollándose.
Más información:
GNU: http://www.fsf.org/home.es.html
http://es.gnu.org/
Richard Stallman :
http://es.wikipedia.org/wiki/Richard_St
allman
http://www.stallman.org/
2.3 Licencia GPL
Estamos acostumbrados a comprar ó
quizás piratear software que trae un
tipo de licenciamiento por tiempo
limitado
o
con
funciones
deshabilitadas hasta que se compre
la licencia obligatoria.
Este tipo de licenciamiento es usado
en la mayoría de aplicaciones que
usted conoce hoy en día, cuando
termine este curso habrá aprendido
las ventajas que trae conocer el
Software Libre y su licencia pública
más conocida, la GPL.
Y bueno qué es la GPL entonces?
GPL es la GNU Public License
(Licencia Pública GNU), es un tipo de
licenciamiento que aclara que un
software que ésta cobije, será
Software Libre!.
En resumen se puede decir que la
licencia GPL permite las 4 libertades
siguientes para cualquier tipo de
software que este licenciado bajo
esta:
· La libertad de usar el programa, con
cualquier propósito. (Libertad 0).
· La libertad de estudiar cómo
funciona el programa, y adaptarlo a
7
sus necesidades. (Libertad 1). El
acceso al código fuente es una
condición
previa
para
esto.
· La libertad de distribuir copias, con
lo que puede ayudar a su vecino.
(libertad
2).
· La libertad de mejorar el programa y
hacer públicas las mejoras a los
demás, de modo que toda la
comunidad se beneficie. (libertad 3).
El acceso al código fuente es un
requisito previo para esto.
Más información:
http://es.wikipedia.org/wiki/GPL
http://es.gnu.org/Licencias/gples.html
http://www.es.gnu.org/licencias/index.
html
2.4 ¿Qué es GNU/Linux?
El proyecto Linux al igual que
cualquier proyecto libre en Internet,
tiene una historia.
Linux nace de las manos de un joven
Finlandés llamado Linus Torvalds en
el
año
1991,
estudiante
de
informática de la Universidad de
Helsinki, quien como tesis de grado
desarrolló lo que se llamó en ese
momento
un
pequeño
núcleo
independiente que funcionaba en
arquitecturas i386.
En un inicio su desarrollo estaba
basado en un Sistema Operativo tipo
Unix existente para ambientes
académicos llamado 'minix', este
sistema fue desarrollado por el
profesor Andrew Tanenbaum, hombre
reconocido en
informática.
el
mundo
de
la
La primera versión del núcleo Linux,
no salió al público por considerarse
no funcional.
El 5 de octubre de 1991, Linus
anunció a Internet la primera versión
"Oficial" de su núcleo Linux (versión
0.02). Para ese entonces el núcleo
tenía un compilador libre (gcc) y un
interprete de comandos funcional
(GNU Bourne Again Shell) más
conocido como BASH.
El proceso de desarrollo continuó
hasta que programadores de todas
partes del mundo a través de Internet
empezaron a trabajar en el proyecto y
después de sucesiva revisiones,
Linus incrementó el número de
versión hasta la 0.95 en Marzo de
1992.
Más de un año después, en
diciembre de 1993, el núcleo del
sistema estaba en la versión 0.99 y la
versión 1.0 no llegó hasta el 14 de
marzo de 1994.
En este momento el sistema
operativo se consideraba usable, fue
entonces cuando se logró la unión de
los proyectos más importantes de
esta cultura del Software Libre.
Todo el software desarrollado por el
proyecto GNU desde 1984, que hasta
la fecha no estaba siendo usado
masivamente, y al ver que el proyecto
GNU no desarrollaba aun su propio
8
núcleo (con nombre código HURD),
se unió con el núcleo de Linus
Torvalds conformando el proyecto
GNU/Linux, un sistema Operativo
totalmente GPL. El Sistema Operativo
GNU/Linux es mal llamado hoy en día
"Linux".
Mal llamado porque el nombre real
del proyecto es GNU/Linux y ya
habrán identificado la importancia del
proyecto GNU dentro de esta unión.
Las personas que siguen trabajando
en el desarrollo de aplicaciones para
GNU/Linux saben muy bien que este
es un conjunto de proyectos y saben
diferenciar lo que es Linux y lo que es
el proyecto GNU. El proyecto GNU ha
sido de vital importancia para Linux,
sin las aplicaciones ofimáticas, de
Internet, multimedia, que tiene éste,
el proyecto Linux en solitario no
tendría la popularidad que maneja
actualmente.
Un núcleo sin aplicaciones no me
permitiría realizar realmente nada, se
distribuiría un Sistema Operativo que
no tendría nada que controlar ó
procesar en las computadoras.
Como la palabra se ha hecho tan
popular, durante este curso haremos
referencia simplemente al nombre
LINUX. También usaremos las
palabras NUCLEO ó KERNEL
indistintamente para referirnos a él
mismo.
Esta
es
pues
una
pequeña
aproximación al nacimiento de Linux
y la importancia de los demás
proyectos
libres
popularización.
para
su
Más información en:
http://es.wikipedia.org/wiki/Linux
http://es.wikipedia.org/wiki/GNU/Linux
http://es.wikipedia.org/wiki/Linux_(n%
FAcleo)
2.5 Linux en la actualidad.
Linux se ha convertido en un Sistema
Operativo
realmente
importante
dentro del mercado del software, a
pesar de manejar un tipo diferente de
comercialización, que más que por su
costo real, es ganada por los
servicios, productos y proyectos que
se crean con base en éste.
Linux es considerado como el mejor
Sistema Operativo en el ámbito de
redes, ya que desde su concepción
estaba pensado como un Sistema
Operativo capaz de interactuar con
todo tipo arquitecturas y con la
capacidad de soportar innumerables
protocolos. Se puede decir entonces
que Linux ha logrado posicionarse en
el ámbito mundial y que el camino
hasta la fecha ha sido y seguirá
siendo ascendente.
Linux también ha hecho un esfuerzo
por llegar a los usuarios finales y es
por
eso
que
encontraremos
distribuciones orientadas a todas las
personas que lo quieren tener en la
casa u oficina.
9
La versión actual de Linux es la
2.4.23 en la rama del 2.4 y la 2.6.2 en
la rama del 2.6
La historia con estas "ramas" de
Linux es que hay desarrolladores del
S.O. encaminados a ofrecer soporte a
nuevos dispositivos como lo son
todos aquellos que programan en la
rama 2.6 dirigida por Linux Torvalds.
La rama 2.4 busca ser más estable y
tratar de portar aplicaciones nuevas y
mantener un estándar entre los
programas
actuales
en
todas
distribuciones de Linux.
Existe una rama de desarrollo
llamada la "rama 2.2", esta se puede
considerar obsoleta ya que lleva
demasiado tiempo desarrollándose y
busca mantener compatibilidad con
software y hardware antiguo.
Este curso es una introducción a este
Sistema Operativo, se espera que
sea de su agrado, y que sirva como
base para seguir ampliando el
conocimiento en lo referente al
mundo del Software Libre.
10
Descargar