0% encontró este documento útil (0 votos)
148 vistas27 páginas

T1D Introducción PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
148 vistas27 páginas

T1D Introducción PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 1: Introducción Administración de Sistemas Operativos

TEMA 1: INTRODUCCIÓN
Objetivos

 Repasar de manera breve los aspectos básicos sobre sistemas operativos.


 Promover conocimientos sobre la historia de Unix y Linux.
 Estudiar el concepto de distribución y conocer algunas de ellas.
 Estudiar el concepto de software libre y lo que éste representa.
 Presentar las tareas, labores y responsabilidades del administrador de sistemas.

Contenido

1. Repaso de conceptos importantes sobre sistemas operativos


1.1. ¿Qué es un sistema operativo?
1.2. Concepto de proceso
1.3. Concepto de núcleo
1.3.1. Tipos de núcleo
1.4. Conceptos de: Multitarea, multiusuario y multiplataforma

2. Introducción a Unix
2.1. Historia de Unix
2.2. Aparición de Linux
2.3. Distribuciones de Linux
2.3.1. Principales distribuciones

3. Software libre y Linux


3.1. GNU
3.2. Libertad y coste
3.3. Open Source
3.4. Licencias en el software libre
3.4.1. Licencias tipo BSD
3.4.2. La licencia publica general de GNU (GNU GPL)
3.5. Licencias de otros recursos libres
3.5.1. Licencia de documentación libre de GNU
3.5.2. Licencias de Creative Commons

4. Introducción a la administración
4.1. Ciclo de vida del sistema
4.2. El administrador del sistema
4.3. La primera regla del administrador
4.4. Responsabilidades del administrador
4.5. Seguridad en la administración

Bibliografía

Básica

 Sebastián Sánchez Prieto, Óscar García Población, “UNIX y LINUX Guía Práctica
Tercera edición”. Editorial Ra-Ma, 2005.
 Jordi Mas i Hernández, “Software Libre: técnicamente viable, económicamente
sostenible y socialmente justo Primera edición”, infonomia Red de innovadores, 2005.
[Link]
 M Carling, Stephen Degler, James Dennis, “Administración de Sistemas Linux Guía
Avanzada”. Editorial Prentice Hall, 2000.

Página | 1
Administración de Sistemas Operativos Tema 1: Introducción

 Sebastián Sánchez Prieto, “Sistemas operativos, textos universitarios, segunda edición”,


Editorial universidad de Alcalá.

Complementaria

 Sistema operativo.
[Link]
 Proceso (informática).
[Link]
 Núcleo (informática).
[Link]
 Núcleo monolítico.
[Link]
 Micronúcleo
[Link]
 Núcleo híbrido.
[Link]
 Exonúcleo.
[Link]
 Distribución Linux.
[Link]
 Red Hat.
[Link]
[Link]
 Fedora (distribución Linux).
[Link]
[Link]
 SUSE Linux.
[Link]
[Link]
 Mandriva Linux.
[Link]
[Link]
 Debian.
[Link]
[Link]
 GnuLinEx.
[Link]
[Link]
 Ubuntu (distribución Linux).
[Link]
[Link]
 Creative Commons.
[Link]
[Link]
 El sistema operativo GNU.
[Link]

Página | 2
Tema 1: Introducción Administración de Sistemas Operativos

1. Repaso de conceptos importantes sobre sistemas operativos

Antes de introducirnos de lleno en la administración de sistemas operativos es necesario


recordar algunos conceptos que serán de gran utilidad para la comprensión de cada uno de los
elementos que nos permitirán la correcta administración de un sistema operativo Linux. En la
siguiente sección se describen los conceptos considerados como más relevantes antes de
empezar a hablar de la administración de sistemas.

1.1. ¿Qué es un sistema operativo?

Un sistema operativo es un software de sistema, es decir, un conjunto de programas de


computadora destinado a permitir una administración eficaz de sus recursos. Comienza a
trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los
niveles más básicos, permitiendo también la interacción con el usuario.

Los sistemas operativos, en su condición de capa software, posibilitan y simplifican el


manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la
gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno,
podemos mencionar las siguientes:

 Proporcionar comodidad en el uso de un computador.

 Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los
procesos o programas.

 Brindar una interfaz al usuario, ejecutando instrucciones u órdenes.

 Permitir que los cambios, debido al desarrollo del propio sistema operativo, se puedan
realizar sin interferir con los servicios que ya se prestaban (conocido como
evolutividad).

Un sistema operativo desempeña cinco funciones básicas en la operación de un sistema


informático como son: Suministro de interfaz al usuario, administración de recursos,
administración de archivos, administración de tareas y servicio de soporte y utilidades.

1.2. Concepto de proceso

Un proceso es un programa en ejecución. Se trata de una entidad dinámica, a diferencia del


programa que es una entidad estática.

Un proceso se genera cuando el sistema operativo carga un programa de disco en memoria


principal y le asigna los recursos que necesita para ejecutarse. Así mismo, el sistema operativo
crea una estructura u objeto para gestionar la información de cada uno de los trabajos existentes
en el sistema.

Los procesos son creados y destruidos por el sistema operativo, así como también éste se
debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos.
El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork).

1.3. Concepto de núcleo

El núcleo, también conocido como kernel (ver figura 1.1), es la parte fundamental de un
sistema operativo. Es el software responsable de facilitar a los distintos programas acceso
seguro al hardware de la computadora, o en forma más básica, es el encargado de gestionar
recursos a través de servicios de llamadas al sistema.

Página | 3
Administración de Sistemas Operativos Tema 1: Introducción

Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se


encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante
cuánto tiempo.

Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos
suelen implementar una serie de abstracciones del hardware. Esto permite ocultar la
complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que
facilita su uso para el programador.

Figura 1.1: Interacción entre un núcleo (kernel),


el software restante y el hardware

No necesariamente se necesita un núcleo para usar una computadora. Los programas pueden
cargarse y ejecutarse directamente en una computadora vacía, siempre que sus autores quieran
desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema operativo.
Ésta era la forma normal de usar muchas de las primeras computadoras: Para usar distintos
programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se
empezó a dejar en memoria pequeños programas auxiliares, como el cargador y el depurador, o
se cargaban desde memoria de sólo lectura. A medida que se fueron desarrollando, se
convirtieron en los fundamentos de lo que llegarían a ser los primeros núcleos de sistema
operativo.

1.3.1. Tipos de núcleo

Principalmente existen cuatro grandes tipos de núcleos: Los núcleos monolíticos, los
micronúcleos, los núcleos híbridos y los exonúcleos. En la siguiente sección se detalla cada uno
de ellos.

Los núcleos monolíticos (ver figura 1.2):

Los sistemas operativos de núcleo monolítico tienen la característica de poseer un núcleo


grande y complejo, que engloba todos los servicios del sistema. El sistema operativo se ejecuta
en modo supervisor, con las interrupciones deshabilitadas y en general tiene un rendimiento
mucho mayor que un micronúcleo. Todo cambio a realizar en cualquier servicio implementado
en el núcleo requiere la recompilación del mismo y el reinicio del sistema operativo para que los
nuevos cambios sean aplicados y tengan efecto. Como ejemplos de sistemas operativos de
núcleo monolítico podemos citar a Unix y Linux.

Página | 4
Tema 1: Introducción Administración de Sistemas Operativos

Figura 1.2: Esquema de núcleo monolítico

Los Micronúcleos o Microkernel (ver figura 1.3):

Es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o


llamadas al sistema mínimas para implementar servicios básicos como: Espacios de direcciones,
comunicación entre procesos y conmutación de la CPU entre procesos; todos los otros servicios,
como pueden ser: La gestión de la memoria, el sistema de archivos, la gestión de dispositivos de
E/S, etc., que en general son provistos por el núcleo, se ejecutan como procesos servidores en
espacio de usuario. Las principales ventajas de utilizar un sistema operativo que implemente un
micronúcleo son: La reducción de la complejidad, la descentralización de los fallos (un fallo en
una parte del sistema no lo colapsaría por completo) y la facilitación para crear y depurar
controladores de dispositivos. Dentro de las principales dificultades que podemos citar están: La
complejidad en la sincronización de todos los módulos que componen el micronúcleo y su
acceso a la memoria, así como también la integración con las aplicaciones. Como ejemplos de
sistemas operativos que implementan micronúcleos encontramos a Minix y Hurd.

Figura 1.3: Esquema del funcionamiento de un micronúcleo

Los núcleos híbridos:

Fundamentalmente son micronúcleos que tienen algo de código no esencial, en espacio de


núcleo para que éste se ejecute más rápido de lo que lo haría si estuviera en espacio de usuario.
La mayoría de sistemas operativos modernos pertenecen a esta categoría, siendo los más
populares aquellos pertenecientes a la familia de sistemas operativos de Microsoft Windows.

Los Exonúcleos o exokernel (ver figura 1.4):

Los exonúcleos, también conocidos como sistemas operativos verticalmente estructurados,


representan una aproximación radicalmente nueva al diseño de sistemas operativos. Se tratan de
núcleos que son extremadamente pequeños, ya que limitan expresamente su funcionalidad a la
protección y compartición de los recursos. Toda su funcionalidad deja de estar residente en
memoria y pasa a estar afuera de ella ubicándose en librerías dinámicas. La finalidad de un

Página | 5
Administración de Sistemas Operativos Tema 1: Introducción

exonúcleo es permitir a una aplicación que solicite una región específica de la memoria, un
bloque de disco concreto, etc., y simplemente asegurarse que los recursos pedidos están
disponibles, y que la aplicación tiene derecho a acceder a ellos. Debido a que el exonúcleo sólo
proporciona una interfaz al hardware de muy bajo nivel, careciendo de todas las funcionalidades
de alto nivel de otros sistemas operativos, éste es complementado por una biblioteca de sistema
operativo.

Figura 1.4: Esquema de interacción entre un exonúcleo


y el software a través de las bibliotecas

1.4. Conceptos de: Multitarea, multiusuario y multiplataforma

Las ventajas de utilizar el sistema operativo Linux, se derivan precisamente de su potencia y


flexibilidad. Estas dos propiedades son el resultado de las muchas funciones incorporadas al
sistema y que permiten utilizarlo en el momento mismo en que se ejecuta. Los siguientes
apartados repasan detenidamente algunas de estas características.

Multitarea

Es una característica de los sistemas operativos modernos que se refiere a la posibilidad de


ejecutar varios programas a la vez, compartiendo uno o más procesadores, sin los
inconvenientes de tener que detener la ejecución de cada aplicación. La mayoría de variantes de
Unix integran un tipo de multitareas llamado multitarea preferente, es decir, que cada programa
tiene garantizada la oportunidad de ejecutarse y se ejecuta hasta que el sistema operativo da
prioridad a la ejecución de otro programa. Esta es precisamente el tipo de multitarea que
incorpora Linux.

Multiusuario

Se refiere a la posibilidad de que varios usuarios, cada uno con ciertos niveles de permisos,
accedan a las aplicaciones o recursos del sistema desde un único PC. La capacidad de Linux
para asignar el tiempo de microprocesador simultáneamente a varias aplicaciones, permite
ofrecer acceso a varios usuarios a la vez, ejecutando cada uno de ellos una o varias aplicaciones.
La gran ventaja que les aporta a los sistemas Linux el poseer características como multitarea y
multiusuario es que más de un usuario puede trabajar con la misma versión de la aplicación al
mismo tiempo y desde el mismo terminal o desde terminales distintos. Sin embargo no debemos
confundir esta capacidad con el hecho de que varios usuarios puedan actualizar el mismo
archivo simultáneamente, algo que podría llevar a la confusión y al caos total y por ello resulta
indeseable.

Multiplataforma

Se refiere a la capacidad que tiene un sistema operativo de ejecutarse en diferentes


arquitecturas hardware.

Página | 6
Tema 1: Introducción Administración de Sistemas Operativos

2. Introducción a Unix

En esta sección abarcaremos un poco de la historia de los sistemas Unix, la cual es necesaria
para poder describir como se produce la aparición de Linux, ya que este último posee orígenes
compartidos con Unix. Terminaremos explicando el concepto de distribución Linux y además
describiremos cada una de las principales distribuciones de Linux que existen actualmente.

2.1. Historia de Unix

Los antecedentes de Unix se remontan a 1964. En este año, Bell Telephone Laboratories de
AT&T, General Electric Company y el MIT (Instituto Tecnológico de Massachusetts) se
plantearon desarrollar un nuevo sistema operativo en tiempo compartido para una máquina GE
645 (de General Electric) al que denominaron MULTICS. Los objetivos buscados inicialmente
consistían en proporcionar a un conjunto amplio de usuarios una capacidad de computación
grande y la posibilidad de almacenar y compartir grandes cantidades de datos si éstos lo
deseaban. Todos esos objetivos eran demasiado ambiciosos para la época, sobre todo por las
limitaciones del hardware. Como consecuencia de ello, los trabajos en el nuevo sistema
operativo iban muy retrasados. Debido a eso, Bell Laboratories decidió dar por terminada su
participación en el proyecto. A pesar del fracaso de MULTICS, las ideas empleadas para su
diseño no cayeron en el olvido, sino que influyeron mucho en el desarrollo de Unix y de otros
sistemas operativos posteriores.

Ken Thompson (ver figura 1.5), uno de los miembros del Computing Science Research
Center de los Laboratorios Bell, encontró un computador DEC (Digital Equipment
Corporation) PDP-7 (ver figura 1.6) inactivo y se puso a desarrollar en él un juego denominado
Space Travel. El desarrollo de ese juego propició que Thompson adquiriese muchos
conocimientos relacionados con la máquina en la que estaba trabajando. Con objeto de crear un
entorno de trabajo agradable, Thompson, al que posteriormente se le unió Dennis Ritchie (ver
figura 1.5), se propuso la creación de un nuevo sistema operativo, al que denominó Unix.
Ritchie había trabajado anteriormente en el proyecto MULTICS, de mucha influencia en el
nuevo sistema operativo. Como ejemplos de esa influencia podemos citar la organización básica
del sistema de archivos, la idea del intérprete de órdenes (shell) como proceso de usuario (en
sistemas anteriores, el intérprete de órdenes formaba parte del propio núcleo del sistema
operativo), e incluso el propio nombre Unix deriva de MULTICS.

MULTICS: MULTiplexed Information and Computing Service.


UNICS: UNiplexed Information and Computing Service.

Figura 1.5: Dennis Ritchie (derecha) y Ken Figura 1.6: pdp 7 de DEC
Thompson (izquierda)

Página | 7
Administración de Sistemas Operativos Tema 1: Introducción

Realmente, el término UNICS se empleó por la similitud de esta palabra con la palabra
inglesa eunuc, con lo cual se venía a indicar que este nuevo sistema operativo era un MULTICS
castrado. Posteriormente, UNICS dio lugar al nombre definitivo Unix. El nuevo sistema también
se vio influenciado por otros sistemas operativos, tales como el CTSS (Compatible Time
Sharing System) del MIT y el sistema XDS-940 (Xerox Data System) de la universidad de
California en Berkeley.

Aunque esta primera versión de Unix prometía mucho, su potencial no pudo demostrarse
hasta que se utilizó en un proyecto real. Así pues, mientras se planeaban las pruebas para
patentar el nuevo producto, éste fue trasladado a un computador PDP-11 (ver figura 1.7) de
Digital en una segunda versión. En 1973 el sistema operativo fue reescrito en lenguaje C en su
mayor parte. C es un lenguaje de alto nivel (las versiones anteriores del sistema operativo
habían sido escritas en lenguaje ensamblador), lo que propició que el sistema tuviera una gran
aceptación por parte de los nuevos usuarios. El número de instalaciones en Bell Laboratories
creció hasta quince, aproximadamente, y su uso también se difundió gradualmente a unas
cuantas universidades con propósitos educacionales.

Figura 1.7: pdp 11 de DEC

La primera versión de Unix disponible fuera de Bell Laboratories fue la versión 6, en el año
1976. En 1978 se distribuyó la versión 7, que fue adaptada a otros PDP-11 y a una nueva línea
de ordenadores de DEC denominada VAX (ver figura 1.8). La versión para VAX se conocía
como 32V.

Figura 1.8: VAX de DEC

Tras la distribución de la versión 7, Unix se convirtió en un producto y no sólo en una


herramienta de investigación o educacional, debido a que el Unix Support Group (USG) asumió
la responsabilidad y el control administrativo del Research Group en la distribución de Unix
dentro de AT&T.

Página | 8
Tema 1: Introducción Administración de Sistemas Operativos

En el periodo comprendido entre 1977 y 1982, Bell Laboratories combinó varios sistemas
Unix, de la versión 7 y de la 32v, dando lugar a un único sistema cuyo nombre comercial fue
Unix System III. Ésta fue la primera distribución externa desde USG.

La modularidad, la sencillez de diseño y el pequeño tamaño de Unix, hicieron que muchas


entidades, tales como Rand, varias universidades e incluso DEC, se pusieran a trabajar sobre él,
La Universidad de Berkeley en California desarrolló una variante del sistema Unix para
máquinas VAX. Esta variante incorporaba varias características interesantes, tales como
memoria virtual, paginación por demanda y sustitución de páginas, con lo cual se permitía la
ejecución de programas mayores que la memoria física. A esta variante, desarrollada por Bill
Joy y Ozlap Babaoglu, se le conoció como 3BSD (Berkeley Software Distributions). Todo el
trabajo desarrollado por la Universidad de Berkeley para crear BSD impulsó a la Defense
Advanced Research Projects Agency (DARPA) a financiar a Berkeley en el desarrollo de un
sistema Unix estándar de uso oficial (4BSD). Los trabajos en 4BSD para DARPA fueron
dirigidos por expertos en redes y Unix, DARPA Internet (TCP/IP). Este soporte se facilitó de un
modo general. En 4.2BSD es posible la comunicación uniforme entre los distintos dispositivos
de la red, incluyendo redes locales (LAN), como Ethernet y Token Ring, y extensas redes de
ordenadores (WAN), como la Arpanet de DARPA.

Los sistemas Unix actuales no se reducen a la versión 8, System V o BSD, sino que la
mayoría de los fabricantes de micro y miniordenadores ofrecen su Unix particular. Así, Sun
Microsystems los ofrece para sus ordenadores y lo denomina Solaris, Hewlett Packard lo
comercializa con el nombre de HP-UX, IBM lo implantó en sus equipos RISC 6000 y lo
denomina AIX, etc. Con el gran incremento en las prestaciones de los ordenadores personales,
también han aparecido versiones para ellos. Dentro de estas nuevas versiones cabe destacar
aquellas de distribución libre, como pueden ser FreeBSD, OpenBSD o el propio Linux, obtienen
un alto rendimiento de los procesadores de la familia 80x86 de Intel (del 80386 en adelante).

2.2. Aparición de Linux

Linux es un sistema operativo de distribución libre desarrollado inicialmente por Linus


Torvalds (ver figura 1.9) en la Universidad de Helsinki (Finlandia). Una comunidad de
programadores expertos en Unix, han ayudado en el desarrollo, distribución y depuración de
este sistema operativo. El núcleo de Linux no contiene código desarrollado por AT&T ni por
ninguna otra fuente propietaria. La mayoría del software disponible en Linux ha sido
desarrollado por el proyecto GNU de la Free Software Foundation de Cambridge
(Massachusetts). Sin embargo, es toda la comunidad de programadores la que ha contribuido al
desarrollo de aplicaciones para este sistema operativo.

Figura 1.9: Linus Torvalds

Página | 9
Administración de Sistemas Operativos Tema 1: Introducción

Con la aparición de ordenadores personales potentes aparece Linux. Inicialmente se trató


sólo de un desarrollo llevado a cabo por Linus Torvalds por pura diversión. Linux se basó en
Minix, un pequeño sistema Unix desarrollado por Andrew S. Tanenbaum.

Los primeros desarrollos de Linux tenían que ver con la conmutación de tareas en el
microprocesador 80386 ejecutando en modo protegido, todo ello escrito en lenguaje
ensamblador.

No se llevó a cabo ningún anuncio de la versión 0.01 de Linux. Por sí misma, esta versión
sólo podía compilarse y ejecutarse en una máquina que tuviese cargado Minix.

El cinco de octubre de 1991 Linus dio a conocer la primera versión “oficial” de Linux, ésta
fue la versión 0.02. En este punto Linux podía ejecutar el intérprete de órdenes bash (Bourne
Again shell de GNU) y gcc (el compilador C de GNU) pero no mucho más. Seguía siendo una
versión utilizable solamente por hackers y por personal “cualificado”.

Después de la versión 0.03, Linus pasó a lanzar la versión 0.10, en este punto fue cuando
aumentó considerablemente el número de personas que se apuntó al desarrollo del sistema.
Después de varias versiones intermedias, Linus incrementó el número y pasó directamente a la
versión 0.95 para reflejar sus deseos de que pronto pasaría a ser una versión “oficial”
(generalmente al software sólo se le asigna como número de versión la 1.0 cuando se supone
que está en su mayoría libre de errores). Esto ocurrió en marzo de 1992. Un año y medio
después, a finales de Diciembre de 1993, el núcleo (kernel) de Linux estaba en la versión
0.99.pl14, aproximándose asintóticamente a 1.0.

Actualmente Linux es un Unix en toda regla, compatible POSIX, capaz de ejecutar X


Window, TCP/IP, Emacs, UUCP (Unix to Unix CoPy), correo electrónico, servicios de noticias,
etc.

2.3. Distribuciones de Linux

Una distribución de Linux es una variante de Linux que incorpora determinados paquetes de
software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a
ediciones hogareñas, empresariales y para servidores. Pueden ser exclusivamente de software
libre (por ejemplo: gobuntu), o también incorporar aplicaciones o controladores propietarios.

La base de cada distribución incluye el núcleo (kernel) Linux, con las bibliotecas y
herramientas del proyecto GNU y de muchos otros proyectos/grupos de software, como BSD,
Xorg, Apache, MySQL, PostgreSQL, Perl, Python, PHP, Gnome y KDE.

Antes de que surgieran las primeras distribuciones Linux, un usuario de Linux debía tener
algo de experiencia en Unix; no sólo debía conocer qué bibliotecas y ejecutables necesitaba para
iniciar el sistema, sino también los detalles importantes que se requieren en la instalación y
configuración de los archivos en el sistema.

Las distribuciones de Linux comenzaron a surgir poco después de que el núcleo Linux fuera
utilizado por otros programadores además de los creadores originales. Existía mayor interés en
desarrollar un sistema operativo que en desarrollar aplicaciones, interfaces para los usuarios o
un paquete de software conveniente.

Las distribuciones eran originalmente una cuestión de comodidad para el usuario medio,
evitándole la instalación (y en muchos casos la compilación) por separado de paquetes de uso
común, pero hoy se han popularizado incluso entre los expertos en éste tipo de sistemas
operativos (Unix/Linux).

Página | 10
Tema 1: Introducción Administración de Sistemas Operativos

2.3.1. Principales distribuciones

Dentro de las distribuciones de Linux existe toda una amplia gama de ellas, en este apartado
vamos a describir las distribuciones que actualmente son consideradas las más importantes y por
tanto las más utilizadas.

Red Hat es la compañía responsable de la creación y mantenimiento de una distribución del


sistema operativo GNU/Linux que lleva el mismo nombre: Red Hat Enterprise Linux, y de otra
más que lleva el nombre de Fedora.

Red Hat es famoso en todo el mundo por los diferentes esfuerzos orientados a apoyar el
movimiento del software libre. No sólo trabajan en el desarrollo de una de las distribuciones
más populares de Linux, sino también en la comercialización de diferentes productos y servicios
basados en software de código abierto. Asimismo, poseen una amplia infraestructura en la que
se cuentan más de quinientos empleados en quince lugares del mundo.

Programadores empleados de Red Hat han desarrollado múltiples paquetes de software libre,
los cuales han beneficiado a toda la comunidad. Algunas de las contribuciones más notables ha
sido la creación de un sistema de empaquetación de software llamado RPM o Red Hat Package
Manager, que es un sistema desarrollado por esta empresa para facilitar la instalación de
componentes de Linux, y varias utilidades para la administración y configuración de equipos,
como sndconfig o mouseconfig.

Algunas de las distribuciones basadas en Red Hat Linux más importantes son: Mandriva
Linux y Yellow Dog Linux (esta ultima sólo para PowerPC).

Fedora es una distribución de Linux basada en RPM para propósitos generales, que es
soportada por una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que
reportan fallos y prueban nuevas tecnologías. Esta distribución Linux cuenta con el respaldo y la
promoción de Red Hat.

El proyecto no busca solo incluir software libre y de código abierto, sino ser el líder en ese
ámbito tecnológico. Algo que hay que destacar es que los desarrolladores de Fedora prefieren
hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su
distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las
variantes de Linux. Max Spevack en una entrevista afirmó que: "Hablar de Fedora es hablar del
rápido progreso del software libre y de código abierto".

Durante sus primeras seis versiones se llamó Fedora Core, debido a que solo incluía los
paquetes más importantes del sistema operativo. La última versión es Fedora 8, la cual fue
liberada el 8 de noviembre de 2007.

Página | 11
Administración de Sistemas Operativos Tema 1: Introducción

SuSE Linux es una de las más conocidas distribuciones Linux existentes a nivel mundial, se
basó en sus orígenes en Slackware. Entre las principales virtudes de esta distribución se
encuentra el que sea una de las más sencillas de instalar y administrar, ya que cuenta con varios
asistentes gráficos para completar diversas tareas en especial por su gran herramienta de
instalación y configuración YasT.

Su nombre “SuSE” es el acrónimo, en alemán "Software und Systementwicklung", el cual


formaba parte del nombre original de la compañía y que se podría traducir como "desarrollo de
software y sistemas". El nombre actual de la compañía es SuSE Linux, habiendo perdido el
primer término su significado (al menos oficialmente).

El cuatro de noviembre de 2003, la compañía multinacional estadounidense Novell anunció


que iba a comprar SuSE Linux. La adquisición se llevó a cabo en enero de 2004. En el año
2005, en la Linux World, Novell, siguiendo los pasos de Red Hat Inc., anunció la liberación de
la distribución SuSE Linux para que la comunidad fuera la encargada del desarrollo de esta
distribución, que ahora se denomina openSuSE.

El cuatro de agosto de 2005, el portavoz de Novell y director de relaciones públicas Bruce


Lowry anunció que el desarrollo de la serie SuSE Professional se convertiría en más abierto y
entraría en el intento del proyecto de la comunidad openSuSE de alcanzar a una audiencia
mayor de usuarios y desarrolladores. El software, por la definición de código abierto, tenía ya su
código fuente "abierto", pero ahora el proceso de desarrollo sería más "abierto" que antes,
permitiendo que los desarrolladores y usuarios probaran el producto y ayudaran a desarrollarlo.

Anteriormente, todo el trabajo de desarrollo era realizado por SuSE, y la versión 10.0 fue la
primera versión con una beta pública. Como parte del cambio, el acceso en línea al servidor
YaST de actualización sería complementario para los usuarios de SuSE Linux, y siguiendo la
línea de la mayoría de distribuciones de código abierto, existiría tanto la descarga gratuita
disponible mediante web como la venta del sistema operativo en caja. Este cambio en la
filosofía condujo al lanzamiento de SuSE Linux 10.0 el seis de octubre de 2005 en "OSS, Open
Source Software" (código completamente abierto).

Mandriva Linux (antes Mandrakelinux y Mandrake Linux) es una distribución Linux


aparecida en julio de 1998 propiedad de Mandriva, enfocada hacia usuarios sin experiencia en
este mundo que buscan sencillez y un uso sin problemas.

Se distribuye mediante la licencia: Licencia pública general (GPL) de GNU, y es posible


descargar su distribución en formato ISO, sus asistentes o sus repositorios.

La primera edición se fundamentó en Red Hat Linux (versión 5.1) y escogió el entorno
gráfico de KDE (K Desktop Environment). Desde entonces ha seguido su propio camino,
separado de Red Hat y ha incluido numerosas herramientas propias o modificadas,
fundamentalmente dirigidas a facilitar la configuración del sistema. Mandrake (su anterior
nombre) también es conocida por compilar sus paquetes con optimizaciones para procesadores
Pentium y superiores, incompatibles con versiones más antiguas tales como 386 y 486.

Página | 12
Tema 1: Introducción Administración de Sistemas Operativos

Debian o Proyecto Debian es una comunidad conformada por desarrolladores y usuarios, que
pretende crear y mantener un sistema operativo GNU basado en software libre precompilado y
empaquetado, en un formato sencillo en múltiples arquitecturas de computador y en varios
núcleos.

Debian nace como una apuesta por separar en sus versiones el software libre del software no
libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales,
siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas
en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposición
de cualquiera en Internet, aunque sí permite a personas o empresas distribuir comercialmente
este software mientras se respete su licencia.

La comunidad de desarrolladores de Debian cuenta con la representación de software in the


Public Interest, una organización sin ánimo de lucro que da cobertura legal a varios proyectos
de software libre.

La primera adaptación del sistema Debian, sino también la más desarrollada, es Debian
GNU/Linux, basada en el núcleo Linux, y como siempre utilizando herramientas de GNU.
Existen también otras adaptaciones con diversos núcleos: Hurd (Debian GNU/Hurd); NetBSD
(Debian GNU/NetBSD) y FreeBSD (Debian GNU/kFreeBSD).

GnuLinEx es una distribución de software libre que incluye el núcleo de Linux y está basada
en Debian GNU/Linux y GNOME (GNU Network Object Model Environment), contando con
[Link] como Suite Ofimática, entre otras aplicaciones.

Está impulsado por la Consejería de Infraestructuras y Desarrollo Tecnológico de la


Comunidad Autónoma de Extremadura (España), siendo pionero y secundado por otros
organismos públicos y privados del resto de España. Durante un periodo considerable de
tiempo, la comunidad extremeña ofreció también apoyo a la de Andalucía (la cual se inspiró en
GnuLinex para desarrollar Guadalinex) en la implantación de soluciones abiertas en colegios,
administración, etc.

El diecinueve de junio de 2006 se liberó GnuLinex 2006, con Gnome 2.14.1, Xorg 6.9, y
núcleo de Linux 2.6.16.

Página | 13
Administración de Sistemas Operativos Tema 1: Introducción

Ubuntu es una distribución Linux que ofrece un sistema operativo predominantemente


enfocado a computadoras 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 de uso, los lanzamientos regulares (cada seis meses) y la facilidad en la instalación.
Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el
empresario sudafricano Mark Shuttleworth.

El nombre de la distribución proviene del concepto zulú y xhosa de Ubuntu, que significa
"humanidad hacia otros" o "yo soy porque nosotros somos". Ubuntu es un movimiento
sudafricano encabezado por el obispo Desmond Tutu, quien ganó el Premio Nobel de la Paz en
1984 por sus luchas en contra del apartheid en Sudáfrica. El sudafricano Mark Shuttleworth,
mecenas del proyecto, se encontraba muy familiarizado con la corriente. Tras ver similitudes
entre los ideales de los proyectos GNU, Debian y en general con el movimiento del software
libre, decidió aprovechar la ocasión para difundir los ideales de Ubuntu. El eslogan de Ubuntu
“Linux para seres humanos” (en inglés "Linux for Human Beings") resume una de sus metas
principales: Hacer de Linux un sistema operativo más accesible y fácil de usar.

Página | 14
Tema 1: Introducción Administración de Sistemas Operativos

3. Software libre y Linux

En esta sección trataremos de explicar e introducir lo que se persigue con la filosofía del
software libre y todos los términos o elementos que dicha filosofía implica. Porque aunque el
software libre está presente cada vez más en los medios de comunicación, en las conversaciones
de los profesionales de la informática, e incluso empieza a estar en boca de los ciudadanos en
general, aún es desconocido por muchos de nosotros.

El software libre tuvo sus inicios en pequeños grupos de entusiastas y activistas que querían
cambiar la industria del software. Después de muchos años esta comunidad ha crecido
rápidamente e incorporado no solamente a voluntarios en todo el mundo, sino que también ha
atraído la atención y la colaboración de centenares de empresas claves.

Inicialmente el software libre fue popular en los servidores y con el paso del tiempo y el
trabajo de miles de voluntarios las piezas faltantes se completaron. Linux que antes estaba
limitado a ser un sistema que no era visible a los usuarios finales (Por ejemplo, Google y
Amazon son sistemas construidos sobre Linux) ahora es un sistema que es usado por miles de
usuarios en todo el mundo en sus computadoras personales, teléfonos u organizadores
personales.

El software libre es propiedad de todos: Cada persona en el mundo tiene derecho a usar el
software, modificarlo y copiarlo de la misma manera que los autores de este mismo. Es un
legado de la humanidad que no tiene propietario, de la misma manera que las leyes básicas de la
física o las matemáticas. No existe un monopolio y no es necesario pagar peaje por su uso.

3.1. GNU

Con la explosión de la microinformática, el descenso de precio de los sistemas informáticos


y su popularización entre las empresas, aparecieron las primeras compañías de software.
Muchas de ellas empezaron contratando hackers que estaban alrededor de los centros de cálculo
de las universidades, de forma que éstas se fueron despoblando de aquellos pioneros. Pero,
además, muchas de estas empresas creyeron que si denegaban el acceso a los usuarios y a otros
desarrolladores al código fuente de las aplicaciones que mejoraban o desarrollaban, podrían
realmente conseguir una ventaja competitiva. Éste fue un punto de inflexión importante, ya que
se rompió con la tradición que había imperado hasta entonces de compartir el código.

Poco a poco se fue extendiendo un modelo de código cerrado en el cual el software se vendía
sin el código fuente y, cada vez más, las libertades de los usuarios se fueron acortando. Esta fue
la época en que aparecieron técnicas como, por ejemplo, las bombas de tiempo (aplicaciones
Trial) que limitaban el periodo durante el cual un usuario podía utilizar un producto. Los
programas shareware popularizarían más tarde estas bombas de tiempo como sistema para
obligar a los usuarios a adquirir una licencia.

Una de las personas que había vivido de cerca toda aquella evolución era Richard Stallman
(ver figura 1.10), quien fue pionero en defender las libertades que se habían perdido y acuñó el
término 'software libre'. El 27 de septiembre de 1983 Richard Stallman muy preocupado por
esta pérdida de libertades anunciaba en el foro Usenet [Link], que empezaba a trabajar
sobre una implementación libre de un sistema inspirado en Unix que denominaría GNU y que
estaría libre de código de AT&T, es decir, una implementación desde cero sin posibles
problemas legales con AT&T. En el mensaje a Usenet, Stallman explicaba detalladamente su
experiencia como desarrollador de sistemas y pedía la ayuda de todo el mundo que quisiera
ofrecer parte de su tiempo, dinero o hardware.

Página | 15
Administración de Sistemas Operativos Tema 1: Introducción

Figura 1.10: Richard Stallman

El 1984, Stallman creó la Free Software Foundation con el objetivo de crear el sistema Unix
libre GNU y la potenciación del software libre. La definición de software libre propuesta por la
Free Software Foundation, se basa en cuatro libertades básicas que cualquier programa
considerado libre debe proporcionar:

 Libertad para utilizar el programa para cualquier propósito.

 Libertad para poder estudiar cómo funciona el programa. Lo cual implica acceso al
código fuente del mismo.

 Libertad para redistribuir el programa.

 Libertad para hacer modificaciones y distribuir las mejoras. Lo cual implica también
acceso al código fuente del mismo.

El software libre se basa en la cooperación y la transparencia y garantiza una serie de


libertades a los usuarios. Estos aspectos, junto al hecho de que su desarrollo ha sido paralelo al
de Internet, han causado que sea abanderado para un gran número de usuarios que tienen una
concepción libertaria del uso de las nuevas tecnologías. Los programas que no son libres se les
llaman propietarios o privativos. Por ejemplo, todas las versiones de Microsoft Windows o
Adobe Acrobat son ejemplos de software propietario.

Durante los años 80 Stallman continuó trabajando en el desarrollo de las herramientas


necesarias para crear un sistema operativo completamente libre. Publicó una versión del editor
GNU Emacs y trabajó en herramientas que son fundamentales para el movimiento del software
libre, como, por ejemplo, el compilador GCC (GNU Compiler Collection) o el depurador GDB
(GNU DeBugger).

Ya en sus inicios Stallman identificó la necesidad de crear las protecciones jurídicas


necesarias para el software libre. En 1989 publicó la versión 1.0 de la licencia GPL (General
Public License) un proyecto que elaboraba desde 1985 y que consistía en un contrato entre el
autor del software y el usuario que garantizaba la cesión de los derechos que definían al
software libre. La licencia GPL era una herramienta legal muy importante dado que Stallman
había padecido mucho viendo cómo algunos programadores cogían código que era software
libre, hacían modificaciones y no aportaban estas modificaciones a la comunidad.

3.2. Libertad y coste

Es habitual que los usuarios confundan el software libre con el software gratuito. Es
importante distinguir entre las libertades que nos proporciona un software y el coste del mismo.

Página | 16
Tema 1: Introducción Administración de Sistemas Operativos

Un programa, por el simple hecho de ser gratuito, no es ni mucho menos libre. Por ejemplo,
Internet Explorer de Microsoft es un programa gratuito pero no es libre, ya que no da a sus
usuarios la posibilidad de estudiarlo (incluyendo el acceso a su código fuente), ni de mejorarlo,
ni de hacer públicas estas mejoras con el código fuente correspondiente, de manera que todo el
mundo se pueda beneficiar. Internet Explorer es un programa propietario en cuanto a las
libertades y gratuito en cuanto al coste.

Existe una distinción fundamental entre los programas que garantizan los derechos de
distribución y modificación, el software libre, y los que no los garantizan que consideramos
software propietario.

Respecto al coste, cualquier software libre se puede vender, siempre y cuando se respeten las
libertades originales que lo definen. Por ejemplo, la empresa francesa Mandrake o la
norteamericana Novell venden distribuciones de GNU/Linux, y se trata de software libre porque
conserva las libertades que lo definen.

3.3. Open Source

Durante el año 1998, Eric S. Raymond, Bruce Perens y otros hackers involucrados en el
desarrollo de software libre lanzaron la Open Software Initiative y propusieron el uso del
término Open Source (código abierto) en contraposición al término free software (software
libre) como término más atractivo al entorno empresarial. El término free software en el mundo
anglófono (de habla inglesa) creaba una situación incómoda debido a la doble acepción que en
inglés tiene el término free (que puede significar gratuito o libre). La gran mayoría de empresas
en Estados Unidos usan principalmente el término código abierto para evitar dar la percepción
que el software libre es un recurso totalmente gratuito y para poner énfasis en el valor
diferencial que representa el hecho de que el código fuente está disponible.

Bruce Perens, de la Open Source Iniciative y antiguo coordinador de la distribución de Linux


Debian, creó una lista (ver tabla 1.1) de condiciones que debe cumplir un programa para poder
ser considerado Open Source. Estas condiciones son muy similares y, de hecho están basadas,
en las directrices de software libre de Debian.

N° Condición Descripción
1 Libre distribución No se puede impedir la venta o distribución del
programa o parte de él. Así mismo, tampoco se
puede exigir el pago de una tasa a cambio de su
distribución por parte de terceros.
2 Código fuente El programa debe incluir su código fuente y no se
puede restringir su redistribución.
3 Trabajos derivados No debe impedirse realizar modificaciones o
trabajos derivados del programa y debe permitirse
que éstos sean distribuidos bajo los mismos
términos del software original.
4 Integridad del código fuente Puede exigirse que una versión modificada del
original programa tenga un nombre y número de versión
diferente que el programa original para poder
proteger al autor original de la responsabilidad de
estas versiones.
5 No discriminación contra Las condiciones de uso del programa no pueden
personas o grupos discriminar contra una persona o un grupo de
personas.

Página | 17
Administración de Sistemas Operativos Tema 1: Introducción

N° Condición Descripción
6 No discriminación contra usos No se puede negar a ninguna persona hacer uso
del programa para ningún fin como, por ejemplo,
comercial o militar.
7 Distribución de la licencia Los derechos del programa deben aplicarse a
todos quienes se redistribuyen el programa sin
ninguna condición adicional.
8 La licencia no debe ser específica Los derechos garantizados al usuario del
de un producto programa no deben depender de que el programa
forme parte de una distribución o paquete
particular de software.
9 La licencia no debe restringir otro La licencia no debe poner restricciones en otros
software programas que se distribuyen junto con el
software licenciado.
10 La licencia no debe ser No puede existir ninguna disposición de la
tecnológicamente neutra licencia que obligue al uso de una tecnología
concreta.
Tabla 1.1: Lista de condiciones que debe cumplir un
programa para ser considerado Open Source

Estas condiciones también son aplicables a cualquier programa que sea software libre y
pueden ayudarnos a matizar sus implicaciones.

3.4. Licencias en el software libre

Lo que diferencia al software libre del resto del software es un aspecto legal: La licencia,
esta se trata de un contrato entre el autor o propietario de los derechos y los usuarios; que
estipula lo que éstos pueden hacer con su obra: Uso, redistribución, modificación, etc., y en qué
condiciones, Es decir, la licencia contiene las normas de uso a las que han de atenerse los
usuarios, los distribuidores, los integradores y otras partes implicadas en el mundo de la
informática.

Las condiciones y/o restricciones que imponen las licencias sólo pueden ser precisadas por
los propios autores, que según la normativa de propiedad intelectual son los propietarios de la
obra. La propiedad de la obra será de los autores, ya que la licencia no supone transferencia de
propiedad, sino solamente derecho de uso y, en algunos casos, de distribución. Es necesario
saber que cada nueva versión de un programa es considerada como una nueva obra. El autor
tiene, otra vez, plena potestad para hacer con su obra lo que le apetezca, incluso distribuirla con
términos y condiciones totalmente diferentes, es decir, una licencia diferente a la anterior.

Partiendo de todo lo dicho, vamos a centrarnos en el análisis de diversas licencias.

3.4.1. Licencias tipo BSD

La licencia BSD (Berkeley Software Distribution) tiene su origen en la publicación de


versiones de Unix realizadas por la universidad californiana de Berkeley, en [Link]. La única
obligación que exige es la de dar crédito a los autores, mientras que permite tanto la
redistribución binaria, como la de los códigos fuentes, aunque no obliga a ninguna de las dos en
ningún caso. Asimismo, da permiso para realizar modificaciones y ser integrada con otros
programas casi sin restricciones.

La licencia BSD es ciertamente muy popular. Estas licencias reciben el nombre de


minimalistas, ya que las condiciones que imponen son pocas, básicamente asignar la autoría a
los autores originales. Su concepción se debe al hecho de que el software publicado bajo esta

Página | 18
Tema 1: Introducción Administración de Sistemas Operativos

licencia era software generado en universidades con proyectos de investigación financiados por
el gobierno de los Estados Unidos.

Entres las licencias de tipo BSD podemos encontrar: La de X Window, Tcl/Tk y Apache. La
mayoría de ellas son una copia calcada de la original de Berkeley, modificando todo lo referente
a la autoría. Otras, como la Apache, incluyen alguna cláusula adicional, como la imposibilidad
de llamar las versiones redistribuidas de igual manera. Todas suelen incluir, como ella, la
prohibición de usar el nombre del propietario de los derechos para promocionar productos
derivados.

Asimismo, todas las licencias, sean de tipo BSD o no, incluyen una limitación de garantía
que es en realidad una negación de garantía, necesaria para evitar demandas legales por
garantías implícitas. Aunque se ha criticado mucho esta negación de garantía en el software
libre, es práctica habitual en el software propietario, que generalmente sólo se garantiza que el
soporte es correcto y el programa en cuestión se ejecuta.

3.4.2. La licencia Pública General de GNU (GNU GPL)

La Licencia Pública General del proyecto GNU, más conocida por su acrónimo en inglés
GPL, es la licencia más popular y conocida de todas las licencias del mundo del software libre.
Su autoría corresponde a la Free Software Foundation (promotora del proyecto GNU) y en un
principio fue creada para ser la licencia de todo el software generado por la Free Software
Foundation. Sin embargo, su utilización ha ido más allá hasta convertirse en la licencia más
utilizada (más del 70% de los proyectos anunciados en FreshMeat están licenciados bajo la
GPL), incluso por proyectos bandera del mundo del software libre, como es el caso del núcleo
Linux.

La licencia GPL permite la redistribución binaria y la de las fuentes, aunque, en el caso de


que redistribuya de manera binaria, obliga a que también se pueda acceder a las fuentes.
Asimismo, está permitido realizar modificaciones sin restricciones, aunque sólo se pueda
integrar código licenciado bajo GPL con otro código que se encuentre bajo una licencia idéntica
o compatible, lo que ha venido a llamarse el efecto viral de la GPL, ya que el código publicado
una vez con esas condiciones nunca puede cambiar de condiciones.

La licencia GPL está pensada para asegurar la libertad del código en todo momento, ya que
un programa publicado y licenciado bajo sus condiciones nunca podrá ser hecho propietario. Es
más, ni ese programa ni modificaciones al mismo pueden ser publicados con una licencia
diferente a la propia GPL.

También incluye negaciones de garantía para proteger a los autores. Asimismo, para
proteger la buena fama de los autores originales, toda modificación de un fichero fuente debe
incluir una nota con la fecha y autor de cada modificación.

3.5. Licencias de otros recursos libres

Las licencias de software libre han sido fuente de inspiración para otros recursos
intelectuales, de tal modo que muchos de ellos las han adoptado de manera directa,
especialmente en el caso de la documentación o la fotografía, en otros casos han sido adaptadas
ligeramente, como es el caso de la pionera Open Audio License.

3.5.1. Licencia de documentación libre de GNU

Después de darse cuenta que un documento no es lo mismo que un programa, Richard


Stallman promovió una licencia para los documentos que acompañan a los programas y para
otros documentos de carácter técnico o didáctico.

Página | 19
Administración de Sistemas Operativos Tema 1: Introducción

Una de las preocupaciones de la licencia es reconocer la autoría e impedir que se tergiversen


ideas u opiniones expresadas por el autor. Para ello, se exige que las obras derivadas exhiban en
la portada un título distinto a los de las versiones anteriores (salvo permiso expreso) y se
nombre expresamente en dónde se puede conseguir el original. También deben listarse como
autores los más importantes de los originales además de los autores de las modificaciones y
deben conservarse todas las notas sobre derechos de autor. Asimismo, deben conservarse
agradecimientos, dedicatorias, así como respetar el apartado de historia, si lo tiene, añadiendo
las modificaciones nuevas. Incluso pueden nombrarse secciones invariantes y textos de
cubiertas, que nadie puede modificar ni eliminar.

3.5.2. Licencias de Creative Commons

En el 2001 se fundó Creative Commons, dirigido por expertos en propiedad intelectual,


derecho en la sociedad de la información, e informática, con el propósito de fomentar la
existencia, conservación y accesibilidad de recursos intelectuales cedidos a la comunidad de
diversas maneras. Uno de sus proyectos más conocidos fue el desarrollo, a finales del 2002 de
una serie de licencias concebidas, no para software, sino para trabajos literarios, artísticos,
didácticos, etc. Su característica más sobresaliente, además de estar avaladas por profesionales
del derecho, es que permiten al autor seleccionar qué tipo de libertades cede, además de la de
copia, según cuatro dimensiones: Dar crédito al autor original, permitir trabajos derivados,
permitir redistribución comercial y permitir cambiar la licencia. Así, por ejemplo, la licencia de
los cursos del MIT (MIT Open Courseware License Version 1.0) está basada en la de Creative
Commons que obliga a dar crédito, impide el uso comercial y obliga a conservar la licencia en
trabajos derivados.

Poner obras bajo una licencia Creative Commons no significa que no tengan copyright. Este
tipo de licencias ofrecen algunos derechos a terceras personas bajo ciertas condiciones. ¿Qué
condiciones? bajo las condiciones mostradas en la siguiente lista las cuales podemos escoger o
unir según nuestra conveniencia.

Reconocimiento (Attribution): El material creado por un artista puede ser distribuido,


copiado y exhibido por terceras personas si se muestra en los créditos.

No comercial (Non Commercial): El material original y los trabajos derivados pueden


ser distribuidos, copiados y exhibidos mientras su uso no sea comercial.

Sin obra derivada (No Derivate Works): El material creado por un artista puede ser
distribuido, copiado y exhibido pero no se puede utilizar para crear un trabajo derivado del
original.

Compartir igual (Share Alike): El material creado por un artista puede ser modificado
y distribuido pero bajo la misma licencia que el material original.

Página | 20
Tema 1: Introducción Administración de Sistemas Operativos

Hay un total de seis licencias Creative Commons (ver tabla 1.2) para escoger. Las cuales
están formadas por distintas combinaciones de las cuatro condiciones mostradas en el apartado
anterior. Estas seis licencias son:

Simbología Descripción
Reconocimiento: El material creado por un artista puede ser
distribuido, copiado y exhibido por terceros si se muestra en los
créditos.

Reconocimiento – Sin obra derivada: El material creado por un


artista puede ser distribuido, copiado y exhibido por terceros si se
muestra en los créditos. No se pueden realizar obras derivadas.

Reconocimiento – Sin obra derivada – No comercial: El


material creado por un artista puede ser distribuido, copiado y
exhibido por terceros si se muestra en los créditos. No se puede
obtener ningún beneficio comercial. No se pueden realizar obras
derivadas.
Reconocimiento – No comercial: El material creado por un
artista puede ser distribuido, copiado y exhibido por terceros si se
muestra en los créditos. No se puede obtener ningún beneficio
comercial.
Reconocimiento – No comercial – Compartir igual: El material
creado por un artista puede ser distribuido, copiado y exhibido por
terceros si se muestra en los créditos. No se puede obtener ningún
beneficio comercial y las obras derivadas tienen que estar bajo los
mismos términos de licencia que el trabajo original.
Reconocimiento – Compartir igual: El material creado por un
artista puede ser distribuido, copiado y exhibido por terceros si se
muestra en los créditos. Las obras derivadas tienen que estar bajo
los mismos términos de licencia que el trabajo original.
Tabla 1.2: Los seis tipos de licencias generadas con combinaciones de las cuatro condiciones

Hemos podido observar la importancia que tienen las licencias dentro del mundo del
software libre y de los demás recursos libres. Así como también presentamos algunas de las
licencias más importantes que existen dentro de la gran variedad de licencias del software libre,
su motivación, sus repercusiones y sus ventajas e inconvenientes.

En definitiva, podemos decir que la GPL trata de maximizar las libertades que tiene el
usuario del software (lo reciba directamente de su autor o no), mientras que las licencias tipo
BSD lo que hacen es maximizar las libertades del modificador o redistribuidor.

Página | 21
Administración de Sistemas Operativos Tema 1: Introducción

4. Introducción a la administración

Cada sistema debe tener su propio administrador o persona encargada de que todo esté a
punto en cada momento. Esta labor requiere una serie de conocimientos que los usuarios finales
no necesitan dominar. Además, es necesario invertir un tiempo considerable para estos
menesteres.

La administración del sistema es uno de los aspectos menos estándar de un sistema tipo
Unix. Tanto las órdenes empleadas como los archivos de configuración pueden variar de unos
sistemas a otros. Hay que señalar que el mejor aliado de cualquier administrador que se precie
de serlo es el manual (man) del sistema, donde podemos encontrar todas las peculiaridades de
nuestro sistema concreto que nos ayudarán a resolver cualquier tipo de problema.

4.1. Ciclo de vida del sistema

Un sistema informático pasa por varias etapas a lo largo de su vida (ver figura 1.11). Desde
el punto de vista del administrador del sistema, cada etapa queda caracterizada por un conjunto
distinto de actividades que es necesario llevar a cabo.

Figura 1.11: Ciclo de vida del sistema

Análisis de requisitos del sistema

Se establecen qué problemas tiene que solucionar el sistema informático, a que actividades
de la organización debe dar soporte y qué tipo de servicios debe prestar. El resultado es un
documento de requisitos que recoge todos los aspectos mencionados anteriormente.

Diseño del sistema

Una vez conocidos los requisitos, se analiza qué componentes hay que utilizar para satisfacer
dichos requisitos. Los componentes generalmente son de tipo: Hardware y software.

Implantación del sistema

Consiste en montar, instalar y adaptar los componentes hardware y software, según el


documento de diseño, para que el sistema informático satisfaga una serie de requisitos. Cada
componente se instala según las instrucciones dadas por el proveedor del componente.

Página | 22
Tema 1: Introducción Administración de Sistemas Operativos

Configuración hardware y software de forma que el sistema cumpla los requisitos exigidos

Una vez instalados los componentes es necesario adaptarlos a las necesidades específicas del
sistema. Una vez configurados todos los componentes, éstos proporcionarán los servicios tal y
como se especificó en el documento de requisitos.

Administración y mantenimiento (explotación)

El sistema se encuentra ya en funcionamiento y prestando los servicios para los que fue
creado. Durante todo el tiempo de servicio será necesario mantener actualizado el software para
evitar errores y problemas de seguridad, funcionalidades, ajustar parámetros de rendimiento,
etc.

Migración, desmantelamiento del sistema

Si el sistema queda obsoleto, será necesaria la implantación de uno nuevo. Esta etapa
asegura que se podrá reutilizar, a ser posible, la totalidad de los datos y hacer que la migración
hacia el nuevo sistema se haga de forma progresiva, reduciendo al mínimo el tiempo en el que el
sistema se encuentra inoperativo.

La administración de sistemas es una actividad muy amplia que se centra fundamentalmente


en los puntos cuatro y cinco del ciclo de vida de un sistema informático, aunque en la realidad
abarca más puntos.

4.2. El administrador del sistema

Los sistemas tipo Unix diferencian entre los distintos usuarios, de manera que se regula qué
es lo que podemos hacerle a otros usuarios o al propio sistema. Cada uno de ellos tiene su
propia cuenta, la cual incluye nombre de conexión, grupo al que pertenece, directorio de
arranque, etc. De todas las cuentas del sistema, sin duda alguna la más importante es la
denominada cuenta de administrador o superusuario, cuyo nombre de conexión es root. Esta
cuenta es siempre creada automáticamente en la instalación de cualquier sistema tipo Unix,
momento en que se establece una palabra clave inicial. Es un aspecto clave en el mantenimiento
de la seguridad informática asegurar la confidencialidad de la clave del administrador.

Normalmente las cuentas de usuarios tienen asociadas una serie de restricciones, de forma
que nadie pueda molestar al resto, a lo sumo a ellos mismos. Nadie va a poder borrar directorios
como /etc o /bin, ni nadie va a poder desactivar una impresora. Todo este tipo de restricciones
no son aplicables al administrador (root). El administrador tiene plenos poderes para borrar,
crear o modificar cualquier archivo o directorio del sistema, para ejecutar programas especiales
o para dar formato al disco. Como root puede hacer todo lo que desee, es necesario que extreme
sus precauciones, ya que si no es así, las consecuencias pueden ser catastróficas.

Normas para prevenir los accidentes cuando estamos conectados como administradores del
sistema:

 Después de teclear una orden y antes de pulsar la tecla Enter, verificar las
consecuencias que pueden producirse. Por ejemplo, antes de borrar un directorio, releer
la orden con objeto de comprobar que todo es correcto.

 Evitar conectarse como root a no ser que sea estrictamente necesario.

 Utilizar un prompt diferente para la cuenta de root. Lo más habitual es emplear como
prompt el carácter #.

Página | 23
Administración de Sistemas Operativos Tema 1: Introducción

4.3. La primera regla del administrador

La “primera regla” del administrador de sistemas consiste en proporcionar y mantener


acceso a los recursos del sistema. Independientemente de la plataforma informática de que se
trate, todos los sistemas operativos proporcionan mecanismos para manipular recursos. Entre
estos recursos se encuentran los archivos, las aplicaciones, los periféricos, el ancho de banda,
los ciclos de la CPU, la memoria y el espacio de almacenamiento.

La identificación de los recursos, de sus propietarios y sus usuarios, a la vez que la


definición de las formas de acceso y las autoridades relacionadas, constituye un proceso de
análisis de los requisitos. Los administradores de sistemas transforman esta generalización en
especificaciones de cada sistema, de sus usuarios y de su gestión.

El mantenimiento del acceso a los recursos de un sistema trasciende el mantenimiento del


propio sistema. Si éste falla o se vuelve inaccesible por cualquier causa, el administrador de
sistemas deberá restaurar prontamente el funcionamiento normal del mismo. La mayoría piensa
que haciendo copias de seguridad se soluciona este problema. Sin embargo, el administrador de
sistemas deberá girar más bien en torno a la planificación de la recuperación, lo cual suele
implicar tanto la realización de copias de seguridad, como la valoración de riesgos y pruebas.

A lo largo del funcionamiento normal y, especialmente, en la medida en que las


organizaciones crecen y se van adaptando al medio, el uso de los recursos también va
cambiando. Cuando el uso de cualquier recurso excede a su capacidad, probablemente esto se
verá como un desastre. El administrador de sistemas habrá fallado en su primera regla de
proporcionar el acceso necesario. Un fallo también puede causar dificultades de otros servicios.
Por ejemplo, si los registros del sistema ocupan toda la partición de un disco, esto puede evitar
el envió de correo electrónico a través de ese sistema.

La seguridad es el corolario de la primera regla, que es la de denegar acceso a los recursos


del sistema, así como la de garantizar que los servicios se prestan correctamente, incluso durante
y después de los ataques de los intrusos. La seguridad implica tanto la realización de las normas
como su cumplimiento.

Se deben habilitar las normas apropiadas de acceso, en la medida en que los propietarios de
cada recurso lo autorizan. Los procesos de definición y exigencia de estas normas constituyen
los dos elementos esenciales de la seguridad de los sistemas.

El análisis de los requisitos, la planificación de la recuperación y la seguridad constituyen el


eje principal del trabajo del administrador de sistemas.

4.4. Responsabilidades del administrador

El administrador del sistema o superusuario tiene una serie de responsabilidades que pueden
ser divididas en tres grupos: Responsabilidades hardware, software y responsabilidades con los
usuarios.

Responsabilidades hardware

 Verificar la correcta instalación del hardware.

 Comprobar el estado de los periféricos y ser capaz de buscar el fallo en caso de erros de
la instalación.

 Instalar nuevos dispositivos hardware (memoria, discos, terminales, etc.).

Página | 24
Tema 1: Introducción Administración de Sistemas Operativos

 Determinar limitaciones en los dispositivos que puedan comprometer la prestación de


servicios con la calidad necesaria.

Responsabilidad software

La responsabilidad sobre el mantenimiento del software es cada vez más importante puesto
que a medida que se emplean sistemas para proporcionar servicios complejos, el software se
hace cada vez más difícil de mantener.

Dentro de las responsabilidades del mantenimiento software podemos hacer una


clasificación adicional entre software del sistema y software específico. El software del sistema
es aquel que proporciona los servicios básicos de funcionamiento de un sistema tipo Unix. Por
ejemplo, el software que permite a los usuarios conectarse al sistema o el propio sistema
operativo. El software específico se refiere a aquel que proporciona un servicio determinado
utilizando como plataforma nuestro sistema operativo tipo Unix, como por ejemplo servidores
de bases de datos o servidores web.

Responsabilidades derivadas del software del sistema

 Instalar el sistema operativo, configurarlo y mantenerlo al día con las actualizaciones


oportunas.

 Crear y mantener los sistemas de archivos, detectando y corrigiendo los posibles errores
que puedan producirse.

 Controlar la utilización de este sistema de archivos y su crecimiento.

 Diseñar e implementar las rutinas para realizar copias de seguridad, así como para su
posterior recuperación.

 Configurar y mantener el software de cualquier dispositivo: Impresoras, módem,


tarjetas de red, etc.

 Actualizar el sistema operativo en caso de poseer una versión más moderna.

 Instalar el software de cualquier aplicación (X Window, bases de datos, procesadores de


texto, etc.).

Responsabilidades derivadas del software específico

 Instalación y configuración inicial del software.

 Evaluación en las repercusiones en la seguridad global del sistema.

 Labores de administración específicas del servicio prestado.

Responsabilidades sobre los usuarios

 Añadir nuevos usuarios y dar de baja a los que ya no se conectan al sistema. Esto cobra
especial relevancia cuando existen políticas de acceso con fines económicos.

 Permitir el acceso a los usuarios de forma controlada.

Página | 25
Administración de Sistemas Operativos Tema 1: Introducción

 Evaluar las necesidades en cuanto a equipos se refiere. Determinar si es necesario


añadir nuevos discos, impresoras, memorias, etc. con objeto de que los usuarios
encuentren un entorno agradable de trabajo.

 Proporcionar asistencia a cada una de las personas.

 Tener a los usuarios informados en todo momento de los posibles nuevos servicios y sus
características. También es necesario que los usuarios conozcan las políticas de
seguridad y de prestación de servicios, de forma que el uso de los sistemas se haga
siempre dentro del marco legal de cada país.

Aspectos éticos de la administración de sistemas

 Respeto a la privacidad sobre todas las cosas. Como administrador de sistemas se


dispone de la capacidad para ver y hacer cualquier cosa sobre los datos y programas de
los usuarios. Este hecho no debe implicar una posición de poder, sino de
responsabilidad.

 Pueden existir sistemas con políticas que permitan conocer en todo momento qué está
haciendo un usuario y de qué forma está haciendo uso del servicio prestado por el
sistema informático. Es este caso el usuario debe ser informado de las medidas de
inspección que se pueden llevar a cabo sobre sus datos y sus actividades.

 Las actividades de administración de un sistema informático deben llevarse a cabo con


la máxima profesionalidad y seriedad.

4.5. Seguridad en la administración

El administrador es el responsable de mantener una política de seguridad en el sistema. Esta


política de seguridad puede implicar diversas acciones, las cuales incluyen desde comprobar que
no existen agujeros en la seguridad hasta detectar que nadie pierde el tiempo.

Todo administrador debe tener siempre presente los siguientes aspectos relacionados con la
seguridad:

 El administrador del sistema tiene acceso sin restricciones a todos los recursos. Si un
administrador no es consciente de lo anterior, posiblemente sea él mismo el que tire el
sistema abajo sin necesidad de ningún tipo de ayuda externa, es decir, que no serán
necesarios agentes externos que causen el caos dentro del sistema ya que será él mismo
el que los cause.

 Es muy peligroso emplear privilegios de administrador por periodos prolongados de


tiempo. Los errores causados por el incumplimiento de esta norma de seguridad pueden
tener consecuencias fatídicas sobre el sistema.

 Los usuarios deben emplear contraseñas adecuadas. Es aconsejable por parte del
administrador buscar posibles cuentas de usuarios sin contraseña. La idea es que en
ocasiones resulta útil ponerse en el papel de quienes puedan atentar contra la seguridad
del sistema con objeto de conocer los puntos débiles de nuestro sistema.

 La palabra clave del administrador debe mantenerse estrictamente en secreto y ser


conocida como máximo por dos o tres usuarios. Esta palabra clave debe ser modificada
periódicamente.

Página | 26
Tema 1: Introducción Administración de Sistemas Operativos

 Vigilar la cantidad de accesos erróneos producidos en el sistema, los cuales quedan


normalmente apuntados en un archivo de registro.

 Los directorios del sistema, tales como /etc, /bin, /dev, etc., no deben tener permiso de
escritura para los usuarios ordinarios.

 El acceso al terminal que actúa como consola, así como a los terminales donde se puede
acceder como root, deben estar restringidos. Dicho de otro modo, sólo debe ser posible
conectarse como administrador del sistema desde aquellos terminales que se consideren
seguros.

 La política de seguridad debe estar perfectamente definida siempre que los mecanismos
de seguridad del sistema tipo Unix lo permita.

 Vigilar estrechamente a los usuarios potencialmente peligrosos. Ciertos usuarios pueden


dedicar cantidades ingentes de tiempo con el propósito de romper la seguridad del
sistema.

 Eliminar de la variable PATH del administrador el directorio actual. Un buen PATH


podría ser el siguiente: PATH=/etc:/bin:/usr/bin.

 No relajar las políticas de seguridad porque estas constituyan un problema de


administración. En ocasiones los administradores de sistemas se pueden ver tentados a
autorizar ciertas operaciones potencialmente peligrosas, porque autorizarlas es más fácil
o rápido que buscar una solución segura.

 Consultar periódicamente la información sobre fallos de seguridad informática que se


publican en Internet.

 Aplicar cuanto antes las correcciones de seguridad que vayan publicando los
proveedores del software de nuestro sistema.

Siguiendo todos las normas citadas anteriormente no conseguiremos que nuestro sistema sea
inexpugnable, pero la falta de cumplimiento de dichas normas asegura que nuestro sistema tiene
agujeros. La seguridad es un aspecto fundamental que debe tener en cuenta todo administrador
de sistemas tipo Unix, y dicha seguridad comienza por no abusar de los privilegios de root.

Página | 27

También podría gustarte