Upload
otto-gonzalez
View
39
Download
4
Embed Size (px)
Citation preview
2013
1t@SP_MA/Arch.08-03-2013v3.11
iPE/by axi85
13/03/2013
iPE by axi85
1
ÍNDICE:
1-¿Qué es un S.O.?.............................01
2-¿Cuántos hay?................................03
3-¿Hay sistemas operativos españoles?..........08
4-¿Qué es eso de las familias?.................09
5-¡Curiosidades!...............................13
6-¿Libre≠gratis?...............................19
7-¿Kernel?.....................................20
8-Le ponemos cara a los creadores..............24
1-¿QUÉ ES UN S.O.?
Un sistema operativo (en inglés Operating System u OS), es un software
que gestiona los recursos del hardware y se encarga de garantizar un
entorno para que se puedan ejecutar otros programas. Dicho de otro modo,
es la interfaz entre el usuario y la máquina (ordenador, teléfono móvil,
smartTV, …).
iPE by axi85
2
*NOTA: aunque no siempre es necesario un sistema operativo para
ejecutar programas. Existen programas no abstraídos que no
necesitan de ninguna ayuda para ser ejecutados.
Dentro de los sistemas operativos, podemos diversificarlos o agruparlos en
categorías:
SEGÚN LA ADMINISTRACIÓN DE LOS USUARIOS:
o Monousuario: solo pueden responder a un usuario a la
vez. Puede haber varios usuarios en el mismo sistema,
pero no simultáneamente. Ejemplos como Windows
(hasta Me), DOS, …
o Multiusuario: permiten satisfacer las necesidades de
varios usuarios simultáneamente. Ejemplos como Linux,
UNIX, BSD, Mac OS, Solaris, …
SEGÚN LA ADMINISTRACIÓN DE TAREAS:
o Monotarea: solo permite ejecutar un proceso además de
la ejecución del propio sistema. Un ejemplo es DOS.
o Multitarea: los modernos sistemas operativos lo son, ya
que permiten procesar diversas tareas a la vez. Esto se
consigue gracias a la gestión de recursos de la CPU.
Ejemplos son Windows, Linux, UNIX, OS/2,…
SEGÚN EL MANEJO DE RECURSOS:
o Centralizado: permite usar solo los recursos de un
ordenador.
o Distribuido: permite emplear los recursos de varios
equipos a la vez.
OTRAS FORMAS DE CATALOGARLOS:
o También podemos encontrar los sistemas operativos de
red, que son aquellos que pueden interconectarse con
otros sistemas para compartir servicios y recursos.
o Embebidos, para sistemas de computación embebidos,
es decir, para pequeños aparatos electrónicos.
o RTOS (Real-Time OS) o de tiempo real.
iPE by axi85
3
2-¿CUÁNTOS HAY?
Esto es de lo más genuino. Si le preguntas a algunos no sabrán que es
exactamente, otros en cambio sí saben lo que es un sistema operativo pero
solo conocen Windows, tal vez también conozcan otros como GNU/Linux,
Mac OS y Android.
Pero… hay muchos más. ¿No se lo creen? Miren:
AÑO OS CREADOR
50 *Los programadores/usuarios debían programar el equipo con su propio
“sistema”. Nadie comercializaba SO, si querías un ordenador, te los creabas
tú (aunque pocos tenían un ordenador en esos tiempos, a no ser que fueses
una gran empresa u organización…).
1951 LEO I J. Lyons and Co.
1954 Tape Director MIT
1955 General Motors OS (GM OS) General Motors
1956 GM-NAA I/O General Motors
1957 Atlas Supervisor Universidad de Mánchester
BESYS Bell Labs
1958 UMES Universidad de Michigan
1959 SHARE OS (SOS) General Motors
1960 IBSYS IBM
KDF9 English Electric
1961 CTSS MIT
MCP Burroughs
1962 GCOS General Electric
1963 Titan Supervisor Ferranti
AN/FSQ-32 IBM
1964 EXEC 8 UNIVAC
OS/360 IBM
TOPS-10 DEC
Berkeley Timesharing System Universidad de Berkeley
DTSS Dartmouth College
1965 THE Multiprogramming
System
Technische Hogeschool
Eindhover
Multics MIT, GE, Bell Labs
BOS/360 IBM
TOS/360 IBM
TSOS o VMOS RCA
Pick Operating System TRW Inc.
iPE by axi85
4
1966 OS/360 IBM
DOS/360 IBM
MS/8 Richard F. Lary
1967 CP/CMS o CP-67 IBM
MTS Universidad de Michigan
ITS MIT
ORVYL Universidad de Stanford
TSS/360 IBM
OS/360 MVT IBM
WAITS SAIL
1968 ACP IBM
TSS-8 DEC
1969 TENEX BBN Technologies
UNICS (UNIX) AT&T (Bell Labs)
RC 4000 RC
Multics MIT, GE y Bell Labs
1970 DOS-11 o PDP-11 DEC
1971 RSTS-11 DEC
OS/8 DEC
1972 RDOS Data General
SVS IBM
VM/CMS IBM
MUSIC/SP Universidad McGill
1973 Elbrus-1 Elbrus
VME ICL (Fujitsu)
RSX-11D DEC
RT-11 DEC
Alto OS Xerox
1974 OS-11 DEC
SINTRAN III Norsk Data
MONECS Universidad de Monash
MPE HP
1975 CP/M Digital Research
BS2000 Fujitsu
1976 Cambridge CAP Computer Universidad de Cambridge
Cray OS Cray
FLEX TSC
TOPS-20 DEC
1977 BSD Universidad de Berkeley
KERNAL John Feagans
OASIS o THEOS Phase One Systems
TRS-DOS Tandy
iPE by axi85
5
VMS DEC y HP
PRIMOS Prime Computer
1978 Apple OS Apple
HDOS Health Company (Gordon Letwin)
TripOS Universidad de Cambridge
UCSD p-System Universidad de California
Lisp Machine MIT
1979 Atari DOS Atari
POS 3RCC
NLTSS Lawrence Livermore Laboratory
UNIX/32V Bell Labs
1980 86-DOS Seattle Computer Products
CTOS Borroughs
NewDos/80 Apparat Inc.
OS-9 Microware
SOS Apple Computer
Xenix Microsoft
Panos Acorn
TUNIS Universidad de Toronto
1981 Acorn MOS Acorn
Business Operating System CAP Ltd
Aegis SR1 (Domain/OS) Apollo Computer
PC-DOS IBM y Microsoft
Pilot Xerox
MS-DOS Microsoft
UTS Amdahl Corp.
Xinu Douglas E. Comer
V David Cheriton
1982 Commodore DOS Commodore
LDOS Logical Systems
QNX QNX Software Systems
SunOS Sun Microsystems
Ultrix DEC
1983 Lisa Office System 7/7 Apple
Coherent Mark Williams Company
NetWare Novell
ProDOS Apple
TurboDOS Software 2000
1984 MacOS (System 1) Apple
MSX-DOS Microsoft
QDOS Sinclair
UNICOS Cray
iPE by axi85
6
Venix VenturCom
XTS-400 BAE Systems
1985 AmigaOS Commodore
TOS Atari
DG/UX Data General
MIPS OS MIPS
Oberon Niklaus Wirth y Jürg Gutknecht
Windows 1 Microsoft
1986 AIX IBM
GS-OS Apple
Genera 7 Symbolics
HP-UX HP
GEOS Berkeley Softworks
1987 Arthur Castle Technology
IRIX SGI (Silicon Graphics Inc.)
Minix Andrew S. Tanenbaum
OS/2 IBM
PC-MOS/386 The Software Link
1988 A/UX Apple
RISC IX Acorn
LynxOS LynuxWorks
MVS/ESA IBM
OS/400 IBM
RDOS Leif Ekblad
SpartaDOS X ICD
HeliOS Perihelion Software
1989 EPOC Symbian Ltd.
NEXTSTEP NeXT
RISC OS Castle Technology
SCO UNIX The SCO Group
TSX-32 S&H Computer Systems
1990 BeOS Be Inc.
OSF/1 DEC, HP, IBM, Compaq
GNU Hurd (inacabado) GNU
1991 Linux (kernel) Linus Torvalds
PenPoint OS Go Corporation
EROS The EROS Group
1992 386BSD o Jolix William Jolitz y Lynne Jolitz
RSTS/E DEC
Solaris Sun Microsystems
OpenVMS DEC y HP
Plan 9 Bell Labs
iPE by axi85
7
1993 FreeBSD The FreeBSD Project
NetBSD The NetBSD Foundation
Newton OS Apple
Windows NT Microsoft
Open Genera Symbolics
IBM 4690 OS IBM
Slackware Patrick Volkerding
Spring Sun Microsystems
MiNT o MultiOS Atari
1994 AtheOS Kurt Skauen
1995 Tru64 UNIX o Digital UNIX DEC, HP, IBM y Compaq
OpenBSD The OpenBSD Project
OS/390 IBM
1996 Rhapsody Apple
JavaOS Sun Microsystems
1997 Inferno Vita Nouva (Bell Labs)
SkyOS Robert Szeleney
OZONE Mike Rieker
1998 JUNOS Juniper Networks
FreeDOS Jan Hall y The FreeDOS Team
ReactOS ReactOS Foundation
1999 AROS The AROS Development Team
BlackBerry OS RIM
Nemesis Universidad de Cambridge
2000 MenuetOS Ville M. Turjanmaa
leJOS José Solórzano
2001 Glide OS TransMedia Corp.
2002 Syllable Desktop Kristian Van Der Vliet, Kaj de
Vos, Rick Caudill, Arno Klenke y
Henrik Isaksson
Haiku Haiku Project
2003 Symbian OS Nokia y otras compañías
2005 Maemo Nokia
DragonFly BSD Mathew Dillon
eyeOS Pau Garcia-Milà y otros
2006 SharpOS SharpOS Project
G.ho.st Ghost Inc.
2007 iOS Apple
Moblin Intel
Croquet Project Alan Kay, Julian Lombardi, Mark
P. McCahill, Andreas Raab,
David P. Reed, David A. Smith.
iPE by axi85
8
2008 Android Google
Joli OS Jolicloud
2009 Chrome OS Google
2010 MeeGo Nokia e Intel
2012 HelenOS Universidad de Charles (Praga)
2013 Firefox OS o B2G Mozilla *En amarillo están resaltados algunos de los más relevantes.
Y hay más…(Amoeba, House, ILIOS, L4, Mach, MonaOS, FreeVMS,
Cosmos, Phantom OS, DR-DOS, ExtremeXOS, SAN-OS, CSIRONET,
Plan B, NOS, Fabric OS, Cisco IOS, Desktop Two, YouOS, WebOS,
TripOS, VOS, Morphos, Symobi, GEN, JNode, NORD, ANDOS, KMON,
MK-DOS, BKUNIX, CSI-DOS, KolibriOS, LSE/OS, EmuTOS, Pick, Visi
On, JX, HYDRA, KeyKOS, brikOS y un larguísimo etc.) pero estos son los
más importantes.
A partir de ahora recuerda, cada vez que solo pienses en Windows estarás
menospreciando todos estos trabajos.
3-¿HAY SISTEMAS OPERATIVOS ESPAÑOLES?
Pues sí, leJOS y eyeOS son dos ejemplos de ello. El primero es un proyecto
de José Solórzano para la Estación Espacial Internacional elegido para
remplazar al Lego Mindstorms. El segundo es un proyecto catalán iniciado
por un grupo de jóvenes para crear una plataforma de sistema operativo
web en la nube. Hoy eyeOS es líder mundial en cuanto a entornos de
trabajo en la nube. Actualmente se han superado el millón de descargas y
han obtenido numerosos premios. IBM lo ha elegido como su plataforma
Open Cloud preferida y firmó una alianza con la compañía catalana.
Otro ejemplo menos conocido es WóÓS. Un OS gratuito, abierto y
compatible con Windows. Lo creo Victor Martínez y de momento es capaz
de ejecutar más de 50 aplicaciones para Windows. El gobierno ruso se ha
interesado mucho por este proyecto… A muchos les puede recordar al
proyecto ReactOS, y es que WóÓS se basa en él.
iPE by axi85
9
4-¿QUÉ ES ESO DE LAS FAMÍLIAS?
Algunos sistemas operativos se construyen desde cero, otros en cambio
están basados en otros sistemas y por ello surgen familias. Decimos que un
sistema operativo es de un la familia X cuando se basa en éste, es decir, es
un fork o derivado. Pore ejemplo, BSD es de la familia UNIX o decimos
que es un sistema UNIX-Like porque proviene de él.
Aquí detallaremos el “árbol genealógico” o familiar de las dos familias más
grandes, DOS y UNIX. Primero comenzamos con este árbol genealógico
de DOS, entre los que cabe destacar el MS-DOS (MicroSoft Disk
Operating System) y Windows. Quiero aclarar que los primeros Windows
no eran más que un DOS con interfaz gráfica, luego MS dejó de lado su
proyecto fallido para comenzar otro (NT o New Technology) que
enmendase las grandes carencias que tenía su sistema inicial. Como ellos
no tenían la capacidad contrataron a un grupo de programadores de DEC
(Digital Equipment), que sí que tenían experiencia en este tipo de lares. NT
se transformó en el primer Windows completamente de 32 bits. Otro
apunte que quiero destacar es que la consola de comandos (CMD o
CommanD.Com) que integran los NT no hay que confundirla con el DOS
de los Windows no NT, aunque se utilicen muchos comandos comunes.
CMD es la consola que integran los sistemas NT y también los OS/2.
iPE by axi85
10
iPE by axi85
11
Le toca el turno a los UNIX-likes, es decir, los derivados de UNIX.
Primero hay que comentar que UNIX es el sistema de sistemas, el rey de
todos los SO, el mejor. Pero UNIX en los 80´s, por su elevado precio
(5.000$ de la época), no estaba disponible para el uso de los usuarios
domésticos, solo para grandes universidades y centros de investigación.
Entonces muchos hackers pensaron portarlo para que fuese más asequible y
funcionase con los PCs. Entre todos los forks (bifurcaciones) que nacieron,
podemos destacar GNU/Linux, BSD, Solaris, MacOS y UX, pero existen
muchísimos más. Lo mejor de todo es que muchas son gratuitas y libres
(GNU/Linux, BSD, OpenSolaris, …), otras en cambio siguen siendo
comerciales (MacOS, Solaris, …).
Bien, primero ordenaremos ciertas ideas para tenerlo más claro. Dentro de
todos estos forks de UNIX, podemos distinguir entre:
-UNIX genéricos: aquellos directamente relacionados con la historia
del sistema que creó la AT&T. Por ejemplo BSD (Berkeley Software
Distribution), un proyecto de la Universidad de California en
Berkeley y que parte del código de UNIX. También estarían aquí
dentro otros comerciales como Solaris.
-UNIX registrados: muchos son derivados del código del IBM
System V, otros como Mac OS X no lo son, pero también han sido
certificados con esta designación.
-UNIX funcional: todo aquel SO que se comporte de manera muy
similar a las especificaciones de UNIX. Dado el alto costo de obtener
una licencia para obtener el código de UNIX, muchos
desarrolladores han optado por crear el sistema desde cero sin utilizar
código UNIX. Ejemplos son Minix, UniFlex, * Linux, UNOS,... He
puesto un asterisco en Linux puesto que no es del todo cierto. IBM,
una de las compañías que tenía en su poder el código de UNIX, cedió
gran parte a Linux. No olvidemos que IBM es uno de los grandes
colaboradores/desarrolladores de Linux.
A continuación veremos el árbol genealógico de esta familia:
iPE by axi85
12
iPE by axi85
13
5-¡CURIOSIDADES!
Entre todos los sistemas que existen, yo destacaría a FreeBSD, Windows,
MacOS, GNU/Linux y Solaris. Algunas curiosidades sobre estos son:
WINDOWS: pocos saben que el sistema se iba a llamar “Interface
Maganer”, hasta que un responsable de marketing decidió nombrarlo
Windows. Cuando se puso a la venta costaba 99$.
Windows está programado con lenguajes C, C++ y ensamblador.
Solo bastaron dos semanas para comenzaron a detectar bugs (errores)
y no es de extrañar. Por si alguien no lo sabe, Bill Gates ha quedado
más de una vez en evidencia ya que, durante varias presentaciones de
los sistemas de Microsoft, su “producto estrella” se bloqueó ante
todos los presentes (menuda promoción…).
Lo más escandaloso de la primera versión de Windows fue que
algunas de las aplicaciones desarrolladas por Microsoft no eran
compatibles con él.
Y como una anécdota más, decir que los Rolling Stones o los actores
Jennifer Aniston y Matthew Perry han colaborado en las
promociones del sistema.
Su logotipo ha sido cambiado en varias ocasiones, fue renovado para
los sistemas XP y de nuevo ha sido cambiado para Windows 8.
GNU/Linux: se llamó en su inicio Freax, que proviene de Freak o
raro y la X de UNIX. Finalmente se renombró como Linux, por su
creador Linus Benedict Torvalds y la X de UNIX.
El kernel está constituido por lenguajes tales como C y ensamblador.
La primera versión 0.1 ocupaba unos 65kb y tenía unos miles de
líneas de código. Ésta primera versión está disponible aun en
iPE by axi85
14
http://www.kernel.org, donde se pueden encontrar todas las versiones
del kernel, sin embargo, a la primera web que se subió el núcleo fue
http://www.nic.funet.fi/. Actualmente, se ha llegado a unos 10
millones de líneas de código fuente, incrementándose un 10% por
año. Lo curioso es que el sistema en sí es solo el 5% de todas estas
líneas, el resto se deben a drivers. Cada día se agregan unas 4500
líneas nuevas, se eliminan unas 1800 obsoletas y se modifican 1500.
El desarrollo se realiza durante las 24h diarias y 365 días al año.
Linux fue desarrollado mientras Linus estudiaba en la Universidad de
Helsinki. Él mismo comentó que era tan solo un hobby, nada serio…
sin embargo hoy tiene gran repercusión y es uno de los sistemas más
importantes. En un inicio Linux se publicó bajo una licencia propia
de su creador, pero rápidamente se convencería de que lo mejor era
hacerlo bajo GPL. Si el proyecto GNU fuese contado con un núcleo,
Linux nunca fuese existido.
Linus anunció su proyecto con el mensaje:
From:[email protected] (Linus Benedict Torvalds)Newsgroup:
comp.os.minixSubjetc: What would you like to see most in minix?Summary:
small poll for my new operating systemMessage-ID: 1991Aug25,
[email protected]: 25Aug 91 20:57:08 GMTOrganization:
University of Helsinki
Hello everybody out there using minix
-I'm doing a (free) operating system (just a hobby, won'tbe big and professional
like gnu) for 386(486) AT clones. This has been brewing since april, and is
starting to get ready.I'd like any feedback on things people like/dislike in minix;
as my OS resembles it somewhat (same physical layout of the file-sytem due to
practical reasons) among other things.I've currently ported bash (1.08) an gcc
(1.40), and things seem to work. This implies that i'll get something practical
within a few months, and I'd like to know what features most people want. Any
suggestions are welcome, but I won't promise I'll implement them :-)Linux
Torvalds
Se dice que Microsoft gastó más de 421 millones de dólares en
combatir a Linux. Además, SCO, uno de los “propietarios de UNIX”
acusó a IBM de haber transferido gran parte del código UNIX a
Linux.
Actualmente existen más de 300 distribuciones distintas de Linux
(Debian, Gentoo, Guadalinex, Ubuntu, Chrome OS, SuSE, Fedora,
iPE by axi85
15
Backbox, …). La primera distribución de la historia fue la alemana
Slackware, en la que se basaría SuSE.
GNU/Linux es un sistema de extremos, de cara y cruz. La cara es que
más de las 490 supercomputadoras de las 500 más potentes del
mundo usan este sistema y más de un 30% de los servidores
mundiales lo usan (por ejemplo los de Google), frente a algo más de
un 7% que usan Windows Server. Más del 90% de los servidores que
se usan para crear películas lo utilizan (Titanic y Avatar fueron
creadas en sistemas Linux, igual que otras pelis de animación como
Ice Age, Madagascar, Kung Fu Panda,…). Muchos aparatos
domésticos emplean parte del código Linux y no lo sabemos
(reproductores, televisiones, lavadoras, coches Toyota, etc.), incluso
los ordenadores de la bolsa, La Casa Blanca, el Vaticano y el CERN
lo utilizan. Muchas empresas emplean este sistema. Sin embargo, la
cruz se encuentra en la cuota en PCs, que está en torno al 2%, con
una mayoría aplastante de Windows (aprox. 90%), Mac OS (aprox.
6%) y el resto de porcentaje se reparte para los demás sistemas.
Aunque muchos crean que Linux es desarrollado por un grupo de
hackers aislados (comandados por Linus), más del 75% del kernel
esta desarrollado por grandes compañías como Google, AMD, Intel,
IBM, Oracle, Dell, ASUS, HP, Novell, Red Hat, Analog Devices,
etc.
Y si es gratuito… ¿cómo ganan su sueldo los que lo crean? Sencillo,
trabajan para otras compañías (Intel, Red Hat, SuSE, …).
La idea de la mascota (Tux) viene de la leyenda que cuenta como a
Linus Torvalds le mordió un pingüino de pequeño. El nombre Tux
no se sabe si proviene de Torvalds UniX o de TUXedo (esmoquin de
pingüino).
Para finalizar con las curiosidades decir que existe un monumento a
Linux en la ciudad rusa de Tyumen.
iPE by axi85
16
MacOS: dicen que, por lo general, los usuarios de este sistema
operativo son los que menos conocimientos de informática tienen (de
menos a más conocimientos estarían así: 1-MacOS, 2-Windows, 3-
Linux, 4-BSD y 5-UNIX).
Diseñado en C, C++ y Objective-C (orientado a objetos).
Gran parte del trabajo o base del sistema no es mérito de Apple, sino
de la compañía NeXT (desarolladora del sistema operativo
NeXTStep, en el que se basa Mac OS) que fue absorbida por la de la
manzana. Y como curiosidad, NeXT fue fundada por Steve Jobs, ya
que en 1985 fue despedido de Apple por uno de los directivos que él
mismo había contratado. En 1996, por casualidades de la vida, las
compañías de Jobs (NeXT y Pixar) fueron compradas por Apple. Así
Steve volvió a sus filas de nuevo.
Sus puntos fuertes son la estabilidad y seguridad heredada de UNIX,
sin embargo, su entorno gráfico hace que sea “lento”. Por eso,
multitud de empresas y diseñadores lo emplean para trabajar con él
(imprentas, programadores, animadores 3D, etc.).
En la actualidad, se ha convertido en un sistema operativo “pijo”,
muchos famosos y ricos lo emplean.
iPE by axi85
17
FreeBSD: hay un dicho que dice lo siguiente “BSD es lo que
obtienes cuando un puñado de hackers de UNIX se sientan para
tratar de trasladar un sistema UNIX para llevarlo al PC. Linux es lo
que consigues cuando un puñado de hackers del PC se sientan para
tratar de trasladar un sistema UNIX para llevarlo al PC”.
BSD está creado en lenguaje de programación C, como UNIX.
Quizás no soporte tanto hardware como Linux, quizás no integre las
últimas tecnologías, pero sin duda es superpotente, seguro y veloz.
Por sus características es empleado por compañías como Yahoo!,
Apache, Sony, Netcraft, Telehouse America, Sophos Antivirus, Blue
Mountain Atrs, etc.
FreeBSD es compatible con los binarios de varios sistemas
operativos UNIX-likes, como Linux. Además BSD cuenta con un
sofisticado gestor de programas que emplea “PORTS”. Los ports son
un conjunto de comandos por lotes que especifican los requisitos, lo
que se debe hacer para compilar el código fuente y lo necesario para
instalar el software. Este sistema, aunque es más pesado, elimina las
dichosas dependencias que ocurren en Linux, ya que éste último usa
paquetes (packages).
La mascota se llama Beastie (Daemon BSD), un bebe demonio
propiedad registrada de Kirk McKusick.
iPE by axi85
18
Solaris: decir que es uno de los sistemas operativos UNIX-likes más
avanzados y sofisticados, que además tiene un “hermano” gratuito
llamado OpenSolaris.
Creado por Sun Microsystems, hoy propiedad de Oracle. Su nombre
proviene de la novela de ciencia ficción con el mismo nombre
(escrita por Stanislaw Lem) y es un sistema certificado como versión
oficial de UNIX.
Está desarrollado en lenguaje C y su peculiar interfaz gráfica está
creada en Java.
Al igual que MacOS tiene núcleo XNU o Windows tiene NT o DOS
(en función de la versión), Solaris tiene un núcleo denominado
SunOS. SunOS es un fork de UNIX y BSD, al que se le añadieron
funcionalidades de System V.
iPE by axi85
19
6-¿LIBRE GRATIS?
Seguramente habremos oído hablar de las licencias del software.
Básicamente una licencia es un contrato entre el creador/distribuidor del
programa y tú, el usuario. Las licencias te dicen que cosas puedes y no
puedes hacer con el software.
Quizás hayamos oído hablar del software libre y el propietario. Que sea
libre no quiere decir gratuito, hay software libre que tienes que pagar por él
y software propietario gratuito o viceversa, no tiene nada que ver. A veces
se confunde, ya que en inglés la palabra “free” significa ambas cosas (libre
y gratis), pero por suerte en español tenemos dos palabras distintas. Una
vez explicado esto, veremos los tipos de licencias que existen:
-LICENCIAS PRIVATIVAS O DE CÓDIGO CERRADO: hablamos
del copyright, es decir, privado. Se puede resumir en 4 palabras: NO
SE PUEDE, PROHIBIDO. Por lo general, tiene restricciones para su
uso, no se puede redistribuir, no se puede copiar, nada de modificar,
etc. La licencia privativa más conocida es CLUF (Contrato de
Licencia para Usuario Final) o en inglés EULA (End User License
Agreement). Por ejemplo, si adquieres una licencia de Windows para
un PC, solo puedes instalarla un único PC, en otro te estaría
prohibido (a no ser que compres una licencia múltiple, más cara).
Además, no puedes modificarlo, ellos se reservan el código fuente
para que no puedas verlo. Si creas una copia te llamarán “pirata” y es
un delito.
-LICENCIAS DE CÓDIGO ABIERTO PERMISIVAS: nos permiten
copiar, distribuir y modificar el software, sin restricciones. Podemos
crear un derivado del software y distribuirlo para lucrarnos o hacerlo
gratis… no nos imponen nada en este sentido. De entre las más
conocidas están la MIT License, BSD License, Apache Software
License, Academic Free License, PHP License, etc. Un ejemplo
puede ser el sistema operativo BSD, de él deriva FreeBSD que es
gratis y libre, así como el Apple Mac OS, de licencia cerrada y de
pago (un ejemplo de que este tipo de licencias no prohíben que los
derivados tengan que estar bajo la misma licencia).
iPE by axi85
20
-LICENCIAS DE CÓDIGO ABIERTO ROBUSTAS: también
llamadas copyleft y se diferencian de las anteriores, en que el
software derivado debe distribuirse bajo los mismos términos. Por el
resto son iguales a las permisivas, se puede copiar, distribuir y
modificar el código libremente. Entre las más conocidas están la
Common Public License, GNU GPL, GNU LGPL, Eclipse Public
License, OpenSSL License, CDDL, EUPL, Mozilla Public License,
Open Source License, Apple Source License, etc. Como ejemplo de
sistema operativo con este tipo de licencias pondríamos a Linux,
podemos copiar, distribuir y modificarlo a nuestro antojo, eso sí,
siempre que nuestro producto esté bajo las mismas condiciones.
7-¿KERNEL?
Cuando hablamos de sistemas operativos, es fácil que veamos la palabra
kernel. De hecho es la parte más importante, es el núcleo del sistema. La
palabra kernel tiene raíz alemana, proviene de “kern” que significa núcleo
o hueso. Pero el kernel no es el sistema operativo en sí. Por ejemplo, Linux
no se puede considerar un sistema operativo, sino un kernel. Por eso si
decimos Linux para denominar al sistema operativo, estamos errando. Lo
correcto es decir GNU/Linux o openSuSE Linux o Fedora… porque eso sí
que son sistemas completos. Las distros o distribuciones traen el kernel
Linux y además la GUI (GNOME, KDE, LXFC,…), aplicaciones, gestor
de arranque, etc.
*NOTA: GN en inglés se pronuncia como nuestra Ñ, por eso GNU
lo debemos pronunciar como Ñu. De hecho, en castellano antiguo no
existía la Ñ y se escribía el sonido como GN. Los monjes escribanos,
los que copiaban a mano todos los libros antes de la invención de la
imprenta, decidieron suprimir la g ya que existían numerosas
palabras con sonido “gn” y así abreviaban su trabajo. Al suprimir la
“g”, debían distinguir entre el sonido “n” normal del “gn”, por ello lo
contraían añadiéndole una especie de símbolo ~ sobre la letra y así
nació nuestra ñ.
iPE by axi85
21
El kernel será el encargado de interactuar directamente con el
microprocesador del equipo, gracias a las instrucciones. Normalmente se
emplea lenguaje ensamblador para dichas instrucciones y de ellas
dependerá que sean entendibles (compatibles) por una u otra arquitectura
(x86, AMD64, SPARC, PPC, ARM, etc.). Dichas instrucciones indican al
procesador que ejecute los procesos necesarios para que los programas
funcionen, indicando el tiempo que debe dedicar, la sincronización,
administración de recursos, trasmisiones de datos, etc.
El núcleo tiene una forma de comunicarse contigo y es el CLI (Command
Line Interface) o línea de comandos. Ejemplos de línea de comandos son
CMD (Windows NT) o DOS o Bash. Pero los sistemas han avanzado y
ahora existen bonitas interfaces gráficas (GUI o Graphic User Interface)
que hacen las mismas funciones que antes se hacían con comandos. Aun así
hay tareas que es mejor hacer desde la línea de comandos y por ello se
siguen empleando hoy día.
*NOTA: aunque a veces se usen como sinónimos, Shell, CLI y
Emulador de terminal no son lo mismo.
Un ejercicio para que comprendas esto es el siguiente: primero
crearemos un archivo de bloc de notas que se llame ejemplo.txt y lo
guardamos en C:. Ahora, si empleas Windows, ve a
Inicio/Programas/Accesorios y haz clic en “Símbolo del sistema”. Ya
estamos dentro de la línea de comandos de Windows. Veremos como hay
un “prompt” con un puntero parpadeante. El prompt es la línea que
espera las órdenes dentro de la línea de comandos. No en todos los
sistemas es igual, por ejemplo:
*WINDOWS (CMD):
C:\>
C:\Users\Nombre>
*UNIX-Likes (Shell Bash):
usuario@equipo: $
root@equipo: $
Si en vez de C:\> nos aparece C:\Users\Nombre>, escribiremos “cd c:\”
sin comillas y pulsamos ENTER, entonces nos aparecerá el prompt así
C:\>. Una vez realizado, escribimos “copy ejemplo.txt c:\users” y
pulsamos ENTER.
Lo que hemos hecho es sencillo, hemos copiado el archivo ejemplo.txt a la
carpeta C:\Users o Usuarios (si vamos a Equipo, unidad C: y entramos en
la carpeta Usuarios lo veremos allí).
iPE by axi85
22
Ahora, con la GUI o interfaz gráfica, se puede hace de una forma más
sencilla a como lo hemos hecho con comandos. Simplemente vamos a
unidad C:, y hacemos clic con el botón derecho del ratón sobre el archivo
“ejemplo.txt” y le damos a “Copiar” del menú desplegable y luego lo
pegamos en Usuarios. Pero en realidad el sistema está haciendo el mismo
proceso que con los comandos, solo que los programadores han
relacionado comandos y gráficos para hacerte la vida más fácil. Tu ves
gráficos e iconos, pero el sistema aun sigue pensando en “copy
ejemplo.txt c:\users”.
Existen varios tipos de núcleo o kernel, que son:
-Micronúcleo o microkernel: son muy sencillos y su forma de
interactuar con el hardware es sencilla. Solo lo primitivo o primordial
está en el espacio del núcleo, el resto de servicios se ejecutan en el
espacio de usuario. Todo lo que está fuera del “núcleo”, posee una
arquitectura fragmentado en módulos diferentes, así si un módulo
falla o se cuelga, no lo hará el sistema completo (descentralización
de problemas). El inconveniente es que genera retrasos debido a la
comunicación entre módulos. Algunos ejemplos de microkernels son
AIX, GNU Hurd, BeOS, Minix, …
-Monolítico: son núcleos grandes y complejos donde se concentran
todas las funcionalidades necesarias. Al no ser modular, cuando se le
añade una nueva funcionalidad debe ser compilado todo entero. En
iPE by axi85
23
los 80 se consideraron obsoletos, pero Linux lo es y sigue siendo
muy funcional. Esto dio lugar a una famosa discusión entre Linus
Torvalds y Andrew Tanenbaum. A parte de Linux, también
FreeBSD, UNIX, Solaris, Mac OS (Mach hasta v8.6), MS-DOS,
OpenVMS, Windows,… pertenecen a esta categoría.
-Híbridos: básicamente son micronúcleos con parte del código no
primordial ejecutándose en el espacio de núcleo, es decir, son una
mezcla. La mayoría de los sistemas operativos modernos son de este
tipo, como Windows NT, Mac OS (v8.6 en adelante o XNU),
ReactOS, DragonFlyBSD, etc.
iPE by axi85
24
-Exonúcleos: son sistemas operativos verticalmente estructurados.
Son diseños totalmente innovadores de kernel. Se llaman “exo”
(fuera, exterior), porque son núcleos muy pequeños que tienen la
mayoría de las funciones fuera (en bibliotecas). Actualmente están en
fase de experimentación, pero podemos nombrar dos ejemplos que
son Extended OpenBSD y ExOS.
8-LE PONEMOS CARA A LOS CREADORES:
Nombre: Kenneth Lane Thompson
Nacimiento: 4 de febrero de 1943
Procedencia: Nueva Orleans, EE.UU.
Desarrollador de: UNIX y Plan 9
Curiosidades: Trabajó para los laboratorios
Bell, donde creó el lenguaje
de programación B.
actualmente trabaja para
Google, donde está
desarrollando el lenguaje Go.
iPE by axi85
25
Nombre: Dennis MacAlistair Ritchie
Nacimiento: 9 de septiembre de 1941
Procedencia: Nueva York, EE.UU.
Desarrollador de: UNIX, Multics, Inferno y
Plan 9.
Curiosidades: Falleció a los 70 años, en
2011, dándose la noticia por
Google+. Fue el
desarrollador del lenguaje B,
C y otros como BCPL. En los
Usenet era conocido con el
Nick de “dmr”
Nombre: William Nelson Joy (Bill
Joy)
Nacimiento: 8 de noviembre de 1954
Procedencia: Michigan, EE.UU.
Desarrollador de: BSD
Curiosidades: Ha sido uno de los
cofundadores de Sun
Microsystems y ha
participado en proyectos
como el lenguaje de
programación Java y el
microprocesador SPARC.
iPE by axi85
26
Nombre: Jordan K. Hubbard
Nacimiento: 8 de abril de 1963
Procedencia: Boulder Creek, EE.UU.
Desarrollador de: FreeBSD
Curiosidades: A parte de ser el cofundador
del proyecto FreeBSD,
también es conocido por su
trabajo en Apple en el grupo
de tecnología BSD y UNIX.
Nombre: Linus Benedict Torvalds
Nacimiento: 28 de diciembre de 1969
Procedencia: Helsinki, Finlandia
Desarrollador de: Linux
Curiosidades: Sus padres le pusieron ese
nombre por el el Nobel de
Química Linus Pauling. De
pequeño le mordió un
pingüino en la mano, por su
gran afición a dichos
animales. Durante 6 años
trabajó en Transmeta, una
famosa firma de
microprocesadores, donde
desarrollaría el Code
Morphing. Actualmente
trabaja para Open Source
Development Labs.
iPE by axi85
27
Nombre: Allan Cox
Nacimiento: 22 de julio de 1968
Procedencia: Swansea, Gales Sur
Desarrollador de: Linux
Curiosidades: Desde los inicios es uno de
los desarrolladores más
activos de Linux. Mientras
trabajaba en el campus de la
Universidad de Gales instaló
Linux en sus máquinas y
arregló muchos problemas
que tenia sobre el trabajo en
red. Tras trabajar en Red Hat,
ahora lo hace para Intel.
Dedica unas 10 horas diarias
a programar, mientras su
mujer mantiene una web que
habla sobre su vida en pareja.
Nombre: Sarah Sharp
Nacimiento: --
Procedencia: Portland, Oregón, EE.UU.
Desarrollador de: Linux
Curiosidades: Trabaja en Intel. Es la
encargada de que Linux
soporte USB y desarrolla el
driver xHCL. Mientras
programa le gusta escuchar
Daft Punk, Justice, Hans
Zimmer o Klaus Badelt. Está
casada. Y entre sus aficiones
está la jardinería, fotografía,
cocina, el ciclismo y
desarrollar herramientas para
automatizar su jardín en
Arduino o crear apps para
Android.
iPE by axi85
28
Nombre: Richard Matthew Stallman
Nacimiento: 16 de marzo de 1953
Procedencia: Nueva York, EE.UU.
Desarrollador de: Proyecto GNU
Curiosidades: Es el creador de GNU Macs,
GCC y GDB. Es conocido
con el Nick de “rms”. Es un
hacker que hizo la carrera de
física. Es el inventor del
copyleft. Siempre va con su
portátil y nunca usa teléfono
móvil. Jamás quiere dormir
en hoteles. Sabe hablar
español.
Esto es todo por ahora… ¡ESPERO QUE LES HAYA GUSTADO Y HAYAN
APRENDIDO ALGO!
iPE by axi85
29